diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-10-18 11:24:03 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2006-10-18 11:24:03 +0000 |
commit | 232e884ca140fd4146f1b96b4cfc6c3a5ae80c94 (patch) | |
tree | 28bea8f6e89dd0af8966621d9b7f390ad2cfc2c3 /epan/dissectors/packet-usb.c | |
parent | 6a75fbab650e4e4e2f125f06a4fd5a2ca0bfcc3e (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.c | 11 |
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); } |