access(2)                                                            access(2)


NAME
     access - determine accessibility of a file

SYNOPSIS
     #include <unistd.h>

     int access(const char *path, int amode);

DESCRIPTION
     path points to a path name 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 EX_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.

     Access to the file is denied if one or more of the following are true:

     EACCES              Search permission is denied on a component of the
                         path prefix.

     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 path name.

     ENOENT              The named file does not exist.

     ENOLINK             path points to a remote machine and the link to that
                         machine is no longer active.

     ETIMEDOUT           The named file is located on a remote file system
                         which is not available [see intro(2)].

     EROFS               Write access is requested for a file on a read-only
                         file system.

SEE ALSO
     chmod(2), stat(2)
     ``File Access Permission'' in intro(2)

DIAGNOSTICS
     If the requested access is permitted, a value of 0 is returned.
     Otherwise, a value of -1 is returned and errno is set to indicate the
     error.


                                                                        Page 2