Voltar à lista
Linux x86_64Sistema de arquivos#269

faccessat

Como access, mas resolve o caminho relativo a um descritor de diretório.

Descrição

Parte da família *at(). A assinatura original desta syscall não suporta a flag AT_SYMLINK_NOFOLLOW de forma confiável — para isso, veja `faccessat2` (syscall 439).

man 2Desde o kernel 2.6.16

Assinatura

int faccessat(int dirfd, const char * pathname, int mode);

Parâmetros

ParâmetroTipoDescrição
dirfdintDescritor do diretório base, ou AT_FDCWD.
pathnameconst char *Caminho, absoluto ou relativo a `dirfd`.
modeintF_OK, R_OK, W_OK, X_OK.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1dirfdint
rsiargumento 2pathnameconst char *
rdxargumento 3modeint

Valor de retorno

0 se o acesso seria permitido; -1 caso contrário, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EBADF(9)
Descritor de arquivo inválido.
EINVAL(22)
Argumento inválido.
ENOENT(2)
Arquivo ou diretório inexistente.

Relacionadas