1: struct mldevice
2: {
3: union {
4: short w;
5: char c[2];
6: } mlcs1; /* Control and Status register 1 */
7: short mlwc; /* Word count register */
8: caddr_t mlba; /* UNIBUS address register */
9: short mlda; /* Desired address register */
10: union {
11: short w;
12: char c[2];
13: } mlcs2; /* Control and Status register 2 */
14: short mlds; /* Drive Status */
15: short mler; /* Error register */
16: short mlas; /* Attention Summary */
17: short mlpa; /* Prom address register */
18: short mldb; /* Data buffer */
19: short mlmr; /* Maintenance register */
20: short mldt; /* Drive type */
21: short mlsn; /* Serial number */
22: short mle1; /* ECC CRC word 1 */
23: short mle2; /* ECC CRC word 2 */
24: short mld1; /* Data diagnostic 1 register */
25: short mld2; /* Data diagnostic 2 register */
26: short mlee; /* ECC error register */
27: short mlel; /* ECC error location register */
28: short mlpd; /* Prom data register */
29: short mlbae; /* RH70 bus address extension */
30: short mlcs3; /* RH70 control & status register 3 */
31: };
32:
33: /* bits in mlcs */
34: #define ML_TRE 0040000
35: #define ML_IE 0000100
36: #define ML_GO 0000001
37:
38: /* function codes */
39: #define ML_DCLR 0000010
40: #define ML_PRESET 0000020
41: #define ML_WCOM 0000060
42: #define ML_RCOM 0000070
43: #define ML_BITS "\10\17TRE\7IE\1G0"
44:
45: /* bits in MLDS */
46: #define MLDS_MOL 0010000
47: #define MLDS_DPR 0000400
48: #define MLDS_DRY 0000200
49: #define MLDS_VV 0000100
50: #define MLDS_BITS "\10\15MOL\11DPR\10DRY\7VV"
51:
52: /* transfer rates */
53: #define MLMR_2MB 0000000 /* 2Mb transfer rate */
54: #define MLMR_1MB 0000400 /* 1Mb transfer rate */
55: #define MLMR_500KB 0001000 /* 500 Kb transfer rate */
56: #define MLMR_250KB 0001400 /* 250 Kb transfer rate */
57:
58: #define MLDT_ML11 0000110 /* ML11 drive type */
Defined struct's
Defined macros
ML_GO
defined in line
36;
never used
ML_IE
defined in line
35;
never used