xref: /original-bsd/lib/libc/sys/readlink.2 (revision 2c12987e)
Copyright (c) 1983 The Regents of the University of California.
All rights reserved.

%sccs.include.redist.man%

@(#)readlink.2 6.7 (Berkeley) 06/23/90

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 if:

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

15 [EINVAL] The pathname contains a character with the high-order bit set.

15 [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.

15 [ENOENT] The named file does not exist.

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

15 [ELOOP] Too many symbolic links were encountered in translating the pathname.

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

15 [EIO] An I/O error occurred while reading from the file system.

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

SEE ALSO
stat(2), lstat(2), symlink(2)