READLINK(2)         Linux Programmer's Manual         READLINK(2)

NAME
       readlink - read value of a symbolic link

SYNOPSIS
       #include <unistd.h>

       int readlink(const char *path, char *buf, size_t 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.  It will truncate the con-
       tents (to a length of  bufsiz  characters),  in  case  the
       buffer is too small to hold all of the contents.

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

ERRORS
       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 trans-
               lating 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.

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

SEE ALSO
       stat(2), lstat(2), symlink(2)

Linux 2.0.30              21 August 1997                        1