readlink(2) readlink(2)
NAME
readlink - read value of a symbolic link
SYNOPSIS
cc = readlink(path, buf, bufsiz)
int cc;
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.
[ENOENT] The pathname was too long.
[ENOTDIR] A component of the path prefix is not a
directory.
[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 super-user.
[EINVAL] The named file is not a symbolic link.
[EFAULT] buf extends outside the process's allocated
address space.
[ELOOP] Too many symbolic links were encountered in
translating the pathname.
SEE ALSO
stat(2), lstat(2), symlink(2).
Page 1 (last mod. 1/14/87)