Annotation of linux/include/sys/stat.h, revision 1.1.1.2

1.1       root        1: #ifndef _SYS_STAT_H
                      2: #define _SYS_STAT_H
                      3: 
                      4: #include <sys/types.h>
1.1.1.2 ! root        5: #include <stdint.h>
1.1       root        6: 
                      7: struct stat {
1.1.1.2 ! root        8:        uint16_t        st_dev;
        !             9:        uint16_t        __pad1;
        !            10:        unsigned long   st_ino;
        !            11:        uint16_t        st_mode;
        !            12:        uint16_t        st_nlink;
        !            13:        uint16_t        st_uid;
        !            14:        uint16_t        st_gid;
        !            15:        uint16_t        st_rdev;
        !            16:        uint16_t        __pad2;
        !            17:        unsigned long   st_size;
        !            18:        unsigned long   st_blksize;
        !            19:        unsigned long   st_blocks;
        !            20:        time_t          st_atime;
        !            21:        unsigned long   __unused1;
        !            22:        time_t          st_mtime;
        !            23:        unsigned long   __unused2;
        !            24:        time_t          st_ctime;
        !            25:        unsigned long   __unused3;
        !            26:        unsigned long   __unused4;
        !            27:        unsigned long   __unused5;
        !            28: };
        !            29: 
        !            30: struct stat64 {
        !            31:        uint16_t        st_dev;
        !            32:        unsigned char   __pad0[10];
        !            33: 
        !            34: #define STAT64_HAS_BROKEN_ST_INO       1
        !            35:        unsigned long   __st_ino;
        !            36: 
        !            37:        uint32_t        st_mode;
        !            38:        uint32_t        st_nlink;
        !            39: 
        !            40:        unsigned long   st_uid;
        !            41:        unsigned long   st_gid;
        !            42: 
        !            43:        uint16_t        st_rdev;
        !            44:        unsigned char   __pad3[10];
        !            45: 
        !            46: __extension__  long long       st_size __attribute__((__packed__));
        !            47:        unsigned long   st_blksize;
        !            48: 
        !            49:        unsigned long   st_blocks;      /* Number 512-byte blocks allocated. */
        !            50:        unsigned long   __pad4;         /* future possible st_blocks high bits */
        !            51: 
        !            52:        time_t          st_atime;
        !            53:        unsigned long   __pad5;
        !            54: 
        !            55:        time_t          st_mtime;
        !            56:        unsigned long   __pad6;
        !            57: 
        !            58:        time_t          st_ctime;
        !            59:        unsigned long   __pad7;         /* will be high 32 bits of ctime someday */
        !            60: 
        !            61: __extension__  unsigned long long      st_ino __attribute__((__packed__));
1.1       root       62: };
                     63: 
                     64: #define S_IFMT  00170000
                     65: #define S_IFREG  0100000
                     66: #define S_IFBLK  0060000
                     67: #define S_IFDIR  0040000
                     68: #define S_IFCHR  0020000
                     69: #define S_IFIFO  0010000
                     70: #define S_ISUID  0004000
                     71: #define S_ISGID  0002000
                     72: #define S_ISVTX  0001000
                     73: 
                     74: #define S_ISREG(m)     (((m) & S_IFMT) == S_IFREG)
                     75: #define S_ISDIR(m)     (((m) & S_IFMT) == S_IFDIR)
                     76: #define S_ISCHR(m)     (((m) & S_IFMT) == S_IFCHR)
                     77: #define S_ISBLK(m)     (((m) & S_IFMT) == S_IFBLK)
                     78: #define S_ISFIFO(m)    (((m) & S_IFMT) == S_IFIFO)
                     79: 
                     80: #define S_IRWXU 00700
                     81: #define S_IRUSR 00400
                     82: #define S_IWUSR 00200
                     83: #define S_IXUSR 00100
                     84: 
                     85: #define S_IRWXG 00070
                     86: #define S_IRGRP 00040
                     87: #define S_IWGRP 00020
                     88: #define S_IXGRP 00010
                     89: 
                     90: #define S_IRWXO 00007
                     91: #define S_IROTH 00004
                     92: #define S_IWOTH 00002
                     93: #define S_IXOTH 00001
                     94: 
                     95: extern int chmod(const char *_path, mode_t mode);
1.1.1.2 ! root       96: extern int fstat64(int fildes, struct stat64 *stat_buf);
1.1       root       97: extern int mkdir(const char *_path, mode_t mode);
                     98: extern int mkfifo(const char *_path, mode_t mode);
1.1.1.2 ! root       99: extern int stat64(const char *filename, struct stat64 *stat_buf);
1.1       root      100: extern mode_t umask(mode_t mask);
                    101: 
                    102: #endif

unix.superglobalmegacorp.com

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