Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

stat(2)

lstat(2)

symlink(2)

READLINK(2)

NAME

readlink − read value of a symbolic link

USAGE

cc = readlink(path, buf, bufsiz) int cc; char *path, *buf; int bufsiz;

DESCRIPTION

Readlink places the contents of symbolic link named by path into the buffer buf, which has size bufsiz. The contents of the link are not null-terminated when they are returned.

RETURN VALUE

A successful call returns the number of characters in buf.  A failed call returns -1 and sets errno as indicated below. 

ERRORS

Readlink will fail and the mode of path will be unchanged if:

[EPERM] The path argument contains a byte with the high-order bit set. 

[ENOENT] The pathname is too long. 

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

[ENOENT] The named file does not exist. 

[ENXIO] The named file is not a symbolic link. 

[EACCES] Search permission is denied on a component of the path prefix. 

[EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user. 

[EINVAL] The named file is not a symbolic link. 

[EFAULT] Buf extends outside the process’s allocated address space. 

[ELOOP] The call encountered too many symbolic links in translating the pathname. 

RELATED INFORMATION

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

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