Annotation of coherent/a/usr/include/sys/ino.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 3.0
                      3:  *     Copyright (c) 1982, 1990 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * Disk inode.
                      8:  */
                      9: 
                     10: #ifndef         INO_H
                     11: #define         INO_H  INO_H
                     12: 
                     13: #include <sys/types.h>
                     14: 
                     15: /*
                     16:  * Structure of inode as it appears on disk.
                     17:  */
                     18: struct dinode {
                     19:        unsigned short di_mode;         /* Mode */
                     20:        short    di_nlink;              /* Link count */
                     21:        short    di_uid;                /* User id of owner */
                     22:        short    di_gid;                /* Group id of owner */
                     23:        fsize_t  di_size;               /* Size of file in bytes */
                     24: 
                     25:        union dia_u {
                     26:                 char    di_addb[40];   /* Disk block addresses */
                     27:                 dev_t   di_rdev;       /* Device */
                     28: 
                     29:                 struct dip_s {         /* Pipes */
                     30:                         char    dp_addp[30];
                     31:                         short   dp_pnc;
                     32:                         short   dp_prx;
                     33:                         short   dp_pwx;
                     34:                } di_p;
                     35:        } di_a;
                     36: 
                     37:        time_t   di_atime;              /* Last access time */
                     38:        time_t   di_mtime;              /* Last modify time */
                     39:        time_t   di_ctime;              /* Last creation time */
                     40: };
                     41: 
                     42: /*
                     43:  * Compatibility.
                     44:  */
                     45: #define        di_addr di_a.di_addb
                     46: #define di_addp        di_a.di_p.dp_addp
                     47: #define di_pnc di_a.di_p.dp_pnc
                     48: #define di_prx di_a.di_p.dp_prx
                     49: #define di_pwx di_a.di_p.dp_pwx
                     50: 
                     51: /*
                     52:  * Miscellaneous manifests.
                     53:  */
                     54: #define        NBN     128                     /* Number of indirects per block */
                     55: #define L2NBN  7                       /* Log2(NBN) */
                     56: #define ND     10                      /* Number of direct blocks */
                     57: #define NI     3                       /* Number of indirect blocks */
                     58: #define NADDR  13                      /* Total number of addresses */
                     59: 
                     60: /*
                     61:  * Modes.
                     62:  */
                     63: #define        IFMT    0170000                 /* Type */
                     64: #define IFDIR  0040000                 /* Directory */
                     65: #define IFCHR  0020000                 /* Character special file */
                     66: #define        IFBLK   0060000                 /* Block special file */
                     67: #define IFREG  0100000                 /* Regular file */
                     68: #define IFMPC  0030000                 /* Multiplexed character special */
                     69: #define IFMPB  0070000                 /* Multiplexed block special */
                     70: #define IFPIPE 0010000                 /* Pipe */
                     71: #define ISUID  0004000                 /* Set user id on execution */
                     72: #define ISGID  0002000                 /* Set group id on execution */
                     73: #define ISVTXT 0001000                 /* Save swapped text even after use */
                     74: 
                     75: #endif

unix.superglobalmegacorp.com

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