Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

stat(2)

symlink(2)

readlink(2)

NAME

readlink − read the value of a symbolic link

SYNOPSIS

#include <unistd.h>

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

DESCRIPTION

readlink() places the contents of the symbolic link referred to by path in the buffer buf, which has size bufsiz.  The contents of the link are not null-terminated when returned. 

RETURN VALUES

Upon successful completion readlink() returns the number of characters placed in the buffer; otherwise, it returns −1 and places an error code in errno. 

ERRORS

readlink() fails and the buffer remains unchanged 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 named file is not a symbolic link. 

EIO An I/O error occurs while reading from or writing to the file system. 

ELOOP Too many symbolic links are encountered in translating path. 

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

ENOENT The named file does not exist. 

ENOSYS The file system does not support symbolic links. 

SEE ALSO

stat(2), symlink(2)

SunOS 5.5/SPARC  —  Last change: 5 Jul 1990

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026