|
|
1.1 ! root 1: /* ! 2: * /usr/include/sys/ftxl.h ! 3: * ! 4: * Generic QIC-177 support, Archive style. ! 5: * ! 6: * Revised: Thu May 27 17:22:26 1993 CDT ! 7: */ ! 8: #ifndef __SYS_XLFT_H__ ! 9: #define __SYS_XLFT_H__ ! 10: ! 11: /* ! 12: * Device names. ! 13: * f l q80 n r (also, "c" suffix allowed, for control device) ! 14: * | | | | | ! 15: * | | | | \--- if "r" suffix present, retension on open ! 16: * | | | \----- if "n" suffix present, no rewind on open/close ! 17: * | | \-------- q80/q40 ! 18: * | \----------- unit 0 or 1 ! 19: * \------------- f = floppy tape ! 20: * ! 21: * Minor numbers. ! 22: * 01frwcuu (leading bits of 01 indicate floppy tape) ! 23: * ! 24: * f - 0=qic40/1=qic80 ! 25: * r - 1=retension ! 26: * w - 1=rewind ! 27: * c - 1=control ! 28: * u - unit 0..3 ! 29: */ ! 30: ! 31: #define M_FMT 0x20 ! 32: #define M_RET 0x10 ! 33: #define M_REW 0x08 ! 34: #define M_CTL 0x04 ! 35: #define M_UNT 0x03 ! 36: ! 37: #define FT_UNIT(x) (minor(x) & M_UNT) ! 38: #define FT_FORMAT(x) ((minor(x) & M_FMT)) >> 5) ! 39: ! 40: union xl_status { ! 41: struct { ! 42: unsigned short ready:1; /* drive ready */ ! 43: unsigned short error:1; /* error detected */ ! 44: unsigned short cpres:1; /* cartridge present */ ! 45: unsigned short wprot:1; /* write protected */ ! 46: unsigned short newcart:1; /* new cart inserted */ ! 47: unsigned short cref:1; /* cart referenced */ ! 48: unsigned short bot:1; /* beginning of tape */ ! 49: unsigned short eot:1; /* end of tape */ ! 50: ! 51: unsigned short errnum:8; /* error number */ ! 52: unsigned short errcmd:8; /* associated command */ ! 53: ! 54: unsigned short sfterr; /* soft errors */ ! 55: unsigned short hrderr; /* hard errors */ ! 56: unsigned short undrun; /* underruns */ ! 57: } status; ! 58: unsigned char stat[9]; ! 59: }; ! 60: ! 61: #define XLIOC ('x'<<8) ! 62: #define XL_STATUS (XLIOC | 0) /* read tape status */ ! 63: #define XL_RESET (XLIOC | 1) /* reset tape drive */ ! 64: #define XL_RETEN (XLIOC | 2) /* retension tape */ ! 65: #define XL_REWIND (XLIOC | 3) /* rewind tape */ ! 66: #define XL_ERASE (XLIOC | 4) /* erase tape */ ! 67: #define XL_AMOUNT (XLIOC | 5) /* report xfer amount */ ! 68: #define XL_RFM (XLIOC | 6) /* read file mark */ ! 69: #define XL_FORMAT (XLIOC | 7) /* format track pair */ ! 70: #define XL_DEBUG (XLIOC | 11) /* set debug variable */ ! 71: ! 72: #endif /* __SYS_XLFT_H__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.