Annotation of researchv9/sys/h/filsys.h, revision 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.