diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-02-25 19:46:17 +0100 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-02-25 20:16:14 +0000 |
commit | 34933eb80578f6e2357d779e444d37b0e7594582 (patch) | |
tree | f1457a75a64abd2120c9e8325e0d42c55b869801 /epan/dissectors | |
parent | f5ebc083c66207ad19fbe4cae8138344c2c67653 (diff) |
802.11 : Add channel number custom (to display info when report channel number is 0 or 255)
Fix also indent for other custom...
Change-Id: Ic95b65d5217a0d1e967892ac2694f3ba749242fb
Reviewed-on: https://code.wireshark.org/review/379
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index e6003904d1..3f300b5369 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -7774,12 +7774,12 @@ oui_base_custom(gchar *result, guint32 oui) /* Attempt an OUI lookup. */ manuf_name = get_manuf_name_if_known(p_oui); if (manuf_name == NULL) { - /* Could not find an OUI. */ - g_snprintf(result, ITEM_LABEL_LENGTH, "%.2x-%.2x-%.2x", p_oui[0], p_oui[1], p_oui[2]); + /* Could not find an OUI. */ + g_snprintf(result, ITEM_LABEL_LENGTH, "%.2x-%.2x-%.2x", p_oui[0], p_oui[1], p_oui[2]); } else { - /* Found an address string. */ - g_snprintf(result, ITEM_LABEL_LENGTH, "%.2x-%.2x-%.2x (%s)", p_oui[0], p_oui[1], p_oui[2], manuf_name); + /* Found an address string. */ + g_snprintf(result, ITEM_LABEL_LENGTH, "%.2x-%.2x-%.2x (%s)", p_oui[0], p_oui[1], p_oui[2], manuf_name); } } @@ -7854,23 +7854,36 @@ rsn_gmcs_base_custom(gchar *result, guint32 gmcs) static void rsni_base_custom(gchar *result, guint32 rsni) { - double temp_double; + double temp_double; - temp_double = (double)rsni; - g_snprintf(result, ITEM_LABEL_LENGTH, "%f dB", (temp_double / 2)); + temp_double = (double)rsni; + g_snprintf(result, ITEM_LABEL_LENGTH, "%f dB", (temp_double / 2)); } static void vht_tpe_custom(gchar *result, guint8 txpwr) { - gint8 txpwr_db; txpwr_db = (gint8)(txpwr); g_snprintf(result, ITEM_LABEL_LENGTH, "%3.1f dBm", (txpwr_db/2.0)); - } +static void +channel_number_custom(gchar *result, guint8 channel_number) +{ + switch(channel_number){ + case 0: + g_snprintf(result, ITEM_LABEL_LENGTH, "%u (iterative measurements on all supported channels in the specified Operating Class)", channel_number); + break; + case 255: + g_snprintf(result, ITEM_LABEL_LENGTH, "%u (iterative measurements on all supported channels listed in the AP Channel Report)", channel_number); + break; + default : + g_snprintf(result, ITEM_LABEL_LENGTH, "%u (iterative measurements on that Channel Number)", channel_number); + break; + } +} /* WPA / WME */ static const value_string ieee802111_wfa_ie_type_vals[] = { { 1, "WPA Information Element" }, @@ -12226,7 +12239,7 @@ add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_beacon_sub_request, tvb, offset, 1, ENC_BIG_ENDIAN); offset += 1; break; - case MEASURE_REQ_BEACON_SUB_APCP: /* Request (51) */ + case MEASURE_REQ_BEACON_SUB_APCP: /* AP Channel Report (51) */ /* TODO */ break; default: @@ -19448,7 +19461,7 @@ proto_register_ieee80211 (void) {&hf_ieee80211_tag_measure_request_channel_number, {"Measurement Channel Number", "wlan_mgt.measure.req.channelnumber", - FT_UINT8, BASE_HEX, NULL, 0, + FT_UINT8, BASE_CUSTOM, channel_number_custom, 0, NULL, HFILL }}, {&hf_ieee80211_tag_measure_request_start_time, @@ -19578,7 +19591,7 @@ proto_register_ieee80211 (void) {&hf_ieee80211_tag_measure_report_channel_number, {"Measurement Channel Number", "wlan_mgt.measure.rep.channelnumber", - FT_UINT8, BASE_HEX, NULL, 0, + FT_UINT8, BASE_CUSTOM, channel_number_custom, 0, NULL, HFILL }}, {&hf_ieee80211_tag_measure_report_start_time, @@ -20222,7 +20235,7 @@ proto_register_ieee80211 (void) {&hf_ieee80211_tag_neighbor_report_channel_number, {"Channel Number", "wlan_mgt.nreport.channumber", - FT_UINT8, BASE_HEX, NULL, 0, + FT_UINT8, BASE_CUSTOM, channel_number_custom, 0, NULL, HFILL }}, {&hf_ieee80211_tag_neighbor_report_phy_type, |