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 suc-
     ceeds, 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.

     [ENAMETOOLONG]     A component of a pathname exceeded {NAME_MAX} charac-
                        ters, or an entire path name exceeded {PATH_MAX} char-
                        acters.

     [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 translat-
                        ing the pathname.

     [EINVAL]           The named file is not a symbolic link.

     [EIO]              An I/O error occurred while reading from the file sys-
                        tem.

     [EFAULT]           Buf extends outside the process's allocated address
                        space.


SEE ALSO

     stat(2), lstat(2), symlink(2) symlink(7),


HISTORY

     The readlink() function call appeared in 4.2BSD.

4.2 Berkeley Distribution        June 4, 1993        4.2 Berkeley Distribution

Man(1) output converted with man2html