Linux x86_64Sistema de arquivos#190
fsetxattr
Como setxattr, mas em um arquivo já aberto, por descritor.
Descrição
Contraparte 'f' de `setxattr`.
Header:
sys/xattr.hman 2Assinatura
int fsetxattr(
int fd,
const char * name,
const void * value,
size_t size,
int flags
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| fd | int | Descritor do arquivo. |
| name | const char * | Nome do atributo. |
| value | const void * | Novo valor do atributo. |
| size | size_t | Tamanho de `value`. |
| flags | int | 0, XATTR_CREATE ou XATTR_REPLACE. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | fdint |
| rsi | argumento 2 | nameconst char * |
| rdx | argumento 3 | valueconst void * |
| r10 | argumento 4 | sizesize_t |
| r8 | argumento 5 | flagsint |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EDQUOT(122)
- Cota de disco excedida.
- ENOSPC(28)
- Sem espaço livre no dispositivo.
- ENOTSUP(95)
- Sinônimo de EOPNOTSUPP — operação não suportada.