Annotation of coherent/f/usr/include.78/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:  * Stat.
                      9:  */
                     10: 
                     11: #ifndef        __SYS_STAT_H__
                     12: #define        __SYS_STAT_H__
                     13: 
                     14: #include <sys/types.h>
                     15: 
                     16: /*
                     17:  * Structure returned by stat and fstat system calls.
                     18:  */
                     19: struct stat {
                     20:        dev_t    st_dev;                /* Device       */
                     21:        ino_t    st_ino;                /* Inode number */
                     22:        unsigned short st_mode;         /* Mode         */
                     23:        short    st_nlink;              /* Link count   */
                     24:        short    st_uid;                /* User id      */
                     25:        short    st_gid;                /* Group id     */
                     26:        dev_t    st_rdev;               /* Real device  */
                     27:        fsize_t  st_size;               /* Size         */
                     28:        time_t   st_atime;              /* Access time  */
                     29:        time_t   st_mtime;              /* Modify time  */
                     30:        time_t   st_ctime;              /* Change time  */
                     31: };
                     32: 
                     33: /*
                     34:  * Modes.
                     35:  */
                     36: #define        S_IFMT          0xF000          /* Type                         */
                     37: #define        S_IFDIR         0x4000          /* Directory                    */
                     38: #define        S_IFCHR         0x2000          /* Character special            */
                     39: #define        S_IFPIP         0x1000          /* Pipe                         */
                     40: #define        S_IFIFO         S_IFPIP         /* Pipe                         */
                     41: #define        S_IFBLK         0x6000          /* Block special                */
                     42: #define        S_IFREG         0x8000          /* Regular                      */
                     43: #define        S_IFSOCK        0xC000          /* Socket -- UNIMPLEMENTED      */
                     44: #define        S_IFMPC         0x3000          /* Multiplexed character special */
                     45: #define        S_IFMPB         0x7000          /* Multiplexed block special    */
                     46: 
                     47: #define        S_ISUID         0x0800          /* Set user id on execution     */
                     48: #define        S_ISGID         0x0400          /* Set group id on execution    */
                     49: #define        S_ISVTX         0x0200          /* Save swapped text even after use */
                     50: 
                     51: #define        S_IREAD         0400            /* Read permission, owner       */
                     52: #define        S_IWRITE        0200            /* Write permission, owner      */
                     53: #define        S_IEXEC         0100            /* Execute/search permission, owner */
                     54: #define        S_IRWXU         0700            /* RWX permission, owner        */
                     55: #define        S_IRUSR         S_IREAD         /* Read permission, owner       */
                     56: #define        S_IWUSR         S_IWRITE        /* Write permission, owner      */
                     57: #define        S_IXUSR         S_IEXEC         /* Execute/search permission, owner */
                     58: #define        S_IRWXG         0070            /* RWX permission, group        */
                     59: #define        S_IRGRP         0040            /* Read permission, group       */
                     60: #define        S_IWGRP         0020            /* Write permission, group      */
                     61: #define        S_IXGRP         0010            /* Execute/search permission, group */
                     62: #define        S_IRWXO         0007            /* RWX permission, other        */
                     63: #define        S_IROTH         0004            /* Read permission, other       */
                     64: #define        S_IWOTH         0002            /* Write permission, other      */
                     65: #define        S_IXOTH         0001            /* Execute/search permission, other */
                     66: 
                     67: /* Mode test macros. */
                     68: #define        S_ISFIFO(mode)  (((mode)&S_IFMT) == S_IFIFO)
                     69: #define        S_ISCHR(mode)   (((mode)&S_IFMT) == S_IFCHR)
                     70: #define        S_ISDIR(mode)   (((mode)&S_IFMT) == S_IFDIR)
                     71: #define        S_ISBLK(mode)   (((mode)&S_IFMT) == S_IFBLK)
                     72: #define        S_ISREG(mode)   (((mode)&S_IFMT) == S_IFREG)
                     73: #define        S_ISSOCK(mode)  (((mode)&S_IFMT) == S_IFSOCK)
                     74: 
                     75: /*
                     76:  * Nonexistent device.
                     77:  * Must compare correctly with dev_t, which is an unsigned short.
                     78:  */
                     79: #define NODEV  ((dev_t)-1)
                     80: 
                     81: /*
                     82:  * Functions.
                     83:  */
                     84: #define        major(dev)      ((dev>>8) & 0xFF)
                     85: #define minor(dev)     (dev & 0xFF)
                     86: #define makedev(m1, m2)        ((m1<<8)|m2)
                     87: 
                     88: #endif
                     89: 
                     90: /* 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.