Copyright (c) 1983 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)readlink.2 6.1 (Berkeley) 05/15/85
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)readlink.2 6.1 (Berkeley) 05/15/85
READLINK 2 ""
C 5 NAME
readlink - read value of a symbolic link
SYNOPSIS
cc = readlink(path, buf, bufsiz) int cc; char *path, *buf; int bufsiz;
DESCRIPTION
Readlink places the contents of the symbolic link
name in the buffer
buf which has size
bufsiz . The contents of the link are not null terminated when returned.
"RETURN VALUE
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 and the file mode will be unchanged if:
15 [EPERM] The path argument contained a byte with the high-order bit set.
15 [ENOENT] The pathname was too long.
15 [ENOTDIR] A component of the path prefix is not a directory.
15 [ENOENT] The named file does not exist.
15 [ENXIO] The named file is not a symbolic link.
15 [EACCES] Search permission is denied on a component of the path prefix.
15 [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user.
15 [EINVAL] The named file is not a symbolic link.
15 [EFAULT] Buf extends outside the process's allocated address space.
15 [ELOOP] Too many symbolic links were encountered in translating the pathname.
SEE ALSO
stat(2), lstat(2), symlink(2)