Manpages

NOMBRE

readlink − lee el valor de un enlace simbólico

SINOPSIS

#include <unistd.h>

int readlink(const char *camino, char *buf, size_t tambuf);

DESCRIPCIÓN

readlink pone los contenidos del enlace simbólico camino en el búfer buf, que tiene de tamaño tambuf. readlink no añade un carácter NUL a buf. Truncará los contenidos (hasta una longitud de tambuf caracteres), en caso de que el búfer sea demasiado pequeño para alojar todo el contenido.

VALOR DEVUELTO

La llamada devuelve el número de caracteres puestos en el búfer si acaba con éxito, o un −1 si ocurre un error, poniendo el código correspondiente de error en errno.

ERRORES

ENOTDIR

Un componente del prefijo del camino no es un directorio.

EINVAL

tambuf no es positivo.

ENAMETOOLONG

El camino o un componente del camino es demasiado largo.

ENOENT

El fichero nombrado no existe.

EACCES

Se deniega el permiso de búsqueda para un componente del prefijo del camino.

ELOOP

Se encontraron demasiados enlaces simbólicos al traducir el nombre del fichero.

EINVAL

El fichero nombrado no es un enlace simbólico.

EIO

Ocurrió un error de E/S al leer del sistema de ficheros.

EFAULT

buf se extiende afuera del espacio de direcciones reservado por el proceso.

ENOMEM

No hay suficiente memoria en el núcleo.

CONFORME A

X/OPEN, 4.4BSD (la llamada al sistema readlink apareció en 4.2BSD).

VÉASE TAMBIÉN

stat(2), lstat(2), symlink(2)