Wireshark-dev: [Wireshark-dev] need help on RRM capability info

From: soumya damodaran <soumya.goodgal@xxxxxxxxx>
Date: Tue, 11 Aug 2009 11:31:27 +0530
Hi,
 
      I am adding the 802.11k RRM capability Info which is a 5 Byte data. This is what i added.
 
     
                     proto_item *ti;
                     proto_tree *sub_tree;
                     guint16 capability;
                     offset+=2;
                     capability = tvb_get_letohs(tvb, offset);
                     ti = proto_tree_add_uint_format (tree, ff_rrm,tvb, offset, 5, capability,"RRM Capability Byte1: 0x%04X", capability);
                    sub_tree = proto_item_add_subtree (ti, ett_tag_rrm_capability);
 
/* Begin : First Byte*/
 
proto_tree_add_boolean (sub_tree, hf_tag_link_measurement, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_neighbor_report_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_parallel_measurement_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_repeated_measurement_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_beacon_passive_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_beacon_active_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_beacon_table_capability, tvb, offset, 1, capability);
proto_tree_add_boolean (sub_tree, hf_tag_beacon_reporting_condition_capability, tvb, offset, 1, capability);

/*End : First Byte */

offset+=1;

/*Begin: Second Byte */

proto_tree_add_boolean (sub_tree, hf_tag_frame_measurement, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_channel_load_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_noise_histogram_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_statistics_measurement_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_LCI_measurement_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_LCI_Azimuth_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_transmit_stream_capability, tvb, offset, 1, capability);

proto_tree_add_boolean (sub_tree, hf_tag_triggered_transmit_stream_capability, tvb, offset, 1, capability);

/* End: Second Byte */

and Tag definitions as

{"Link Measurement Capability", "wlan_mgt.link.measurement",FT_BOOLEAN, 40,TFS(&cf_rrm_link_flags),0x0001, NULL, HFILL }}  and hex values for rest of the tags as 0x0002,0x0004,0x0008,0x0010,

0x0020,0x0040,0x0080,0x0100,0x0200, 0x0400,0x0800 and so on. But only the first byte is getting displayed properly. The offset positions are correct but it is not getting displayed. From 2nd byte onwards it is diplaying blank dots only like this.

 

.... .... .... .... .... .... .... .... .... .... = Frame Measurement Capability: not implemented

How to display this 40 bit data properly? Please suggest as i am stuck with this.

 

Thanks,

Soumya