- online man pages   

Linux man pages : readlink (2)
READLINK(2)		   Linux Programmer's Manual		   READLINK(2)


readlink - read value of a symbolic link


#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 charac- ters), 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.


ENOTDIR A component of the path prefix is not a directory. EINVAL bufsiz is not positive. ENAMETOOLONG A pathname, or a component of a pathname, was too long. 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. ENOMEM Insufficient kernel memory was available.


X/OPEN, 4.4BSD (the readlink function call appeared in 4.2BSD).


stat(2), lstat(2), symlink(2) Linux 2.0.30 1997-08-21 READLINK(2)