1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 #ifndef _I2O_I2O_H_
47 #define _I2O_I2O_H_
48
49
50
51
52
53
54 #define I2O_ORG_DPT 0x001b
55 #define I2O_ORG_INTEL 0x0028
56 #define I2O_ORG_AMI 0x1000
57
58
59 #define I2O_MSGFLAGS(s) (I2O_VERSION_11 | (sizeof(struct s) << 14))
60 #define I2O_MSGFUNC(t, f) ((t) | (I2O_TID_HOST << 12) | ((f) << 24))
61
62
63 #define I2O_UTIL_NOP 0x00
64 #define I2O_EXEC_IOP_CLEAR 0xbe
65 #define I2O_EXEC_SYS_QUIESCE 0xc3
66 #define I2O_EXEC_SYS_ENABLE 0xd1
67 #define I2O_PRIVATE_MESSAGE 0xff
68
69
70 #define I2O_CLASS_EXECUTIVE 0x00
71 #define I2O_CLASS_DDM 0x01
72 #define I2O_CLASS_RANDOM_BLOCK_STORAGE 0x10
73 #define I2O_CLASS_SEQUENTIAL_STORAGE 0x11
74 #define I2O_CLASS_LAN 0x20
75 #define I2O_CLASS_WAN 0x30
76 #define I2O_CLASS_FIBRE_CHANNEL_PORT 0x40
77 #define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 0x41
78 #define I2O_CLASS_SCSI_PERIPHERAL 0x51
79 #define I2O_CLASS_ATE_PORT 0x60
80 #define I2O_CLASS_ATE_PERIPHERAL 0x61
81 #define I2O_CLASS_FLOPPY_CONTROLLER 0x70
82 #define I2O_CLASS_FLOPPY_DEVICE 0x71
83 #define I2O_CLASS_BUS_ADAPTER_PORT 0x80
84 #define I2O_CLASS_MASK 0xfff
85
86 #define I2O_CLASS_ANY 0xffffffff
87
88
89 #define I2O_STATUS_SUCCESS 0x00
90 #define I2O_STATUS_ABORT_DIRTY 0x01
91 #define I2O_STATUS_ABORT_NO_DATA_XFER 0x02
92 #define I2O_STATUS_ABORT_PARTIAL_XFER 0x03
93 #define I2O_STATUS_ERROR_DIRTY 0x04
94 #define I2O_STATUS_ERROR_NO_DATA_XFER 0x05
95 #define I2O_STATUS_ERROR_PARTIAL_XFER 0x06
96 #define I2O_STATUS_PROCESS_ABORT_DIRTY 0x08
97 #define I2O_STATUS_PROCESS_ABORT_NO_DATA_XFER 0x09
98 #define I2O_STATUS_PROCESS_ABORT_PARTIAL_XFER 0x0a
99 #define I2O_STATUS_TRANSACTION_ERROR 0x0b
100 #define I2O_STATUS_PROGRESS_REPORT 0x80
101
102
103 #define I2O_DSC_SUCCESS 0x00
104 #define I2O_DSC_BAD_KEY 0x02
105 #define I2O_DSC_TCL_ERROR 0x03
106 #define I2O_DSC_REPLY_BUFFER_FULL 0x04
107 #define I2O_DSC_NO_SUCH_PAGE 0x05
108 #define I2O_DSC_INSUFFICIENT_RESOURCE_SOFT 0x06
109 #define I2O_DSC_INSUFFICIENT_RESOURCE_HARD 0x07
110 #define I2O_DSC_CHAIN_BUFFER_TOO_LARGE 0x09
111 #define I2O_DSC_UNSUPPORTED_FUNCTION 0x0a
112 #define I2O_DSC_DEVICE_LOCKED 0x0b
113 #define I2O_DSC_DEVICE_RESET 0x0c
114 #define I2O_DSC_INAPPROPRIATE_FUNCTION 0x0d
115 #define I2O_DSC_INVALID_INITIATOR_ADDRESS 0x0e
116 #define I2O_DSC_INVALID_MESSAGE_FLAGS 0x0f
117 #define I2O_DSC_INVALID_OFFSET 0x10
118 #define I2O_DSC_INVALID_PARAMETER 0x11
119 #define I2O_DSC_INVALID_REQUEST 0x12
120 #define I2O_DSC_INVALID_TARGET_ADDRESS 0x13
121 #define I2O_DSC_MESSAGE_TOO_LARGE 0x14
122 #define I2O_DSC_MESSAGE_TOO_SMALL 0x15
123 #define I2O_DSC_MISSING_PARAMETER 0x16
124 #define I2O_DSC_TIMEOUT 0x17
125 #define I2O_DSC_UNKNOWN_ERROR 0x18
126 #define I2O_DSC_UNKNOWN_FUNCTION 0x19
127 #define I2O_DSC_UNSUPPORTED_VERSION 0x1a
128 #define I2O_DSC_DEVICE_BUSY 0x1b
129 #define I2O_DSC_DEVICE_NOT_AVAILABLE 0x1c
130
131
132 #define I2O_VERSION_10 0x00
133 #define I2O_VERSION_11 0x01
134 #define I2O_VERSION_20 0x02
135
136
137 #define I2O_TID_IOP 0
138 #define I2O_TID_HOST 1
139 #define I2O_TID_NONE 4095
140
141
142 #define I2O_SGL_IGNORE 0x00000000
143 #define I2O_SGL_SIMPLE 0x10000000
144 #define I2O_SGL_PAGE_LIST 0x20000000
145
146 #define I2O_SGL_BC_32BIT 0x01000000
147 #define I2O_SGL_BC_64BIT 0x02000000
148 #define I2O_SGL_BC_96BIT 0x03000000
149 #define I2O_SGL_DATA_OUT 0x04000000
150 #define I2O_SGL_END_BUFFER 0x40000000
151 #define I2O_SGL_END 0x80000000
152
153
154 #define I2O_SNFMT_UNKNOWN 0
155 #define I2O_SNFMT_BINARY 1
156 #define I2O_SNFMT_ASCII 2
157 #define I2O_SNFMT_UNICODE 3
158 #define I2O_SNFMT_LAN_MAC 4
159 #define I2O_SNFMT_WAN_MAC 5
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179 struct i2o_msg {
180 u_int32_t msgflags;
181 u_int32_t msgfunc;
182 u_int32_t msgictx;
183 u_int32_t msgtctx;
184
185
186
187 } __attribute__ ((__packed__));
188
189 #define I2O_MSGFLAGS_STATICMF 0x0100
190 #define I2O_MSGFLAGS_64BIT 0x0200
191 #define I2O_MSGFLAGS_MULTI 0x1000
192 #define I2O_MSGFLAGS_FAIL 0x2000
193 #define I2O_MSGFLAGS_LAST_REPLY 0x4000
194 #define I2O_MSGFLAGS_REPLY 0x8000
195
196
197
198
199
200 struct i2o_reply {
201 u_int32_t msgflags;
202 u_int32_t msgfunc;
203 u_int32_t msgictx;
204 u_int32_t msgtctx;
205 u_int16_t detail;
206 u_int8_t reserved;
207 u_int8_t reqstatus;
208
209
210
211 } __attribute__ ((__packed__));
212
213
214
215
216
217 struct i2o_fault_notify {
218 u_int32_t msgflags;
219 u_int32_t msgfunc;
220 u_int32_t msgictx;
221 u_int32_t msgtctx;
222 u_int8_t lowestver;
223 u_int8_t highestver;
224 u_int8_t severity;
225 u_int8_t failurecode;
226 u_int16_t failingiop;
227 u_int16_t failinghostunit;
228 u_int32_t agelimit;
229 u_int32_t lowmfa;
230 u_int32_t highmfa;
231 };
232
233
234
235
236 struct i2o_hrt_entry {
237 u_int32_t adapterid;
238 u_int16_t controllingtid;
239 u_int8_t busnumber;
240 u_int8_t bustype;
241 u_int8_t businfo[8];
242 } __attribute__ ((__packed__));
243
244 struct i2o_hrt {
245 u_int16_t numentries;
246 u_int8_t entrysize;
247 u_int8_t hrtversion;
248 u_int32_t changeindicator;
249 struct i2o_hrt_entry entry[1];
250 } __attribute__ ((__packed__));
251
252
253
254
255
256
257
258
259
260
261
262
263 struct i2o_lct_entry {
264 u_int16_t entrysize;
265 u_int16_t localtid;
266 #define I2O_LCT_ENTRY_TID_MASK 0xfff
267 u_int32_t changeindicator;
268 u_int32_t deviceflags;
269 u_int16_t classid;
270 u_int16_t orgid;
271 u_int32_t subclassinfo;
272 u_int32_t usertid;
273 u_int8_t identitytag[8];
274 u_int32_t eventcaps;
275 } __attribute__ ((__packed__));
276
277
278
279
280 struct i2o_lct {
281 u_int16_t tablesize;
282 u_int16_t flags;
283 u_int32_t iopflags;
284 u_int32_t changeindicator;
285 struct i2o_lct_entry entry[1];
286 } __attribute__ ((__packed__));
287
288
289
290
291
292
293
294
295
296
297
298
299
300 struct i2o_systab_entry {
301 u_int16_t orgid;
302 u_int16_t reserved0;
303 u_int32_t iopid;
304 u_int32_t segnumber;
305 u_int16_t inboundmsgframesize;
306 u_int16_t reserved1;
307 u_int32_t lastchanged;
308 u_int32_t iopcaps;
309 u_int32_t inboundmsgportaddresslow;
310 u_int32_t inboundmsgportaddresshigh;
311 } __attribute__ ((__packed__));
312
313 struct i2o_systab {
314 u_int8_t numentries;
315 u_int8_t version;
316 u_int16_t reserved0;
317 u_int32_t changeindicator;
318 u_int32_t reserved1[2];
319 struct i2o_systab_entry entry[1];
320 } __attribute__ ((__packed__));
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335 struct i2o_status {
336 u_int16_t orgid;
337 u_int16_t reserved0;
338 u_int32_t iopid;
339 u_int32_t segnumber;
340 u_int16_t inboundmframesize;
341 u_int8_t initcode;
342 u_int8_t reserved1;
343 u_int32_t maxinboundmframes;
344 u_int32_t currentinboundmframes;
345 u_int32_t maxoutboundmframes;
346 u_int8_t productid[24];
347 u_int32_t expectedlctsize;
348 u_int32_t iopcaps;
349 u_int32_t desiredprivmemsize;
350 u_int32_t currentprivmemsize;
351 u_int32_t currentprivmembase;
352 u_int32_t desiredpriviosize;
353 u_int32_t currentpriviosize;
354 u_int32_t currentpriviobase;
355 u_int8_t reserved2[3];
356 u_int8_t syncbyte;
357 } __attribute__ ((__packed__));
358
359 #define I2O_IOP_STATE_INITIALIZING 0x01
360 #define I2O_IOP_STATE_RESET 0x02
361 #define I2O_IOP_STATE_HOLD 0x04
362 #define I2O_IOP_STATE_READY 0x05
363 #define I2O_IOP_STATE_OPERATIONAL 0x08
364 #define I2O_IOP_STATE_FAILED 0x10
365 #define I2O_IOP_STATE_FAULTED 0x11
366
367
368
369
370
371 #define I2O_EXEC_STATUS_GET 0xa0
372 struct i2o_exec_status_get {
373 u_int32_t msgflags;
374 u_int32_t msgfunc;
375 u_int32_t reserved[4];
376 u_int32_t addrlow;
377 u_int32_t addrhigh;
378 u_int32_t length;
379 } __attribute__ ((__packed__));
380
381 #define I2O_EXEC_OUTBOUND_INIT 0xa1
382 struct i2o_exec_outbound_init {
383 u_int32_t msgflags;
384 u_int32_t msgfunc;
385 u_int32_t msgictx;
386 u_int32_t msgtctx;
387 u_int32_t pagesize;
388 u_int32_t flags;
389 } __attribute__ ((__packed__));
390
391 #define I2O_EXEC_OUTBOUND_INIT_IN_PROGRESS 1
392 #define I2O_EXEC_OUTBOUND_INIT_REJECTED 2
393 #define I2O_EXEC_OUTBOUND_INIT_FAILED 3
394 #define I2O_EXEC_OUTBOUND_INIT_COMPLETE 4
395
396 #define I2O_EXEC_LCT_NOTIFY 0xa2
397 struct i2o_exec_lct_notify {
398 u_int32_t msgflags;
399 u_int32_t msgfunc;
400 u_int32_t msgictx;
401 u_int32_t msgtctx;
402 u_int32_t classid;
403 u_int32_t changeindicator;
404 } __attribute__ ((__packed__));
405
406 #define I2O_EXEC_SYS_TAB_SET 0xa3
407 struct i2o_exec_sys_tab_set {
408 u_int32_t msgflags;
409 u_int32_t msgfunc;
410 u_int32_t msgictx;
411 u_int32_t msgtctx;
412 u_int32_t iopid;
413 u_int32_t segnumber;
414 } __attribute__ ((__packed__));
415
416 #define I2O_EXEC_HRT_GET 0xa8
417 struct i2o_exec_hrt_get {
418 u_int32_t msgflags;
419 u_int32_t msgfunc;
420 u_int32_t msgictx;
421 u_int32_t msgtctx;
422 } __attribute__ ((__packed__));
423
424 #define I2O_EXEC_IOP_RESET 0xbd
425 struct i2o_exec_iop_reset {
426 u_int32_t msgflags;
427 u_int32_t msgfunc;
428 u_int32_t reserved[4];
429 u_int32_t statuslow;
430 u_int32_t statushigh;
431 } __attribute__ ((__packed__));
432
433 #define I2O_RESET_IN_PROGRESS 0x01
434 #define I2O_RESET_REJECTED 0x02
435
436
437
438
439
440 #define I2O_PARAM_EXEC_LCT_SCALAR 0x0101
441 #define I2O_PARAM_EXEC_LCT_TABLE 0x0102
442
443
444
445
446
447 #define I2O_HBA_BUS_SCAN 0x89
448 struct i2o_hba_bus_scan {
449 u_int32_t msgflags;
450 u_int32_t msgfunc;
451 u_int32_t msgictx;
452 u_int32_t msgtctx;
453 } __attribute__ ((__packed__));
454
455
456
457
458
459 #define I2O_PARAM_HBA_CTLR_INFO 0x0000
460 struct i2o_param_hba_ctlr_info {
461 u_int8_t bustype;
462 u_int8_t busstate;
463 u_int16_t reserved;
464 u_int8_t busname[12];
465 } __attribute__ ((__packed__));
466
467 #define I2O_HBA_BUS_GENERIC 0x00
468 #define I2O_HBA_BUS_SCSI 0x01
469 #define I2O_HBA_BUS_FCA 0x10
470
471 #define I2O_PARAM_HBA_SCSI_PORT_INFO 0x0001
472 struct i2o_param_hba_scsi_port_info {
473 u_int8_t physicalif;
474 #define I2O_PARAM_HBA_SCSI_PORT_GENERIC 0x01
475 #define I2O_PARAM_HBA_SCSI_PORT_UNKNOWN 0x02
476 #define I2O_PARAM_HBA_SCSI_PORT_PARINTF 0x03
477 #define I2O_PARAM_HBA_SCSI_PORT_FCL 0x04
478 #define I2O_PARAM_HBA_SCSI_PORT_1394 0x05
479 #define I2O_PARAM_HBA_SCSI_PORT_SSA 0x06
480 u_int8_t electricalif;
481 #define I2O_PARAM_HBA_SCSI_PORT_SE 0x03
482 #define I2O_PARAM_HBA_SCSI_PORT_DIFF 0x04
483 #define I2O_PARAM_HBA_SCSI_PORT_LVD 0x05
484 #define I2O_PARAM_HBA_SCSI_PORT_OPTCL 0x06
485 u_int8_t isosynchonrous;
486 u_int8_t connectortype;
487 #define I2O_PARAM_HBA_SCSI_PORT_HDBS50 0x04
488 #define I2O_PARAM_HBA_SCSI_PORT_HDBU50 0x05
489 #define I2O_PARAM_HBA_SCSI_PORT_DBS50 0x06
490 #define I2O_PARAM_HBA_SCSI_PORT_DBU50 0x07
491 #define I2O_PARAM_HBA_SCSI_PORT_HDBS68 0x08
492 #define I2O_PARAM_HBA_SCSI_PORT_HDBU68 0x09
493 #define I2O_PARAM_HBA_SCSI_PORT_SCA1 0x0a
494 #define I2O_PARAM_HBA_SCSI_PORT_SCA2 0x0b
495 #define I2O_PARAM_HBA_SCSI_PORT_FCDB9 0x0c
496 #define I2O_PARAM_HBA_SCSI_PORT_FC 0x0d
497 #define I2O_PARAM_HBA_SCSI_PORT_FCSCA40 0x0e
498 #define I2O_PARAM_HBA_SCSI_PORT_FCSCA20 0x0f
499 #define I2O_PARAM_HBA_SCSI_PORT_FCBNC 0x10
500 u_int8_t connectorgender;
501 #define I2O_PARAM_HBA_SCSI_PORT_FEMALE 0x03
502 #define I2O_PARAM_HBA_SCSI_PORT_MALE 0x04
503 u_int8_t reserved1;
504 u_int16_t reserved2;
505 u_int32_t maxnumberofdevices;
506 } __attribute__ ((__packed__));
507
508 #define I2O_PARAM_HBA_SCSI_CTLR_INFO 0x0200
509 struct i2o_param_hba_scsi_ctlr_info {
510 u_int8_t scsitype;
511 #define I2O_PARAM_HBA_SCSI_CTRL_SCSI0 0x00
512 #define I2O_PARAM_HBA_SCSI_CTRL_SCSI1 0x01
513 #define I2O_PARAM_HBA_SCSI_CTRL_SCSI2 0x02
514 #define I2O_PARAM_HBA_SCSI_CTRL_SCSI3 0x03
515 u_int8_t protection;
516 u_int8_t settings;
517 u_int8_t reserved;
518 u_int32_t initiatorid;
519 u_int64_t scanlun0only;
520 u_int16_t disabledevice;
521 u_int8_t maxoffset;
522 u_int8_t maxdatawidth;
523 u_int64_t maxsyncrate;
524 } __attribute__ ((__packed__));
525
526
527
528
529
530
531 #define I2O_UTIL_ABORT 0x01
532 struct i2o_util_abort {
533 u_int32_t msgflags;
534 u_int32_t msgfunc;
535 u_int32_t msgictx;
536 u_int32_t msgtctx;
537 u_int32_t flags;
538 u_int32_t tctxabort;
539 } __attribute__ ((__packed__));
540
541 #define I2O_UTIL_ABORT_EXACT 0x00000000
542 #define I2O_UTIL_ABORT_FUNCTION 0x00010000
543 #define I2O_UTIL_ABORT_TRANSACTION 0x00020000
544 #define I2O_UTIL_ABORT_WILD 0x00030000
545
546 #define I2O_UTIL_ABORT_CLEAN 0x00040000
547
548 struct i2o_util_abort_reply {
549 u_int32_t msgflags;
550 u_int32_t msgfunc;
551 u_int32_t msgictx;
552 u_int32_t msgtctx;
553 u_int32_t count;
554 } __attribute__ ((__packed__));
555
556 #define I2O_UTIL_PARAMS_SET 0x05
557 #define I2O_UTIL_PARAMS_GET 0x06
558 struct i2o_util_params_op {
559 u_int32_t msgflags;
560 u_int32_t msgfunc;
561 u_int32_t msgictx;
562 u_int32_t msgtctx;
563 u_int32_t flags;
564 } __attribute__ ((__packed__));
565
566 #define I2O_PARAMS_OP_FIELD_GET 1
567 #define I2O_PARAMS_OP_LIST_GET 2
568 #define I2O_PARAMS_OP_MORE_GET 3
569 #define I2O_PARAMS_OP_SIZE_GET 4
570 #define I2O_PARAMS_OP_TABLE_GET 5
571 #define I2O_PARAMS_OP_FIELD_SET 6
572 #define I2O_PARAMS_OP_LIST_SET 7
573 #define I2O_PARAMS_OP_ROW_ADD 8
574 #define I2O_PARAMS_OP_ROW_DELETE 9
575 #define I2O_PARAMS_OP_TABLE_CLEAR 10
576
577 struct i2o_param_op_list_header {
578 u_int16_t count;
579 u_int16_t reserved;
580 } __attribute__ ((__packed__));
581
582 struct i2o_param_op_all_template {
583 u_int16_t operation;
584 u_int16_t group;
585 u_int16_t fieldcount;
586 u_int16_t fields[1];
587 } __attribute__ ((__packed__));
588
589 struct i2o_param_op_results {
590 u_int16_t count;
591 u_int16_t reserved;
592 } __attribute__ ((__packed__));
593
594 struct i2o_param_read_results {
595 u_int16_t blocksize;
596 u_int8_t blockstatus;
597 u_int8_t errorinfosize;
598 } __attribute__ ((__packed__));
599
600 struct i2o_param_table_results {
601 u_int16_t blocksize;
602 u_int8_t blockstatus;
603 u_int8_t errorinfosize;
604 u_int16_t rowcount;
605 u_int16_t moreflag;
606 } __attribute__ ((__packed__));
607
608 #define I2O_UTIL_CLAIM 0x09
609 struct i2o_util_claim {
610 u_int32_t msgflags;
611 u_int32_t msgfunc;
612 u_int32_t msgictx;
613 u_int32_t msgtctx;
614 u_int32_t flags;
615 } __attribute__ ((__packed__));
616
617 #define I2O_UTIL_CLAIM_RESET_SENSITIVE 0x00000002
618 #define I2O_UTIL_CLAIM_STATE_SENSITIVE 0x00000004
619 #define I2O_UTIL_CLAIM_CAPACITY_SENSITIVE 0x00000008
620 #define I2O_UTIL_CLAIM_NO_PEER_SERVICE 0x00000010
621 #define I2O_UTIL_CLAIM_NO_MANAGEMENT_SERVICE 0x00000020
622
623 #define I2O_UTIL_CLAIM_PRIMARY_USER 0x01000000
624 #define I2O_UTIL_CLAIM_AUTHORIZED_USER 0x02000000
625 #define I2O_UTIL_CLAIM_SECONDARY_USER 0x03000000
626 #define I2O_UTIL_CLAIM_MANAGEMENT_USER 0x04000000
627
628 #define I2O_UTIL_CLAIM_RELEASE 0x0b
629 struct i2o_util_claim_release {
630 u_int32_t msgflags;
631 u_int32_t msgfunc;
632 u_int32_t msgictx;
633 u_int32_t msgtctx;
634 u_int32_t flags;
635 } __attribute__ ((__packed__));
636
637 #define I2O_UTIL_CLAIM_RELEASE_CONDITIONAL 0x00000001
638
639 #define I2O_UTIL_CONFIG_DIALOG 0x10
640 struct i2o_util_config_dialog {
641 u_int32_t msgflags;
642 u_int32_t msgfunc;
643 u_int32_t msgictx;
644 u_int32_t msgtctx;
645 u_int32_t pageno;
646 } __attribute__ ((__packed__));
647
648 #define I2O_UTIL_EVENT_REGISTER 0x13
649 struct i2o_util_event_register {
650 u_int32_t msgflags;
651 u_int32_t msgfunc;
652 u_int32_t msgictx;
653 u_int32_t msgtctx;
654 u_int32_t eventmask;
655 } __attribute__ ((__packed__));
656
657 struct i2o_util_event_register_reply {
658 u_int32_t msgflags;
659 u_int32_t msgfunc;
660 u_int32_t msgictx;
661 u_int32_t msgtctx;
662 u_int32_t event;
663 u_int32_t eventdata[1];
664 } __attribute__ ((__packed__));
665
666
667 #define I2O_EVENT_GEN_DEVICE_STATE 0x00400000
668 #define I2O_EVENT_GEN_VENDOR_EVENT 0x00800000
669 #define I2O_EVENT_GEN_FIELD_MODIFIED 0x01000000
670 #define I2O_EVENT_GEN_EVENT_MASK_MODIFIED 0x02000000
671 #define I2O_EVENT_GEN_DEVICE_RESET 0x04000000
672 #define I2O_EVENT_GEN_CAPABILITY_CHANGE 0x08000000
673 #define I2O_EVENT_GEN_LOCK_RELEASE 0x10000000
674 #define I2O_EVENT_GEN_NEED_CONFIGURATION 0x20000000
675 #define I2O_EVENT_GEN_GENERAL_WARNING 0x40000000
676 #define I2O_EVENT_GEN_STATE_CHANGE 0x80000000
677
678
679 #define I2O_EVENT_EXEC_RESOURCE_LIMITS 0x00000001
680 #define I2O_EVENT_EXEC_CONNECTION_FAIL 0x00000002
681 #define I2O_EVENT_EXEC_ADAPTER_FAULT 0x00000004
682 #define I2O_EVENT_EXEC_POWER_FAIL 0x00000008
683 #define I2O_EVENT_EXEC_RESET_PENDING 0x00000010
684 #define I2O_EVENT_EXEC_RESET_IMMINENT 0x00000020
685 #define I2O_EVENT_EXEC_HARDWARE_FAIL 0x00000040
686 #define I2O_EVENT_EXEC_XCT_CHANGE 0x00000080
687 #define I2O_EVENT_EXEC_NEW_LCT_ENTRY 0x00000100
688 #define I2O_EVENT_EXEC_MODIFIED_LCT 0x00000200
689 #define I2O_EVENT_EXEC_DDM_AVAILIBILITY 0x00000400
690
691
692 #define I2O_EVENT_LAN_LINK_DOWN 0x00000001
693 #define I2O_EVENT_LAN_LINK_UP 0x00000002
694 #define I2O_EVENT_LAN_MEDIA_CHANGE 0x00000004
695
696
697
698
699
700 #define I2O_PARAM_DEVICE_IDENTITY 0xf100
701 struct i2o_param_device_identity {
702 u_int32_t classid;
703 u_int16_t ownertid;
704 u_int16_t parenttid;
705 u_int8_t vendorinfo[16];
706 u_int8_t productinfo[16];
707 u_int8_t description[16];
708 u_int8_t revlevel[8];
709 u_int8_t snformat;
710 u_int8_t serialnumber[1];
711 } __attribute__ ((__packed__));
712
713 #define I2O_PARAM_DDM_IDENTITY 0xf101
714 struct i2o_param_ddm_identity {
715 u_int16_t ddmtid;
716 u_int8_t name[24];
717 u_int8_t revlevel[8];
718 u_int8_t snformat;
719 u_int8_t serialnumber[12];
720 } __attribute__ ((__packed__));
721
722
723
724
725
726 #define I2O_RBS_BLOCK_READ 0x30
727 struct i2o_rbs_block_read {
728 u_int32_t msgflags;
729 u_int32_t msgfunc;
730 u_int32_t msgictx;
731 u_int32_t msgtctx;
732 u_int32_t flags;
733 u_int32_t datasize;
734 u_int32_t lowoffset;
735 u_int32_t highoffset;
736 } __attribute__ ((__packed__));
737
738 #define I2O_RBS_BLOCK_READ_NO_RETRY 0x01
739 #define I2O_RBS_BLOCK_READ_SOLO 0x02
740 #define I2O_RBS_BLOCK_READ_CACHE_READ 0x04
741 #define I2O_RBS_BLOCK_READ_PREFETCH 0x08
742 #define I2O_RBS_BLOCK_READ_CACHE_ONLY 0x10
743
744 #define I2O_RBS_BLOCK_WRITE 0x31
745 struct i2o_rbs_block_write {
746 u_int32_t msgflags;
747 u_int32_t msgfunc;
748 u_int32_t msgictx;
749 u_int32_t msgtctx;
750 u_int32_t flags;
751 u_int32_t datasize;
752 u_int32_t lowoffset;
753 u_int32_t highoffset;
754 } __attribute__ ((__packed__));
755
756 #define I2O_RBS_BLOCK_WRITE_NO_RETRY 0x01
757 #define I2O_RBS_BLOCK_WRITE_SOLO 0x02
758 #define I2O_RBS_BLOCK_WRITE_CACHE_NONE 0x04
759 #define I2O_RBS_BLOCK_WRITE_CACHE_WT 0x08
760 #define I2O_RBS_BLOCK_WRITE_CACHE_WB 0x10
761
762 #define I2O_RBS_CACHE_FLUSH 0x37
763 struct i2o_rbs_cache_flush {
764 u_int32_t msgflags;
765 u_int32_t msgfunc;
766 u_int32_t msgictx;
767 u_int32_t msgtctx;
768 u_int32_t flags;
769 } __attribute__ ((__packed__));
770
771 #define I2O_RBS_MEDIA_MOUNT 0x41
772 struct i2o_rbs_media_mount {
773 u_int32_t msgflags;
774 u_int32_t msgfunc;
775 u_int32_t msgictx;
776 u_int32_t msgtctx;
777 u_int32_t mediaid;
778 u_int32_t loadflags;
779 } __attribute__ ((__packed__));
780
781 #define I2O_RBS_MEDIA_EJECT 0x43
782 struct i2o_rbs_media_eject {
783 u_int32_t msgflags;
784 u_int32_t msgfunc;
785 u_int32_t msgictx;
786 u_int32_t msgtctx;
787 u_int32_t mediaid;
788 } __attribute__ ((__packed__));
789
790 #define I2O_RBS_MEDIA_LOCK 0x49
791 struct i2o_rbs_media_lock {
792 u_int32_t msgflags;
793 u_int32_t msgfunc;
794 u_int32_t msgictx;
795 u_int32_t msgtctx;
796 u_int32_t mediaid;
797 } __attribute__ ((__packed__));
798
799 #define I2O_RBS_MEDIA_UNLOCK 0x4b
800 struct i2o_rbs_media_unlock {
801 u_int32_t msgflags;
802 u_int32_t msgfunc;
803 u_int32_t msgictx;
804 u_int32_t msgtctx;
805 u_int32_t mediaid;
806 } __attribute__ ((__packed__));
807
808
809 struct i2o_rbs_reply {
810 u_int32_t msgflags;
811 u_int32_t msgfunc;
812 u_int32_t msgictx;
813 u_int32_t msgtctx;
814 u_int16_t detail;
815 u_int8_t retrycount;
816 u_int8_t reqstatus;
817 u_int32_t transfercount;
818 u_int64_t offset;
819 } __attribute__ ((__packed__));
820
821
822
823
824
825 #define I2O_PARAM_RBS_DEVICE_INFO 0x0000
826 struct i2o_param_rbs_device_info {
827 u_int8_t type;
828 u_int8_t npaths;
829 u_int16_t powerstate;
830 u_int32_t blocksize;
831 u_int64_t capacity;
832 u_int32_t capabilities;
833 u_int32_t state;
834 } __attribute__ ((__packed__));
835
836 #define I2O_RBS_TYPE_DIRECT 0x00
837 #define I2O_RBS_TYPE_WORM 0x04
838 #define I2O_RBS_TYPE_CDROM 0x05
839 #define I2O_RBS_TYPE_OPTICAL 0x07
840
841 #define I2O_RBS_CAP_CACHING 0x00000001
842 #define I2O_RBS_CAP_MULTI_PATH 0x00000002
843 #define I2O_RBS_CAP_DYNAMIC_CAPACITY 0x00000004
844 #define I2O_RBS_CAP_REMOVABLE_MEDIA 0x00000008
845 #define I2O_RBS_CAP_REMOVABLE_DEVICE 0x00000010
846 #define I2O_RBS_CAP_READ_ONLY 0x00000020
847 #define I2O_RBS_CAP_LOCKOUT 0x00000040
848 #define I2O_RBS_CAP_BOOT_BYPASS 0x00000080
849 #define I2O_RBS_CAP_COMPRESSION 0x00000100
850 #define I2O_RBS_CAP_DATA_SECURITY 0x00000200
851 #define I2O_RBS_CAP_RAID 0x00000400
852
853 #define I2O_RBS_STATE_CACHING 0x00000001
854 #define I2O_RBS_STATE_POWERED_ON 0x00000002
855 #define I2O_RBS_STATE_READY 0x00000004
856 #define I2O_RBS_STATE_MEDIA_LOADED 0x00000008
857 #define I2O_RBS_STATE_DEVICE_LOADED 0x00000010
858 #define I2O_RBS_STATE_READ_ONLY 0x00000020
859 #define I2O_RBS_STATE_LOCKOUT 0x00000040
860 #define I2O_RBS_STATE_BOOT_BYPASS 0x00000080
861 #define I2O_RBS_STATE_COMPRESSION 0x00000100
862 #define I2O_RBS_STATE_DATA_SECURITY 0x00000200
863 #define I2O_RBS_STATE_RAID 0x00000400
864
865 #define I2O_PARAM_RBS_OPERATION 0x0001
866 struct i2o_param_rbs_operation {
867 u_int8_t autoreass;
868 u_int8_t reasstolerance;
869 u_int8_t numretries;
870 u_int8_t reserved0;
871 u_int32_t reasssize;
872 u_int32_t expectedtimeout;
873 u_int32_t rwvtimeout;
874 u_int32_t rwvtimeoutbase;
875 u_int32_t timeoutbase;
876 u_int32_t orderedreqdepth;
877 u_int32_t atomicwritesize;
878 } __attribute__ ((__packed__));
879
880 #define I2O_PARAM_RBS_CACHE_CONTROL 0x0003
881 struct i2o_param_rbs_cache_control {
882 u_int32_t totalcachesize;
883 u_int32_t readcachesize;
884 u_int32_t writecachesize;
885 u_int8_t writepolicy;
886 u_int8_t readpolicy;
887 u_int8_t errorcorrection;
888 u_int8_t reserved;
889 } __attribute__ ((__packed__));
890
891
892
893
894
895 #define I2O_SCSI_DEVICE_RESET 0x27
896 struct i2o_scsi_device_reset {
897 u_int32_t msgflags;
898 u_int32_t msgfunc;
899 u_int32_t msgictx;
900 u_int32_t msgtctx;
901 } __attribute__ ((__packed__));
902
903 #define I2O_SCSI_SCB_EXEC 0x81
904 struct i2o_scsi_scb_exec {
905 u_int32_t msgflags;
906 u_int32_t msgfunc;
907 u_int32_t msgictx;
908 u_int32_t msgtctx;
909 u_int32_t flags;
910 u_int8_t cdb[16];
911 u_int32_t datalen;
912 } __attribute__ ((__packed__));
913
914 #define I2O_SCB_FLAG_SENSE_DATA_IN_MESSAGE 0x00200000
915 #define I2O_SCB_FLAG_SENSE_DATA_IN_BUFFER 0x00600000
916 #define I2O_SCB_FLAG_SIMPLE_QUEUE_TAG 0x00800000
917 #define I2O_SCB_FLAG_HEAD_QUEUE_TAG 0x01000000
918 #define I2O_SCB_FLAG_ORDERED_QUEUE_TAG 0x01800000
919 #define I2O_SCB_FLAG_ACA_QUEUE_TAG 0x02000000
920 #define I2O_SCB_FLAG_ENABLE_DISCONNECT 0x20000000
921 #define I2O_SCB_FLAG_XFER_FROM_DEVICE 0x40000000
922 #define I2O_SCB_FLAG_XFER_TO_DEVICE 0x80000000
923
924 #define I2O_SCSI_SCB_ABORT 0x83
925 struct i2o_scsi_scb_abort {
926 u_int32_t msgflags;
927 u_int32_t msgfunc;
928 u_int32_t msgictx;
929 u_int32_t msgtctx;
930 u_int32_t tctxabort;
931 } __attribute__ ((__packed__));
932
933 struct i2o_scsi_reply {
934 u_int32_t msgflags;
935 u_int32_t msgfunc;
936 u_int32_t msgictx;
937 u_int32_t msgtctx;
938 u_int8_t scsistatus;
939 u_int8_t hbastatus;
940 u_int8_t reserved;
941 u_int8_t reqstatus;
942 u_int32_t datalen;
943 u_int32_t senselen;
944 u_int8_t sense[40];
945 } __attribute__ ((__packed__));
946
947 #define I2O_SCSI_DSC_SUCCESS 0x00
948 #define I2O_SCSI_DSC_REQUEST_ABORTED 0x02
949 #define I2O_SCSI_DSC_UNABLE_TO_ABORT 0x03
950 #define I2O_SCSI_DSC_COMPLETE_WITH_ERROR 0x04
951 #define I2O_SCSI_DSC_ADAPTER_BUSY 0x05
952 #define I2O_SCSI_DSC_REQUEST_INVALID 0x06
953 #define I2O_SCSI_DSC_PATH_INVALID 0x07
954 #define I2O_SCSI_DSC_DEVICE_NOT_PRESENT 0x08
955 #define I2O_SCSI_DSC_UNABLE_TO_TERMINATE 0x09
956 #define I2O_SCSI_DSC_SELECTION_TIMEOUT 0x0a
957 #define I2O_SCSI_DSC_COMMAND_TIMEOUT 0x0b
958 #define I2O_SCSI_DSC_MR_MESSAGE_RECEIVED 0x0d
959 #define I2O_SCSI_DSC_SCSI_BUS_RESET 0x0e
960 #define I2O_SCSI_DSC_PARITY_ERROR_FAILURE 0x0f
961 #define I2O_SCSI_DSC_AUTOSENSE_FAILED 0x10
962 #define I2O_SCSI_DSC_NO_ADAPTER 0x11
963 #define I2O_SCSI_DSC_DATA_OVERRUN 0x12
964 #define I2O_SCSI_DSC_UNEXPECTED_BUS_FREE 0x13
965 #define I2O_SCSI_DSC_SEQUENCE_FAILURE 0x14
966 #define I2O_SCSI_DSC_REQUEST_LENGTH_ERROR 0x15
967 #define I2O_SCSI_DSC_PROVIDE_FAILURE 0x16
968 #define I2O_SCSI_DSC_BDR_MESSAGE_SENT 0x17
969 #define I2O_SCSI_DSC_REQUEST_TERMINATED 0x18
970 #define I2O_SCSI_DSC_IDE_MESSAGE_SENT 0x33
971 #define I2O_SCSI_DSC_RESOURCE_UNAVAILABLE 0x34
972 #define I2O_SCSI_DSC_UNACKNOWLEDGED_EVENT 0x35
973 #define I2O_SCSI_DSC_MESSAGE_RECEIVED 0x36
974 #define I2O_SCSI_DSC_INVALID_CDB 0x37
975 #define I2O_SCSI_DSC_LUN_INVALID 0x38
976 #define I2O_SCSI_DSC_SCSI_TID_INVALID 0x39
977 #define I2O_SCSI_DSC_FUNCTION_UNAVAILABLE 0x3a
978 #define I2O_SCSI_DSC_NO_NEXUS 0x3b
979 #define I2O_SCSI_DSC_SCSI_IID_INVALID 0x3c
980 #define I2O_SCSI_DSC_CDB_RECEIVED 0x3d
981 #define I2O_SCSI_DSC_LUN_ALREADY_ENABLED 0x3e
982 #define I2O_SCSI_DSC_BUS_BUSY 0x3f
983 #define I2O_SCSI_DSC_QUEUE_FROZEN 0x40
984
985
986
987
988
989 #define I2O_PARAM_SCSI_DEVICE_INFO 0x0000
990 struct i2o_param_scsi_device_info {
991 u_int8_t devicetype;
992 u_int8_t flags;
993 u_int16_t reserved0;
994 u_int32_t identifier;
995 u_int8_t luninfo[8];
996 u_int32_t queuedepth;
997 u_int8_t reserved1;
998 u_int8_t negoffset;
999 u_int8_t negdatawidth;
1000 u_int8_t reserved2;
1001 u_int64_t negsyncrate;
1002 } __attribute__ ((__packed__));
1003
1004
1005
1006
1007
1008 #define I2O_LAN_PACKET_SEND 0x3b
1009 struct i2o_lan_packet_send {
1010 u_int32_t msgflags;
1011 u_int32_t msgfunc;
1012 u_int32_t msgictx;
1013 u_int32_t tcw;
1014
1015
1016 };
1017
1018 #define I2O_LAN_TCW_ACCESS_PRI_MASK 0x00000007
1019 #define I2O_LAN_TCW_SUPPRESS_CRC 0x00000008
1020 #define I2O_LAN_TCW_SUPPRESS_LOOPBACK 0x00000010
1021 #define I2O_LAN_TCW_CKSUM_NETWORK 0x00000020
1022 #define I2O_LAN_TCW_CKSUM_TRANSPORT 0x00000040
1023 #define I2O_LAN_TCW_REPLY_BATCH 0x00000000
1024 #define I2O_LAN_TCW_REPLY_IMMEDIATELY 0x40000000
1025 #define I2O_LAN_TCW_REPLY_UNSUCCESSFUL 0x80000000
1026 #define I2O_LAN_TCW_REPLY_NONE 0xc0000000
1027
1028 #define I2O_LAN_SDU_SEND 0x3d
1029 struct i2o_lan_sdu_send {
1030 u_int32_t msgflags;
1031 u_int32_t msgfunc;
1032 u_int32_t msgictx;
1033 u_int32_t tcw;
1034
1035
1036 };
1037
1038 struct i2o_lan_send_reply {
1039 u_int32_t msgflags;
1040 u_int32_t msgfunc;
1041 u_int32_t msgictx;
1042 u_int32_t trl;
1043 u_int16_t detail;
1044 u_int8_t reserved;
1045 u_int8_t reqstatus;
1046 u_int32_t tctx[1];
1047 };
1048
1049 #define I2O_LAN_RECEIVE_POST 0x3e
1050 struct i2o_lan_receive_post {
1051 u_int32_t msgflags;
1052 u_int32_t msgfunc;
1053 u_int32_t msgictx;
1054 u_int32_t bktcnt;
1055
1056
1057 };
1058
1059 struct i2o_lan_pdb {
1060 u_int32_t bctx;
1061 u_int32_t pktoff;
1062 u_int32_t pktlen;
1063 };
1064
1065 #define I2O_LAN_FRAG_VALID 0x00
1066 #define I2O_LAN_FRAG_VALID_MASK foo
1067
1068 struct i2o_lan_receive_reply {
1069 u_int32_t msgflags;
1070 u_int32_t msgfunc;
1071 u_int32_t msgictx;
1072 u_int8_t trlcount;
1073 u_int8_t trlesize;
1074 u_int8_t reserved;
1075 u_int8_t trlflags;
1076 u_int32_t bucketsleft;
1077 struct i2o_lan_pdb pdb[1];
1078 };
1079
1080 #define I2O_LAN_RESET 0x35
1081 struct i2o_lan_reset {
1082 u_int32_t msgflags;
1083 u_int32_t msgfunc;
1084 u_int32_t msgictx;
1085 u_int16_t reserved;
1086 u_int16_t resrcflags;
1087 };
1088
1089 #define I2O_LAN_RESRC_RETURN_BUCKETS 0x0001
1090 #define I2O_LAN_RESRC_RETURN_XMITS 0x0002
1091
1092 #define I2O_LAN_SUSPEND 0x37
1093 struct i2o_lan_suspend {
1094 u_int32_t msgflags;
1095 u_int32_t msgfunc;
1096 u_int32_t msgictx;
1097 u_int16_t reserved;
1098 u_int16_t resrcflags;
1099 };
1100
1101 #define I2O_LAN_DSC_SUCCESS 0x00
1102 #define I2O_LAN_DSC_DEVICE_FAILURE 0x01
1103 #define I2O_LAN_DSC_DESTINATION_NOT_FOUND 0x02
1104 #define I2O_LAN_DSC_TRANSMIT_ERROR 0x03
1105 #define I2O_LAN_DSC_TRANSMIT_ABORTED 0x04
1106 #define I2O_LAN_DSC_RECEIVE_ERROR 0x05
1107 #define I2O_LAN_DSC_RECEIVE_ABORTED 0x06
1108 #define I2O_LAN_DSC_DMA_ERROR 0x07
1109 #define I2O_LAN_DSC_BAD_PACKET_DETECTED 0x08
1110 #define I2O_LAN_DSC_OUT_OF_MEMORY 0x09
1111 #define I2O_LAN_DSC_BUCKET_OVERRUN 0x0a
1112 #define I2O_LAN_DSC_IOP_INTERNAL_ERROR 0x0b
1113 #define I2O_LAN_DSC_CANCELED 0x0c
1114 #define I2O_LAN_DSC_INVALID_TRANSACTION_CONTEXT 0x0d
1115 #define I2O_LAN_DSC_DEST_ADDRESS_DETECTED 0x0e
1116 #define I2O_LAN_DSC_DEST_ADDRESS_OMITTED 0x0f
1117 #define I2O_LAN_DSC_PARTIAL_PACKET_RETURNED 0x10
1118 #define I2O_LAN_DSC_TEMP_SUSPENDED_STATE 0x11
1119
1120
1121
1122
1123
1124 #define I2O_PARAM_LAN_DEVICE_INFO 0x0000
1125 struct i2o_param_lan_device_info {
1126 u_int16_t lantype;
1127 u_int16_t flags;
1128 u_int8_t addrfmt;
1129 u_int8_t reserved1;
1130 u_int16_t reserved2;
1131 u_int32_t minpktsize;
1132 u_int32_t maxpktsize;
1133 u_int8_t hwaddr[8];
1134 u_int64_t maxtxbps;
1135 u_int64_t maxrxbps;
1136 };
1137
1138 #define I2O_LAN_TYPE_ETHERNET 0x0030
1139 #define I2O_LAN_TYPE_100BASEVG 0x0040
1140 #define I2O_LAN_TYPE_TOKEN_RING 0x0050
1141 #define I2O_LAN_TYPE_FDDI 0x0060
1142 #define I2O_LAN_TYPE_FIBRECHANNEL 0x0070
1143
1144 #define I2O_PARAM_LAN_MAC_ADDRESS 0x0001
1145 struct i2o_param_lan_mac_address {
1146 u_int8_t activeaddr[8];
1147 u_int8_t localaddr[8];
1148 u_int8_t addrmask[8];
1149 u_int8_t filtermask[4];
1150 u_int8_t hwfiltermask[4];
1151 u_int32_t maxmcastaddr;
1152 u_int32_t maxfilterperfect;
1153 u_int32_t maxfilterimperfect;
1154 };
1155
1156 #define I2O_PARAM_LAN_MCAST_MAC_ADDRESS 0x0002
1157
1158
1159
1160
1161 #define I2O_PARAM_LAN_BATCH_CONTROL 0x0003
1162 struct i2o_param_lan_batch_control {
1163 u_int32_t batchflags;
1164 u_int32_t risingloaddly;
1165 u_int32_t risingloadthresh;
1166 u_int32_t fallingloaddly;
1167 u_int32_t fallingloadthresh;
1168 u_int32_t maxbatchcount;
1169 u_int32_t maxbatchdelay;
1170 u_int32_t transcompdelay;
1171 };
1172
1173 #define I2O_PARAM_LAN_OPERATION 0x0004
1174 struct i2o_param_lan_operation {
1175 u_int32_t pktprepad;
1176 u_int32_t userflags;
1177 u_int32_t pktorphanlimit;
1178 };
1179
1180 #define I2O_PARAM_LAN_MEDIA_OPERATION 0x0005
1181 struct i2o_param_lan_media_operation {
1182 u_int32_t connectortype;
1183 u_int32_t connectiontype;
1184 u_int32_t curtxbps;
1185 u_int32_t currxbps;
1186 u_int8_t fullduplex;
1187 u_int8_t linkstatus;
1188 u_int8_t badpkthandling;
1189 };
1190
1191 #define I2O_LAN_CONNECTOR_OTHER 0x00
1192 #define I2O_LAN_CONNECTOR_UNKNOWN 0x01
1193 #define I2O_LAN_CONNECTOR_AUI 0x02
1194 #define I2O_LAN_CONNECTOR_UTP 0x03
1195 #define I2O_LAN_CONNECTOR_BNC 0x04
1196 #define I2O_LAN_CONNECTOR_RJ45 0x05
1197 #define I2O_LAN_CONNECTOR_STP_DB9 0x06
1198 #define I2O_LAN_CONNECTOR_FIBER_MIC 0x07
1199 #define I2O_LAN_CONNECTOR_APPLE_AUI 0x08
1200 #define I2O_LAN_CONNECTOR_MII 0x09
1201 #define I2O_LAN_CONNECTOR_COPPER_DB9 0x0a
1202 #define I2O_LAN_CONNECTOR_COPPER_AW 0x0b
1203 #define I2O_LAN_CONNECTOR_OPTICAL_LW 0x0c
1204 #define I2O_LAN_CONNECTOR_SIP 0x0d
1205 #define I2O_LAN_CONNECTOR_OPTICAL_SW 0x0e
1206
1207 #define I2O_LAN_CONNECTION_UNKNOWN 0x0000
1208
1209 #define I2O_LAN_CONNECTION_ETHERNET_AUI 0x0301
1210 #define I2O_LAN_CONNECTION_ETHERNET_10BASE5 0x0302
1211 #define I2O_LAN_CONNECTION_ETHERNET_FOIRL 0x0303
1212 #define I2O_LAN_CONNECTION_ETHERNET_10BASE2 0x0304
1213 #define I2O_LAN_CONNECTION_ETHERNET_10BROAD36 0x0305
1214 #define I2O_LAN_CONNECTION_ETHERNET_10BASET 0x0306
1215 #define I2O_LAN_CONNECTION_ETHERNET_10BASEFP 0x0307
1216 #define I2O_LAN_CONNECTION_ETHERNET_10BASEFB 0x0308
1217 #define I2O_LAN_CONNECTION_ETHERNET_10BASEFL 0x0309
1218 #define I2O_LAN_CONNECTION_ETHERNET_100BASETX 0x030a
1219 #define I2O_LAN_CONNECTION_ETHERNET_100BASEFX 0x030b
1220 #define I2O_LAN_CONNECTION_ETHERNET_100BASET4 0x030c
1221
1222 #define I2O_LAN_CONNECTION_100BASEVG_100BASEVG 0x0401
1223
1224 #define I2O_LAN_CONNECTION_TOKEN_RING_4MBIT 0x0501
1225 #define I2O_LAN_CONNECTION_TOKEN_RING_16MBIT 0x0502
1226
1227 #define I2O_LAN_CONNECTION_FDDI_125MBIT 0x0601
1228
1229 #define I2O_LAN_CONNECTION_FIBRECHANNEL_P2P 0x0701
1230 #define I2O_LAN_CONNECTION_FIBRECHANNEL_AL 0x0702
1231 #define I2O_LAN_CONNECTION_FIBRECHANNEL_PL 0x0703
1232 #define I2O_LAN_CONNECTION_FIBRECHANNEL_F 0x0704
1233
1234 #define I2O_LAN_CONNECTION_OTHER_EMULATED 0x0f00
1235 #define I2O_LAN_CONNECTION_OTHER_OTHER 0x0f01
1236
1237 #endif