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