[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    readlink(2) manual page Table of Contents

Name

readlink - read the value of a symbolic link

Synopsis

#include <unistd.h>

int readlink(const char *path, void *buf, size_t bufsiz);

Description

readlink() places the contents of the symbolic link referred to by path in the buffer buf, which has size bufsiz. The contents of the link are not null-terminated when returned.

Return Values

Upon successful completion readlink() returns the number of characters placed in the buffer; otherwise, it returns -1 and places an error code in errno.

Errors

readlink() fails and the buffer remains unchanged if:

EACCES
Search permission is denied for a component of the path prefix of path.
EFAULT
path or buf points to an illegal address.
EINVAL
The named file is not a symbolic link.
EIO
An I/O error occurs while reading from or writing to the file system.
ELOOP
Too many symbolic links are encountered in translating path.
ENAMETOOLONG
The length of the path argument exceeds {PATH_MAX}, or the length of a path component exceeds {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
ENOENT
The named file does not exist.
ENOSYS
The file system does not support symbolic links.

See Also

stat(2) , symlink(2)


Table of Contents