diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2016-02-28 14:43:44 +0100 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2016-02-28 13:45:18 +0000 |
commit | ecd4373418379fef190646d7dc914521e845fa41 (patch) | |
tree | a895acf3f1766f5b7cb587295baa59748b325bec /epan | |
parent | c18527619e48f8f172d0f30a9617cca2eb8c3901 (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.c | 19 |
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, |