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