readlink(2) — System Calls
OSF
NAME
readlink − Reads the value of a symbolic link
SYNOPSIS
#include <unistd.h> int readlink (
const char ∗path,
char ∗buffer,
int buf_size );
PARAMETERS
pathSpecifies the pathname of the destination file or directory.
bufferPoints to the user’s buffer. The buffer should be at least as large as the buf_size parameter.
buf_sizeSpecifies the size of the buffer.
DESCRIPTION
The readlink() function places the contents of the symbolic link named by the path parameter in buffer, which has size buf_size. If the actual length of the symbolic link is less than buf_size, the string copied into the buffer is null-terminated. If the actual length of the symbolic link is greater than buf_size, an error is returned. The length of a symbolic link will not exceed PATH_MAX.
For a readlink() function to complete successfully, the calling process must have search access to the directory containing the link.
NOTES
AES Support Level:
Trial use
RETURN VALUES
Upon successful completion, the readlink() function returns a count of the number of characters placed in the buffer (not including any terminating null). If the readlink() function fails, the buffer is not modified, a value of -1 is returned, and errno is set to indicate the error.
ERRORS
If the readlink() function fails, errno may be set to one of the following values:
[ENOENT]The file named by the path parameter does not exist or the path parameter points to an empty string.
[EINVAL]The file named by the path parameter is not a symbolic link.
[EIO]An I/O error occurred while reading from or writing to the file system.
[ERANGE]The pathname in the symbolic link is longer than buf_size.
[ENOTDIR]A component of the path prefix of the path parameter is not a directory.
[EACCES]Search permission is denied on a component of the path prefix of the path parameter, or read permission is denied on the final component of the path prefix of the path parameter.
[ENAMETOOLONG]
The length of the path parameter exceeds PATH_MAX, or a pathname component is longer than NAME_MAX while {_POSIX_NO_TRUNC} is in effect.
RELATED INFORMATION
Functions: link(2), stat(2), symlink(2), unlink(2)