procfs: make ipc vectors available
[minix.git] / man / man2 / readlink.2
blob3e11857e842679a49406d2c53ed90fbc93b5eb0e
1 .TH READLINK 2 "March 17, 2006"
2 .UC 4
3 .SH NAME
4 readlink \- read the contents of a symlink
5 .SH SYNOPSIS
6 .nf
7 .ft B
8 #include <unistd.h>
10 int readlink(const char *\fIpath\fP, char *\fIbuf\fP, size_t bufsize)
11 .fi
12 .ft R
13 .SH DESCRIPTION
14 The 
15 .I readlink
16 call reads the contents of the symlink
17 .I name1
18 and returns it in
19 .I buf
20 up to a maximum of
21 .I bufsize
22 bytes. A terminating NUL byte is NOT put in the buffer.
23 .SH "RETURN VALUE
24 Upon successful completion, a value of 0 is returned.  Otherwise,
25 a value of \-1 is returned and
26 .B errno
27 is set to indicate the error.
28 .SH "ERRORS
29 .B Readlink
30 will fail if one or more of the following are true:
31 .TP 15
32 [ENOTDIR]
33 A component of either path prefix is not a directory.
34 .TP 15
35 [EINVAL]
36 The path does not resolve to a symbolic link.
37 .TP 15
38 [ENAMETOOLONG]
39 A path name exceeds PATH_MAX characters.
40 .TP 15
41 [ENOENT]
42 A component of the path does not exist.
43 .TP 15
44 [EACCES]
45 A component of the path denies search permission.
46 .TP 15
47 [ELOOP]
48 Too many symbolic links were encountered in translating one of the pathnames.
49 .TP 15
50 [ENOENT]
51 The link named by \fIpath\fP does not exist.
52 .TP 15
53 [EFAULT]
54 The buffer specified is outside the process's allocated address space.
55 .SH "SEE ALSO"
56 .BR symlink (2),
57 .BR unlink (2).