Voltar à lista
Linux x86_64Sistema de arquivos#89

readlink

Lê o caminho de destino armazenado em um link simbólico.

Descrição

Diferente de `open`+`read`, não segue o link — lê o conteúdo do link em si.

Header: unistd.hman 2

Atenção

Diferente da maioria das APIs de string do Unix, não adiciona terminador nulo — o chamador deve usar o valor de retorno para saber onde o caminho termina.

Assinatura

ssize_t readlink(const char * pathname, char * buf, size_t bufsiz);

Parâmetros

ParâmetroTipoDescrição
pathnameconst char *Caminho do link simbólico.
bufchar *Buffer de destino para o caminho alvo.
bufsizsize_tTamanho de `buf`.

Registradores (x86_64)

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

Valor de retorno

Número de bytes escritos em `buf` (sem terminador nulo) em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EINVAL(22)
Argumento inválido.
ENOENT(2)
Arquivo ou diretório inexistente.
ENOTDIR(20)
Não é um diretório.

Relacionadas