NAME
readlink —
read value of a symbolic
link
SYNOPSIS
#include
<unistd.h>
int
readlink(const
char *path, char
*buf, int
bufsiz);
DESCRIPTION
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.
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.
ERRORS
Readlink() will fail 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 characters, 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] - Buf extends outside the process's allocated address space.
SEE ALSO
HISTORY
The readlink function call appeared in
4.2BSD.