Table of Contentsreadlink - read value of a symbolic link #include <unistd.h> int readlink(const char *path, char *buf, size_t bufsiz);
Readlink places the contents of the symbolic link path in the buffer buf, which has size bufsiz. Readlink does not append a NUL character to buf. The call returns the count of characters placed in the buffer if it succeeds, or a -1 if an error occurs, placing the error code in the global variable errno. - ENOTDIR
- A component of the path prefix is not a directory.
- EINVAL
- The pathname contains a character with the high-order bit set.
- ENAMETOOLONG
- A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
- ENOENT
- The named file does not exist. EACCES Search permission is denied for a component of the path prefix.
- ELOOP
- Too many symbolic links were encountered in translating the pathname.
- EINVAL
- The named file is not a symbolic link.
- EIO
- An I/O error occurred while reading from the file system.
- EFAULT
- Buf extends outside the process's allocated address space.
The readlink function call appeared in BSD 4.2. stat(2), lstat(2), symlink(2)
Table of Contents
www.fiveanddime.net