aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2016-02-28 14:43:44 +0100
committerMartin Kaiser <wireshark@kaiser.cx>2016-02-28 13:45:18 +0000
commitecd4373418379fef190646d7dc914521e845fa41 (patch)
treea895acf3f1766f5b7cb587295baa59748b325bec /epan
parentc18527619e48f8f172d0f30a9617cca2eb8c3901 (diff)
usb: resolve some subclasse codes of interface class misc
Change-Id: I597fa87248caf77b3622065bc4dbdaa66cee809a Reviewed-on: https://code.wireshark.org/review/14222 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-usb.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index b67de7a346..8b993a49ee 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -188,6 +188,7 @@ static int hf_usb_bInterfaceClass = -1;
static int hf_usb_bInterfaceSubClass = -1;
static int hf_usb_bInterfaceSubClass_cdc = -1;
static int hf_usb_bInterfaceSubClass_hid = -1;
+static int hf_usb_bInterfaceSubClass_misc = -1;
static int hf_usb_bInterfaceSubClass_app = -1;
static int hf_usb_bInterfaceProtocol = -1;
static int hf_usb_bInterfaceProtocol_cdc = -1;
@@ -1213,6 +1214,16 @@ static const value_string usb_hid_boot_protocol_vals[] = {
};
static value_string_ext usb_hid_boot_protocol_vals_ext = VALUE_STRING_EXT_INIT(usb_hid_boot_protocol_vals);
+static const value_string usb_misc_subclass_vals[] = {
+ {0x03, "Cable Based Association Framework"},
+ {0x04, "RNDIS"},
+ {0x05, "USB3 Vision"},
+ {0x06, "Stream Transport Efficient Protocol"},
+ {0, NULL}
+};
+static value_string_ext usb_misc_subclass_vals_ext = VALUE_STRING_EXT_INIT(usb_misc_subclass_vals);
+
+
static const value_string usb_app_subclass_vals[] = {
{0x01, "Device Firmware Upgrade"},
{0x02, "IRDA Bridge"},
@@ -1946,6 +1957,9 @@ dissect_usb_interface_descriptor(packet_info *pinfo, proto_tree *parent_tree,
case IF_CLASS_HID:
proto_tree_add_item(tree, hf_usb_bInterfaceSubClass_hid, tvb, offset, 1, ENC_LITTLE_ENDIAN);
break;
+ case IF_CLASS_MISCELLANEOUS:
+ proto_tree_add_item(tree, hf_usb_bInterfaceSubClass_misc, tvb, offset, 1, ENC_LITTLE_ENDIAN);
+ break;
case IF_CLASS_APPLICATION_SPECIFIC:
proto_tree_add_item(tree, hf_usb_bInterfaceSubClass_app, tvb, offset, 1, ENC_LITTLE_ENDIAN);
break;
@@ -4959,6 +4973,11 @@ proto_register_usb(void)
FT_UINT8, BASE_HEX | BASE_EXT_STRING, &usb_hid_subclass_vals_ext, 0x0,
NULL, HFILL }},
+ { &hf_usb_bInterfaceSubClass_misc,
+ { "bInterfaceProtocol", "usb.bInterfaceSubClass",
+ FT_UINT8, BASE_HEX | BASE_EXT_STRING, &usb_misc_subclass_vals_ext, 0x0,
+ NULL, HFILL }},
+
{ &hf_usb_bInterfaceSubClass_app,
{ "bInterfaceProtocol", "usb.bInterfaceSubClass",
FT_UINT8, BASE_HEX | BASE_EXT_STRING, &usb_app_subclass_vals_ext, 0x0,