• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /****************************************************************************
2   ****************************************************************************
3   ***
4   ***   This header was automatically generated from a Linux kernel header
5   ***   of the same name, to make information necessary for userspace to
6   ***   call into the kernel available to libc.  It contains only constants,
7   ***   structures, and macros generated from the original header, and thus,
8   ***   contains no copyrightable information.
9   ***
10   ***   To edit the content of this header, modify the corresponding
11   ***   source file (e.g. under external/kernel-headers/original/) then
12   ***   run bionic/libc/kernel/tools/update_all.py
13   ***
14   ***   Any manual change here will be lost the next time this script will
15   ***   be run. You've been warned!
16   ***
17   ****************************************************************************
18   ****************************************************************************/
19  #ifndef CCISS_DEFS_H
20  #define CCISS_DEFS_H
21  #include <linux/types.h>
22  #define SENSEINFOBYTES 32
23  #define CMD_SUCCESS 0x0000
24  #define CMD_TARGET_STATUS 0x0001
25  #define CMD_DATA_UNDERRUN 0x0002
26  #define CMD_DATA_OVERRUN 0x0003
27  #define CMD_INVALID 0x0004
28  #define CMD_PROTOCOL_ERR 0x0005
29  #define CMD_HARDWARE_ERR 0x0006
30  #define CMD_CONNECTION_LOST 0x0007
31  #define CMD_ABORTED 0x0008
32  #define CMD_ABORT_FAILED 0x0009
33  #define CMD_UNSOLICITED_ABORT 0x000A
34  #define CMD_TIMEOUT 0x000B
35  #define CMD_UNABORTABLE 0x000C
36  #define XFER_NONE 0x00
37  #define XFER_WRITE 0x01
38  #define XFER_READ 0x02
39  #define XFER_RSVD 0x03
40  #define ATTR_UNTAGGED 0x00
41  #define ATTR_SIMPLE 0x04
42  #define ATTR_HEADOFQUEUE 0x05
43  #define ATTR_ORDERED 0x06
44  #define ATTR_ACA 0x07
45  #define TYPE_CMD 0x00
46  #define TYPE_MSG 0x01
47  #define BYTE __u8
48  #define WORD __u16
49  #define HWORD __u16
50  #define DWORD __u32
51  #define CISS_MAX_LUN 1024
52  #define LEVEL2LUN 1
53  #define LEVEL3LUN 0
54  #pragma pack(1)
55  typedef union _SCSI3Addr_struct {
56    struct {
57      BYTE Dev;
58      BYTE Bus : 6;
59      BYTE Mode : 2;
60    } PeripDev;
61    struct {
62      BYTE DevLSB;
63      BYTE DevMSB : 6;
64      BYTE Mode : 2;
65    } LogDev;
66    struct {
67      BYTE Dev : 5;
68      BYTE Bus : 3;
69      BYTE Targ : 6;
70      BYTE Mode : 2;
71    } LogUnit;
72  } SCSI3Addr_struct;
73  typedef struct _PhysDevAddr_struct {
74    DWORD TargetId : 24;
75    DWORD Bus : 6;
76    DWORD Mode : 2;
77    SCSI3Addr_struct Target[2];
78  } PhysDevAddr_struct;
79  typedef struct _LogDevAddr_struct {
80    DWORD VolId : 30;
81    DWORD Mode : 2;
82    BYTE reserved[4];
83  } LogDevAddr_struct;
84  typedef union _LUNAddr_struct {
85    BYTE LunAddrBytes[8];
86    SCSI3Addr_struct SCSI3Lun[4];
87    PhysDevAddr_struct PhysDev;
88    LogDevAddr_struct LogDev;
89  } LUNAddr_struct;
90  typedef struct _RequestBlock_struct {
91    BYTE CDBLen;
92    struct {
93      BYTE Type : 3;
94      BYTE Attribute : 3;
95      BYTE Direction : 2;
96    } Type;
97    HWORD Timeout;
98    BYTE CDB[16];
99  } RequestBlock_struct;
100  typedef union _MoreErrInfo_struct {
101    struct {
102      BYTE Reserved[3];
103      BYTE Type;
104      DWORD ErrorInfo;
105    } Common_Info;
106    struct {
107      BYTE Reserved[2];
108      BYTE offense_size;
109      BYTE offense_num;
110      DWORD offense_value;
111    } Invalid_Cmd;
112  } MoreErrInfo_struct;
113  typedef struct _ErrorInfo_struct {
114    BYTE ScsiStatus;
115    BYTE SenseLen;
116    HWORD CommandStatus;
117    DWORD ResidualCnt;
118    MoreErrInfo_struct MoreErrInfo;
119    BYTE SenseInfo[SENSEINFOBYTES];
120  } ErrorInfo_struct;
121  #pragma pack()
122  #endif
123