places the contents of the symbolic link
in the buffer
which has size
does not append a null byte to
It will truncate the contents (to a length of
characters), in case the buffer is too small to hold all of the contents.
returns the number of bytes placed in
On error, -1 is returned and
is set to indicate the error.
Search permission is denied for a component of the path prefix.
extends outside the process's allocated address space.
is not positive.
The named file is not a symbolic link.
An I/O error occurred while reading from the file system.
Too many symbolic links were encountered in translating the pathname.
A pathname, or a component of a pathname, was too long.
The named file does not exist.
Insufficient kernel memory was available.
A component of the path prefix is not a directory.
first appeared in 4.2BSD),
In versions of glibc up to and including glibc 2.4, the return type of
was declared as
Nowadays, the return type is declared as
as (newly) required in POSIX.1-2001.