access(2) access(2)
NAME
access - determine accessibility of a file
SYNOPSIS
#include <unistd.h>
int access(const char *path, int amode);
DESCRIPTION
access checks the accessibility of a file. path points to a
pathname naming a file. access checks the named file for
accessibility according to the bit pattern contained in amode,
using the real user ID in place of the effective user ID and
the real group ID in place of the effective group ID. The bit
pattern contained in amode is constructed by an OR of the
following constants (defined in unistd.h):
R_OK test for read permission
W_OK test for write permission
X_OK test for execute (search) permission
F_OK test for existence of file
EX_OK test for regular, executable file
EFF_ONLY_OK
test using effective IDs
Note that successful checking of the EXEC_OK file does not
imply that the exec(2) system call will succeed on the file
named by path, since the check succeeds if at least one
execute bit is set; there are also additional checks made for
execute permission by exec.
Return Values
If the requested access is permitted, access returns 0.
Otherwise, access returns -1 and sets errno to identify the
reason.
Errors
In the following conditions, access sets errno to:
EACCES Search permission is denied on a component of the path
prefix.
Copyright 1994 Novell, Inc. Page 1
access(2) access(2)
EACCES Access permission is denied.
EACCES The file is not a regular file.
EFAULT path points outside the allocated address space for the
process.
EINTR A signal was caught during the access system call.
EINVAL amode is invalid.
ELOOP Too many symbolic links were encountered in translating
path.
EMULTIHOP
Components of path require hopping to multiple remote
machines.
ENAMETOOLONG
The length of the path argument exceeds {PATH_MAX}, or
the length of a path component exceeds {NAME_MAX} while
_POSIX_NO_TRUNC is in effect.
ENOTDIR
A component of the path prefix is not a directory.
ENOENT Read, write, or execute (search) permission is requested
for a null pathname.
ENOENT The named file does not exist.
ENOLINK
path points to a remote machine and the link to that
machine is no longer active.
EROFS Write access is requested for a file on a read-only file
system.
REFERENCES
chmod(2), intro(2), stat(2)
NOTICES
Considerations for Threads Programming
Access rights are an attribute of the containing process and
are shared by sibling threads.
Copyright 1994 Novell, Inc. Page 2