Voltar à lista
Linux x86_64Sistema de arquivos#188

setxattr

Define um atributo estendido (extended attribute) de um arquivo, por caminho.

Descrição

Extended attributes armazenam metadados adicionais arbitrários associados a um arquivo, além dos atributos POSIX tradicionais — usados por ACLs, rótulos de segurança SELinux, capabilities de arquivo, e metadados de aplicação (ex.: origem de download).

Header: sys/xattr.hman 2

Assinatura

int setxattr(
    const char * path,
    const char * name,
    const void * value,
    size_t size,
    int flags
);

Parâmetros

ParâmetroTipoDescrição
pathconst char *Caminho do arquivo.
nameconst char *Nome do atributo, no formato "namespace.nome" (ex.: "user.comment", "security.selinux").
valueconst void *Novo valor do atributo.
sizesize_tTamanho de `value`.
flagsint0, XATTR_CREATE (falha se já existir) ou XATTR_REPLACE (falha se não existir).

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pathconst char *
rsiargumento 2nameconst char *
rdxargumento 3valueconst void *
r10argumento 4sizesize_t
r8argumento 5flagsint

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EDQUOT(122)
Cota de disco excedida.
EEXIST(17)
Arquivo já existe.
ENODATA(61)
Nenhum dado disponível.
ENOSPC(28)
Sem espaço livre no dispositivo.
ENOTSUP(95)
Sinônimo de EOPNOTSUPP — operação não suportada.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas