Unix/Linux Go Back    

NetBSD 6.1.5 - man page for readlink (netbsd section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

READLINK(2)			     BSD System Calls Manual			      READLINK(2)

     readlink -- read value of a symbolic link

     Standard C Library (libc, -lc)

     #include <unistd.h>

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

     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.

     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 the global variable errno.

     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';

     readlink() will fail if:

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

     [ENAMETOOLONG]	A component of a pathname exceeded {NAME_MAX} characters, or an entire
			path name exceeded {PATH_MAX} characters.

     [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 translating 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.

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

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

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

BSD					   May 11, 2004 				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 08:02 AM.