1: struct brdevice {
2: short brds;
3: short brer;
4: union {
5: short w;
6: char c[2];
7: } brcs;
8: short brwc;
9: caddr_t brba;
10: short brca;
11: short brda;
12: short brae;
13: };
14:
15: /* bits in brds */
16: #define BRDS_SURDY 0100000 /* selected unit ready */
17: #define BRDS_SUOL 0040000 /* selected unit on line */
18: #define BRDS_TOE 0020000 /* selected unit BR */
19: #define BRDS_HNF 0010000 /* header not found */
20: #define BRDS_SUSI 0004000 /* selected unit seek incomplete */
21: #define BRDS_SUFU 0001000 /* selected unit file unsafe */
22: #define BRDS_SUWP 0000400 /* selected unit write protected */
23: /* bits 7-0 are attention bits */
24: #define BRDS_BITS "\10\20SURDY\17SUOL\16BR\15HNF\14SUSI\12SUFU\11SUWP"
25:
26: /* bits in brer */
27: #define BRER_WPV 0100000 /* write protect violation */
28: #define BRER_FUV 0040000 /* file unsafe violation */
29: #define BRER_NXC 0020000 /* nonexistent cylinder */
30: #define BRER_NXT 0010000 /* nonexistent track */
31: #define BRER_SUBUSY 0004000 /* selected unit busy */
32: #define BRER_PROG 0002000 /* program error */
33: #define BRER_FMTE 0001000 /* format error */
34: #define BRER_BSE 0000400 /* bad sector */
35: #define BRER_ATE 0000200 /* aborted transfer error */
36: #define BRER_DCE 0000100 /* data check error */
37: #define BRER_DSE 0000040 /* data sync error */
38: #define BRER_SBPE 0000020 /* system bad parity error */
39: #define BRER_WCE 0000010 /* write check error */
40: #define BRER_NXME 0000004 /* nonexistent memory */
41: #define BRER_EOP 0000002 /* end of pack */
42: #define BRER_DSKERR 0000001 /* disk error */
43: #define BRER_BITS \
44: "\10\20WPV\17FUV\16NXC\15NXT\14SUBUSY\13PROG\12FMTE\11BSE\10ATE\
45: \7DCE\6DSE\5SBPE\4WCE\3NXME\2EOP\1DSKERR"
46:
47: /* bits in brcs */
48: #define BR_ERR 0100000 /* error */
49: #define BR_HE 0040000 /* hard error */
50: #define BR_AIE 0020000 /* attention interrupt enable */
51: #define BR_HDB 0010000 /* hold drive busy */
52: #define BR_HDR 0004000 /* header */
53: /* bits 10-8 are drive select */
54: #define BR_RDY 0000200 /* ready */
55: #define BR_IDE 0000100 /* interrupt on done (error) enable */
56: /* bits 5-4 are the UNIBUS extension bits */
57: /* bits 3-1 are the function */
58: #define BR_GO 0000001 /* go */
59: #define BR_BITS "\10\20ERR\17HE\16AIE\15HDB\14HDR\10RDY\7IDE\1GO"
60:
61: /* commands */
62: #define BR_IDLE 0000000 /* idle */
63: #define BR_WCOM 0000002 /* write */
64: #define BR_RCOM 0000004 /* read */
65: #define BR_WCHK 0000006 /* write check */
66: #define BR_SEEK 0000010 /* seek */
67: #define BR_WNS 0000012 /* write (no seek) */
68: #define BR_HSEEK 0000014 /* home seek */
69: #define BR_RNS 0000016 /* read (no seek) */
70:
71: #define STBE 0000100 /* Strobe early */
72: #define STBL 0000200 /* Strobe late */
73: #define OFFP 0140000 /* Positive offset */
74: #define OFFM 0100000 /* Negative offset */
75:
76: /* Bits in br_ae */
77: #define AE_DTYP 0007400 /* Disk type */
78: #define AE_T50 0000400 /* T-50 drive */
79: #define AE_T80 0001000 /* T-80 drive */
80: #define AE_T200 0002000 /* T-200 drive */
81: #define AE_T300 0004000 /* T-300 drive */
Defined struct's
Defined macros
BR_GO
defined in line
58; used 7 times
BR_HE
defined in line
49; used 2 times
OFFM
defined in line
74; used 2 times
OFFP
defined in line
73; used 10 times
STBE
defined in line
71; used 6 times
STBL
defined in line
72; used 6 times
Usage of this include