smartcard descriptor: bitmask for pin support field
Change-Id: If0e5cd90ff73bfbb211970f9a24974119c6ec550 Reviewed-on: https://code.wireshark.org/review/4664 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx> Tested-by: Martin Kaiser <wireshark@kaiser.cx>
This commit is contained in:
parent
9dd515cbd7
commit
8342eb891d
|
@ -71,6 +71,8 @@ static int hf_ccid_wLcdLayout = -1;
|
|||
static int hf_ccid_wLcdLayout_lines = -1;
|
||||
static int hf_ccid_wLcdLayout_chars = -1;
|
||||
static int hf_ccid_bPINSupport = -1;
|
||||
static int hf_ccid_bPINSupport_vrfy = -1;
|
||||
static int hf_ccid_bPINSupport_modify = -1;
|
||||
static int hf_ccid_bMaxCCIDBusySlots = -1;
|
||||
static int hf_ccid_Reserved = -1;
|
||||
|
||||
|
@ -82,6 +84,11 @@ static const int *bVoltageLevel_fields[] = {
|
|||
&hf_ccid_bVoltageSupport18,
|
||||
NULL
|
||||
};
|
||||
static const int *bPINSupport_fields[] = {
|
||||
&hf_ccid_bPINSupport_vrfy,
|
||||
&hf_ccid_bPINSupport_modify,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/* smart card descriptor, as defined in section 5.1
|
||||
|
@ -218,6 +225,7 @@ static gint ett_ccid = -1;
|
|||
static gint ett_ccid_desc = -1;
|
||||
static gint ett_ccid_voltage_level = -1;
|
||||
static gint ett_ccid_lcd_layout = -1;
|
||||
static gint ett_ccid_pin_support = -1;
|
||||
|
||||
/* Table of payload types - adapted from the I2C dissector */
|
||||
enum {
|
||||
|
@ -340,8 +348,9 @@ dissect_usb_ccid_descriptor(tvbuff_t *tvb, packet_info *pinfo _U_,
|
|||
tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
proto_tree_add_item(desc_tree, hf_ccid_bPINSupport,
|
||||
tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_bitmask(desc_tree, tvb, offset,
|
||||
hf_ccid_bPINSupport, ett_ccid_pin_support, bPINSupport_fields,
|
||||
ENC_LITTLE_ENDIAN);
|
||||
offset++;
|
||||
|
||||
proto_tree_add_item(desc_tree, hf_ccid_bMaxCCIDBusySlots,
|
||||
|
@ -640,6 +649,12 @@ proto_register_ccid(void)
|
|||
{&hf_ccid_bPINSupport,
|
||||
{ "PIN support", "usbccid.hf_ccid_bPINSupport",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
|
||||
{&hf_ccid_bPINSupport_vrfy,
|
||||
{ "PIN verification", "usbccid.hf_ccid_bPINSupport.verify",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_set_notset), 0x01, NULL, HFILL }},
|
||||
{&hf_ccid_bPINSupport_modify,
|
||||
{ "PIN modification", "usbccid.hf_ccid_bPINSupport.modify",
|
||||
FT_BOOLEAN, 8, TFS(&tfs_set_notset), 0x02, NULL, HFILL }},
|
||||
{&hf_ccid_bMaxCCIDBusySlots,
|
||||
{ "maximum number of busy slots", "usbccid.hf_ccid_bMaxCCIDBusySlots",
|
||||
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
|
||||
|
@ -652,7 +667,8 @@ proto_register_ccid(void)
|
|||
&ett_ccid,
|
||||
&ett_ccid_desc,
|
||||
&ett_ccid_voltage_level,
|
||||
&ett_ccid_lcd_layout
|
||||
&ett_ccid_lcd_layout,
|
||||
&ett_ccid_pin_support
|
||||
};
|
||||
|
||||
static const enum_val_t sub_enum_vals[] = {
|
||||
|
|
Loading…
Reference in New Issue