|
|
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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.