~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/cciss_defs.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/cciss_defs.h (Version linux-6.12-rc7) and /include/uapi/linux/cciss_defs.h (Version linux-6.0.19)


  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 #ifndef CCISS_DEFS_H                                2 #ifndef CCISS_DEFS_H
  3 #define CCISS_DEFS_H                                3 #define CCISS_DEFS_H
  4                                                     4 
  5 #include <linux/types.h>                            5 #include <linux/types.h>
  6                                                     6 
  7 /* general boundary definitions */                  7 /* general boundary definitions */
  8 #define SENSEINFOBYTES          32 /* note tha      8 #define SENSEINFOBYTES          32 /* note that this value may vary
  9                                       between       9                                       between host implementations */
 10                                                    10 
 11 /* Command Status value */                         11 /* Command Status value */
 12 #define CMD_SUCCESS             0x0000             12 #define CMD_SUCCESS             0x0000
 13 #define CMD_TARGET_STATUS       0x0001             13 #define CMD_TARGET_STATUS       0x0001
 14 #define CMD_DATA_UNDERRUN       0x0002             14 #define CMD_DATA_UNDERRUN       0x0002
 15 #define CMD_DATA_OVERRUN        0x0003             15 #define CMD_DATA_OVERRUN        0x0003
 16 #define CMD_INVALID             0x0004             16 #define CMD_INVALID             0x0004
 17 #define CMD_PROTOCOL_ERR        0x0005             17 #define CMD_PROTOCOL_ERR        0x0005
 18 #define CMD_HARDWARE_ERR        0x0006             18 #define CMD_HARDWARE_ERR        0x0006
 19 #define CMD_CONNECTION_LOST     0x0007             19 #define CMD_CONNECTION_LOST     0x0007
 20 #define CMD_ABORTED             0x0008             20 #define CMD_ABORTED             0x0008
 21 #define CMD_ABORT_FAILED        0x0009             21 #define CMD_ABORT_FAILED        0x0009
 22 #define CMD_UNSOLICITED_ABORT   0x000A             22 #define CMD_UNSOLICITED_ABORT   0x000A
 23 #define CMD_TIMEOUT             0x000B             23 #define CMD_TIMEOUT             0x000B
 24 #define CMD_UNABORTABLE         0x000C             24 #define CMD_UNABORTABLE         0x000C
 25                                                    25 
 26 /* transfer direction */                           26 /* transfer direction */
 27 #define XFER_NONE               0x00               27 #define XFER_NONE               0x00
 28 #define XFER_WRITE              0x01               28 #define XFER_WRITE              0x01
 29 #define XFER_READ               0x02               29 #define XFER_READ               0x02
 30 #define XFER_RSVD               0x03               30 #define XFER_RSVD               0x03
 31                                                    31 
 32 /* task attribute */                               32 /* task attribute */
 33 #define ATTR_UNTAGGED           0x00               33 #define ATTR_UNTAGGED           0x00
 34 #define ATTR_SIMPLE             0x04               34 #define ATTR_SIMPLE             0x04
 35 #define ATTR_HEADOFQUEUE        0x05               35 #define ATTR_HEADOFQUEUE        0x05
 36 #define ATTR_ORDERED            0x06               36 #define ATTR_ORDERED            0x06
 37 #define ATTR_ACA                0x07               37 #define ATTR_ACA                0x07
 38                                                    38 
 39 /* cdb type */                                     39 /* cdb type */
 40 #define TYPE_CMD                                   40 #define TYPE_CMD                                0x00
 41 #define TYPE_MSG                                   41 #define TYPE_MSG                                0x01
 42                                                    42 
 43 /* Type defs used in the following structs */      43 /* Type defs used in the following structs */
 44 #define BYTE __u8                                  44 #define BYTE __u8
 45 #define WORD __u16                                 45 #define WORD __u16
 46 #define HWORD __u16                                46 #define HWORD __u16
 47 #define DWORD __u32                                47 #define DWORD __u32
 48                                                    48 
 49 #define CISS_MAX_LUN    1024                       49 #define CISS_MAX_LUN    1024
 50                                                    50 
 51 #define LEVEL2LUN   1 /* index into Target(x)      51 #define LEVEL2LUN   1 /* index into Target(x) structure, due to byte swapping */
 52 #define LEVEL3LUN   0                              52 #define LEVEL3LUN   0
 53                                                    53 
 54 #pragma pack(1)                                    54 #pragma pack(1)
 55                                                    55 
 56 /* Command List Structure */                       56 /* Command List Structure */
 57 typedef union _SCSI3Addr_struct {                  57 typedef union _SCSI3Addr_struct {
 58    struct {                                        58    struct {
 59     BYTE Dev;                                      59     BYTE Dev;
 60     BYTE Bus:6;                                    60     BYTE Bus:6;
 61     BYTE Mode:2;        /* b00 */                  61     BYTE Mode:2;        /* b00 */
 62   } PeripDev;                                      62   } PeripDev;
 63    struct {                                        63    struct {
 64     BYTE DevLSB;                                   64     BYTE DevLSB;
 65     BYTE DevMSB:6;                                 65     BYTE DevMSB:6;
 66     BYTE Mode:2;        /* b01 */                  66     BYTE Mode:2;        /* b01 */
 67   } LogDev;                                        67   } LogDev;
 68    struct {                                        68    struct {
 69     BYTE Dev:5;                                    69     BYTE Dev:5;
 70     BYTE Bus:3;                                    70     BYTE Bus:3;
 71     BYTE Targ:6;                                   71     BYTE Targ:6;
 72     BYTE Mode:2;        /* b10 */                  72     BYTE Mode:2;        /* b10 */
 73   } LogUnit;                                       73   } LogUnit;
 74 } SCSI3Addr_struct;                                74 } SCSI3Addr_struct;
 75                                                    75 
 76 typedef struct _PhysDevAddr_struct {               76 typedef struct _PhysDevAddr_struct {
 77   DWORD             TargetId:24;                   77   DWORD             TargetId:24;
 78   DWORD             Bus:6;                         78   DWORD             Bus:6;
 79   DWORD             Mode:2;                        79   DWORD             Mode:2;
 80   SCSI3Addr_struct  Target[2]; /* 2 level targ     80   SCSI3Addr_struct  Target[2]; /* 2 level target device addr */
 81 } PhysDevAddr_struct;                              81 } PhysDevAddr_struct;
 82                                                    82 
 83 typedef struct _LogDevAddr_struct {                83 typedef struct _LogDevAddr_struct {
 84   DWORD            VolId:30;                       84   DWORD            VolId:30;
 85   DWORD            Mode:2;                         85   DWORD            Mode:2;
 86   BYTE             reserved[4];                    86   BYTE             reserved[4];
 87 } LogDevAddr_struct;                               87 } LogDevAddr_struct;
 88                                                    88 
 89 typedef union _LUNAddr_struct {                    89 typedef union _LUNAddr_struct {
 90   BYTE               LunAddrBytes[8];              90   BYTE               LunAddrBytes[8];
 91   SCSI3Addr_struct   SCSI3Lun[4];                  91   SCSI3Addr_struct   SCSI3Lun[4];
 92   PhysDevAddr_struct PhysDev;                      92   PhysDevAddr_struct PhysDev;
 93   LogDevAddr_struct  LogDev;                       93   LogDevAddr_struct  LogDev;
 94 } LUNAddr_struct;                                  94 } LUNAddr_struct;
 95                                                    95 
 96 typedef struct _RequestBlock_struct {              96 typedef struct _RequestBlock_struct {
 97   BYTE   CDBLen;                                   97   BYTE   CDBLen;
 98   struct {                                         98   struct {
 99     BYTE Type:3;                                   99     BYTE Type:3;
100     BYTE Attribute:3;                             100     BYTE Attribute:3;
101     BYTE Direction:2;                             101     BYTE Direction:2;
102   } Type;                                         102   } Type;
103   HWORD  Timeout;                                 103   HWORD  Timeout;
104   BYTE   CDB[16];                                 104   BYTE   CDB[16];
105 } RequestBlock_struct;                            105 } RequestBlock_struct;
106                                                   106 
107 typedef union _MoreErrInfo_struct{                107 typedef union _MoreErrInfo_struct{
108   struct {                                        108   struct {
109     BYTE  Reserved[3];                            109     BYTE  Reserved[3];
110     BYTE  Type;                                   110     BYTE  Type;
111     DWORD ErrorInfo;                              111     DWORD ErrorInfo;
112   } Common_Info;                                  112   } Common_Info;
113   struct{                                         113   struct{
114     BYTE  Reserved[2];                            114     BYTE  Reserved[2];
115     BYTE  offense_size; /* size of offending e    115     BYTE  offense_size; /* size of offending entry */
116     BYTE  offense_num;  /* byte # of offense 0    116     BYTE  offense_num;  /* byte # of offense 0-base */
117     DWORD offense_value;                          117     DWORD offense_value;
118   } Invalid_Cmd;                                  118   } Invalid_Cmd;
119 } MoreErrInfo_struct;                             119 } MoreErrInfo_struct;
120 typedef struct _ErrorInfo_struct {                120 typedef struct _ErrorInfo_struct {
121   BYTE               ScsiStatus;                  121   BYTE               ScsiStatus;
122   BYTE               SenseLen;                    122   BYTE               SenseLen;
123   HWORD              CommandStatus;               123   HWORD              CommandStatus;
124   DWORD              ResidualCnt;                 124   DWORD              ResidualCnt;
125   MoreErrInfo_struct MoreErrInfo;                 125   MoreErrInfo_struct MoreErrInfo;
126   BYTE               SenseInfo[SENSEINFOBYTES]    126   BYTE               SenseInfo[SENSEINFOBYTES];
127 } ErrorInfo_struct;                               127 } ErrorInfo_struct;
128                                                   128 
129 #pragma pack()                                    129 #pragma pack()
130                                                   130 
131 #endif /* CCISS_DEFS_H */                         131 #endif /* CCISS_DEFS_H */
132                                                   132 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php