|
|
1.1 root 1: /*
2: * Copyright (c) 1992 NeXT Computer, Inc.
3: *
4: * Generic SCSI data structures.
5: *
6: * HISTORY
7: *
8: * 13 Apr 1993 Doug Mitchell
9: * Standalone version for Loadable Adaptec driver.
10: * 6 July 1992 David E. Bohman at NeXT
11: * Created from m68k version.
12: */
13:
14: /*
15: * SCSI bus constants used only by driver (not exported)
16: */
17:
18: /*
19: * message codes
20: */
21: #define MSG_CMDCMPLT 0x00 /* to host: command complete */
22: #define MSG_SAVEPTRS 0x02 /* to host: save data pointers */
23: #define MSG_RESTOREPTRS 0x03 /* to host: restore pointers */
24: #define MSG_DISCONNECT 0x04 /* to host: disconnect */
25: #define MSG_IDETERR 0x05 /* to disk: initiator detected error */
26: #define MSG_ABORT 0x06 /* to disk: abort op, go to bus free */
27: #define MSG_MSGREJECT 0x07 /* both ways: last msg unimplemented */
28: #define MSG_NOP 0x08 /* to disk: no-op message */
29: #define MSG_MSGPARERR 0x09 /* to disk: parity error last message */
30: #define MSG_LNKCMDCMPLT 0x0a /* to host: linked command complete */
31: #define MSG_LNKCMDCMPLTFLAG 0x0b /* to host: flagged linked cmd cmplt */
32: #define MSG_DEVICERESET 0x0c /* to disk: reset and go to bus free */
33:
34: #define MSG_IDENTIFYMASK 0x80 /* both ways: thread identification */
35: #define MSG_ID_DISCONN 0x40 /* can disconnect/reconnect */
36: #define MSG_ID_LUNMASK 0x07 /* target LUN */
37:
38: /*
39: * opcode groups
40: */
41: #define SCSI_OPGROUP(opcode) ((opcode) & 0xe0)
42:
43: #define OPGROUP_0 0x00 /* six byte commands */
44: #define OPGROUP_1 0x20 /* ten byte commands */
45: #define OPGROUP_2 0x40 /* ten byte commands */
46: #define OPGROUP_5 0xa0 /* twelve byte commands */
47: #define OPGROUP_6 0xc0 /* six byte, vendor unique commands */
48: #define OPGROUP_7 0xe0 /* ten byte, vendor unique commands */
49:
50: /*
51: * scsi bus phases
52: */
53: #define PHASE_DATAOUT 0x0
54: #define PHASE_DATAIN 0x1
55: #define PHASE_COMMAND 0x2
56: #define PHASE_STATUS 0x3
57: #define PHASE_MSGOUT 0x6
58: #define PHASE_MSGIN 0x7
59:
60:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.