2.11BSD/man/cat2/readlink.0
READLINK(2) UNIX Programmer's Manual READLINK(2)
NAME
readlink - read value of a symbolic link
SYNOPSIS
cc = readlink(path, buf, bufsiz)
int cc;
char *path, *buf;
int bufsiz;
DESCRIPTION
_R_e_a_d_l_i_n_k places the contents of the symbolic link _n_a_m_e in
the buffer _b_u_f, which has size _b_u_f_s_i_z. 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 _e_r_r_n_o.
ERRORS
_R_e_a_d_l_i_n_k will fail and the file mode will be unchanged if:
[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 char-
acters, 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] _B_u_f extends outside the process's allocated
address space.
SEE ALSO
stat(2), lstat(2), symlink(2)
Printed 11/26/99 August 26, 1985 1