Commit | Line | Data |
---|---|---|
196ba1fc PH |
1 | /* pdp11_mscp.h: DEC MSCP and TMSCP definitionsn\r |
2 | \r | |
3 | Copyright (c) 2001-2005, Robert M Supnik\r | |
4 | Derived from work by Stephen F. Shirron\r | |
5 | \r | |
6 | Permission is hereby granted, free of charge, to any person obtaining a\r | |
7 | copy of this software and associated documentation files (the "Software"),\r | |
8 | to deal in the Software without restriction, including without limitation\r | |
9 | the rights to use, copy, modify, merge, publish, distribute, sublicense,\r | |
10 | and/or sell copies of the Software, and to permit persons to whom the\r | |
11 | Software is furnished to do so, subject to the following conditions:\r | |
12 | \r | |
13 | The above copyright notice and this permission notice shall be included in\r | |
14 | all copies or substantial portions of the Software.\r | |
15 | \r | |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r | |
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r | |
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\r | |
19 | ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r | |
20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r | |
21 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r | |
22 | \r | |
23 | Except as contained in this notice, the name of Robert M Supnik shall not be\r | |
24 | used in advertising or otherwise to promote the sale, use or other dealings\r | |
25 | in this Software without prior written authorization from Robert M Supnik.\r | |
26 | \r | |
27 | 09-Jan-03 RMS Tape read/write end pkt is longer than disk read/write\r | |
28 | 20-Sep-02 RMS Merged TMSCP definitions\r | |
29 | */\r | |
30 | \r | |
31 | #ifndef _PDP11_MSCP_H_\r | |
32 | #define _PDP11_MSCP_H_ 0\r | |
33 | \r | |
34 | /* Misc constants */\r | |
35 | \r | |
36 | #define UID_DISK 2 /* disk class */\r | |
37 | #define UID_TAPE 3 /* tape class */\r | |
38 | \r | |
39 | /* Opcodes */\r | |
40 | \r | |
41 | #define OP_ABO 1 /* b: abort */\r | |
42 | #define OP_GCS 2 /* b: get command status */\r | |
43 | #define OP_GUS 3 /* b: get unit status */\r | |
44 | #define OP_SCC 4 /* b: set controller char */\r | |
45 | #define OP_AVL 8 /* b: available */\r | |
46 | #define OP_ONL 9 /* b: online */\r | |
47 | #define OP_SUC 10 /* b: set unit char */\r | |
48 | #define OP_DAP 11 /* b: det acc paths - nop */\r | |
49 | #define OP_ACC 16 /* b: access */\r | |
50 | #define OP_CCD 17 /* d: compare - nop */\r | |
51 | #define OP_ERS 18 /* b: erase */\r | |
52 | #define OP_FLU 19 /* d: flush - nop */\r | |
53 | #define OP_ERG 22 /* t: erase gap */\r | |
54 | #define OP_CMP 32 /* b: compare */\r | |
55 | #define OP_RD 33 /* b: read */\r | |
56 | #define OP_WR 34 /* b: write */\r | |
57 | #define OP_WTM 36 /* t: write tape mark */\r | |
58 | #define OP_POS 37 /* t: reposition */\r | |
59 | #define OP_FMT 47 /* d: format */\r | |
60 | #define OP_AVA 64 /* b: unit now avail */\r | |
61 | #define OP_END 0x80 /* b: end flag */\r | |
62 | \r | |
63 | /* Modifiers */\r | |
64 | \r | |
65 | #define MD_EXP 0x8000 /* d: express NI */\r | |
66 | #define MD_CMP 0x4000 /* b: compare NI */\r | |
67 | #define MD_CSE 0x2000 /* b: clr ser err */\r | |
68 | #define MD_ERR 0x1000 /* d: force error NI*/\r | |
69 | #define MD_CDL 0x1000 /* t: clr data lost NI*/\r | |
70 | #define MD_SCH 0x0800 /* t: supr cache NI */\r | |
71 | #define MD_SEC 0x0200 /* b: supr err corr NI */\r | |
72 | #define MD_SER 0x0100 /* b: supr err rec NI */\r | |
73 | #define MD_DLE 0x0080 /* t: detect LEOT */\r | |
74 | #define MD_IMM 0x0040 /* t: immediate NI */\r | |
75 | #define MD_EXA 0x0020 /* b: excl access NI */\r | |
76 | #define MD_SHD 0x0010 /* d: shadow NI */\r | |
77 | #define MD_UNL 0x0010 /* t avl: unload */\r | |
78 | #define MD_ERW 0x0008 /* t wr: enb rewrite */\r | |
79 | #define MD_REV 0x0008 /* t rd, pos: reverse */\r | |
80 | #define MD_SWP 0x0004 /* b suc: enb set wrp */\r | |
81 | #define MD_OBC 0x0004 /* t: pos: obj count */\r | |
82 | #define MD_IMF 0x0002 /* d onl: ign fmte NI */\r | |
83 | #define MD_RWD 0x0002 /* t pos: rewind */\r | |
84 | #define MD_ACL 0x0002 /* t avl: all class NI */\r | |
85 | #define MD_NXU 0x0001 /* b gus: next unit */\r | |
86 | #define MD_RIP 0x0001 /* d onl: allow rip NI */\r | |
87 | \r | |
88 | /* End flags */\r | |
89 | \r | |
90 | #define EF_LOG 0x0020 /* b: error log */\r | |
91 | #define EF_SXC 0x0010 /* b: serious exc */\r | |
92 | #define EF_EOT 0x0008 /* end of tape */\r | |
93 | #define EF_PLS 0x0004 /* pos lost */\r | |
94 | #define EF_DLS 0x0002 /* cached data lost NI */\r | |
95 | \r | |
96 | /* Controller flags */\r | |
97 | \r | |
98 | #define CF_RPL 0x8000 /* ctrl bad blk repl */\r | |
99 | #define CF_ATN 0x0080 /* enb attention */\r | |
100 | #define CF_MSC 0x0040 /* enb misc msgs */\r | |
101 | #define CF_OTH 0x0020 /* enb othr host msgs */ \r | |
102 | #define CF_THS 0x0010 /* enb this host msgs */\r | |
103 | #define CF_MSK (CF_ATN|CF_MSC|CF_OTH|CF_THS)\r | |
104 | \r | |
105 | /* Unit flags */\r | |
106 | \r | |
107 | #define UF_RPL 0x8000 /* d: ctrl bad blk repl */\r | |
108 | #define UF_CAC 0x8000 /* t: cache write back */\r | |
109 | #define UF_WPH 0x2000 /* b: wr prot hwre */\r | |
110 | #define UF_WPS 0x1000 /* b: wr prot swre */\r | |
111 | #define UF_SCH 0x0800 /* t: supr cache NI */\r | |
112 | #define UF_EXA 0x0400 /* b: exclusive NI */\r | |
113 | #define UF_WPD 0x0100 /* b: wr prot data NI */\r | |
114 | #define UF_RMV 0x0080 /* d: removable */\r | |
115 | #define UF_WBN 0x0040 /* t: write back NI */\r | |
116 | #define UF_VSS 0x0020 /* t: supr var speed NI */\r | |
117 | #define UF_VSU 0x0010 /* t: var speed unit NI */\r | |
118 | #define UF_EWR 0x0008 /* t: enh wr recovery NI */\r | |
119 | #define UF_CMW 0x0002 /* cmp writes NI */\r | |
120 | #define UF_CMR 0x0001 /* cmp reads NI */\r | |
121 | \r | |
122 | /* Error log flags */\r | |
123 | \r | |
124 | #define LF_SUC 0x0080 /* b: successful */\r | |
125 | #define LF_CON 0x0040 /* b: continuing */\r | |
126 | #define LF_BBR 0x0020 /* d: bad blk repl NI */\r | |
127 | #define LF_RCT 0x0010 /* d: err in repl NI */\r | |
128 | #define LF_SNR 0x0001 /* b: seq # reset */\r | |
129 | \r | |
130 | /* Error log formats */\r | |
131 | \r | |
132 | #define FM_CNT 0 /* b: port lf err */\r | |
133 | #define FM_BAD 1 /* b: bad host addr */\r | |
134 | #define FM_DSK 2 /* d: disk xfer */\r | |
135 | #define FM_SDI 3 /* d: SDI err */\r | |
136 | #define FM_SDE 4 /* d: sm disk err */\r | |
137 | #define FM_TAP 5 /* t: tape errors */\r | |
138 | #define FM_RPL 9 /* d: bad blk repl */\r | |
139 | \r | |
140 | /* Status codes */\r | |
141 | \r | |
142 | #define ST_SUC 0 /* b: successful */\r | |
143 | #define ST_CMD 1 /* b: invalid cmd */\r | |
144 | #define ST_ABO 2 /* b: aborted cmd */\r | |
145 | #define ST_OFL 3 /* b: unit offline */\r | |
146 | #define ST_AVL 4 /* b: unit avail */\r | |
147 | #define ST_MFE 5 /* b: media fmt err */\r | |
148 | #define ST_WPR 6 /* b: write prot err */\r | |
149 | #define ST_CMP 7 /* b: compare err */\r | |
150 | #define ST_DAT 8 /* b: data err */\r | |
151 | #define ST_HST 9 /* b: host acc err */\r | |
152 | #define ST_CNT 10 /* b: ctrl err */\r | |
153 | #define ST_DRV 11 /* b: drive err */\r | |
154 | #define ST_FMT 12 /* t: formatter err */\r | |
155 | #define ST_BOT 13 /* t: BOT encountered */\r | |
156 | #define ST_TMK 14 /* t: tape mark */\r | |
157 | #define ST_RDT 16 /* t: record trunc */\r | |
158 | #define ST_POL 17 /* t: pos lost */\r | |
159 | #define ST_SXC 18 /* b: serious exc */\r | |
160 | #define ST_LED 19 /* t: LEOT detect */\r | |
161 | #define ST_BBR 20 /* d: bad block */\r | |
162 | #define ST_DIA 31 /* b: diagnostic */\r | |
163 | #define ST_V_SUB 5 /* subcode */\r | |
164 | #define ST_V_INV 8 /* invalid op */\r | |
165 | \r | |
166 | /* Status subcodes */\r | |
167 | \r | |
168 | #define SB_SUC_IGN (1 << ST_V_SUB) /* t: unload ignored */\r | |
169 | #define SB_SUC_ON (8 << ST_V_SUB) /* b: already online */\r | |
170 | #define SB_SUC_EOT (32 << ST_V_SUB) /* t: EOT encountered */\r | |
171 | #define SB_SUC_RO (128 << ST_V_SUB) /* t: read only */\r | |
172 | #define SB_OFL_NV (1 << ST_V_SUB) /* b: no volume */\r | |
173 | #define SB_OFL_INOP (2 << ST_V_SUB) /* t: inoperative */\r | |
174 | #define SB_AVL_INU (32 << ST_V_SUB) /* b: in use */\r | |
175 | #define SB_WPR_SW (128 << ST_V_SUB) /* b: swre wlk */\r | |
176 | #define SB_WPR_HW (256 << ST_V_SUB) /* b: hwre wlk */\r | |
177 | #define SB_HST_OA (1 << ST_V_SUB) /* b: odd addr */\r | |
178 | #define SB_HST_OC (2 << ST_V_SUB) /* d: odd count */\r | |
179 | #define SB_HST_NXM (3 << ST_V_SUB) /* b: nx memory */\r | |
180 | #define SB_HST_PAR (4 << ST_V_SUB) /* b: parity err */\r | |
181 | #define SB_HST_PTE (5 << ST_V_SUB) /* b: mapping err */\r | |
182 | #define SB_DAT_RDE (7 << ST_V_SUB) /* t: read err */\r | |
183 | \r | |
184 | /* Status invalid command subcodes */\r | |
185 | \r | |
186 | #define I_OPCD (8 << ST_V_INV) /* inv opcode */\r | |
187 | #define I_FLAG (9 << ST_V_INV) /* inv flags */\r | |
188 | #define I_MODF (10 << ST_V_INV) /* inv modifier */\r | |
189 | #define I_BCNT (12 << ST_V_INV) /* inv byte cnt */\r | |
190 | #define I_LBN (28 << ST_V_INV) /* inv LBN */\r | |
191 | #define I_VRSN (12 << ST_V_INV) /* inv version */\r | |
192 | #define I_FMTI (28 << ST_V_INV) /* inv format */\r | |
193 | \r | |
194 | /* Tape format flags */\r | |
195 | \r | |
196 | #define TF_9TK 0x0100 /* 9 track */\r | |
197 | #define TF_9TK_NRZ 0x0001 /* 800 bpi */\r | |
198 | #define TF_9TK_PE 0x0002 /* 1600 bpi */\r | |
199 | #define TF_9TK_GRP 0x0004 /* 6250 bpi */\r | |
200 | #define TF_CTP 0x0200 /* TK50 */\r | |
201 | #define TF_CTP_LO 0x0001 /* low density */\r | |
202 | #define TF_CTP_HI 0x0002 /* hi density */\r | |
203 | #define TF_3480 0x0300 /* 3480 */\r | |
204 | #define TF_WOD 0x0400 /* RV80 */\r | |
205 | \r | |
206 | /* Packet formats - note that all packet lengths must be multiples of 4 bytes */\r | |
207 | \r | |
208 | /* Command packet header */\r | |
209 | \r | |
210 | #define CMD_REFL 2 /* ref # */\r | |
211 | #define CMD_REFH 3\r | |
212 | #define CMD_UN 4 /* unit # */\r | |
213 | /* 5 /* reserved */\r | |
214 | #define CMD_OPC 6 /* opcode */\r | |
215 | #define CMD_MOD 7 /* modifier */\r | |
216 | \r | |
217 | #define CMD_OPC_V_OPC 0 /* opcode */\r | |
218 | #define CMD_OPC_M_OPC 0xFF\r | |
219 | #define CMD_OPC_V_CAA 8 /* cache NI */\r | |
220 | #define CMD_OPC_M_CAA 0xFF\r | |
221 | #define CMD_OPC_V_FLG 8 /* flags */\r | |
222 | #define CMD_OPC_M_FLG 0xFF\r | |
223 | \r | |
224 | /* Response packet header */\r | |
225 | \r | |
226 | #define RSP_LNT 12\r | |
227 | #define RSP_REFL 2 /* ref # */\r | |
228 | #define RSP_REFH 3\r | |
229 | #define RSP_UN 4 /* unit # */\r | |
230 | #define RSP_RSV 5 /* reserved */\r | |
231 | #define RSP_OPF 6 /* opcd,flg */\r | |
232 | #define RSP_STS 7 /* modifiers */\r | |
233 | \r | |
234 | #define RSP_OPF_V_OPC 0 /* opcode */\r | |
235 | #define RSP_OPF_V_FLG 8 /* flags */\r | |
236 | \r | |
237 | /* Abort packet - 2 W parameter, 2 W status */\r | |
238 | \r | |
239 | #define ABO_LNT 16\r | |
240 | #define ABO_REFL 8 /* ref # */\r | |
241 | #define ABO_REFH 9\r | |
242 | \r | |
243 | /* Avail packet - min size */\r | |
244 | \r | |
245 | #define AVL_LNT 12\r | |
246 | \r | |
247 | /* Erase packet - min size */\r | |
248 | \r | |
249 | #define ERS_LNT 12\r | |
250 | \r | |
251 | /* Erase gap - min size */\r | |
252 | \r | |
253 | #define ERG_LNT 12\r | |
254 | \r | |
255 | /* Flush - 10 W status (8 undefined) */\r | |
256 | \r | |
257 | #define FLU_LNT 32\r | |
258 | /* 8 - 15 /* reserved */\r | |
259 | #define FLU_POSL 16 /* position */\r | |
260 | #define FLU_POSH 17\r | |
261 | \r | |
262 | /* Write tape mark - 10W status (8 undefined) */\r | |
263 | \r | |
264 | #define WTM_LNT 32\r | |
265 | /* 8 - 15 /* reserved */\r | |
266 | #define WTM_POSL 16 /* position */\r | |
267 | #define WTM_POSH 17\r | |
268 | \r | |
269 | /* Get command status packet - 2 W parameter, 4 W status */\r | |
270 | \r | |
271 | #define GCS_LNT 20\r | |
272 | #define GCS_REFL 8 /* ref # */\r | |
273 | #define GCS_REFH 9\r | |
274 | #define GCS_STSL 10 /* status */\r | |
275 | #define GCS_STSH 11\r | |
276 | \r | |
277 | /* Format packet - 8 W parameters, none returned */\r | |
278 | \r | |
279 | #define FMT_LNT 12\r | |
280 | #define FMT_IH 17 /* magic bit */\r | |
281 | \r | |
282 | /* Get unit status packet - 18 W status (disk), 16W status (tape) */\r | |
283 | \r | |
284 | #define GUS_LNT_D 48\r | |
285 | #define GUS_LNT_T 44\r | |
286 | #define GUS_MLUN 8 /* mlun */\r | |
287 | #define GUS_UFL 9 /* flags */\r | |
288 | #define GUS_RSVL 10 /* reserved */\r | |
289 | #define GUS_RSVH 11\r | |
290 | #define GUS_UIDA 12 /* unit ID */\r | |
291 | #define GUS_UIDB 13\r | |
292 | #define GUS_UIDC 14\r | |
293 | #define GUS_UIDD 15\r | |
294 | #define GUS_MEDL 16 /* media ID */\r | |
295 | #define GUS_MEDH 17\r | |
296 | #define GUS_UVER 23 /* unit version */\r | |
297 | \r | |
298 | /* Disk specific status */\r | |
299 | \r | |
300 | #define GUS_SHUN 18 /* shadowing */\r | |
301 | #define GUS_SHST 19\r | |
302 | #define GUS_TRK 20 /* track */\r | |
303 | #define GUS_GRP 21 /* group */\r | |
304 | #define GUS_CYL 22 /* cylinder */\r | |
305 | #define GUS_RCTS 24 /* RCT size */\r | |
306 | #define GUS_RBSC 25 /* RBNs, copies */\r | |
307 | \r | |
308 | /* Tape specific status */\r | |
309 | \r | |
310 | #define GUS_FMT 18 /* format */\r | |
311 | #define GUS_SPEED 19 /* speed */\r | |
312 | #define GUS_MENU 20 /* menu */\r | |
313 | #define GUS_CAP 21 /* capacity */\r | |
314 | #define GUS_FVER 22 /* fmtr version */\r | |
315 | \r | |
316 | #define GUS_UIDD_V_MOD 0 /* unit model */\r | |
317 | #define GUS_UIDD_V_CLS 8 /* unit class */\r | |
318 | #define GUS_RB_V_RBNS 0 /* RBNs/track */\r | |
319 | #define GUS_RB_V_RCTC 8 /* RCT copies */\r | |
320 | \r | |
321 | /* Unit online - 2 W parameter, 16 W status (disk or tape) */\r | |
322 | \r | |
323 | #define ONL_LNT 44\r | |
324 | #define ONL_MLUN 8 /* mlun */\r | |
325 | #define ONL_UFL 9 /* flags */\r | |
326 | #define ONL_RSVL 10 /* reserved */\r | |
327 | #define ONL_RSVH 11\r | |
328 | #define ONL_UIDA 12 /* unit ID */\r | |
329 | #define ONL_UIDB 13\r | |
330 | #define ONL_UIDC 14\r | |
331 | #define ONL_UIDD 15\r | |
332 | #define ONL_MEDL 16 /* media ID */\r | |
333 | #define ONL_MEDH 17\r | |
334 | \r | |
335 | /* Disk specific status */\r | |
336 | \r | |
337 | #define ONL_SHUN 18 /* shadowing */\r | |
338 | #define ONL_SHST 19\r | |
339 | #define ONL_SIZL 20 /* size */\r | |
340 | #define ONL_SIZH 21\r | |
341 | #define ONL_VSNL 22 /* vol ser # */\r | |
342 | #define ONL_VSNH 23\r | |
343 | \r | |
344 | /* Tape specific status */\r | |
345 | \r | |
346 | #define ONL_FMT 18 /* format */\r | |
347 | #define ONL_SPD 19 /* speed */\r | |
348 | #define ONL_MAXL 20 /* max rec size */\r | |
349 | #define ONL_MAXH 21\r | |
350 | #define ONL_NREC 22 /* noise rec */\r | |
351 | #define ONL_RSVE 23 /* reserved */\r | |
352 | \r | |
353 | #define ONL_UIDD_V_MOD 0 /* unit model */\r | |
354 | #define ONL_UIDD_V_CLS 8 /* unit class */\r | |
355 | \r | |
356 | /* Set controller characteristics packet - 8 W parameters, 10 W status */\r | |
357 | \r | |
358 | #define SCC_LNT 32\r | |
359 | #define SCC_MSV 8 /* MSCP version */\r | |
360 | #define SCC_CFL 9 /* flags */\r | |
361 | #define SCC_TMO 10 /* timeout */\r | |
362 | #define SCC_VER 11 /* ctrl version */\r | |
363 | #define SCC_CIDA 12 /* ctrl ID */\r | |
364 | #define SCC_CIDB 13\r | |
365 | #define SCC_CIDC 14\r | |
366 | #define SCC_CIDD 15\r | |
367 | #define SCC_MBCL 16 /* max byte count */\r | |
368 | #define SCC_MBCH 17\r | |
369 | \r | |
370 | #define SCC_VER_V_SVER 0 /* swre vrsn */\r | |
371 | #define SCC_VER_V_HVER 8 /* hwre vrsn */\r | |
372 | #define SCC_CIDD_V_MOD 0 /* ctrl model */\r | |
373 | #define SCC_CIDD_V_CLS 8 /* ctrl class */\r | |
374 | \r | |
375 | /* Set unit characteristics - 2 W parameter, 16 W status - same as ONL */\r | |
376 | \r | |
377 | #define SUC_LNT 44\r | |
378 | \r | |
379 | /* Reposition - 4 W parameters, 10 W status */\r | |
380 | \r | |
381 | #define POS_LNT 32\r | |
382 | #define POS_RCL 8 /* record cnt */\r | |
383 | #define POS_RCH 9\r | |
384 | #define POS_TMCL 10 /* tape mk cnt */\r | |
385 | #define POS_TMCH 11\r | |
386 | /* reserved 12 - 15 */\r | |
387 | #define POS_POSL 16 /* position */\r | |
388 | #define POS_POSH 17\r | |
389 | \r | |
390 | /* Data transfer packet - 10 W parameters (disk), 6W parameters (tape),\r | |
391 | 10 W status (disk), 12W status (tape) */\r | |
392 | \r | |
393 | #define RW_LNT_D 32\r | |
394 | #define RW_LNT_T 36\r | |
395 | #define RW_BCL 8 /* byte count */\r | |
396 | #define RW_BCH 9\r | |
397 | #define RW_BAL 10 /* buff desc */\r | |
398 | #define RW_BAH 11\r | |
399 | #define RW_MAPL 12 /* map table */\r | |
400 | #define RW_MAPH 13\r | |
401 | /* 14 /* reserved */\r | |
402 | /* 15 /* reserved */\r | |
403 | \r | |
404 | /* Disk specific parameters */\r | |
405 | \r | |
406 | #define RW_LBNL 16 /* LBN */\r | |
407 | #define RW_LBNH 17\r | |
408 | #define RW_WBCL 18 /* working bc */\r | |
409 | #define RW_WBCH 19\r | |
410 | #define RW_WBAL 20 /* working ba */\r | |
411 | #define RW_WBAH 21\r | |
412 | #define RW_WBLL 22 /* working lbn */\r | |
413 | #define RW_WBLH 23\r | |
414 | \r | |
415 | /* Tape specific status */\r | |
416 | \r | |
417 | #define RW_POSL 16 /* position */\r | |
418 | #define RW_POSH 17\r | |
419 | #define RW_RSZL 18 /* record size */\r | |
420 | #define RW_RSZH 19\r | |
421 | \r | |
422 | /* Error log packet header */\r | |
423 | \r | |
424 | #define ELP_REFL 2 /* ref # */\r | |
425 | #define ELP_REFH 3\r | |
426 | #define ELP_UN 4 /* unit */\r | |
427 | #define ELP_SEQ 5\r | |
428 | #define ELP_FF 6 /* fmt,flg */\r | |
429 | #define ELP_EVT 7 /* event */\r | |
430 | \r | |
431 | #define ELP_EV_V_FMT 0 /* format */\r | |
432 | #define ELP_EV_V_FLG 8 /* flag */\r | |
433 | \r | |
434 | /* Port last failure error log packet - 6 W status */\r | |
435 | \r | |
436 | #define PLF_LNT 24 /* length */\r | |
437 | #define PLF_CIDA 8 /* ctrl ID */\r | |
438 | #define PLF_CIDB 9\r | |
439 | #define PLF_CIDC 10\r | |
440 | #define PLF_CIDD 11\r | |
441 | #define PLF_VER 12 /* ctrl version */\r | |
442 | #define PLF_ERR 13 /* err */\r | |
443 | \r | |
444 | #define PLF_CIDD_V_MOD 0 /* ctrl model */\r | |
445 | #define PLF_CIDD_V_CLS 8 /* ctrl class */\r | |
446 | #define PLF_VER_V_SVER 0 /* swre ver */\r | |
447 | #define PLF_VER_V_HVER 8 /* hwre ver */\r | |
448 | \r | |
449 | /* Disk transfer error log packet - 18 W status */\r | |
450 | \r | |
451 | #define DTE_LNT 48\r | |
452 | #define DTE_CIDA 8 /* ctrl ID */\r | |
453 | #define DTE_CIDB 9\r | |
454 | #define DTE_CIDC 10\r | |
455 | #define DTE_CIDD 11\r | |
456 | #define DTE_VER 12 /* version */\r | |
457 | #define DTE_MLUN 13 /* mlun */\r | |
458 | #define DTE_UIDA 14 /* unit ID */\r | |
459 | #define DTE_UIDB 15\r | |
460 | #define DTE_UIDC 16\r | |
461 | #define DTE_UIDD 17\r | |
462 | #define DTE_UVER 18\r | |
463 | #define DTE_D2 23\r | |
464 | #define DTE_D3 24\r | |
465 | #define DTE_D4 25\r | |
466 | \r | |
467 | /* Disk specific status */\r | |
468 | \r | |
469 | #define DTE_SCYL 19 /* cylinder */\r | |
470 | #define DTE_VSNL 20 /* vol ser # */\r | |
471 | #define DTE_VSNH 21\r | |
472 | #define DTE_D1 22 /* dev params */\r | |
473 | \r | |
474 | /* Tape specific status */\r | |
475 | \r | |
476 | #define DTE_RETR 19 /* retry */\r | |
477 | #define DTE_POSL 20 /* position */\r | |
478 | #define DTE_POSH 21\r | |
479 | #define DTE_FVER 22 /* formatter ver */\r | |
480 | \r | |
481 | #define DTE_CIDD_V_MOD 0 /* ctrl model */\r | |
482 | #define DTE_CIDD_V_CLS 8 /* ctrl class */\r | |
483 | #define DTE_VER_V_SVER 0 /* ctrl swre ver */\r | |
484 | #define DTE_VER_V_HVER 8 /* ctrl hwre ver */\r | |
485 | #define DTE_UIDD_V_MOD 0 /* unit model */\r | |
486 | #define DTE_UIDD_V_CLS 8 /* unit class */\r | |
487 | #define DTE_D2_V_SECT 8\r | |
488 | #define DTE_D3_V_SURF 0\r | |
489 | #define DTE_D3_V_CYL 8\r | |
490 | \r | |
491 | /* Host bus error log packet - 8 W status */\r | |
492 | \r | |
493 | #define HBE_LNT 28\r | |
494 | #define HBE_CIDA 8 /* ctrl ID */\r | |
495 | #define HBE_CIDB 9\r | |
496 | #define HBE_CIDC 10\r | |
497 | #define HBE_CIDD 11\r | |
498 | #define HBE_VER 12 /* ctrl version */\r | |
499 | #define HBE_RSV 13 /* reserved */\r | |
500 | #define HBE_BADL 14 /* bad address */\r | |
501 | #define HBE_BADH 15\r | |
502 | \r | |
503 | #define HBE_CIDD_V_MOD 0 /* ctrl model */\r | |
504 | #define HBE_CIDD_V_CLS 8 /* ctrl class */\r | |
505 | #define HBE_VER_V_SVER 0 /* ctrl swre ver */\r | |
506 | #define HBE_VER_V_HVER 8 /* ctrl hwre ver */\r | |
507 | \r | |
508 | /* Unit now available attention message - 10 W status, same as\r | |
509 | first 10 W of status from get unit status\r | |
510 | */\r | |
511 | \r | |
512 | #define UNA_LNT 32\r | |
513 | \r | |
514 | #endif\r |