readlink(2) readlink(2)NAME readlink - read value of a symbolic link SYNOPSIS int readlink(path, buf, bufsiz) char *path, *buf; int bufsiz; DESCRIPTION readlink places the contents of the symbolic link name in the buffer buf which has size bufsiz. The contents of the link are not null terminated when returned. RETURN VALUE 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. ERRORS readlink will fail and the file mode will be unchanged if: [EPERM] The path argument contained a byte with the high-order bit set. [EPERM] A pathname contains a character with the high- order bit set. [ENAMETOOLONG] A component of a pathname exceeded NAME_MAX characters, or an entire pathname exceeded PATH_MAX. [ELOOP] Too many symbolic links were encountered in translating a pathname. [ENOENT] The pathname was too long. [ENOTDIR] A component of the path prefix is not a direc- tory. [ENOENT] The named file does not exist. [ENXIO] The named file is not a symbolic link. [EACCES] Search permission is denied on a component of the path prefix. [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the superuser. [EINVAL] The named file is not a symbolic link. April, 1990 1
readlink(2) readlink(2)[EFAULT] buf extends outside the process's allocated ad- dress space. [ELOOP] Too many symbolic links were encountered in translating the pathname. SEE ALSO stat(2), lstat(2), symlink(2). 2 April, 1990