|
|
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.