Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
readlink(2)			 System	Calls			   readlink(2)

NAME
       readlink	- read the contents of a symbolic link

SYNOPSIS
       #include	<unistd.h>

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

DESCRIPTION
       The readlink() function places the contents of the  symbolic  link  re-
       ferred to by path in the	buffer buf which has size bufsiz.  If the num-
       ber 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 contain 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 un-
       changed,	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 res-
		       olution 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.

       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.

       ELOOP	       More than {SYMLOOP_MAX} symbolic	links were encountered
		       in resolving path.

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

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 attributes:

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

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

SunOS 5.10			  1 Dec	2003			   readlink(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=readlink&sektion=2&manpath=SunOS+5.10>

home | help