READLINK(2) AerieBSD 1.0 Refernce Manual READLINK(2)

NAME

readlink — read value of a symbolic link

SYNOPSIS

#include <unistd.h>

int readlink(const char *path, char *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 succeeds, 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} 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 or path extends outside the process's allocated address space.

SEE ALSO

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

HISTORY

The readlink(); function call appeared in 4.2BSD.


AerieBSD 1.0 Reference Manual August 26 2008 READLINK(2)