Annotation of researchv10no/cmd/rarepl/rct.h, revision 1.1.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.