# FsXattrBinding

`import { FsXattrBinding } from "destack:fs/binding";`

Filesystem extended attribute binding family.

```ds title="FsXattrBinding"
export interface FsXattrBinding {
    read(target: &'a readonly XattrTarget, name: &'b readonly [uint8], buffer: &'c [uint8]): Result<uint64, HostError>;
    write(target: &'a readonly XattrTarget, name: &'b readonly [uint8], value: &'c readonly [uint8], flags: XattrFlags): Result<void, HostError>;
    list(target: &'a readonly XattrTarget, buffer: &'b [uint8]): Result<uint64, HostError>;
    remove(target: &'a readonly XattrTarget, name: &'b readonly [uint8]): Result<void, HostError>;
}
```

[language/library/src/fs/binding/xattr.ds:37:82](https://github.com/destack-sh/destack/blob/main/language/library/src/fs/binding/xattr.ds#L37-L82)

## Members

### `read(target: &'a readonly XattrTarget, name: &'b readonly [uint8], buffer: &'c [uint8]): Result<uint64, HostError>`

Read one extended attribute into an output buffer.

### `write(target: &'a readonly XattrTarget, name: &'b readonly [uint8], value: &'c readonly [uint8], flags: XattrFlags): Result<void, HostError>`

Write one extended attribute.

### `list(target: &'a readonly XattrTarget, buffer: &'b [uint8]): Result<uint64, HostError>`

List extended attribute names into an output buffer.

### `remove(target: &'a readonly XattrTarget, name: &'b readonly [uint8]): Result<void, HostError>`

Remove one extended attribute.
