Annotation of 43BSDTahoe/man/man2/access.2, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)access.2    6.5 (Berkeley) 5/22/86
        !             6: .\"
        !             7: .TH ACCESS 2 "May 22, 1986"
        !             8: .UC 4
        !             9: .SH NAME
        !            10: access \- determine accessibility of file
        !            11: .SH SYNOPSIS
        !            12: .nf
        !            13: .ft B
        !            14: #include <sys/file.h>
        !            15: .PP
        !            16: .ft B
        !            17: .ta 1.25i 1.6i
        !            18: #define R_OK   4       /* test for read permission */
        !            19: #define W_OK   2       /* test for write permission */
        !            20: #define X_OK   1       /* test for execute (search) permission */
        !            21: #define F_OK   0       /* test for presence of file */
        !            22: .PP
        !            23: .ft B
        !            24: accessible = access(path, mode)
        !            25: int accessible;
        !            26: char *path;
        !            27: int mode;
        !            28: .ft R
        !            29: .fi
        !            30: .SH DESCRIPTION
        !            31: .I Access
        !            32: checks the given
        !            33: file
        !            34: .I path
        !            35: for accessibility according to
        !            36: .IR mode ,
        !            37: which is an inclusive or of the bits
        !            38: R_OK,
        !            39: W_OK
        !            40: and
        !            41: X_OK.
        !            42: Specifying
        !            43: .I mode
        !            44: as F_OK (i.e., 0)
        !            45: tests whether the directories leading to the file can be
        !            46: searched and the file exists.
        !            47: .PP
        !            48: The real user ID and the group access list
        !            49: (including the real group ID) are
        !            50: used in verifying permission, so this call
        !            51: is useful to set-UID programs.
        !            52: .PP
        !            53: Notice that only access bits are checked.
        !            54: A directory may be indicated as writable by
        !            55: .IR access ,
        !            56: but an attempt to open it for writing will fail
        !            57: (although files may be created there);
        !            58: a file may look executable, but
        !            59: .I execve
        !            60: will fail unless it is in proper format.
        !            61: .SH "RETURN VALUE
        !            62: If
        !            63: .I path
        !            64: cannot be found or if any of the desired access modes would
        !            65: not be granted, then a \-1 value is returned; otherwise
        !            66: a 0 value is returned.
        !            67: .SH "ERRORS
        !            68: Access to the file is denied if one or more of the following are true:
        !            69: .TP 15
        !            70: [ENOTDIR]
        !            71: A component of the path prefix is not a directory.
        !            72: .TP 15
        !            73: [EINVAL]
        !            74: The pathname contains a character with the high-order bit set.
        !            75: .TP 15
        !            76: [ENAMETOOLONG]
        !            77: A component of a pathname exceeded 255 characters,
        !            78: or an entire path name exceeded 1023 characters.
        !            79: .TP 15
        !            80: [ENOENT]
        !            81: The named file does not exist.
        !            82: .TP 15
        !            83: [EACCES]
        !            84: Search permission is denied for a component of the path prefix.
        !            85: .TP 15
        !            86: [ELOOP]
        !            87: Too many symbolic links were encountered in translating the pathname.
        !            88: .TP 15
        !            89: [EROFS]
        !            90: Write access is requested for a file on a read-only file system.
        !            91: .TP 15
        !            92: [ETXTBSY]
        !            93: Write access is requested for a pure procedure (shared text)
        !            94: file that is being executed.
        !            95: .TP 15
        !            96: [EACCES]
        !            97: Permission bits of the file mode do not permit the requested
        !            98: access, or search permission is denied on a component of the
        !            99: path prefix.  The owner of a file has permission checked with
        !           100: respect to the ``owner'' read, write, and execute mode bits,
        !           101: members of the file's group other than the owner have permission
        !           102: checked with respect to the ``group'' mode bits, and all
        !           103: others have permissions checked with respect to the ``other''
        !           104: mode bits.
        !           105: .TP 15
        !           106: [EFAULT]
        !           107: .I Path
        !           108: points outside the process's allocated address space.
        !           109: .TP 15
        !           110: [EIO]
        !           111: An I/O error occurred while reading from or writing to the file system.
        !           112: .SH "SEE ALSO
        !           113: chmod(2), stat(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.