readlink (2)

NAME

readlink - read value of a symbolic link

SYNOPSIS

#include<unistd.h>intreadlink(constchar*path,char*buf,size_tbufsiz);

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. 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.

RETURN VALUE

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.

ERRORS

ENOTDIR
A component of the path prefix is not a directory.
EINVALbufsiz 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.
EFAULTbuf extends outside the process's allocated address space.
ENOMEM Insufficient kernel memory was available.