Annotation of coherent/f/usr/include/sys/stat.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 4.1.0
                      3:  *     Copyright (c) 1982, 1993 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * /usr/include/sys/stat.h
                      8:  * Revised Sun Jun 20 1993 for POSIX.1, prototypes     -- NB
                      9:  */
                     10: 
                     11: #ifndef        __SYS_STAT_H__
                     12: #define        __SYS_STAT_H__
                     13: 
                     14: #include <common/ccompat.h>
                     15: 
                     16: #if    _POSIX_SOURCE || _DDI_DKI
                     17: 
                     18: #include <common/__time.h>
                     19: #include <common/__off.h>
                     20: #include <common/_fsize.h>
                     21: #include <common/_uid.h>
                     22: 
                     23: #else
                     24: 
                     25: #include <common/_time.h>
                     26: #include <sys/types.h>
                     27: 
                     28: #endif
                     29: 
                     30: #include <common/_imode.h>
                     31: 
                     32: /*
                     33:  * Structure returned by stat () and fstat () system calls.
                     34:  */
                     35: 
                     36: struct stat {
                     37:        __dev_t         st_dev;         /* Device       */
                     38:        __ino_t         st_ino;         /* Inode number */
                     39:        __mode_t        st_mode;        /* Mode         */
                     40:        __nlink_t       st_nlink;       /* Link count   */
                     41:        __uid_t         st_uid;         /* User id      */
                     42:        __gid_t         st_gid;         /* Group id     */
                     43:        __dev_t         __NON_POSIX (st_rdev);
                     44:                                        /* Real device  */
                     45:        __off_t         st_size;        /* Size         */
                     46:        __time_t        st_atime;       /* Access time  */
                     47:        __time_t        st_mtime;       /* Modify time  */
                     48:        __time_t        st_ctime;       /* Change time  */
                     49: };
                     50: 
                     51: /*
                     52:  * Mode macros. Note that the following definitions are required to be
                     53:  * macros, but are /not/ constrained to be integral constant expressions
                     54:  * suitable for use in #if-expressions.
                     55:  */
                     56: 
                     57: #define        S_IFMT          __IFMT          /* Type                         */
                     58: #define        S_IFDIR         __IFDIR         /* Directory                    */
                     59: #define        S_IFCHR         __IFCHR         /* Character special            */
                     60: #define        S_IFPIP         __IFPIP         /* Pipe                         */
                     61: #define        S_IFIFO         __IFFIFO        /* Pipe                         */
                     62: #define        S_IFBLK         __IFBLK         /* Block special                */
                     63: #define        S_IFREG         __IFREG         /* Regular                      */
                     64: 
                     65: #define        S_IFSOCK        0xC000          /* Socket -- UNIMPLEMENTED      */
                     66: #define        S_IFMPC         0x3000          /* Multiplexed character special */
                     67: #define        S_IFMPB         0x7000          /* Multiplexed block special    */
                     68: 
                     69: #define        S_ISUID         __ISUID         /* Set user id on execution     */
                     70: #define        S_ISGID         __ISGID         /* Set group id on execution    */
                     71: #define        S_ISVTX         __ISVTX         /* Save swapped text even after use */
                     72: 
                     73: #define        S_IREAD         __IREAD         /* Read permission, owner       */
                     74: #define        S_IWRITE        __IWRITE        /* Write permission, owner      */
                     75: #define        S_IEXEC         __IEXEC         /* Execute/search permission, owner */
                     76: #define        S_IRWXU         __IRWXU         /* RWX permission, owner        */
                     77: #define        S_IRUSR         __IRUSR         /* Read permission, owner       */
                     78: #define        S_IWUSR         __IWUSR         /* Write permission, owner      */
                     79: #define        S_IXUSR         __IXUSR         /* Execute/search permission, owner */
                     80: #define        S_IRWXG         __IRWXG         /* RWX permission, group        */
                     81: #define        S_IRGRP         __IRGRP         /* Read permission, group       */
                     82: #define        S_IWGRP         __IWGRP         /* Write permission, group      */
                     83: #define        S_IXGRP         __IXGRP         /* Execute/search permission, group */
                     84: #define        S_IRWXO         __IRWXO         /* RWX permission, other        */
                     85: #define        S_IROTH         __IROTH         /* Read permission, other       */
                     86: #define        S_IWOTH         __IWOTH         /* Write permission, other      */
                     87: #define        S_IXOTH         __IXOTH         /* Execute/search permission, other */
                     88: 
                     89: /* Mode test macros. */
                     90: 
                     91: #define        S_ISFIFO(mode)  (((mode) & S_IFMT) == S_IFIFO)
                     92: #define        S_ISCHR(mode)   (((mode) & S_IFMT) == S_IFCHR)
                     93: #define        S_ISDIR(mode)   (((mode) & S_IFMT) == S_IFDIR)
                     94: #define        S_ISBLK(mode)   (((mode) & S_IFMT) == S_IFBLK)
                     95: #define        S_ISREG(mode)   (((mode) & S_IFMT) == S_IFREG)
                     96: #define        S_ISSOCK(mode)  (((mode) & S_IFMT) == S_IFSOCK)
                     97: 
                     98: __EXTERN_C_BEGIN__
                     99: 
                    100: int            chmod           __PROTO ((__CONST__ char * _path,
                    101:                                          __mode_t _mode));
                    102: int            mkdir           __PROTO ((__CONST__ char * _path,
                    103:                                          __mode_t _mode));
                    104: int            fstat           __PROTO ((int _fildes, struct stat * _buf));
                    105: int            stat            __PROTO ((__CONST__ char * _path,
                    106:                                          struct stat * _buf));
                    107: __mode_t       umask           __PROTO ((__mode_t _mask));
                    108: 
                    109: #if 0          /* not supported */
                    110: int            mkfifo          __PROTO ((__CONST__ char * _path,
                    111:                                          __mode_t _mode));
                    112: #endif
                    113: 
                    114: __EXTERN_C_END__
                    115: 
                    116: 
                    117: #if    ! _DDI_DKI
                    118: 
                    119: /*
                    120:  * Nonexistent device.
                    121:  * Must compare correctly with dev_t, which is an unsigned short in the old
                    122:  * Coherent device-driver system.
                    123:  */
                    124: 
                    125: #ifndef        NODEV
                    126: # define NODEV         ((__dev_t) -1)
                    127: #endif
                    128: 
                    129: 
                    130: /*
                    131:  * Functions.
                    132:  */
                    133: #define        major(dev)      (((dev) >> 8) & 0xFF)
                    134: #define minor(dev)     ((dev) & 0xFF)
                    135: #define makedev(m1, m2)        ((__dev_t) (((m1) << 8) | (m2)))
                    136: 
                    137: #endif /* ! _DDI_DKI */
                    138: 
                    139: #endif /* ! defined (__SYS_STAT_H__) */
                    140: 
                    141: /* end of sys/stat.h */

unix.superglobalmegacorp.com

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