Annotation of researchv10dc/man/adm/man2/stat.2, revision 1.1

1.1     ! root        1: .TH STAT 2
        !             2: .CT 2 file_inq_creat
        !             3: .SH NAME
        !             4: stat, lstat, fstat \(mi get file status
        !             5: .SH SYNOPSIS
        !             6: .nf
        !             7: .B #include <sys/types.h>
        !             8: .B #include <sys/stat.h>
        !             9: .PP
        !            10: .B int stat(name, buf)
        !            11: .B char *name;
        !            12: .B struct stat *buf;
        !            13: .PP
        !            14: .B int lstat(name, buf)
        !            15: .B char *name;
        !            16: .B struct stat *buf;
        !            17: .PP
        !            18: .B int fstat(fildes, buf)
        !            19: .B struct stat *buf;
        !            20: .fi
        !            21: .SH DESCRIPTION
        !            22: .I Stat
        !            23: puts detailed information about the file
        !            24: .I name
        !            25: in a structure whose address is
        !            26: .IR buf .
        !            27: .I Lstat
        !            28: does the same except that when
        !            29: .I name
        !            30: is a symbolic
        !            31: link (see
        !            32: .IR link (2)),
        !            33: it
        !            34: supplies information about the link itself.
        !            35: .I Fstat
        !            36: does what
        !            37: .I stat
        !            38: does for the file open on descriptor
        !            39: .IR fildes .
        !            40: .PP
        !            41: It is unnecessary to have any
        !            42: permissions at all with respect to
        !            43: .IR name ,
        !            44: but all directories
        !            45: leading to the file must be searchable.
        !            46: .nf
        !            47: .ta \w'\fLnnnnnnnn\fP'u +\w'\fLunsigned short st_mode; \fP'u
        !            48: \fLstruct stat
        !            49: {
        !            50:        \fLdev_t st_dev;\fR     device number for this file system
        !            51:        \fLino_t st_ino;\fP     inode number
        !            52:        \fLunsigned short st_mode;\fP   file mode encoded as below
        !            53:        \fLshort st_nlink;\fP   number of links (not symbolic links)
        !            54:        \fLshort st_uid;\fP     uid of owner
        !            55:        \fLshort st_gid;\fP     gid of owner
        !            56:        \fLdev_t st_rdev;\fP    if device file, the device number
        !            57:        \fLoff_t st_size;\fP    size in bytes
        !            58:        \fLtime_t st_atime;\fP  time file was last read or created
        !            59:        \fLtime_t st_mtime;\fP  time file was last written or created
        !            60:        \fLtime_t st_ctime;\fP  time file or inode was last written or created
        !            61: \fL};\fP
        !            62: .fi
        !            63: .PP
        !            64: The bits in
        !            65: .B st_mode
        !            66: are defined by
        !            67: .nf
        !            68: .ft L
        !            69: .ta 10n 20n
        !            70: .ft P
        !            71: \fLS_IFMT      0170000\fP      file type
        !            72: \fLS_IFDIR     0040000\fP      directory
        !            73: \fLS_IFCHR     0020000\fP      character device
        !            74: \fLS_IFBLK     0060000\fP      block device
        !            75: \fLS_IFREG     0100000\fP      regular file
        !            76: \fLS_IFLNK     0120000\fP      symbolic link
        !            77: \fLS_ISUID     0004000\fP      set userid on execution
        !            78: \fLS_ISGID     0002000\fP      set groupid on execution
        !            79: \fLS_ICCTYP    0007000\fP      type of concurrency control
        !            80: \fLS_ISYNC     0001000\fP      1 writer and n readers (synchronized access)
        !            81: \fLS_IEXCL     0003000\fP      1 writer or n readers (exclusive access)
        !            82: \fL    0000400\fP      read permission by owner
        !            83: \fL    0000200\fP      write permission by owner
        !            84: \fL    0000100\fP      execute permission (search on directory) by owner
        !            85: \fL    0000070\fP      read, write, execute (search) by group
        !            86: \fL    0000007\fP      read, write, execute (search) by others
        !            87: .fi
        !            88: .PP
        !            89: .B S_IFMT
        !            90: and
        !            91: .B S_ICCTYP
        !            92: are field masks; the other constants encode modes.
        !            93: Codes contained in the 
        !            94: .B S_IFMT
        !            95: field are mutually exclusive.
        !            96: If bit
        !            97: .L 01000
        !            98: is set,
        !            99: the concurrency modes contained in
        !           100: .B S_ICCTYP
        !           101: are in effect;
        !           102: otherwise the set-id flags
        !           103: .B S_ISUID
        !           104: and
        !           105: .B S_ISGID
        !           106: apply.
        !           107: .PP
        !           108: The concurrency modes affect
        !           109: .I open
        !           110: and
        !           111: .I creat
        !           112: calls.
        !           113: Synchronized access,
        !           114: .BI S_ISYNC ,
        !           115: guards against inconsistent updates
        !           116: by forbidding concurrent opens for writing.
        !           117: Exclusive access,
        !           118: .BI S_IEXCL ,
        !           119: guards against inconsistent views
        !           120: by forbidding concurrent opens if one is for writing.
        !           121: .SH "SEE ALSO"
        !           122: .IR chmod (1), 
        !           123: .IR ls (1), 
        !           124: .IR chmod (2), 
        !           125: .IR filsys (5)
        !           126: .SH DIAGNOSTICS
        !           127: .IR stat ,
        !           128: .IR lstat :
        !           129: .BR EACCES ,
        !           130: .BR EFAULT ,
        !           131: .BR EIO ,
        !           132: .BR ELOOP ,
        !           133: .BR ENOENT ,
        !           134: .BR ENOTDIR
        !           135: .br
        !           136: .IR fstat :
        !           137: .BR EBADF ,
        !           138: .BR EFAULT ,
        !           139: .BR EIO
        !           140: .SH BUGS
        !           141: For efficiency,
        !           142: .B st_atime
        !           143: is not set when a directory
        !           144: is searched, although this might be more logical.

unix.superglobalmegacorp.com

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