Annotation of researchv9/sys/h/filsys.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Structure of the super-block
                      3:  */
                      4: struct filsys
                      5: {
                      6:        unsigned short s_isize;         /* size in blocks of i-list */
                      7:        daddr_t s_fsize;                /* size in blocks of entire volume */
                      8:        short   s_ninode;               /* number of i-nodes in s_inode */
                      9:        ino_t   s_inode[NICINOD];       /* free i-node list */
                     10:        char    s_flock;                /* lock during free list manipulation */
                     11:        char    s_ilock;                /* lock during i-list manipulation */
                     12:        char    s_fmod;                 /* super block modified flag */
                     13:        char    s_ronly;                /* mounted read-only flag */
                     14:        time_t  s_time;                 /* last super block update */
                     15:        daddr_t s_tfree;                /* total free blocks*/
                     16:        ino_t   s_tinode;               /* total free inodes */
                     17:        short   s_dinfo[2];             /* interleave stuff */
                     18: #define        s_m     s_dinfo[0]
                     19: #define        s_n     s_dinfo[1]
                     20:        char    s_fsmnt[14];            /* ordinary file mounted on */
                     21:        ino_t   s_lasti;                /* start place for circular search */
                     22:        ino_t   s_nbehind;              /* est # free inodes before s_lasti */
                     23:        union {
                     24:                struct {
                     25:                        short   S_nfree;/* number of addresses in s_free */
                     26:                        daddr_t S_free[NICFREE];/* free block list */
                     27:                } R;
                     28:                struct {
                     29:                        char    S_valid;/* 1 on disk means bit map valid */
                     30: #define BITMAP 961
                     31:                        long    S_bfree[BITMAP];/* bit map for free data blocks */
                     32:                } B;
                     33:        } U;
                     34: };
                     35: #define s_nfree U.R.S_nfree
                     36: #define s_free  U.R.S_free
                     37: #define s_valid U.B.S_valid
                     38: #define s_bfree U.B.S_bfree
                     39: 
                     40: #ifdef KERNEL
                     41: struct filsys *getfs();
                     42: #endif

unix.superglobalmegacorp.com

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