ACCESS(2) COMMAND REFERENCE ACCESS(2)
NAME
access - determine accessibility of file
SYNOPSIS
#include <sys/file.h>
access(path, mode)
char *path;
int mode;
DESCRIPTION
Access checks the given file path for accessibility
according to mode. Mode is the inclusive or of the
following values, defined in <sys/file.h>:
#define R_OK 4 * test for read permission *
#define W_OK 2 * test for write permission *
#define X_OK 1 * test for execute (search) permission *
#define F_OK 0 * test for presence of file *
Specifying mode as F_OK (i.e. 0) tests whether the
directories leading to the file can be searched and the file
exists.
The real user ID and the group access list (including the
real group ID) are used in verifying permission, so this
call is useful to set-user-id programs.
Notice that only access bits are checked. A directory may
be indicated as writable by access, but an attempt to open
it for writing will fail (although files may be created
there); a file may look executable, but execve will fail
unless it is in proper format.
DIAGNOSTICS
Access to the file is denied if one or more of the following
are true:
[ENOTDIR]
A component of the path prefix is not a directory.
[ENAMETOOLONG]
The argument path is too long.
[ENOENT]
The named file does not exist.
[ENOASCII]
The argument path contains a byte with the high-order
bit set.
[ELOOP]
Printed 10/17/86 1
ACCESS(2) COMMAND REFERENCE ACCESS(2)
Too many symbolic links were encountered in translating
the pathname.
[EROFS]
Write access is requested for a file on a read-only file
system.
[ETXTBSY]
Write access is requested for a pure procedure (shared
text) file that is being executed.
[EACCES]
Permission bits of the file mode do not permit the
requested access; or search permission is denied on a
component of the path prefix. The owner of a file has
permission checked with respect to the ``owner'' read,
write, and execute mode bits, members of the file's
group other than the owner have permission checked with
respect to the ``group'' mode bits, and all others have
permissions checked with respect to the ``other'' mode
bits. If the file is located on a remote host, this
error code will be returned if the local host name and
local user name does not appear in /usr/lib/dfs/access
on the remote machine. See
[EFAULT]
Path points outside the process's allocated address
space.
[EDFSNOSUCHHOST]
The pathname referenced a remote host, but when we
broadcast a request for its address, no host responded.
RETURN VALUE
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
SEE ALSO
chmod(2), stat(2).
Printed 10/17/86 2
%%index%%
na:72,76;
sy:148,472;
de:620,1207;
di:1827,479;2450,1336;
rv:3786,236;
se:4022,109;
%%index%%000000000117