1 /* SPDX-License-Identifier: GPL-2.0 */
6 #include <scsi/scsi_cmnd.h>
8 /* Common header for all IUs */
13 } __attribute__((__packed__));
18 IU_ID_RESPONSE = 0x04,
19 IU_ID_TASK_MGMT = 0x05,
20 IU_ID_READ_READY = 0x06,
21 IU_ID_WRITE_READY = 0x07,
25 TMF_ABORT_TASK = 0x01,
26 TMF_ABORT_TASK_SET = 0x02,
27 TMF_CLEAR_TASK_SET = 0x04,
28 TMF_LOGICAL_UNIT_RESET = 0x08,
29 TMF_I_T_NEXUS_RESET = 0x10,
31 TMF_QUERY_TASK = 0x80,
32 TMF_QUERY_TASK_SET = 0x81,
33 TMF_QUERY_ASYNC_EVENT = 0x82,
37 RC_TMF_COMPLETE = 0x00,
38 RC_INVALID_INFO_UNIT = 0x02,
39 RC_TMF_NOT_SUPPORTED = 0x04,
41 RC_TMF_SUCCEEDED = 0x08,
42 RC_INCORRECT_LUN = 0x09,
43 RC_OVERLAPPED_TAG = 0x0a,
55 __u8 cdb[16]; /* XXX: Overflow-checking tools may misunderstand */
56 } __attribute__((__packed__));
66 } __attribute__((__packed__));
69 * Also used for the Read Ready and Write Ready IUs since they have the
70 * same first four bytes
80 __u8 sense[SCSI_SENSE_BUFFERSIZE];
81 } __attribute__((__packed__));
87 __u8 add_response_info[3];
89 } __attribute__((__packed__));
91 struct usb_pipe_usage_descriptor {
97 } __attribute__((__packed__));
103 DATA_OUT_PIPE_ID = 4,