xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/cciss_defs.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef CCISS_DEFS_H
8*8d67ca89SAndroid Build Coastguard Worker #define CCISS_DEFS_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define SENSEINFOBYTES 32
11*8d67ca89SAndroid Build Coastguard Worker #define CMD_SUCCESS 0x0000
12*8d67ca89SAndroid Build Coastguard Worker #define CMD_TARGET_STATUS 0x0001
13*8d67ca89SAndroid Build Coastguard Worker #define CMD_DATA_UNDERRUN 0x0002
14*8d67ca89SAndroid Build Coastguard Worker #define CMD_DATA_OVERRUN 0x0003
15*8d67ca89SAndroid Build Coastguard Worker #define CMD_INVALID 0x0004
16*8d67ca89SAndroid Build Coastguard Worker #define CMD_PROTOCOL_ERR 0x0005
17*8d67ca89SAndroid Build Coastguard Worker #define CMD_HARDWARE_ERR 0x0006
18*8d67ca89SAndroid Build Coastguard Worker #define CMD_CONNECTION_LOST 0x0007
19*8d67ca89SAndroid Build Coastguard Worker #define CMD_ABORTED 0x0008
20*8d67ca89SAndroid Build Coastguard Worker #define CMD_ABORT_FAILED 0x0009
21*8d67ca89SAndroid Build Coastguard Worker #define CMD_UNSOLICITED_ABORT 0x000A
22*8d67ca89SAndroid Build Coastguard Worker #define CMD_TIMEOUT 0x000B
23*8d67ca89SAndroid Build Coastguard Worker #define CMD_UNABORTABLE 0x000C
24*8d67ca89SAndroid Build Coastguard Worker #define XFER_NONE 0x00
25*8d67ca89SAndroid Build Coastguard Worker #define XFER_WRITE 0x01
26*8d67ca89SAndroid Build Coastguard Worker #define XFER_READ 0x02
27*8d67ca89SAndroid Build Coastguard Worker #define XFER_RSVD 0x03
28*8d67ca89SAndroid Build Coastguard Worker #define ATTR_UNTAGGED 0x00
29*8d67ca89SAndroid Build Coastguard Worker #define ATTR_SIMPLE 0x04
30*8d67ca89SAndroid Build Coastguard Worker #define ATTR_HEADOFQUEUE 0x05
31*8d67ca89SAndroid Build Coastguard Worker #define ATTR_ORDERED 0x06
32*8d67ca89SAndroid Build Coastguard Worker #define ATTR_ACA 0x07
33*8d67ca89SAndroid Build Coastguard Worker #define TYPE_CMD 0x00
34*8d67ca89SAndroid Build Coastguard Worker #define TYPE_MSG 0x01
35*8d67ca89SAndroid Build Coastguard Worker #define BYTE __u8
36*8d67ca89SAndroid Build Coastguard Worker #define WORD __u16
37*8d67ca89SAndroid Build Coastguard Worker #define HWORD __u16
38*8d67ca89SAndroid Build Coastguard Worker #define DWORD __u32
39*8d67ca89SAndroid Build Coastguard Worker #define CISS_MAX_LUN 1024
40*8d67ca89SAndroid Build Coastguard Worker #define LEVEL2LUN 1
41*8d67ca89SAndroid Build Coastguard Worker #define LEVEL3LUN 0
42*8d67ca89SAndroid Build Coastguard Worker #pragma pack(1)
43*8d67ca89SAndroid Build Coastguard Worker typedef union _SCSI3Addr_struct {
44*8d67ca89SAndroid Build Coastguard Worker   struct {
45*8d67ca89SAndroid Build Coastguard Worker     BYTE Dev;
46*8d67ca89SAndroid Build Coastguard Worker     BYTE Bus : 6;
47*8d67ca89SAndroid Build Coastguard Worker     BYTE Mode : 2;
48*8d67ca89SAndroid Build Coastguard Worker   } PeripDev;
49*8d67ca89SAndroid Build Coastguard Worker   struct {
50*8d67ca89SAndroid Build Coastguard Worker     BYTE DevLSB;
51*8d67ca89SAndroid Build Coastguard Worker     BYTE DevMSB : 6;
52*8d67ca89SAndroid Build Coastguard Worker     BYTE Mode : 2;
53*8d67ca89SAndroid Build Coastguard Worker   } LogDev;
54*8d67ca89SAndroid Build Coastguard Worker   struct {
55*8d67ca89SAndroid Build Coastguard Worker     BYTE Dev : 5;
56*8d67ca89SAndroid Build Coastguard Worker     BYTE Bus : 3;
57*8d67ca89SAndroid Build Coastguard Worker     BYTE Targ : 6;
58*8d67ca89SAndroid Build Coastguard Worker     BYTE Mode : 2;
59*8d67ca89SAndroid Build Coastguard Worker   } LogUnit;
60*8d67ca89SAndroid Build Coastguard Worker } SCSI3Addr_struct;
61*8d67ca89SAndroid Build Coastguard Worker typedef struct _PhysDevAddr_struct {
62*8d67ca89SAndroid Build Coastguard Worker   DWORD TargetId : 24;
63*8d67ca89SAndroid Build Coastguard Worker   DWORD Bus : 6;
64*8d67ca89SAndroid Build Coastguard Worker   DWORD Mode : 2;
65*8d67ca89SAndroid Build Coastguard Worker   SCSI3Addr_struct Target[2];
66*8d67ca89SAndroid Build Coastguard Worker } PhysDevAddr_struct;
67*8d67ca89SAndroid Build Coastguard Worker typedef struct _LogDevAddr_struct {
68*8d67ca89SAndroid Build Coastguard Worker   DWORD VolId : 30;
69*8d67ca89SAndroid Build Coastguard Worker   DWORD Mode : 2;
70*8d67ca89SAndroid Build Coastguard Worker   BYTE reserved[4];
71*8d67ca89SAndroid Build Coastguard Worker } LogDevAddr_struct;
72*8d67ca89SAndroid Build Coastguard Worker typedef union _LUNAddr_struct {
73*8d67ca89SAndroid Build Coastguard Worker   BYTE LunAddrBytes[8];
74*8d67ca89SAndroid Build Coastguard Worker   SCSI3Addr_struct SCSI3Lun[4];
75*8d67ca89SAndroid Build Coastguard Worker   PhysDevAddr_struct PhysDev;
76*8d67ca89SAndroid Build Coastguard Worker   LogDevAddr_struct LogDev;
77*8d67ca89SAndroid Build Coastguard Worker } LUNAddr_struct;
78*8d67ca89SAndroid Build Coastguard Worker typedef struct _RequestBlock_struct {
79*8d67ca89SAndroid Build Coastguard Worker   BYTE CDBLen;
80*8d67ca89SAndroid Build Coastguard Worker   struct {
81*8d67ca89SAndroid Build Coastguard Worker     BYTE Type : 3;
82*8d67ca89SAndroid Build Coastguard Worker     BYTE Attribute : 3;
83*8d67ca89SAndroid Build Coastguard Worker     BYTE Direction : 2;
84*8d67ca89SAndroid Build Coastguard Worker   } Type;
85*8d67ca89SAndroid Build Coastguard Worker   HWORD Timeout;
86*8d67ca89SAndroid Build Coastguard Worker   BYTE CDB[16];
87*8d67ca89SAndroid Build Coastguard Worker } RequestBlock_struct;
88*8d67ca89SAndroid Build Coastguard Worker typedef union _MoreErrInfo_struct {
89*8d67ca89SAndroid Build Coastguard Worker   struct {
90*8d67ca89SAndroid Build Coastguard Worker     BYTE Reserved[3];
91*8d67ca89SAndroid Build Coastguard Worker     BYTE Type;
92*8d67ca89SAndroid Build Coastguard Worker     DWORD ErrorInfo;
93*8d67ca89SAndroid Build Coastguard Worker   } Common_Info;
94*8d67ca89SAndroid Build Coastguard Worker   struct {
95*8d67ca89SAndroid Build Coastguard Worker     BYTE Reserved[2];
96*8d67ca89SAndroid Build Coastguard Worker     BYTE offense_size;
97*8d67ca89SAndroid Build Coastguard Worker     BYTE offense_num;
98*8d67ca89SAndroid Build Coastguard Worker     DWORD offense_value;
99*8d67ca89SAndroid Build Coastguard Worker   } Invalid_Cmd;
100*8d67ca89SAndroid Build Coastguard Worker } MoreErrInfo_struct;
101*8d67ca89SAndroid Build Coastguard Worker typedef struct _ErrorInfo_struct {
102*8d67ca89SAndroid Build Coastguard Worker   BYTE ScsiStatus;
103*8d67ca89SAndroid Build Coastguard Worker   BYTE SenseLen;
104*8d67ca89SAndroid Build Coastguard Worker   HWORD CommandStatus;
105*8d67ca89SAndroid Build Coastguard Worker   DWORD ResidualCnt;
106*8d67ca89SAndroid Build Coastguard Worker   MoreErrInfo_struct MoreErrInfo;
107*8d67ca89SAndroid Build Coastguard Worker   BYTE SenseInfo[SENSEINFOBYTES];
108*8d67ca89SAndroid Build Coastguard Worker } ErrorInfo_struct;
109*8d67ca89SAndroid Build Coastguard Worker #pragma pack()
110*8d67ca89SAndroid Build Coastguard Worker #endif
111