aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-usb.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-10-18 11:24:03 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-10-18 11:24:03 +0000
commit232e884ca140fd4146f1b96b4cfc6c3a5ae80c94 (patch)
tree28bea8f6e89dd0af8966621d9b7f390ad2cfc2c3 /epan/dissectors/packet-usb.c
parent6a75fbab650e4e4e2f125f06a4fd5a2ca0bfcc3e (diff)
new dissector : usb mass storage
this is a wrapper protocol to store SCSI frames inside usb bulk data transfers the dissector is far from complete but does track ITL and ITLQ structures and will also call the SCSI dissector to dissect the SCSI CDB. what is still missing is handling of data in/out and scsi responses at least it will now display the SCSI CDB and dissect it. woohoo svn path=/trunk/; revision=19589
Diffstat (limited to 'epan/dissectors/packet-usb.c')
-rw-r--r--epan/dissectors/packet-usb.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index f46ca3e453..52e9d68e84 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -102,14 +102,6 @@ static gint ett_descriptor_device = -1;
static dissector_table_t usb_bulk_dissector_table;
-/* This is the endpoint number user for "no endpoint" or the fake endpoint
- * for the host side since we need two endpoints to manage conversations
- * properly.
- */
-#define NO_ENDPOINT 0xffff
-
-
-
typedef enum {
URB_CONTROL_INPUT,
URB_CONTROL_OUTPUT,
@@ -196,6 +188,7 @@ get_usb_conv_info(conversation_t *conversation)
usb_conv_info = se_alloc(sizeof(usb_conv_info_t));
usb_conv_info->class=IF_CLASS_UNKNOWN;
usb_conv_info->transactions=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "usb transactions");
+ usb_conv_info->masstorage=NULL;
conversation_add_proto_data(conversation, proto_usb, usb_conv_info);
}
@@ -456,6 +449,7 @@ dissect_usb_interface_descriptor(packet_info *pinfo, proto_tree *parent_tree, tv
usb_trans_info->interface_info=se_alloc(sizeof(usb_conv_info_t));
usb_trans_info->interface_info->class=tvb_get_guint8(tvb, offset);
usb_trans_info->interface_info->transactions=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "usb transactions");
+ usb_trans_info->interface_info->masstorage=NULL;
}
offset++;
@@ -878,6 +872,7 @@ dissect_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent)
usb_conv_info = se_alloc(sizeof(usb_conv_info_t));
usb_conv_info->class=IF_CLASS_UNKNOWN;
usb_conv_info->transactions=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "usb transactions");
+ usb_conv_info->masstorage=NULL;
conversation_add_proto_data(conversation, proto_usb, usb_conv_info);
}