readlink(2)
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
SunOS 5.5/SPARC — Last change: 5 Jul 1990