Annotation of 42BSD/sys/vaxuba/tmreg.h, revision 1.1.1.1

1.1       root        1: /*     tmreg.h 6.1     83/07/29        */
                      2: 
                      3: /*
                      4:  * TM11 controller registers
                      5:  */
                      6: struct tmdevice {
                      7:        u_short tmer;           /* error register, per drive */
                      8:        u_short tmcs;           /* control-status register */
                      9:        short   tmbc;           /* byte/frame count */
                     10:        u_short tmba;           /* address */
                     11:        short   tmdb;           /* data buffer */
                     12:        short   tmrd;           /* read lines */
                     13:        short   tmmr;           /* maintenance register */
                     14: };
                     15: 
                     16: #define        b_repcnt  b_bcount
                     17: #define        b_command b_resid
                     18: 
                     19: /* bits in tmcs */
                     20: #define        TM_GO           0000001
                     21: #define        TM_OFFL         0000000         /* offline */
                     22: #define        TM_RCOM         0000002         /* read */
                     23: #define        TM_WCOM         0000004         /* write */
                     24: #define        TM_WEOF         0000006         /* write-eof */
                     25: #define        TM_SFORW        0000010         /* space forward */
                     26: #define        TM_SREV         0000012         /* space backwards */
                     27: #define        TM_WIRG         0000014         /* write with xtra interrecord gap */
                     28: #define        TM_REW          0000016         /* rewind */
                     29: #define        TM_SENSE        TM_IE           /* sense (internal to driver) */
                     30: 
                     31: #define        tmreverseop(cmd)                ((cmd)==TM_SREV || (cmd)==TM_REW)
                     32: 
                     33: /* TM_SNS is a pseudo-op used to get tape status */
                     34: #define        TM_IE           0000100         /* interrupt enable */
                     35: #define        TM_CUR          0000200         /* control unit is ready */
                     36: #define        TM_DCLR         0010000         /* drive clear */
                     37: #define        TM_D800         0060000         /* select 800 bpi density */
                     38: #define        TM_ERR          0100000         /* drive error summary */
                     39: 
                     40: /* bits in tmer */
                     41: #define        TMER_ILC        0100000         /* illegal command */
                     42: #define        TMER_EOF        0040000         /* end of file */
                     43: #define        TMER_CRE        0020000         /* cyclic redundancy error */
                     44: #define        TMER_PAE        0010000         /* parity error */
                     45: #define        TMER_BGL        0004000         /* bus grant late */
                     46: #define        TMER_EOT        0002000         /* at end of tape */
                     47: #define        TMER_RLE        0001000         /* record length error */
                     48: #define        TMER_BTE        0000400         /* bad tape error */
                     49: #define        TMER_NXM        0000200         /* non-existant memory */
                     50: #define        TMER_SELR       0000100         /* tape unit properly selected */
                     51: #define        TMER_BOT        0000040         /* at beginning of tape */
                     52: #define        TMER_CH7        0000020         /* 7 channel tape */
                     53: #define        TMER_SDWN       0000010         /* gap settling down */
                     54: #define        TMER_WRL        0000004         /* tape unit write protected */
                     55: #define        TMER_RWS        0000002         /* tape unit rewinding */
                     56: #define        TMER_TUR        0000001         /* tape unit ready */
                     57: 
                     58: #define        TMER_BITS       \
                     59: "\10\20ILC\17EOF\16CRE\15PAE\14BGL\13EOT\12RLE\11BTE\10NXM\
                     60: \7SELR\6BOT\5CH7\4SDWN\3WRL\2RWS\1TUR"
                     61: 
                     62: #define        TMER_HARD       (TMER_ILC|TMER_EOT)
                     63: #define        TMER_SOFT       (TMER_CRE|TMER_PAE|TMER_BGL|TMER_RLE|TMER_BTE|TMER_NXM)

unix.superglobalmegacorp.com

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