readlink(2)readlink(2)Namereadlink - read value of a symbolic link
Syntax
cc = readlink(path, buf, bufsiz)
int cc;
char *path, *buf;
int bufsiz;
Description
The system call places the contents of the symbolic link path in the
buffer buf, which has size bufsiz. The contents of the link are not
null terminated when returned.
Return Values
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.
Diagnostics
The system call fails under the following conditions:
[ENOTDIR] A component of the path prefix is not a directory.
[ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an
entire pathname exceeded 1023 characters.
[ENOENT] The named file does not exist.
[EACCES] Search permission is denied on a component of the path
prefix.
[EINVAL] The named file is not a symbolic link.
[EFAULT] The buf extends outside the process's allocated address
space.
[ELOOP] Too many symbolic links were encountered in translating
the pathname.
[EIO] An I/O error occurred while reading from the file sys‐
tem.
[ETIMEDOUT] A connect request or remote file operation failed,
because the connected party did not properly respond
after a period of time that is dependent on the communi‐
cations protocol.
See Alsolstat(2), symlink(2), stat(2)readlink(2)