---
title: "getXattr(named:of:context:replyHandler:)"
framework: fskit
role: symbol
role_heading: Instance Method
path: "fskit/fsvolume/xattrhandler/getxattr(named:of:context:replyhandler:)"
---

# getXattr(named:of:context:replyHandler:)

Gets the specified extended attribute of the given item.

## Declaration

```swift
func getXattr(named name: FSFileName, of item: FSItem, context: FSContext, replyHandler reply: @escaping @Sendable (FSGetXattrResult?, (any Error)?) -> Void)
```

```swift
func xattr(named name: FSFileName, of item: FSItem, context: FSContext) async throws -> FSGetXattrResult
```

## Parameters

- `name`: The extended attribute name.
- `item`: The item for which to get the extended attribute.
- `context`: An object that enables context-aware file system decisions throughout the operation.
- `reply`: A block or closure to indicate success or failure. If getting the attribute succeeds, pass an instance of doc://FSKit/documentation/FSKit/FSGetXattrResult containing the extended attribute data, along with a nil error. If getting the attribute fails, pass the relevant error as the second parameter; FSKit ignores the doc://FSKit/documentation/FSKit/FSGetXattrResult instance in this case. For an async Swift implementation, there’s no reply handler; simply return the result instance or throw an error.

## See Also

### Reading and writing

- [FSGetXattrResult](fskit/fsgetxattrresult.md)
- [listXattrs(of:context:replyHandler:)](fskit/fsvolume/xattrhandler/listxattrs(of:context:replyhandler:).md)
- [FSListXattrsResult](fskit/fslistxattrsresult.md)
- [setXattr(named:to:on:policy:context:replyHandler:)](fskit/fsvolume/xattrhandler/setxattr(named:to:on:policy:context:replyhandler:).md)
- [FSVolume.SetXattrPolicy](fskit/fsvolume/setxattrpolicy.md)
- [FSSetXattrResult](fskit/fssetxattrresult.md)
- [supportedXattrNames(for:)](fskit/fsvolume/xattrhandler/supportedxattrnames(for:).md)
