11 #ifndef __PACKET_SCSI_H_
12 #define __PACKET_SCSI_H_
26 #define SCSI_CMDSET_DEFAULT 0x80
27 #define SCSI_CMDSET_MASK 0x7f
44 guint32 first_exchange_frame;
45 guint32 last_exchange_frame;
50 #define SCSI_DATA_READ 0x0001
51 #define SCSI_DATA_WRITE 0x0002
67 guint32 bidir_data_length;
79 #define SCSI_PDU_TYPE_CDB 1
80 #define SCSI_PDU_TYPE_DATA 2
81 #define SCSI_PDU_TYPE_RSP 4
82 #define SCSI_PDU_TYPE_SNS 5
93 gboolean isreq, gboolean iscdb,
97 scsi_dissector_t func;
102 #define SCSI_SPC_ACCESS_CONTROL_IN 0x86
103 #define SCSI_SPC_ACCESS_CONTROL_OUT 0x87
104 #define SCSI_SPC_CHANGE_DEFINITION 0x40
105 #define SCSI_SPC_COMPARE 0x39
106 #define SCSI_SPC_COPY 0x18
107 #define SCSI_SPC_COPY_AND_VERIFY 0x3A
108 #define SCSI_SPC_INQUIRY 0x12
109 #define SCSI_SPC_EXTCOPY 0x83
110 #define SCSI_SPC_RECVCOPY 0x84
111 #define SCSI_SPC_LOGSELECT 0x4C
112 #define SCSI_SPC_LOGSENSE 0x4D
113 #define SCSI_SPC_MODESELECT6 0x15
114 #define SCSI_SPC_MODESELECT10 0x55
115 #define SCSI_SPC_MODESENSE6 0x1A
116 #define SCSI_SPC_MODESENSE10 0x5A
117 #define SCSI_SPC_PERSRESVIN 0x5E
118 #define SCSI_SPC_PERSRESVOUT 0x5F
119 #define SCSI_SPC_PREVMEDREMOVAL 0x1E
120 #define SCSI_SPC_READBUFFER 0x3C
121 #define SCSI_SPC_RCVDIAGRESULTS 0x1C
122 #define SCSI_SPC_RELEASE6 0x17
123 #define SCSI_SPC_RELEASE10 0x57
124 #define SCSI_SPC_MGMT_PROTOCOL_IN 0xA3
125 #define SCSI_SPC_REPORTLUNS 0xA0
126 #define SCSI_SPC_REQSENSE 0x03
127 #define SCSI_SPC_RESERVE6 0x16
128 #define SCSI_SPC_RESERVE10 0x56
129 #define SCSI_SPC_SENDDIAG 0x1D
130 #define SCSI_SPC_SETDEVICEID 0xA4
131 #define SCSI_SPC_TESTUNITRDY 0x00
132 #define SCSI_SPC_WRITEBUFFER 0x3B
133 #define SCSI_SPC_VARLENCDB 0x7F
175 #define SCSI_DEV_UNKNOWN -1
176 #define SCSI_DEV_SBC 0x0
177 #define SCSI_DEV_SSC 0x1
178 #define SCSI_DEV_PRNT 0x2
179 #define SCSI_DEV_PROC 0x3
180 #define SCSI_DEV_WORM 0x4
181 #define SCSI_DEV_CDROM 0x5
182 #define SCSI_DEV_SCAN 0x6
183 #define SCSI_DEV_OPTMEM 0x7
184 #define SCSI_DEV_SMC 0x8
185 #define SCSI_DEV_COMM 0x9
186 #define SCSI_DEV_RAID 0xC
187 #define SCSI_DEV_SES 0xD
188 #define SCSI_DEV_RBC 0xE
189 #define SCSI_DEV_OCRW 0xF
190 #define SCSI_DEV_OSD 0x11
191 #define SCSI_DEV_ADC 0x12
192 #define SCSI_DEV_NOLUN 0x1F
194 #define SCSI_DEV_BITS 0x1F
195 #define SCSI_MS_PCODE_BITS 0x3F
205 guint32 relative_offset);
210 extern int *
const cdb_control_fields[6];
211 extern gint ett_scsi_control;
212 extern int hf_scsi_control;
213 extern int hf_scsi_alloclen16;
216 #define SHORT_FORM_BLOCK_ID 0x00
217 #define SHORT_FORM_VENDOR_SPECIFIC 0x01
218 #define LONG_FORM 0x06
219 #define EXTENDED_FORM 0x08
220 #define SERVICE_READ_CAPACITY16 0x10
221 #define SERVICE_READ_LONG16 0x11
222 #define SERVICE_WRITE_LONG16 0x11
223 #define SERVICE_GET_LBA_STATUS 0x12
224 #define SERVICE_REPORT_REFERRALS 0x13
232 #define MPI_MANAGEMENT_PROTOCOL_IN 0x10
233 #define MPI_REPORT_SUPPORTED_OPERATION_CODES 0x0C
251 #define TRY_SCSI_CDB_ALLOC_LEN(length_arg) \
254 volatile guint try_offset; \
255 guint32 try_end_data_offset=0; \
257 try_tvb=tvb_new_subset_length(tvb_a, offset_a, length_arg); \
261 #define END_TRY_SCSI_CDB_ALLOC_LEN \
262 if(try_end_data_offset){ \
266 tvb_get_guint8(try_tvb,try_end_data_offset); \
269 CATCH(BoundsError) { \
273 CATCH(ContainedBoundsError) { \
282 CATCH(ReportedBoundsError) { \
286 THROW(ScsiBoundsError); \
300 #define SET_SCSI_DATA_END(offset_arg) \
301 try_end_data_offset=offset_arg;
304 WS_DLL_PUBLIC guint scsistat_param(
register_srt_t* srt,
const char* opt_arg,
char** err);
Definition: packet-scsi.h:25
Definition: packet-scsi.h:43
Definition: packet_info.h:44
Definition: packet-scsi.h:96
Definition: packet-scsi.h:83
Definition: value_string.h:170
Definition: value_string.h:26
Definition: conversation.h:220
Definition: srt_table.c:20
Definition: tvbuff-int.h:35