2 * Dissector for the SCSI SBC commandset
3 * Extracted from packet-scsi.h
5 * Dinesh G Dutt (ddutt@cisco.com)
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 2002 Gerald Combs
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29 #ifndef __PACKET_SCSI_SBC_H_
30 #define __PACKET_SCSI_SBC_H_
33 #define SCSI_SBC_FORMATUNIT 0x04
34 #define SCSI_SBC_LOCKUNLKCACHE10 0x36
35 #define SCSI_SBC_LOCKUNLKCACHE16 0x92
36 #define SCSI_SBC_PREFETCH10 0x34
37 #define SCSI_SBC_PREFETCH16 0x90
38 #define SCSI_SBC_READ6 0x08
39 #define SCSI_SBC_READ10 0x28
40 #define SCSI_SBC_READ12 0xA8
41 #define SCSI_SBC_READ16 0x88
42 #define SCSI_SBC_READCAPACITY10 0x25
43 #define SCSI_SBC_SERVICEACTIONIN16 0x9E
44 #define SCSI_SBC_READDEFDATA10 0x37
45 #define SCSI_SBC_READDEFDATA12 0xB7
46 #define SCSI_SBC_READLONG 0x3E
47 #define SCSI_SBC_REASSIGNBLKS 0x07
48 #define SCSI_SBC_REBUILD16 0x81
49 #define SCSI_SBC_REBUILD32 0x7F
50 #define SCSI_SBC_REGENERATE16 0x82
51 #define SCSI_SBC_REGENERATE32 0x7F
52 #define SCSI_SBC_SEEK10 0x2B
53 #define SCSI_SBC_SETLIMITS10 0x33
54 #define SCSI_SBC_SETLIMITS12 0xB3
55 #define SCSI_SBC_STARTSTOPUNIT 0x1B
56 #define SCSI_SBC_SYNCCACHE10 0x35
57 #define SCSI_SBC_SYNCCACHE16 0x91
58 #define SCSI_SBC_VERIFY10 0x2F
59 #define SCSI_SBC_VERIFY12 0xAF
60 #define SCSI_SBC_VERIFY16 0x8F
61 #define SCSI_SBC_WRITE6 0x0A
62 #define SCSI_SBC_WRITE10 0x2A
63 #define SCSI_SBC_WRITE12 0xAA
64 #define SCSI_SBC_WRITE16 0x8A
65 #define SCSI_SBC_WRITENVERIFY10 0x2E
66 #define SCSI_SBC_WRITENVERIFY12 0xAE
67 #define SCSI_SBC_WRITENVERIFY16 0x8E
68 #define SCSI_SBC_WRITELONG 0x3F
69 #define SCSI_SBC_WRITESAME10 0x41
70 #define SCSI_SBC_WRITESAME16 0x93
71 #define SCSI_SBC_XDREAD10 0x52
72 #define SCSI_SBC_XDREAD32 0x7F
73 #define SCSI_SBC_XDWRITE10 0x50
74 #define SCSI_SBC_XDWRITE32 0x7F
75 #define SCSI_SBC_XDWRITEREAD10 0x53
76 #define SCSI_SBC_XDWRITEREAD32 0x7F
77 #define SCSI_SBC_XDWRITEEXTD16 0x80
78 #define SCSI_SBC_XDWRITEEXTD32 0x7F
79 #define SCSI_SBC_XPWRITE10 0x51
80 #define SCSI_SBC_XPWRITE32 0x7F
84 void dissect_sbc_startstopunit (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq _U_, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
85 void dissect_sbc_read12 (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
86 void dissect_sbc_write12 (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
87 void dissect_sbc_read10 (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
88 void dissect_sbc_write10 (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
89 void dissect_sbc_readcapacity10 (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint offset, gboolean isreq, gboolean iscdb, guint payload_len _U_, scsi_task_data_t *cdata _U_);
92 extern int hf_scsi_sbc_opcode;
93 extern scsi_cdb_table_t scsi_sbc_table[256];
94 WS_VAR_IMPORT const value_string scsi_sbc_vals[];