61 lines
1.1 KiB
Plaintext
61 lines
1.1 KiB
Plaintext
|
.TH ACCESS 2
|
||
|
.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.)
|