unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.9)
Page:
Section:
Apropos / Subsearch:
optional field



System Calls                                          readlink(2)



NAME
     readlink - read the contents of a symbolic link

SYNOPSIS
     #include <unistd.h>

     int readlink(const char *path, char *buf, size_t bufsiz);

DESCRIPTION
     The readlink() function places the contents of the  symbolic
     link  referred  to  by path in the buffer buf which has size
     bufsiz.  If the number of bytes in the symbolic link is less
     than  bufsiz,  the contents of the remainder of buf are left
     unchanged. If the buf argument is not large enough  to  con-
     tain the link content, the first bufsize bytes are placed in
     buf.

RETURN VALUES
     Upon successful completion, readlink() returns the count  of
     bytes  placed  in  the  buffer.   Otherwise, it returns  -1,
     leaves the buffer unchanged, and sets errno to indicate  the
     error.

ERRORS
     The readlink() function will fail if:

     EACCES
           Search permission is denied for  a  component  of  the
           path prefix of path.

     EFAULT
           path or buf points to an illegal address.

     EINVAL
           The path argument names a file that is not a  symbolic
           link.

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

     ENOENT
           A component of path does not name an existing file  or
           path is an empty string.

     ELOOP A loop exists in  symbolic  links  encountered  during
           resolution of the path argument.

     ENAMETOOLONG
           The length of path exceeds {PATH_MAX}, or  a  pathname
           component    is    longer    than   {NAME_MAX}   while
           _POSIX_NO_TRUNC is in effect.




SunOS 5.9            Last change: 8 Mar 2002                    1






System Calls                                          readlink(2)



     ENOTDIR
           A component of the path prefix is not a directory.

     ENOSYS
           The file system does not support symbolic links.

     The readlink() function may fail if:

     EACCES
           Read permission is denied for the directory. This con-
           dition is reported.

     ELOOP More than {SYMLOOP_MAX} symbolic  links  were  encoun-
           tered in resolving path. This condition is reported.

     ENAMETOOLONG
           As a result of encountering a symbolic link in resolu-
           tion  of  the path argument, the length of the substi-
           tuted pathname string exceeded {PATH_MAX}. This condi-
           tion is reported.

USAGE
     Portable applications should not assume  that  the  returned
     contents of the symbolic link are null-terminated.

ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|
    | MT-Level                    | Async-Signal-Safe           |
    |_____________________________|_____________________________|


SEE ALSO
     stat(2), symlink(2), attributes(5), standards(5)















SunOS 5.9            Last change: 8 Mar 2002                    2