READLINK
read value of a symbolic link
SYNOPSIS
#include <unistd.h>
int
readlink(const char *path char *buf int bufsiz);
DESCRIPTION
The readlink system call places the contents of the symbolic link path in the buffer buf, which has size bufsiz. The readlink system call 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
The readlink system call will fail if:
- [ENOTDIR] A component of the path prefix is not a directory.
- [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] The buf argument extends outside the processs allocated address space.
Comments