Originální popis anglicky:
readlink - read value of a symbolic link
Návod, kniha: Linux Programmer's Manual
#include <unistd.h>
int readlink(const char *path, char *buf, size_t
bufsiz);
readlink places the contents of the symbolic link
path in the
buffer
buf, which has size
bufsiz.
readlink does not
append a
NUL character to
buf. It will truncate the contents (to
a length of
bufsiz characters), in case the buffer is too small to hold
all of the contents.
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
errno.
- EACCES
- Search permission is denied for a component of the path
prefix. (See also path_resolution(2).)
- EFAULT
- buf extends outside the process's allocated address
space.
- EINVAL
- bufsiz is not positive.
- EINVAL
- The named file is not a symbolic link.
- EIO
- An I/O error occurred while reading from the file
system.
- ELOOP
- Too many symbolic links were encountered in translating the
pathname.
- ENAMETOOLONG
- A pathname, or a component of a pathname, was too
long.
- ENOENT
- The named file does not exist.
- ENOMEM
- Insufficient kernel memory was available.
- ENOTDIR
- A component of the path prefix is not a directory.
X/OPEN, 4.4BSD (the
readlink function call appeared in 4.2BSD).
lstat(2),
path_resolution(2),
stat(2),
symlink(2)