READLINK(2)               NetBSD System Calls Manual               READLINK(2)

NAME
     readlink -- read value of a symbolic link

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <unistd.h>

     ssize_t
     readlink(const char * restrict path, char * restrict 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.

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.

EXAMPLES
     A typical use is illustrated in the following piece of code which reads
     the contents of a symbolic link named /symbolic/link and stores them as
     null-terminated string:

           #include <limits.h>
           #include <unistd.h>

           char buf[PATH_MAX];
           ssize_t len;

           if ((len = readlink("/symbolic/link", buf, sizeof(buf)-1)) == -1)
                   error handling;
           buf[len] = '\0';

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
     lstat(2), stat(2), symlink(2), symlink(7)

STANDARDS
     The readlink() function conforms to IEEE Std 1003.1-2001 (``POSIX.1'').

HISTORY
     The readlink() function appeared in 4.2BSD.  The type returned was
     changed from int to ssize_t in NetBSD 2.1.

NetBSD 6.1.5                     May 11, 2004                     NetBSD 6.1.5

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen