Annotation of researchv10dc/cmd/rarepl/rct.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * first block of rct: random crap
        !             3:  * longwords are in VAX order
        !             4:  */
        !             5: 
        !             6: struct rct {
        !             7:        long    rc_volser[2];   /* volume serial number */
        !             8:        short   rc_flags;
        !             9:        short   rc_res0;
        !            10:        long    rc_lbn;         /* block being replaced */
        !            11:        long    rc_rbn;         /* replacement block */
        !            12:        long    rc_badrbn;      /* bad replacement block */
        !            13:        short   rc_junk[256-12];        /* reserved */
        !            14: };
        !            15: 
        !            16: /*
        !            17:  * flags
        !            18:  */
        !            19: 
        !            20: #define        RPROT   02              /* volume should be write protected */
        !            21: #define        RFE     0200            /* force error in replacement block */
        !            22: #define        RBADRBN 020000          /* bad rbn being replaced */
        !            23: #define        RPH2    040000          /* in `phase 2' */
        !            24: #define        RPH1    0100000         /* in `phase 1' */
        !            25: 
        !            26: /*
        !            27:  * replacement block descriptor
        !            28:  */
        !            29: 
        !            30: struct rbd {
        !            31:        unsigned rb_lbn: 28;
        !            32:        unsigned rb_code: 4;
        !            33: };
        !            34: 
        !            35: /*
        !            36:  * codes
        !            37:  */
        !            38: 
        !            39: #define        RFREE   0
        !            40: #define        RALT    01      /* alternate */
        !            41: #define        RALLOC  02      /* allocated */
        !            42: #define        RBAD    04      /* unusable replacement block */
        !            43: #define        RNULL   010     /* null entry (no such RBN) */
        !            44: 
        !            45: #define        RBNPB   128     /* RBNs per block */
        !            46: #define        RBNSEC  512     /* bytes per RBN sector */
        !            47: 
        !            48: /*
        !            49:  * blocks in the RCT
        !            50:  */
        !            51: 
        !            52: #define        RCTHDR  0       /* header stuff */
        !            53: #define        RCTDATA 1       /* saved data from block under replacement */
        !            54: #define        RCTTAB  2       /* beginning of the table */

unix.superglobalmegacorp.com

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