aboutsummaryrefslogtreecommitdiff
path: root/man/man3/access.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/access.3')
-rw-r--r--man/man3/access.360
1 files changed, 60 insertions, 0 deletions
diff --git a/man/man3/access.3 b/man/man3/access.3
new file mode 100644
index 00000000..a892cdea
--- /dev/null
+++ b/man/man3/access.3
@@ -0,0 +1,60 @@
+.TH ACCESS 3
+.SH NAME
+access \- determine accessibility of file
+.SH SYNOPSIS
+.B #include <u.h>
+.br
+.B #include <libc.h>
+.PP
+.B
+int access(char *name, int mode)
+.SH DESCRIPTION
+.I Access
+evaluates the given
+file
+.I name
+for accessibility.
+If \fImode\fL&4\fR
+is nonzero,
+read permission is expected;
+if \fImode\fL&2\fR,
+write permission;
+if \fImode\fL&1\fR,
+execute permission.
+If \fImode\fL==0\fR,
+the file merely need exist.
+In any case
+all directories leading to the file
+must permit searches.
+Zero is returned if the desired access is permitted,
+\-1 if not.
+.PP
+Only access for open is checked.
+A file may look executable, but
+.IR exec (2)
+will fail unless it is in proper format.
+.PP
+The include file
+.F <libc.h>
+defines
+.BR AEXIST =0,
+.BR AEXEC =1,
+.BR AWRITE =2,
+and
+.BR AREAD =4.
+.PP
+.SH SOURCE
+.B /sys/src/libc/9sys/access.c
+.SH SEE ALSO
+.IR stat (2)
+.SH DIAGNOSTICS
+Sets
+.IR errstr .
+.SH BUGS
+Since file permissions are checked by the server and group information
+is not known to the client,
+.I access
+must open the file to check permissions.
+(It calls
+.IR stat (2)
+to check simple existence.)