diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:14:53 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:14:53 +0000 |
commit | a86c5f7cae7ec9a3398300555a0b644689d946a1 (patch) | |
tree | 39fe4b107c71174fd1e8a8ceb9a4d2aa14116248 /epan/dissectors/packet-ieee80211.c | |
parent | Releasing progress-linux version 4.2.6-1~progress7.99u1. (diff) | |
download | wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.tar.xz wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.zip |
Merging upstream version 4.4.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-ieee80211.c')
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 14611 |
1 files changed, 7533 insertions, 7078 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 67d4be52..1e44ce8b 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -70,6 +70,9 @@ #include <epan/uat.h> #include <epan/eapol_keydes_types.h> #include <epan/proto_data.h> +#include <epan/tfs.h> +#include <epan/unit_strings.h> +#include <wsutil/array.h> #include "packet-wps.h" #include "packet-e212.h" @@ -86,8 +89,8 @@ static dissector_handle_t centrino_handle; typedef struct { DOT11DECRYPT_KEY_ITEM used_key; - guint keydata_len; - guint8 *keydata; + unsigned keydata_len; + uint8_t *keydata; } proto_keydata_t; extern value_string_ext eap_type_vals_ext; /* from packet-eap.c */ @@ -115,7 +118,7 @@ static const unit_name_string units_10_ms = { " times 10 milliseconds", NULL }; * This is based on looking at BEACONs, or perhaps from the radiotap header * if we get one. */ -static wmem_map_t *sta_prop_hash = NULL; +static wmem_map_t *sta_prop_hash; /* * Not sure that they can be both, so are bit values wanted? @@ -126,17 +129,17 @@ static wmem_map_t *sta_prop_hash = NULL; /* * Add the top three bytes of the STA address to the bottom three bytes */ -static guint -sta_prop_hash_fn(gconstpointer k) +static unsigned +sta_prop_hash_fn(const void *k) { - return wmem_strong_hash((const guint8 *)k, 6); + return wmem_strong_hash((const uint8_t *)k, 6); } static gboolean -sta_prop_equal_fn(gconstpointer v, gconstpointer w) +sta_prop_equal_fn(const void *v, const void *w) { - const guint8 *k1 = (const guint8 *)v; - const guint8 *k2 = (const guint8 *)w; + const uint8_t *k1 = (const uint8_t *)v; + const uint8_t *k2 = (const uint8_t *)w; return memcmp(k1, k2, 6) == 0; /* Compare each address for equality */ } @@ -145,42 +148,42 @@ sta_prop_equal_fn(gconstpointer v, gconstpointer w) * taken from kernel's include/linux/bitops.h */ #define GENMASK(h, l) (((1U << ((h) - (l) + 1)) - 1) << (l)) -#define GENMASK64(h, l) (((G_GUINT64_CONSTANT(1) << ((h) - (l) + 1)) - 1) << (l)) +#define GENMASK64(h, l) (((UINT64_C(1) << ((h) - (l) + 1)) - 1) << (l)) /* Defragment fragmented 802.11 datagrams */ -static gboolean wlan_defragment = TRUE; +static bool wlan_defragment = true; /* call subdissector for retransmitted frames */ -static gboolean wlan_subdissector = TRUE; +static bool wlan_subdissector = true; /* Check for the presence of the 802.11 FCS */ -static gboolean wlan_check_fcs = FALSE; +static bool wlan_check_fcs; /* Check the FCS checksum */ -static gboolean wlan_check_checksum = FALSE; +static bool wlan_check_checksum; /* Ignore vendor-specific HT elements */ -static gboolean wlan_ignore_draft_ht = FALSE; +static bool wlan_ignore_draft_ht; /* Ignore the Protection bit; assume packet is decrypted */ #define WLAN_IGNORE_PROT_NO 0 #define WLAN_IGNORE_PROT_WO_IV 1 #define WLAN_IGNORE_PROT_W_IV 2 -static gint wlan_ignore_prot = WLAN_IGNORE_PROT_NO; +static int wlan_ignore_prot = WLAN_IGNORE_PROT_NO; /* The Key MIC len has been set by the user */ -static gboolean wlan_key_mic_len_enable = FALSE; -static guint wlan_key_mic_len = 0; +static bool wlan_key_mic_len_enable; +static unsigned wlan_key_mic_len; /* Counter incremented on each (re)association * This value will be assiged to each packet's pinfo->srcport/pinfo->destport * as a way to uniquely make a one to one mapping between conversations and * associations */ -static guint32 association_counter = 0; +static uint32_t association_counter; /* Treat all Wi-Fi frames as being S1G frames where it is important */ -static gboolean treat_as_s1g = FALSE; +static bool treat_as_s1g; /* Table for reassembly of fragments. */ static reassembly_table wlan_reassembly_table; @@ -192,9 +195,9 @@ static struct _wlan_stats wlan_stats; * UAT for WEP decoder *------------------------------------- */ -static uat_wep_key_record_t *uat_wep_key_records = NULL; -static uat_t *wep_uat = NULL; -static guint num_wepkeys_uat = 0; +static uat_wep_key_record_t *uat_wep_key_records; +static uat_t *wep_uat; +static unsigned num_wepkeys_uat; static void * uat_wep_key_record_copy_cb(void* n, const void* o, size_t siz _U_) @@ -212,15 +215,16 @@ uat_wep_key_record_update_cb(void* r, char** err) { uat_wep_key_record_t* rec = (uat_wep_key_record_t *)r; decryption_key_t* dk; - guint dk_type; + unsigned dk_type; if (rec->string == NULL) { *err = g_strdup("Key can't be blank"); - return FALSE; + return false; } + *err = NULL; g_strstrip(rec->string); - dk = parse_key_string(rec->string, rec->key); + dk = parse_key_string(rec->string, rec->key, err); if (dk != NULL) { dk_type = dk->type; @@ -231,43 +235,44 @@ uat_wep_key_record_update_cb(void* r, char** err) case DOT11DECRYPT_KEY_TYPE_WEP_104: if (rec->key != DOT11DECRYPT_KEY_TYPE_WEP) { *err = g_strdup("Invalid WEP key format"); - return FALSE; + return false; } break; case DOT11DECRYPT_KEY_TYPE_WPA_PWD: if (rec->key != DOT11DECRYPT_KEY_TYPE_WPA_PWD) { *err = g_strdup("Invalid WPA_PWD key format"); - return FALSE; + return false; } break; case DOT11DECRYPT_KEY_TYPE_WPA_PSK: if (rec->key != DOT11DECRYPT_KEY_TYPE_WPA_PSK) { *err = g_strdup("Invalid WPA_PSK key format"); - return FALSE; + return false; } break; case DOT11DECRYPT_KEY_TYPE_TK: if (rec->key != DOT11DECRYPT_KEY_TYPE_TK) { *err = g_strdup("Invalid TK key format"); - return FALSE; + return false; } break; case DOT11DECRYPT_KEY_TYPE_MSK: if (rec->key != DOT11DECRYPT_KEY_TYPE_MSK) { *err = g_strdup("Invalid MSK key format"); - return FALSE; + return false; } break; default: *err = g_strdup("Invalid key format"); - return FALSE; - break; + return false; } } else { - *err = g_strdup("Invalid key format"); - return FALSE; + if (*err == NULL) { + *err = g_strdup("Invalid key format"); + } + return false; } - return TRUE; + return true; } static void @@ -277,11 +282,11 @@ uat_wep_key_record_free_cb(void*r) g_free(key->string); } -UAT_VS_DEF(uat_wep_key_records, key, uat_wep_key_record_t, guint8, 0, STRING_KEY_TYPE_WEP) +UAT_VS_DEF(uat_wep_key_records, key, uat_wep_key_record_t, uint8_t, 0, STRING_KEY_TYPE_WEP) UAT_CSTRING_CB_DEF(uat_wep_key_records, string, uat_wep_key_record_t) /* Stuff for the WEP/WPA/WPA2 decoder */ -static gboolean enable_decryption = TRUE; +static bool enable_decryption = true; static void ieee_80211_add_tagged_parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, @@ -293,28 +298,28 @@ static void save_proto_data(tvbuff_t *tvb, packet_info *pinfo, int offset, size_t size, int key); static void -save_proto_data_value(packet_info *pinfo, guint value, int key); +save_proto_data_value(packet_info *pinfo, unsigned value, int key); static void try_scan_tdls_keys(tvbuff_t *tvb, packet_info *pinfo, int offset); static void try_scan_ft_assoc_keys(packet_info *pinfo, const wlan_hdr_t *whdr); static tvbuff_t * -try_decrypt(tvbuff_t *tvb, packet_info *pinfo, guint offset, guint len, - guint8 *algorithm, guint32 *sec_trailer, +try_decrypt(tvbuff_t *tvb, packet_info *pinfo, unsigned offset, unsigned len, + uint8_t *algorithm, uint32_t *sec_trailer, PDOT11DECRYPT_KEY_ITEM used_key); -static int weak_iv(guchar *iv); +static int weak_iv(unsigned char *iv); typedef struct mimo_control { - guint8 nc; - guint8 nr; - gboolean chan_width; - guint8 grouping; - guint8 coefficient_size; - guint8 codebook_info; - guint8 remaining_matrix_segment; + uint8_t nc; + uint8_t nr; + bool chan_width; + uint8_t grouping; + uint8_t coefficient_size; + uint8_t codebook_info; + uint8_t remaining_matrix_segment; } mimo_control_t; /* ************************************************************************* */ @@ -903,6 +908,7 @@ static const value_string ieee80211_supported_rates_vals[] = { { 0xE0, "48(B)" }, { 0xEC, "54(B)" }, /* BSS membership selector */ + { 0xFA, "HE PHY" }, { 0xFB, "SAE Hash to Element Only" }, { 0xFC, "EPD" }, /* 802.11ak */ { 0xFD, "GLK" }, /* 802.11ak */ @@ -1111,11 +1117,12 @@ static const value_string ieee80211_status_code[] = { { 121, "Success, the CAG Version provided by the requesting STA is the same as the latest CAG Version provided by the relevant server" }, { 122, "The STA is not authorized to use GLK per local policy" }, { 123, "Authentication rejected because the password identifier is unknown" }, - { 124, "Requested TCLAS processing has been terminated by the AP due to insufficient QoS capacity" }, - { 125, "Requested TCLAS processing has been terminated by the AP due to conflict with higher layer QoS policies" }, - /*{ 125, "Request denied because source address of request is inconsistent with local MAC address policy" },*/ + { 124, "Reserved"}, + { 125, "Request denied because source address of request is inconsistent with local MAC address policy" }, { 126, "SAE authentication uses direct hashing, instead of looping, to obtain the PWE" }, { 127, "Reserved"}, + { 128, "Requested TCLAS processing has been terminated by the AP due to insufficient QoS capacity" }, + { 129, "Requested TCLAS processing has been terminated by the AP due to conflict with higher layer QoS policies" }, { 130, "Association denied because the requesting STA is affiliated with a non-AP MLD that is associated with the AP MLD"}, { 131, "EPCS priority access denied because the non-AP MLD is not authorized to use the service"}, { 132, "EPCS priority access denied due to reason outside the scope of this standard"}, @@ -1291,7 +1298,7 @@ static value_string_ext aruba_mgt_typevals_ext = VALUE_STRING_EXT_INIT(aruba_mgt #define CAT_UNPROTECTED_DMG 20 #define CAT_VHT 21 #define CAT_S1G 22 -#define CAT_S1G_RELAY 23 +#define CAT_PROTECTED_S1G 23 #define CAT_FLOW_CONTROL 24 #define CAT_CONTROL_RESPONSE_MCS_NEG 25 #define CAT_FILS 26 @@ -1749,6 +1756,16 @@ static const true_false_string ieee80211_tag_measure_report_frame_info_frame_typ "Beacon/Probe Response Frame" }; +static const true_false_string ig_tfs = { + "Group address (multicast/broadcast)", + "Individual address (unicast)" +}; + +static const true_false_string lg_tfs = { + "Locally administered address (this is NOT the factory default)", + "Globally unique address (factory default)" +}; + static const true_false_string ieee80211_tag_measure_map_field_bss_flag = { "At least one valid MPDU was received by another BSS or IBSS during the measurement period.", "No valid MPDUs were received from another BSS or IBSS during the measurement period." @@ -1933,7 +1950,7 @@ static const value_string ieee80211_tag_measure_report_civic_sub_id_vals[] = { { MEASURE_REP_CIVIC_SUB_REPORTED_LOCATION_SHAPE, "Location Shape" }, { MEASURE_REP_CIVIC_SUB_REPORTED_MAP_IMAGE, "Map Image" }, { MEASURE_REP_CIVIC_SUB_REPORTED_RESERVED, "Reserved" }, - { MEASURE_REP_CIVIC_SUB_REPORTED_CO_BSSID, "Co-Locatel BSSID List" }, + { MEASURE_REP_CIVIC_SUB_REPORTED_CO_BSSID, "Co-Located BSSID List" }, { 221, "Vendor Specific" }, { 0x00, NULL} }; @@ -2394,7 +2411,7 @@ static const value_string category_codes[] = { {CAT_UNPROTECTED_DMG, "Unprotected DMG"}, {CAT_VHT, "VHT"}, {CAT_S1G, "S1G"}, - {CAT_S1G_RELAY, "S1G Relay"}, + {CAT_PROTECTED_S1G, "Protected S1G"}, {CAT_FLOW_CONTROL, "Flow Control"}, {CAT_CONTROL_RESPONSE_MCS_NEG, "Control Response MCS Negotiation"}, {CAT_FILS, "FILS"}, @@ -3392,6 +3409,41 @@ static const value_string s1g_action_vals[] = { {0, NULL}, }; +#define PROT_S1G_ACT_REACH_ADDR_UPDATE 0 +#define PROT_S1G_ACT_RELAY_ACTIVATE_REQ 1 +#define PROT_S1G_ACT_RELAY_ACTIVATE_RESP 2 +#define PROT_S1G_ACT_HEADER_COMPRESSION 3 +#define PROT_S1G_ACT_TWT_SETUP 4 +#define PROT_S1G_ACT_TWT_TEARDOWN 5 +#define PROT_S1G_ACT_TWT_INFORMATION 6 +#define PROT_S1G_ACT_AID_SWITCH_REQUEST 7 +#define PROT_S1G_ACT_AID_SWITCH_RESPONSE 8 +#define PROT_S1G_ACT_SYNC_CONTROL 9 +#define PROT_S1G_ACT_STA_INFO_ANNOUNCE 10 +#define PROT_S1G_ACT_EDCA_PARAM_SET 11 +#define PROT_S1G_ACT_EL_OPERATION 12 +#define PROT_S1G_ACT_SECT_GROUP_ID_LIST 13 +#define PROT_S1G_ACT_SECT_ID_FEEDBACK 14 + +static const value_string prot_s1g_action_vals[] = { + {PROT_S1G_ACT_REACH_ADDR_UPDATE, "Reachable Address Update"}, + {PROT_S1G_ACT_RELAY_ACTIVATE_REQ, "Relay Activation Request"}, + {PROT_S1G_ACT_RELAY_ACTIVATE_RESP, "Relay Activation Response"}, + {PROT_S1G_ACT_HEADER_COMPRESSION, "Header Compression"}, + {PROT_S1G_ACT_TWT_SETUP, "Protected TWT Setup"}, + {PROT_S1G_ACT_TWT_TEARDOWN, "Protected TWT Teardown"}, + {PROT_S1G_ACT_TWT_INFORMATION, "Protected TWT Information"}, + {PROT_S1G_ACT_AID_SWITCH_REQUEST, "Protected AID Switch Request"}, + {PROT_S1G_ACT_AID_SWITCH_RESPONSE, "Protected AID Switch Response"}, + {PROT_S1G_ACT_SYNC_CONTROL, "Protected Sync Control"}, + {PROT_S1G_ACT_STA_INFO_ANNOUNCE, "Protected STA Information Announcement"}, + {PROT_S1G_ACT_EDCA_PARAM_SET, "Protected EDCA Parameter Set"}, + {PROT_S1G_ACT_EL_OPERATION, "Protected EL Operation"}, + {PROT_S1G_ACT_SECT_GROUP_ID_LIST, "Protected Sectorized Group ID List"}, + {PROT_S1G_ACT_SECT_ID_FEEDBACK, "Protected Sector ID Feedback"}, + {0, NULL}, +}; + static const value_string twt_neg_type_vals[] = { {0x0, "Individual TWT"}, {0x1, "Wake TBTT"}, @@ -3672,605 +3724,638 @@ static const value_string fils_discovery_capability_fils_minimum_rate_he[] = { {0x00, NULL} }; -static int proto_wlan = -1; -static int proto_centrino = -1; -static int proto_aggregate = -1; -static gboolean ieee80211_tvb_invalid = FALSE; +static int proto_wlan; +static int proto_centrino; +static int proto_aggregate; +static bool ieee80211_tvb_invalid; /* ************************************************************************* */ /* Header field info values for FC-field */ /* ************************************************************************* */ -static int hf_ieee80211_fc_field = -1; -static int hf_ieee80211_fc_proto_version = -1; -static int hf_ieee80211_fc_frame_type = -1; -static int hf_ieee80211_fc_frame_subtype = -1; -static int hf_ieee80211_fc_frame_extension = -1; -static int hf_ieee80211_fc_frame_type_subtype = -1; - -static int hf_ieee80211_fc_flags = -1; -static int hf_ieee80211_fc_flags_str = -1; -static int hf_ieee80211_fc_to_ds = -1; -static int hf_ieee80211_fc_from_ds = -1; -static int hf_ieee80211_fc_data_ds = -1; - -static int hf_ieee80211_fc_more_frag = -1; -static int hf_ieee80211_fc_retry = -1; -static int hf_ieee80211_fc_pwr_mgt = -1; -static int hf_ieee80211_fc_more_data = -1; -static int hf_ieee80211_fc_protected = -1; -static int hf_ieee80211_fc_order = -1; +static int hf_ieee80211_fc_field; +static int hf_ieee80211_fc_proto_version; +static int hf_ieee80211_fc_frame_type; +static int hf_ieee80211_fc_frame_subtype; +static int hf_ieee80211_fc_frame_extension; +static int hf_ieee80211_fc_frame_type_subtype; + +static int hf_ieee80211_fc_flags; +static int hf_ieee80211_fc_flags_str; +static int hf_ieee80211_fc_to_ds; +static int hf_ieee80211_fc_from_ds; +static int hf_ieee80211_fc_data_ds; + +static int hf_ieee80211_fc_more_frag; +static int hf_ieee80211_fc_retry; +static int hf_ieee80211_fc_pwr_mgt; +static int hf_ieee80211_fc_more_data; +static int hf_ieee80211_fc_protected; +static int hf_ieee80211_fc_order; /* S1G Flags */ -static int hf_ieee80211_fc_s1g_next_tbtt_present = -1; -static int hf_ieee80211_fc_s1g_compressed_ssid_present = -1; -static int hf_ieee80211_fc_s1g_ano_present = -1; -static int hf_ieee80211_fc_s1g_bss_bw = -1; -static int hf_ieee80211_fc_s1g_security = -1; -static int hf_ieee80211_fc_s1g_ap_pm = -1; +static int hf_ieee80211_fc_s1g_next_tbtt_present; +static int hf_ieee80211_fc_s1g_compressed_ssid_present; +static int hf_ieee80211_fc_s1g_ano_present; +static int hf_ieee80211_fc_s1g_bss_bw; +static int hf_ieee80211_fc_s1g_security; +static int hf_ieee80211_fc_s1g_ap_pm; /* PV1 fields */ -static int hf_ieee80211_fc_pv1_proto_version = -1; -static int hf_ieee80211_fc_pv1_type = -1; -static int hf_ieee80211_fc_pv1_ptid = -1; -static int hf_ieee80211_fc_pv1_mgmt_subtype = -1; -static int hf_ieee80211_fc_pv1_cntl_subtype = -1; -static int hf_ieee80211_fc_pv1_unk_field = -1; -static int hf_ieee80211_fc_pv1_bw_indication = -1; -static int hf_ieee80211_fc_pv1_dynamic_indication = -1; -static int hf_ieee80211_fc_pv1_cntl_power_mgmt = -1; -static int hf_ieee80211_fc_pv1_cntl_more_data = -1; -static int hf_ieee80211_fc_pv1_cntl_flow_control = -1; -static int hf_ieee80211_fc_pv1_cntl_next_twt_info = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_next_tbt = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_full_ssid = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_ano = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_bss_bw = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_security = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_1mhz_pc = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_slot_assign = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_more_frag = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_pwr_mgmt = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_grp_indic = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_protected = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_end_of_svc = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_relayed_frm = -1; -static int hf_ieee80211_fc_pv1_mgmt_pr_ack_policy = -1; -static int hf_ieee80211_fc_pv1_from_ds = -1; -static int hf_ieee80211_fc_pv1_more_fragments = -1; -static int hf_ieee80211_fc_pv1_power_mgmt = -1; -static int hf_ieee80211_fc_pv1_more_data = -1; -static int hf_ieee80211_fc_pv1_protected_frame = -1; -static int hf_ieee80211_fc_pv1_end_service_per = -1; -static int hf_ieee80211_fc_pv1_relayed_frame = -1; -static int hf_ieee80211_fc_pv1_ack_policy = -1; -static int hf_ieee80211_pv1_sid = -1; -static int hf_ieee80211_pv1_sid_association_id = -1; -static int hf_ieee80211_pv1_sid_a3_present = -1; -static int hf_ieee80211_pv1_sid_a4_present = -1; -static int hf_ieee80211_pv1_sid_a_msdu = -1; - -static int hf_ieee80211_pv1_cnt_stack_tetra_timest = -1; -static int hf_ieee80211_pv1_cnt_bat_beacon_seq = -1; -static int hf_ieee80211_pv1_cnt_bat_penta_timest = -1; -static int hf_ieee80211_pv1_cnt_bat_next_twt_info = -1; -static int hf_ieee80211_pv1_cnt_bat_stating_seq_cntl = -1; -static int hf_ieee80211_pv1_cnt_bat_bitmap = -1; - -static int hf_ieee80211_pv1_mgmt_reserved = -1; -static int hf_ieee80211_pv1_cntl_reserved = -1; +static int hf_ieee80211_fc_pv1_proto_version; +static int hf_ieee80211_fc_pv1_type; +static int hf_ieee80211_fc_pv1_ptid; +static int hf_ieee80211_fc_pv1_mgmt_subtype; +static int hf_ieee80211_fc_pv1_cntl_subtype; +static int hf_ieee80211_fc_pv1_unk_field; +static int hf_ieee80211_fc_pv1_bw_indication; +static int hf_ieee80211_fc_pv1_dynamic_indication; +static int hf_ieee80211_fc_pv1_cntl_power_mgmt; +static int hf_ieee80211_fc_pv1_cntl_more_data; +static int hf_ieee80211_fc_pv1_cntl_flow_control; +static int hf_ieee80211_fc_pv1_cntl_next_twt_info; +static int hf_ieee80211_fc_pv1_mgmt_pr_next_tbt; +static int hf_ieee80211_fc_pv1_mgmt_pr_full_ssid; +static int hf_ieee80211_fc_pv1_mgmt_pr_ano; +static int hf_ieee80211_fc_pv1_mgmt_pr_bss_bw; +static int hf_ieee80211_fc_pv1_mgmt_pr_security; +static int hf_ieee80211_fc_pv1_mgmt_pr_1mhz_pc; +static int hf_ieee80211_fc_pv1_mgmt_pr_slot_assign; +static int hf_ieee80211_fc_pv1_mgmt_pr_more_frag; +static int hf_ieee80211_fc_pv1_mgmt_pr_pwr_mgmt; +static int hf_ieee80211_fc_pv1_mgmt_pr_grp_indic; +static int hf_ieee80211_fc_pv1_mgmt_pr_protected; +static int hf_ieee80211_fc_pv1_mgmt_pr_end_of_svc; +static int hf_ieee80211_fc_pv1_mgmt_pr_relayed_frm; +static int hf_ieee80211_fc_pv1_mgmt_pr_ack_policy; +static int hf_ieee80211_fc_pv1_from_ds; +static int hf_ieee80211_fc_pv1_more_fragments; +static int hf_ieee80211_fc_pv1_power_mgmt; +static int hf_ieee80211_fc_pv1_more_data; +static int hf_ieee80211_fc_pv1_protected_frame; +static int hf_ieee80211_fc_pv1_end_service_per; +static int hf_ieee80211_fc_pv1_relayed_frame; +static int hf_ieee80211_fc_pv1_ack_policy; +static int hf_ieee80211_pv1_sid; +static int hf_ieee80211_pv1_sid_association_id; +static int hf_ieee80211_pv1_sid_a3_present; +static int hf_ieee80211_pv1_sid_a4_present; +static int hf_ieee80211_pv1_sid_a_msdu; + +static int hf_ieee80211_pv1_cnt_stack_tetra_timest; +static int hf_ieee80211_pv1_cnt_bat_beacon_seq; +static int hf_ieee80211_pv1_cnt_bat_penta_timest; +static int hf_ieee80211_pv1_cnt_bat_next_twt_info; +static int hf_ieee80211_pv1_cnt_bat_stating_seq_cntl; +static int hf_ieee80211_pv1_cnt_bat_bitmap; + +static int hf_ieee80211_pv1_mgmt_reserved; +static int hf_ieee80211_pv1_cntl_reserved; typedef struct retransmit_key { - guint8 bssid[6]; - guint8 src[6]; - guint16 seq_control; - guint fnum; + uint8_t bssid[6]; + uint8_t src[6]; + uint16_t seq_control; + unsigned fnum; } retransmit_key; -static GHashTable *fc_analyse_retransmit_table = NULL; -static GHashTable *fc_first_frame_table = NULL; +static GHashTable *fc_analyse_retransmit_table; +static GHashTable *fc_first_frame_table; -static int hf_ieee80211_fc_analysis_retransmission = -1; -static int hf_ieee80211_fc_analysis_retransmission_frame = -1; +static int hf_ieee80211_fc_analysis_retransmission; +static int hf_ieee80211_fc_analysis_retransmission_frame; /* ************************************************************************* */ /* Header values for Duration/ID field */ /* ************************************************************************* */ -static int hf_ieee80211_did_duration = -1; -static int hf_ieee80211_assoc_id = -1; +static int hf_ieee80211_did_duration; +static int hf_ieee80211_assoc_id; /* ************************************************************************* */ /* Header values for different address-fields (all 4 of them) */ /* ************************************************************************* */ -static int hf_ieee80211_addr_da = -1; /* Destination address subfield */ -static int hf_ieee80211_addr_da_resolved = -1; /* Dst addr subfield resolved*/ -static int hf_ieee80211_addr_sa = -1; /* Source address subfield */ -static int hf_ieee80211_addr_sa_resolved = -1; /* Src addr subfield resolved*/ -static int hf_ieee80211_addr_ra = -1; /* Receiver address subfield */ -static int hf_ieee80211_addr_ra_resolved = -1; /* Rcv addr subfield resolved*/ -static int hf_ieee80211_addr_ta = -1; /* Transmitter address subfield */ -static int hf_ieee80211_addr_ta_resolved = -1; /* Txm addr subfield resolved*/ -static int hf_ieee80211_addr_bssid = -1; /* address is bssid */ -static int hf_ieee80211_addr_bssid_resolved = -1; /* bssid resolved*/ -static int hf_ieee80211_addr_staa = -1; /* address is station address */ -static int hf_ieee80211_addr_staa_resolved = -1; /* station address resolved*/ - -static int hf_ieee80211_addr = -1; /* Source or destination address subfield */ -static int hf_ieee80211_addr_resolved = -1;/*Src/dst address subfield resolved*/ - -static int hf_ieee80211_mgt = -1; +static int hf_ieee80211_addr_da; /* Destination address subfield */ +static int hf_ieee80211_addr_da_resolved; /* Dst addr subfield resolved*/ +static int hf_ieee80211_addr_da_oui; /* Destination address subfield */ +static int hf_ieee80211_addr_da_oui_resolved; /* Dst addr subfield resolved*/ +static int hf_ieee80211_addr_da_ig; /* Destination address IG bit */ +static int hf_ieee80211_addr_da_lg; /* Destination address LG bit */ + +static int hf_ieee80211_addr_sa; /* Source address subfield */ +static int hf_ieee80211_addr_sa_resolved; /* Src addr subfield resolved*/ +static int hf_ieee80211_addr_sa_oui; /* Source address subfield */ +static int hf_ieee80211_addr_sa_oui_resolved; /* Src addr subfield resolved*/ +static int hf_ieee80211_addr_sa_ig; /* Source address IG bit */ +static int hf_ieee80211_addr_sa_lg; /* Source address LG bit */ + +static int hf_ieee80211_addr_ra; /* Receiver address subfield */ +static int hf_ieee80211_addr_ra_resolved; /* Rcv addr subfield resolved*/ +static int hf_ieee80211_addr_ra_oui; /* Receiver address subfield */ +static int hf_ieee80211_addr_ra_oui_resolved; /* Rcv addr subfield resolved*/ +static int hf_ieee80211_addr_ra_ig; /* Receiver address IG bit */ +static int hf_ieee80211_addr_ra_lg; /* Receiver address LG bit */ + +static int hf_ieee80211_addr_ta; /* Transmitter address subfield */ +static int hf_ieee80211_addr_ta_resolved; /* Txm addr subfield resolved*/ +static int hf_ieee80211_addr_ta_oui; /* Transmitter address subfield */ +static int hf_ieee80211_addr_ta_oui_resolved; /* Txm addr subfield resolved*/ +static int hf_ieee80211_addr_ta_ig; /* Transmitter address IG bit */ +static int hf_ieee80211_addr_ta_lg; /* Transmitter address LG bit */ + +static int hf_ieee80211_addr_bssid; /* address is bssid */ +static int hf_ieee80211_addr_bssid_resolved; /* bssid resolved*/ +static int hf_ieee80211_addr_bssid_oui; /* address is bssid */ +static int hf_ieee80211_addr_bssid_oui_resolved; /* bssid resolved*/ +static int hf_ieee80211_addr_bssid_ig; /* bssid address IG bit */ +static int hf_ieee80211_addr_bssid_lg; /* bssid address LG bit */ + +static int hf_ieee80211_addr_staa; /* address is station address */ +static int hf_ieee80211_addr_staa_resolved; /* station address resolved*/ +static int hf_ieee80211_addr_staa_oui; /* address is station address */ +static int hf_ieee80211_addr_staa_oui_resolved; /* station address resolved*/ +static int hf_ieee80211_addr_staa_ig; /* station address IG bit */ +static int hf_ieee80211_addr_staa_lg; /* station address LG bit */ + +static int hf_ieee80211_addr; /* Source or destination address subfield */ +static int hf_ieee80211_addr_resolved;/*Src/dst address subfield resolved*/ +static int hf_ieee80211_addr_oui; /* Source or destination address subfield */ +static int hf_ieee80211_addr_oui_resolved;/*Src/dst address subfield resolved*/ +static int hf_ieee80211_addr_ig; /* Src/dst address IG bit */ +static int hf_ieee80211_addr_lg; /* Src/dst address LG bit */ + +static int hf_ieee80211_mgt; /* ************************************************************************* */ /* Header values for QoS control field */ /* ************************************************************************* */ -static int hf_ieee80211_qos = -1; -static int hf_ieee80211_qos_tid = -1; -static int hf_ieee80211_qos_priority = -1; -static int hf_ieee80211_qos_ack_policy = -1; -static int hf_ieee80211_qos_amsdu_present = -1; -static int hf_ieee80211_qos_eosp = -1; -static int hf_ieee80211_qos_bit4 = -1; -static int hf_ieee80211_qos_txop_limit = -1; -static int hf_ieee80211_qos_ps_buf_state = -1; -static int hf_ieee80211_qos_buf_state_indicated = -1; -static int hf_ieee80211_qos_highest_pri_buf_ac = -1; -static int hf_ieee80211_qos_qap_buf_load = -1; -static int hf_ieee80211_qos_txop_dur_req = -1; -static int hf_ieee80211_qos_queue_size = -1; -static int hf_ieee80211_qos_mesh_ctl_present = -1; -static int hf_ieee80211_qos_mesh_ps_rsvd = -1; -static int hf_ieee80211_qos_mesh_ps_unicast = -1; -static int hf_ieee80211_qos_mesh_ps_multicast = -1; -static int hf_ieee80211_qos_mesh_rspi = -1; +static int hf_ieee80211_qos; +static int hf_ieee80211_qos_tid; +static int hf_ieee80211_qos_priority; +static int hf_ieee80211_qos_ack_policy; +static int hf_ieee80211_qos_amsdu_present; +static int hf_ieee80211_qos_eosp; +static int hf_ieee80211_qos_bit4; +static int hf_ieee80211_qos_txop_limit; +static int hf_ieee80211_qos_ps_buf_state; +static int hf_ieee80211_qos_buf_state_indicated; +static int hf_ieee80211_qos_highest_pri_buf_ac; +static int hf_ieee80211_qos_qap_buf_load; +static int hf_ieee80211_qos_txop_dur_req; +static int hf_ieee80211_qos_queue_size; +static int hf_ieee80211_qos_mesh_ctl_present; +static int hf_ieee80211_qos_mesh_ps_rsvd; +static int hf_ieee80211_qos_mesh_ps_unicast; +static int hf_ieee80211_qos_mesh_ps_multicast; +static int hf_ieee80211_qos_mesh_rspi; /* ************************************************************************* */ /* Header values for HT control field (+HTC) and HE control */ /* ************************************************************************* */ /* 802.11-2012 and 802.11ac-2013 8.2.4.6 */ -static int hf_ieee80211_htc = -1; -static int hf_ieee80211_htc_vht = -1; -static int hf_ieee80211_htc_he = -1; -static int hf_ieee80211_htc_he_ctrl_id = -1; -static int hf_ieee80211_he_a_control_padding = -1; -static int hf_ieee80211_he_a_control_ones = -1; -static int hf_ieee80211_he_trs_he_tb_ppdu_len = -1; -static int hf_ieee80211_he_trs_ru_allocation = -1; -static int hf_ieee80211_he_dl_tx_power = -1; -static int hf_ieee80211_he_ul_target_rssi = -1; -static int hf_ieee80211_he_ul_mcs = -1; -static int hf_ieee80211_he_ul_reserved = -1; -static int hf_ieee80211_he_om_rx_nss = -1; -static int hf_ieee80211_he_om_channel_width = -1; -static int hf_ieee80211_he_om_ul_mu_disable = -1; -static int hf_ieee80211_he_om_tx_nsts = -1; -static int hf_ieee80211_he_om_er_su_disable = -1; -static int hf_ieee80211_he_om_dl_mu_mimo_resound = -1; -static int hf_ieee80211_he_om_ul_mu_data_disable = -1; -static int hf_ieee80211_he_hla_unsolicited_mfb = -1; -static int hf_ieee80211_he_hla_mrq = -1; -static int hf_ieee80211_he_hla_nss = -1; -static int hf_ieee80211_he_hla_he_mcs = -1; -static int hf_ieee80211_he_hla_dcm = -1; -static int hf_ieee80211_he_hla_ru = -1; -static int hf_ieee80211_he_hla_bw = -1; -static int hf_ieee80211_he_hla_msi_ppdu_type = -1; -static int hf_ieee80211_he_hla_tx_bf = -1; -static int hf_ieee80211_he_hla_reserved = -1; -static int hf_ieee80211_he_bsr_aci_bitmap = -1; -static int hf_ieee80211_he_bsr_delta_tid = -1; -static int hf_ieee80211_he_bsr_aci_high = -1; -static int hf_ieee80211_he_bsr_scaling_factor = -1; -static int hf_ieee80211_he_bsr_queue_size_high = -1; -static int hf_ieee80211_he_bsr_queue_size_all = -1; -static int hf_ieee80211_he_uph_ul_power_headroom = -1; -static int hf_ieee80211_he_uph_ul_min_transmit_power_flag = -1; -static int hf_ieee80211_he_uph_reserved = -1; -static int hf_ieee80211_he_cci_ac_constraint = -1; -static int hf_ieee80211_he_cci_rdg_more_ppdu = -1; -static int hf_ieee80211_he_cci_sr_ppdu_indic = -1; -static int hf_ieee80211_he_cci_reserved = -1; -static int hf_ieee80211_he_eht_om_rx_nss_ext = -1; -static int hf_ieee80211_he_eht_om_chan_w_ext = -1; -static int hf_ieee80211_he_eht_om_tx_nsts_ext = -1; -static int hf_ieee80211_he_eht_om_reserved = -1; -static int hf_ieee80211_he_srs_ppdu_resp_dur = -1; -static int hf_ieee80211_he_srs_reserved = -1; -static int hf_ieee80211_he_aar_assisted_ap_bitmap = -1; -static int hf_ieee80211_he_aar_reserved = -1; -static int hf_ieee80211_he_btc_avail_chan = -1; -static int hf_ieee80211_he_btc_reserved = -1; -static int hf_ieee80211_he_trigger_common_info = -1; -static int hf_ieee80211_he_trigger_type = -1; -static int hf_ieee80211_he_trigger_ul_length = -1; -static int hf_ieee80211_he_trigger_more_tf = -1; -static int hf_ieee80211_he_trigger_cs_required = -1; -static int hf_ieee80211_he_trigger_ul_bw = -1; -static int hf_ieee80211_he_trigger_gi_and_ltf_type = -1; -static int hf_ieee80211_he_trigger_mu_mimo_ltf_mode = -1; -static int hf_ieee80211_he_trigger_num_he_ltf_syms_etc = -1; -static int hf_ieee80211_he_trigger_ul_stbc = -1; -static int hf_ieee80211_he_trigger_ldpc_extra_sym_seg = -1; -static int hf_ieee80211_he_trigger_ap_tx_power = -1; -static int hf_ieee80211_he_trigger_pre_fec_padding_factor = -1; -static int hf_ieee80211_he_trigger_pe_disambiguity = -1; -static int hf_ieee80211_he_trigger_ul_spatial_reuse = -1; -static int hf_ieee80211_he_trigger_doppler = -1; -static int hf_ieee80211_he_trigger_ul_he_sig_a_reserved = -1; -static int hf_ieee80211_he_trigger_reserved = -1; -static int hf_ieee80211_he_trigger_user_info = -1; -static int hf_ieee80211_he_trigger_user_info_padding_start = -1; -static int hf_ieee80211_he_trigger_padding = -1; -static int hf_ieee80211_he_trigger_bar_ctrl = -1; -static int hf_ieee80211_he_trigger_bar_ctrl_ba_ack_policy = -1; -static int hf_ieee80211_he_trigger_bar_ctrl_ba_type = -1; -static int hf_ieee80211_he_trigger_bar_ctrl_reserved = -1; -static int hf_ieee80211_he_trigger_bar_ctrl_tid_info = -1; -static int hf_ieee80211_he_trigger_bar_info = -1; -static int hf_ieee80211_he_trigger_bar_info_blk_ack_seq_ctrl = -1; -static int hf_ieee80211_he_trigger_mpdu_mu_spacing = -1; -static int hf_ieee80211_he_trigger_tid_aggregation_limit = -1; -static int hf_ieee80211_he_trigger_dependent_reserved1 = -1; -static int hf_ieee80211_he_trigger_preferred_ac = -1; -static int hf_ieee80211_he_trigger_starting_aid = -1; -static int hf_ieee80211_he_trigger_dependent_reserved2 = -1; -static int hf_ieee80211_he_trigger_feedback_type = -1; -static int hf_ieee80211_he_trigger_dependent_reserved3 = -1; -static int hf_ieee80211_he_trigger_nfrp_target_rssi = -1; -static int hf_ieee80211_he_trigger_multiplexing_flag = -1; -static int hf_ieee80211_he_trigger_dep_nfrp_user_info = -1; -static int hf_ieee80211_he_trigger_feedback_seg_retrans_bm = -1; -static int hf_ieee80211_he_trigger_aid12 = -1; -static int hf_ieee80211_he_trigger_ru_allocation = -1; -static int hf_ieee80211_he_trigger_ru_allocation_region = -1; -static int hf_ieee80211_he_trigger_ru_starting_spatial_stream = -1; -static int hf_ieee80211_he_trigger_ru_number_spatial_streams = -1; -static int hf_ieee80211_he_trigger_ru_number_ra_ru = -1; -static int hf_ieee80211_he_trigger_ru_no_more_ra_ru = -1; -static int hf_ieee80211_he_trigger_ul_fec_coding_type = -1; -static int hf_ieee80211_he_trigger_ul_mcs = -1; -static int hf_ieee80211_he_trigger_ul_dcm = -1; -static int hf_ieee80211_he_trigger_ul_target_rssi = -1; -static int hf_ieee80211_he_trigger_user_reserved = -1; -static int hf_ieee80211_he_trigger_dep_basic_user_info = -1; -static int hf_ieee80211_he_trigger_ranging_common_info_1 = -1; -static int hf_ieee80211_he_trigger_ranging_common_info_2 = -1; -static int hf_ieee80211_eht_trigger_common_info = -1; -static int hf_ieee80211_eht_trigger_type = -1; -static int hf_ieee80211_eht_trigger_ul_length = -1; -static int hf_ieee80211_eht_trigger_more_tf = -1; -static int hf_ieee80211_eht_trigger_cs_required = -1; -static int hf_ieee80211_eht_trigger_ul_bw = -1; -static int hf_ieee80211_eht_trigger_gi_and_eht_ltf_type = -1; -static int hf_ieee80211_eht_trigger_num_he_eht_ltf_syms_etc = -1; -static int hf_ieee80211_eht_trigger_reserved2 = -1; -static int hf_ieee80211_eht_trigger_ldpc_extra_sym_seg = -1; -static int hf_ieee80211_eht_trigger_ap_tx_power = -1; -static int hf_ieee80211_eht_trigger_pre_fec_padding_factor = -1; -static int hf_ieee80211_eht_trigger_pe_disambiguity = -1; -static int hf_ieee80211_eht_trigger_ul_spatial_reuse = -1; -static int hf_ieee80211_eht_trigger_reserved3 = -1; -static int hf_ieee80211_eht_trigger_he_eht_p160 = -1; -static int hf_ieee80211_eht_trigger_special_user_info_flag = -1; -static int hf_ieee80211_eht_trigger_eht_reserved = -1; -static int hf_ieee80211_eht_trigger_reserved4 = -1; -static int hf_ieee80211_eht_trigger_reserved = -1; -static int hf_ieee80211_eht_trigger_aid12 = -1; -static int hf_ieee80211_eht_trigger_special_user_info = -1; -static int hf_ieee80211_eht_trigger_phy_version_identifier = -1; -static int hf_ieee80211_eht_trigger_ul_bw_extenstion = -1; -static int hf_ieee80211_eht_trigger_eht_spatial_reuse_1 = -1; -static int hf_ieee80211_eht_trigger_eht_spatial_reuse_2 = -1; -static int hf_ieee80211_eht_trigger_disregard_u_sig_1 = -1; -static int hf_ieee80211_eht_trigger_validate_u_sig_2 = -1; -static int hf_ieee80211_eht_trigger_disregard_u_sig_2_4lsb = -1; -static int hf_ieee80211_eht_trigger_disregard_u_sig_2_msb = -1; -static int hf_ieee80211_eht_trigger_special_reserved = -1; -static int hf_ieee80211_eht_trigger_user_info = -1; -static int hf_ieee80211_eht_trigger_ru_allocation_region = -1; -static int hf_ieee80211_eht_trigger_ru_allocation = -1; -static int hf_ieee80211_eht_trigger_ul_fec_coding_type = -1; -static int hf_ieee80211_eht_trigger_ul_eht_mcs = -1; -static int hf_ieee80211_eht_trigger_ru_starting_spatial_stream = -1; -static int hf_ieee80211_eht_trigger_ru_number_spatial_streams = -1; -static int hf_ieee80211_eht_trigger_ul_target_recv_power = -1; -static int hf_ieee80211_eht_trigger_ps160 = -1; -static int hf_ieee80211_eht_trigger_user_info_reserved = -1; -static int hf_ieee80211_ranging_trigger_subtype1 = -1; -static int hf_ieee80211_ranging_trigger_reserved1 = -1; -static int hf_ieee80211_ranging_trigger_token = -1; -static int hf_ieee80211_ranging_trigger_subtype2 = -1; -static int hf_ieee80211_ranging_trigger_reserved2 = -1; -static int hf_ieee80211_ranging_trigger_sounding_dialog_token = -1; -static int hf_ieee80211_he_trigger_ranging_trigger_poll_rpt = -1; -static int hf_ieee80211_ranging_pol_rpt_aid12_rsid12 = -1; -static int hf_ieee80211_ranging_pol_rpt_ru_alloc_region = -1; -static int hf_ieee80211_ranging_pol_rpt_ru_alloc = -1; -static int hf_ieee80211_ranging_pol_rpt_ul_fec_coding_type = -1; -static int hf_ieee80211_ranging_pol_rpt_ulmcs = -1; -static int hf_ieee80211_ranging_pol_rpt_uldcm = -1; -static int hf_ieee80211_ranging_pol_rpt_starting_spatial_stream = -1; -static int hf_ieee80211_ranging_pol_rpt_number_spatial_streams = -1; -static int hf_ieee80211_ranging_pol_rpt_ul_target_rssi = -1; -static int hf_ieee80211_ranging_pol_rpt_reserved = -1; -static int hf_ieee80211_he_trigger_ranging_trigger_sounding = -1; -static int hf_ieee80211_ranging_sounding_aid12_rsid12 = -1; -static int hf_ieee80211_ranging_sounding_reserved1 = -1; -static int hf_ieee80211_ranging_sounding_i2r_rep = -1; -static int hf_ieee80211_ranging_sounding_reserved2 = -1; -static int hf_ieee80211_ranging_sounding_starting_spatial_stream = -1; -static int hf_ieee80211_ranging_sounding_number_spatial_streams = -1; -static int hf_ieee80211_ranging_sounding_ul_target_rssi = -1; -static int hf_ieee80211_ranging_sounding_reserved3 = -1; -static int hf_ieee80211_he_trigger_ranging_trigger_sec_sound = -1; -static int hf_ieee80211_ranging_sec_sound_aid12_rsid12 = -1; -static int hf_ieee80211_ranging_sec_sound_reserved1 = -1; -static int hf_ieee80211_ranging_sec_sound_i2r_rep = -1; -static int hf_ieee80211_ranging_sec_sound_reserved2 = -1; -static int hf_ieee80211_ranging_sec_sound_starting_spatial_stream = -1; -static int hf_ieee80211_ranging_sec_sound_number_spatial_streams = -1; -static int hf_ieee80211_ranging_sec_sound_ul_target_rssi = -1; -static int hf_ieee80211_ranging_sec_sound_reserved3 = -1; -static int hf_ieee80211_he_trigger_ranging_user_info_sac = -1; -static int hf_ieee80211_he_ndp_annc_sta = -1; -static int hf_ieee80211_he_ndp_annc_aid11 = -1; -static int hf_ieee80211_he_ndp_annc_ru_start = -1; -static int hf_ieee80211_he_ndp_annc_ru_end = -1; -static int hf_ieee80211_he_ndp_annc_feedback_type_and_ng = -1; -static int hf_ieee80211_he_ndp_annc_disambiguation = -1; -static int hf_ieee80211_he_ndp_annc_codebook_size = -1; -static int hf_ieee80211_he_ndp_annc_nc = -1; -static int hf_ieee80211_he_ndp_annc_disallowed_bitmap = -1; -static int hf_ieee80211_he_ndp_annc_reserved1 = -1; -static int hf_ieee80211_he_ndp_annc_reserved2 = -1; -static int hf_ieee80211_he_qtp_control = -1; -static int hf_ieee80211_he_qtp_setup_quiet_period_duration = -1; -static int hf_ieee80211_he_qtp_setup_srv_specific_identif = -1; -static int hf_ieee80211_he_qtp_request_dialog_token = -1; -static int hf_ieee80211_he_qtp_request_quiet_period_offset = -1; -static int hf_ieee80211_he_qtp_request_quiet_period_duration = -1; -static int hf_ieee80211_he_qtp_request_quiet_period_interval = -1; -static int hf_ieee80211_he_qtp_request_repetition_count = -1; -static int hf_ieee80211_he_qtp_request_srv_specific_identif = -1; -static int hf_ieee80211_he_qtp_response_dialog_token = -1; -static int hf_ieee80211_he_qtp_response_status_code = -1; -static int hf_ieee80211_he_qtp_response_quiet_period_offset = -1; -static int hf_ieee80211_he_qtp_response_quiet_period_duration = -1; -static int hf_ieee80211_he_qtp_response_quiet_period_interval = -1; -static int hf_ieee80211_he_qtp_response_repetition_count = -1; -static int hf_ieee80211_he_qtp_response_srv_specific_identif = -1; -static int hf_ieee80211_htc_ht_lac = -1; -static int hf_ieee80211_htc_lac_trq = -1; -static int hf_ieee80211_htc_lac_mai_aseli = -1; -static int hf_ieee80211_htc_lac_mai_mrq = -1; -static int hf_ieee80211_htc_lac_mai_msi = -1; -static int hf_ieee80211_htc_lac_mai_reserved = -1; -static int hf_ieee80211_htc_lac_mfsi = -1; -static int hf_ieee80211_htc_lac_mfb = -1; -static int hf_ieee80211_htc_lac_asel_command = -1; -static int hf_ieee80211_htc_lac_asel_data = -1; -static int hf_ieee80211_htc_cal_pos = -1; -static int hf_ieee80211_htc_cal_seq = -1; -static int hf_ieee80211_htc_reserved1 = -1; -static int hf_ieee80211_htc_csi_steering = -1; -static int hf_ieee80211_htc_ndp_announcement = -1; -static int hf_ieee80211_htc_reserved2 = -1; -static int hf_ieee80211_htc_mrq = -1; -static int hf_ieee80211_htc_msi = -1; -static int hf_ieee80211_htc_msi_stbc_reserved = -1; -static int hf_ieee80211_htc_compressed_msi = -1; -static int hf_ieee80211_htc_ppdu_stbc_encoded = -1; -static int hf_ieee80211_htc_mfsi = -1; -static int hf_ieee80211_htc_gid_l = -1; -static int hf_ieee80211_htc_mfb = -1; -static int hf_ieee80211_htc_num_sts = -1; -static int hf_ieee80211_htc_vht_mcs = -1; -static int hf_ieee80211_htc_bw = -1; -static int hf_ieee80211_htc_snr = -1; -static int hf_ieee80211_htc_reserved3 = -1; -static int hf_ieee80211_htc_gid_h = -1; -static int hf_ieee80211_htc_coding_type = -1; -static int hf_ieee80211_htc_fb_tx_type = -1; -static int hf_ieee80211_htc_unsolicited_mfb = -1; -static int hf_ieee80211_htc_ac_constraint = -1; -static int hf_ieee80211_htc_rdg_more_ppdu = -1; +static int hf_ieee80211_htc; +static int hf_ieee80211_htc_vht; +static int hf_ieee80211_htc_he; +static int hf_ieee80211_htc_he_ctrl_id; +static int hf_ieee80211_he_a_control_padding; +static int hf_ieee80211_he_a_control_ones; +static int hf_ieee80211_he_trs_he_tb_ppdu_len; +static int hf_ieee80211_he_trs_ru_allocation; +static int hf_ieee80211_he_dl_tx_power; +static int hf_ieee80211_he_ul_target_rssi; +static int hf_ieee80211_he_ul_mcs; +static int hf_ieee80211_he_ul_reserved; +static int hf_ieee80211_he_om_rx_nss; +static int hf_ieee80211_he_om_channel_width; +static int hf_ieee80211_he_om_ul_mu_disable; +static int hf_ieee80211_he_om_tx_nsts; +static int hf_ieee80211_he_om_er_su_disable; +static int hf_ieee80211_he_om_dl_mu_mimo_resound; +static int hf_ieee80211_he_om_ul_mu_data_disable; +static int hf_ieee80211_he_hla_unsolicited_mfb; +static int hf_ieee80211_he_hla_mrq; +static int hf_ieee80211_he_hla_nss; +static int hf_ieee80211_he_hla_he_mcs; +static int hf_ieee80211_he_hla_dcm; +static int hf_ieee80211_he_hla_ru; +static int hf_ieee80211_he_hla_bw; +static int hf_ieee80211_he_hla_msi_ppdu_type; +static int hf_ieee80211_he_hla_tx_bf; +static int hf_ieee80211_he_hla_reserved; +static int hf_ieee80211_he_bsr_aci_bitmap; +static int hf_ieee80211_he_bsr_delta_tid; +static int hf_ieee80211_he_bsr_aci_high; +static int hf_ieee80211_he_bsr_scaling_factor; +static int hf_ieee80211_he_bsr_queue_size_high; +static int hf_ieee80211_he_bsr_queue_size_all; +static int hf_ieee80211_he_uph_ul_power_headroom; +static int hf_ieee80211_he_uph_ul_min_transmit_power_flag; +static int hf_ieee80211_he_uph_reserved; +static int hf_ieee80211_he_cci_ac_constraint; +static int hf_ieee80211_he_cci_rdg_more_ppdu; +static int hf_ieee80211_he_cci_sr_ppdu_indic; +static int hf_ieee80211_he_cci_reserved; +static int hf_ieee80211_he_eht_om_rx_nss_ext; +static int hf_ieee80211_he_eht_om_chan_w_ext; +static int hf_ieee80211_he_eht_om_tx_nsts_ext; +static int hf_ieee80211_he_eht_om_reserved; +static int hf_ieee80211_he_srs_ppdu_resp_dur; +static int hf_ieee80211_he_srs_reserved; +static int hf_ieee80211_he_aar_assisted_ap_bitmap; +static int hf_ieee80211_he_aar_reserved; +static int hf_ieee80211_he_btc_avail_chan; +static int hf_ieee80211_he_btc_reserved; +static int hf_ieee80211_he_trigger_common_info; +static int hf_ieee80211_he_trigger_type; +static int hf_ieee80211_he_trigger_ul_length; +static int hf_ieee80211_he_trigger_more_tf; +static int hf_ieee80211_he_trigger_cs_required; +static int hf_ieee80211_he_trigger_ul_bw; +static int hf_ieee80211_he_trigger_gi_and_ltf_type; +static int hf_ieee80211_he_trigger_mu_mimo_ltf_mode; +static int hf_ieee80211_he_trigger_num_he_ltf_syms_etc; +static int hf_ieee80211_he_trigger_ul_stbc; +static int hf_ieee80211_he_trigger_ldpc_extra_sym_seg; +static int hf_ieee80211_he_trigger_ap_tx_power; +static int hf_ieee80211_he_trigger_pre_fec_padding_factor; +static int hf_ieee80211_he_trigger_pe_disambiguity; +static int hf_ieee80211_he_trigger_ul_spatial_reuse; +static int hf_ieee80211_he_trigger_doppler; +static int hf_ieee80211_he_trigger_ul_he_sig_a_reserved; +static int hf_ieee80211_he_trigger_reserved; +static int hf_ieee80211_he_trigger_user_info; +static int hf_ieee80211_he_trigger_user_info_padding_start; +static int hf_ieee80211_he_trigger_padding; +static int hf_ieee80211_he_trigger_bar_ctrl; +static int hf_ieee80211_he_trigger_bar_ctrl_ba_ack_policy; +static int hf_ieee80211_he_trigger_bar_ctrl_ba_type; +static int hf_ieee80211_he_trigger_bar_ctrl_reserved; +static int hf_ieee80211_he_trigger_bar_ctrl_tid_info; +static int hf_ieee80211_he_trigger_bar_info; +static int hf_ieee80211_he_trigger_bar_info_blk_ack_seq_ctrl; +static int hf_ieee80211_he_trigger_mpdu_mu_spacing; +static int hf_ieee80211_he_trigger_tid_aggregation_limit; +static int hf_ieee80211_he_trigger_dependent_reserved1; +static int hf_ieee80211_he_trigger_preferred_ac; +static int hf_ieee80211_he_trigger_starting_aid; +static int hf_ieee80211_he_trigger_dependent_reserved2; +static int hf_ieee80211_he_trigger_feedback_type; +static int hf_ieee80211_he_trigger_dependent_reserved3; +static int hf_ieee80211_he_trigger_nfrp_target_rssi; +static int hf_ieee80211_he_trigger_multiplexing_flag; +static int hf_ieee80211_he_trigger_dep_nfrp_user_info; +static int hf_ieee80211_he_trigger_feedback_seg_retrans_bm; +static int hf_ieee80211_he_trigger_aid12; +static int hf_ieee80211_he_trigger_ru_allocation; +static int hf_ieee80211_he_trigger_ru_allocation_region; +static int hf_ieee80211_he_trigger_ru_starting_spatial_stream; +static int hf_ieee80211_he_trigger_ru_number_spatial_streams; +static int hf_ieee80211_he_trigger_ru_number_ra_ru; +static int hf_ieee80211_he_trigger_ru_no_more_ra_ru; +static int hf_ieee80211_he_trigger_ul_fec_coding_type; +static int hf_ieee80211_he_trigger_ul_mcs; +static int hf_ieee80211_he_trigger_ul_dcm; +static int hf_ieee80211_he_trigger_ul_target_rssi; +static int hf_ieee80211_he_trigger_user_reserved; +static int hf_ieee80211_he_trigger_dep_basic_user_info; +static int hf_ieee80211_he_trigger_ranging_common_info_1; +static int hf_ieee80211_he_trigger_ranging_common_info_2; +static int hf_ieee80211_eht_trigger_common_info; +static int hf_ieee80211_eht_trigger_type; +static int hf_ieee80211_eht_trigger_ul_length; +static int hf_ieee80211_eht_trigger_more_tf; +static int hf_ieee80211_eht_trigger_cs_required; +static int hf_ieee80211_eht_trigger_ul_bw; +static int hf_ieee80211_eht_trigger_gi_and_eht_ltf_type; +static int hf_ieee80211_eht_trigger_num_he_eht_ltf_syms_etc; +static int hf_ieee80211_eht_trigger_reserved2; +static int hf_ieee80211_eht_trigger_ldpc_extra_sym_seg; +static int hf_ieee80211_eht_trigger_ap_tx_power; +static int hf_ieee80211_eht_trigger_pre_fec_padding_factor; +static int hf_ieee80211_eht_trigger_pe_disambiguity; +static int hf_ieee80211_eht_trigger_ul_spatial_reuse; +static int hf_ieee80211_eht_trigger_reserved3; +static int hf_ieee80211_eht_trigger_he_eht_p160; +static int hf_ieee80211_eht_trigger_special_user_info_flag; +static int hf_ieee80211_eht_trigger_eht_reserved; +static int hf_ieee80211_eht_trigger_reserved4; +static int hf_ieee80211_eht_trigger_reserved; +static int hf_ieee80211_eht_trigger_aid12; +static int hf_ieee80211_eht_trigger_special_user_info; +static int hf_ieee80211_eht_trigger_phy_version_identifier; +static int hf_ieee80211_eht_trigger_ul_bw_extenstion; +static int hf_ieee80211_eht_trigger_eht_spatial_reuse_1; +static int hf_ieee80211_eht_trigger_eht_spatial_reuse_2; +static int hf_ieee80211_eht_trigger_disregard_u_sig_1; +static int hf_ieee80211_eht_trigger_validate_u_sig_2; +static int hf_ieee80211_eht_trigger_disregard_u_sig_2_4lsb; +static int hf_ieee80211_eht_trigger_disregard_u_sig_2_msb; +static int hf_ieee80211_eht_trigger_special_reserved; +static int hf_ieee80211_eht_trigger_user_info; +static int hf_ieee80211_eht_trigger_ru_allocation_region; +static int hf_ieee80211_eht_trigger_ru_allocation; +static int hf_ieee80211_eht_trigger_ul_fec_coding_type; +static int hf_ieee80211_eht_trigger_ul_eht_mcs; +static int hf_ieee80211_eht_trigger_ru_starting_spatial_stream; +static int hf_ieee80211_eht_trigger_ru_number_spatial_streams; +static int hf_ieee80211_eht_trigger_ul_target_recv_power; +static int hf_ieee80211_eht_trigger_ps160; +static int hf_ieee80211_eht_trigger_user_info_reserved; +static int hf_ieee80211_ranging_trigger_subtype1; +static int hf_ieee80211_ranging_trigger_reserved1; +static int hf_ieee80211_ranging_trigger_token; +static int hf_ieee80211_ranging_trigger_subtype2; +static int hf_ieee80211_ranging_trigger_reserved2; +static int hf_ieee80211_ranging_trigger_sounding_dialog_token; +static int hf_ieee80211_he_trigger_ranging_trigger_poll_rpt; +static int hf_ieee80211_ranging_pol_rpt_aid12_rsid12; +static int hf_ieee80211_ranging_pol_rpt_ru_alloc_region; +static int hf_ieee80211_ranging_pol_rpt_ru_alloc; +static int hf_ieee80211_ranging_pol_rpt_ul_fec_coding_type; +static int hf_ieee80211_ranging_pol_rpt_ulmcs; +static int hf_ieee80211_ranging_pol_rpt_uldcm; +static int hf_ieee80211_ranging_pol_rpt_starting_spatial_stream; +static int hf_ieee80211_ranging_pol_rpt_number_spatial_streams; +static int hf_ieee80211_ranging_pol_rpt_ul_target_rssi; +static int hf_ieee80211_ranging_pol_rpt_reserved; +static int hf_ieee80211_he_trigger_ranging_trigger_sounding; +static int hf_ieee80211_ranging_sounding_aid12_rsid12; +static int hf_ieee80211_ranging_sounding_reserved1; +static int hf_ieee80211_ranging_sounding_i2r_rep; +static int hf_ieee80211_ranging_sounding_reserved2; +static int hf_ieee80211_ranging_sounding_starting_spatial_stream; +static int hf_ieee80211_ranging_sounding_number_spatial_streams; +static int hf_ieee80211_ranging_sounding_ul_target_rssi; +static int hf_ieee80211_ranging_sounding_reserved3; +static int hf_ieee80211_he_trigger_ranging_trigger_sec_sound; +static int hf_ieee80211_ranging_sec_sound_aid12_rsid12; +static int hf_ieee80211_ranging_sec_sound_reserved1; +static int hf_ieee80211_ranging_sec_sound_i2r_rep; +static int hf_ieee80211_ranging_sec_sound_reserved2; +static int hf_ieee80211_ranging_sec_sound_starting_spatial_stream; +static int hf_ieee80211_ranging_sec_sound_number_spatial_streams; +static int hf_ieee80211_ranging_sec_sound_ul_target_rssi; +static int hf_ieee80211_ranging_sec_sound_reserved3; +static int hf_ieee80211_he_trigger_ranging_user_info_sac; +static int hf_ieee80211_he_ndp_annc_sta; +static int hf_ieee80211_he_ndp_annc_aid11; +static int hf_ieee80211_he_ndp_annc_ru_start; +static int hf_ieee80211_he_ndp_annc_ru_end; +static int hf_ieee80211_he_ndp_annc_feedback_type_and_ng; +static int hf_ieee80211_he_ndp_annc_disambiguation; +static int hf_ieee80211_he_ndp_annc_codebook_size; +static int hf_ieee80211_he_ndp_annc_nc; +static int hf_ieee80211_he_ndp_annc_disallowed_bitmap; +static int hf_ieee80211_he_ndp_annc_reserved1; +static int hf_ieee80211_he_ndp_annc_reserved2; +static int hf_ieee80211_he_qtp_control; +static int hf_ieee80211_he_qtp_setup_quiet_period_duration; +static int hf_ieee80211_he_qtp_setup_srv_specific_identif; +static int hf_ieee80211_he_qtp_request_dialog_token; +static int hf_ieee80211_he_qtp_request_quiet_period_offset; +static int hf_ieee80211_he_qtp_request_quiet_period_duration; +static int hf_ieee80211_he_qtp_request_quiet_period_interval; +static int hf_ieee80211_he_qtp_request_repetition_count; +static int hf_ieee80211_he_qtp_request_srv_specific_identif; +static int hf_ieee80211_he_qtp_response_dialog_token; +static int hf_ieee80211_he_qtp_response_status_code; +static int hf_ieee80211_he_qtp_response_quiet_period_offset; +static int hf_ieee80211_he_qtp_response_quiet_period_duration; +static int hf_ieee80211_he_qtp_response_quiet_period_interval; +static int hf_ieee80211_he_qtp_response_repetition_count; +static int hf_ieee80211_he_qtp_response_srv_specific_identif; +static int hf_ieee80211_htc_ht_lac; +static int hf_ieee80211_htc_lac_trq; +static int hf_ieee80211_htc_lac_mai_aseli; +static int hf_ieee80211_htc_lac_mai_mrq; +static int hf_ieee80211_htc_lac_mai_msi; +static int hf_ieee80211_htc_lac_mai_reserved; +static int hf_ieee80211_htc_lac_mfsi; +static int hf_ieee80211_htc_lac_mfb; +static int hf_ieee80211_htc_lac_asel_command; +static int hf_ieee80211_htc_lac_asel_data; +static int hf_ieee80211_htc_cal_pos; +static int hf_ieee80211_htc_cal_seq; +static int hf_ieee80211_htc_reserved1; +static int hf_ieee80211_htc_csi_steering; +static int hf_ieee80211_htc_ndp_announcement; +static int hf_ieee80211_htc_reserved2; +static int hf_ieee80211_htc_mrq; +static int hf_ieee80211_htc_msi; +static int hf_ieee80211_htc_msi_stbc_reserved; +static int hf_ieee80211_htc_compressed_msi; +static int hf_ieee80211_htc_ppdu_stbc_encoded; +static int hf_ieee80211_htc_mfsi; +static int hf_ieee80211_htc_gid_l; +static int hf_ieee80211_htc_mfb; +static int hf_ieee80211_htc_num_sts; +static int hf_ieee80211_htc_vht_mcs; +static int hf_ieee80211_htc_bw; +static int hf_ieee80211_htc_snr; +static int hf_ieee80211_htc_reserved3; +static int hf_ieee80211_htc_gid_h; +static int hf_ieee80211_htc_coding_type; +static int hf_ieee80211_htc_fb_tx_type; +static int hf_ieee80211_htc_unsolicited_mfb; +static int hf_ieee80211_htc_ac_constraint; +static int hf_ieee80211_htc_rdg_more_ppdu; /* ************************************************************************* */ /* Header values for sequence number field */ /* ************************************************************************* */ -static int hf_ieee80211_frag_number = -1; -static int hf_ieee80211_seq_number = -1; +static int hf_ieee80211_frag_number; +static int hf_ieee80211_seq_number; /* ************************************************************************* */ /* Header values for Frame Check field */ /* ************************************************************************* */ -static int hf_ieee80211_fcs = -1; -static int hf_ieee80211_fcs_status = -1; +static int hf_ieee80211_fcs; +static int hf_ieee80211_fcs_status; /* ************************************************************************* */ /* Header values for reassembly */ /* ************************************************************************* */ -static int hf_ieee80211_fragments = -1; -static int hf_ieee80211_fragment = -1; -static int hf_ieee80211_fragment_overlap = -1; -static int hf_ieee80211_fragment_overlap_conflict = -1; -static int hf_ieee80211_fragment_multiple_tails = -1; -static int hf_ieee80211_fragment_too_long_fragment = -1; -static int hf_ieee80211_fragment_error = -1; -static int hf_ieee80211_fragment_count = -1; -static int hf_ieee80211_reassembled_in = -1; -static int hf_ieee80211_reassembled_length = -1; - -static int proto_wlan_ext = -1; +static int hf_ieee80211_fragments; +static int hf_ieee80211_fragment; +static int hf_ieee80211_fragment_overlap; +static int hf_ieee80211_fragment_overlap_conflict; +static int hf_ieee80211_fragment_multiple_tails; +static int hf_ieee80211_fragment_too_long_fragment; +static int hf_ieee80211_fragment_error; +static int hf_ieee80211_fragment_count; +static int hf_ieee80211_reassembled_in; +static int hf_ieee80211_reassembled_length; + +static int proto_wlan_ext; /* ************************************************************************* */ /* Fixed fields found in mgt frames */ /* ************************************************************************* */ -static int hf_ieee80211_fixed_parameters = -1; /* Protocol payload for management frames */ - -static int hf_ieee80211_ff_auth_alg = -1; /* Authentication algorithm field */ -static int hf_ieee80211_ff_auth_seq = -1; /* Authentication transaction sequence */ -static int hf_ieee80211_ff_current_ap = -1; /* Current AP MAC address */ -static int hf_ieee80211_ff_listen_ival = -1; /* Listen interval fixed field */ -static int hf_ieee80211_ff_timestamp = -1; /* 64 bit timestamp */ -static int hf_ieee80211_ff_beacon_interval = -1; /* 16 bit Beacon interval */ -static int hf_ieee80211_ff_assoc_id = -1; /* 16 bit AID field */ -static int hf_ieee80211_ff_reason = -1; /* 16 bit reason code */ -static int hf_ieee80211_ff_status_code = -1; /* Status code */ -static int hf_ieee80211_ff_category_code = -1; /* 8 bit Category code */ -static int hf_ieee80211_ff_action_code = -1; /* 8 bit Action code */ -static int hf_ieee80211_ff_dialog_token = -1; /* 8 bit Dialog token */ -static int hf_ieee80211_ff_trigger = -1; -static int hf_ieee80211_ff_ftm_tod = -1; -static int hf_ieee80211_ff_ftm_toa = -1; -static int hf_ieee80211_ff_ftm_tod_err = -1; -static int hf_ieee80211_ff_ftm_toa_err = -1; -static int hf_ieee80211_ff_followup_dialog_token = -1; -static int hf_ieee80211_ff_wme_action_code = -1; /* Management notification action code */ -static int hf_ieee80211_ff_wme_status_code = -1; /* Management notification setup response status code */ -static int hf_ieee80211_ff_qos_action_code = -1; -static int hf_ieee80211_ff_dls_action_code = -1; -static int hf_ieee80211_ff_dst_mac_addr = -1; /* DLS destination MAC addressi */ -static int hf_ieee80211_ff_src_mac_addr = -1; /* DLS source MAC addressi */ -static int hf_ieee80211_ff_req_ap_addr = -1; -static int hf_ieee80211_ff_res_ap_addr = -1; -static int hf_ieee80211_ff_check_beacon = -1; -static int hf_ieee80211_ff_dls_timeout = -1; /* DLS timeout value */ -static int hf_ieee80211_ff_ft_action_code = -1; /* 8 bit FT Action code */ -static int hf_ieee80211_ff_sta_address = -1; -static int hf_ieee80211_ff_target_ap_address = -1; -static int hf_ieee80211_ff_gas_comeback_delay = -1; -static int hf_ieee80211_ff_gas_fragment_id = -1; -static int hf_ieee80211_ff_more_gas_fragments = -1; -static int hf_ieee80211_ff_query_request_length = -1; -static int hf_ieee80211_ff_query_request = -1; -static int hf_ieee80211_ff_query_response_length = -1; -static int hf_ieee80211_ff_query_response = -1; -static int hf_ieee80211_ff_anqp_info_id = -1; -static int hf_ieee80211_ff_anqp_info_length = -1; -static int hf_ieee80211_ff_anqp_info = -1; -static int hf_ieee80211_ff_anqp_query_id = -1; -static int hf_ieee80211_ff_anqp_capability = -1; -static int hf_ieee80211_ff_anqp_capability_vlen = -1; -static int hf_ieee80211_ff_anqp_capability_vendor = -1; -static int hf_ieee80211_ff_venue_info_group = -1; -static int hf_ieee80211_ff_venue_info_type = -1; -static int hf_ieee80211_ff_anqp_venue_length = -1; -static int hf_ieee80211_ff_anqp_venue_language = -1; -static int hf_ieee80211_ff_anqp_venue_name = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_indicator = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_url_len = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_url = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_indicator = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_url_len = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_url = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_year = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_mon = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_day = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_hr = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_min = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_sec = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_msec = -1; -static int hf_ieee80211_ff_anqp_nw_auth_type_ts_rsvd = -1; -static int hf_ieee80211_ff_anqp_roaming_consortium_oi_len = -1; -static int hf_ieee80211_ff_anqp_roaming_consortium_oi = -1; -static int hf_ieee80211_ff_anqp_ip_addr_avail_ipv6 = -1; -static int hf_ieee80211_ff_anqp_ip_addr_avail_ipv4 = -1; -static int hf_ieee80211_ff_anqp_nai_realm_count = -1; -static int hf_ieee80211_ff_anqp_nai_field_len = -1; -static int hf_ieee80211_ff_anqp_nai_realm_encoding = -1; -static int hf_ieee80211_ff_anqp_nai_realm_length = -1; -static int hf_ieee80211_ff_anqp_nai_realm = -1; -static int hf_ieee80211_ff_anqp_nai_realm_eap_count = -1; -static int hf_ieee80211_ff_anqp_nai_realm_eap_len = -1; -static int hf_ieee80211_ff_anqp_nai_realm_eap_method = -1; -static int hf_ieee80211_ff_anqp_nai_realm_auth_param_count = -1; -static int hf_ieee80211_ff_anqp_nai_realm_auth_param_id = -1; -static int hf_ieee80211_ff_anqp_nai_realm_auth_param_len = -1; -static int hf_ieee80211_ff_anqp_nai_realm_auth_param_value = -1; -static int hf_ieee80211_3gpp_gc_gud = -1; -static int hf_ieee80211_3gpp_gc_udhl = -1; -static int hf_ieee80211_3gpp_gc_iei = -1; -static int hf_ieee80211_3gpp_gc_num_plmns = -1; -static int hf_ieee80211_3gpp_gc_plmn = -1; -static int hf_ieee80211_3gpp_gc_plmn_len = -1; -static int hf_ieee80211_ff_anqp_domain_name_len = -1; -static int hf_ieee80211_ff_anqp_domain_name = -1; -static int hf_ieee80211_ff_tdls_action_code = -1; -static int hf_ieee80211_ff_target_channel = -1; -static int hf_ieee80211_ff_operating_class = -1; -static int hf_ieee80211_ff_wnm_action_code = -1; -static int hf_ieee80211_ff_unprotected_wnm_action_code = -1; -static int hf_ieee80211_ff_key_data_length = -1; -static int hf_ieee80211_ff_key_data = -1; -static int hf_ieee80211_ff_wnm_notification_type = -1; -static int hf_ieee80211_ff_wnm_notification_response_status = -1; -static int hf_ieee80211_ff_rm_action_code = -1; -static int hf_ieee80211_ff_rm_dialog_token = -1; -static int hf_ieee80211_ff_rm_repetitions = -1; -static int hf_ieee80211_ff_rm_tx_power = -1; -static int hf_ieee80211_ff_rm_max_tx_power = -1; -static int hf_ieee80211_ff_tpc = -1; -static int hf_ieee80211_ff_tpc_element_id = -1; -static int hf_ieee80211_ff_tpc_length = -1; -static int hf_ieee80211_ff_tpc_tx_power = -1; -static int hf_ieee80211_ff_tpc_link_margin = -1; -static int hf_ieee80211_ff_rm_rx_antenna_id = -1; -static int hf_ieee80211_ff_rm_tx_antenna_id = -1; -static int hf_ieee80211_ff_rm_rcpi = -1; -static int hf_ieee80211_ff_rm_rsni = -1; -static int hf_ieee80211_ff_request_mode_pref_cand = -1; -static int hf_ieee80211_ff_request_mode_abridged = -1; -static int hf_ieee80211_ff_request_mode_disassoc_imminent = -1; -static int hf_ieee80211_ff_request_mode_bss_term_included = -1; -static int hf_ieee80211_ff_request_mode_ess_disassoc_imminent = -1; -static int hf_ieee80211_ff_request_mode_link_removal_imminent = -1; -static int hf_ieee80211_ff_request_mode_reserved = -1; -static int hf_ieee80211_ff_disassoc_timer = -1; -static int hf_ieee80211_ff_validity_interval = -1; -static int hf_ieee80211_ff_url_len = -1; -static int hf_ieee80211_ff_url = -1; -static int hf_ieee80211_ff_target_bss = -1; -static int hf_ieee80211_ff_bss_transition_query_reason = -1; -static int hf_ieee80211_ff_bss_transition_status_code = -1; -static int hf_ieee80211_ff_bss_termination_delay = -1; -static int hf_ieee80211_ff_bss_transition_candidate_list_entries = -1; - -static int hf_ieee80211_ff_sa_query_action_code = -1; -static int hf_ieee80211_ff_transaction_id = -1; - -static int hf_ieee80211_ff_send_confirm = -1; -static int hf_ieee80211_ff_scalar = -1; -static int hf_ieee80211_ff_finite_field_element = -1; -static int hf_ieee80211_ff_confirm = -1; -static int hf_ieee80211_ff_finite_cyclic_group = -1; -static int hf_ieee80211_ff_sae_message_type = -1; -static int hf_ieee80211_ff_sae_anti_clogging_token = -1; +static int hf_ieee80211_fixed_parameters; /* Protocol payload for management frames */ + +static int hf_ieee80211_ff_auth_alg; /* Authentication algorithm field */ +static int hf_ieee80211_ff_auth_seq; /* Authentication transaction sequence */ +static int hf_ieee80211_ff_current_ap; /* Current AP MAC address */ +static int hf_ieee80211_ff_listen_ival; /* Listen interval fixed field */ +static int hf_ieee80211_ff_timestamp; /* 64 bit timestamp */ +static int hf_ieee80211_ff_beacon_interval; /* 16 bit Beacon interval */ +static int hf_ieee80211_ff_assoc_id; /* 16 bit AID field */ +static int hf_ieee80211_ff_reason; /* 16 bit reason code */ +static int hf_ieee80211_ff_status_code; /* Status code */ +static int hf_ieee80211_ff_category_code; /* 8 bit Category code */ +static int hf_ieee80211_ff_action_code; /* 8 bit Action code */ +static int hf_ieee80211_ff_dialog_token; /* 8 bit Dialog token */ +static int hf_ieee80211_ff_trigger; +static int hf_ieee80211_ff_ftm_tod; +static int hf_ieee80211_ff_ftm_toa; +static int hf_ieee80211_ff_ftm_tod_err; +static int hf_ieee80211_ff_ftm_toa_err; +static int hf_ieee80211_ff_followup_dialog_token; +static int hf_ieee80211_ff_wme_action_code; /* Management notification action code */ +static int hf_ieee80211_ff_wme_status_code; /* Management notification setup response status code */ +static int hf_ieee80211_ff_qos_action_code; +static int hf_ieee80211_ff_dls_action_code; +static int hf_ieee80211_ff_dst_mac_addr; /* DLS destination MAC addressi */ +static int hf_ieee80211_ff_src_mac_addr; /* DLS source MAC addressi */ +static int hf_ieee80211_ff_req_ap_addr; +static int hf_ieee80211_ff_res_ap_addr; +static int hf_ieee80211_ff_check_beacon; +static int hf_ieee80211_ff_dls_timeout; /* DLS timeout value */ +static int hf_ieee80211_ff_ft_action_code; /* 8 bit FT Action code */ +static int hf_ieee80211_ff_sta_address; +static int hf_ieee80211_ff_target_ap_address; +static int hf_ieee80211_ff_gas_comeback_delay; +static int hf_ieee80211_ff_gas_fragment_id; +static int hf_ieee80211_ff_more_gas_fragments; +static int hf_ieee80211_ff_query_request_length; +static int hf_ieee80211_ff_query_request; +static int hf_ieee80211_ff_query_response_length; +static int hf_ieee80211_ff_query_response; +static int hf_ieee80211_ff_anqp_info_id; +static int hf_ieee80211_ff_anqp_info_length; +static int hf_ieee80211_ff_anqp_info; +static int hf_ieee80211_ff_anqp_query_id; +static int hf_ieee80211_ff_anqp_capability; +static int hf_ieee80211_ff_anqp_capability_vlen; +static int hf_ieee80211_ff_anqp_capability_vendor; +static int hf_ieee80211_ff_venue_info_group; +static int hf_ieee80211_ff_venue_info_type; +static int hf_ieee80211_ff_anqp_venue_length; +static int hf_ieee80211_ff_anqp_venue_language; +static int hf_ieee80211_ff_anqp_venue_name; +static int hf_ieee80211_ff_anqp_nw_auth_type_indicator; +static int hf_ieee80211_ff_anqp_nw_auth_type_url_len; +static int hf_ieee80211_ff_anqp_nw_auth_type_url; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_indicator; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_url_len; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_url; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_year; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_mon; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_day; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_hr; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_min; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_sec; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_msec; +static int hf_ieee80211_ff_anqp_nw_auth_type_ts_rsvd; +static int hf_ieee80211_ff_anqp_roaming_consortium_oi_len; +static int hf_ieee80211_ff_anqp_roaming_consortium_oi; +static int hf_ieee80211_ff_anqp_ip_addr_avail_ipv6; +static int hf_ieee80211_ff_anqp_ip_addr_avail_ipv4; +static int hf_ieee80211_ff_anqp_nai_realm_count; +static int hf_ieee80211_ff_anqp_nai_field_len; +static int hf_ieee80211_ff_anqp_nai_realm_encoding; +static int hf_ieee80211_ff_anqp_nai_realm_length; +static int hf_ieee80211_ff_anqp_nai_realm; +static int hf_ieee80211_ff_anqp_nai_realm_eap_count; +static int hf_ieee80211_ff_anqp_nai_realm_eap_len; +static int hf_ieee80211_ff_anqp_nai_realm_eap_method; +static int hf_ieee80211_ff_anqp_nai_realm_auth_param_count; +static int hf_ieee80211_ff_anqp_nai_realm_auth_param_id; +static int hf_ieee80211_ff_anqp_nai_realm_auth_param_len; +static int hf_ieee80211_ff_anqp_nai_realm_auth_param_value; +static int hf_ieee80211_3gpp_gc_gud; +static int hf_ieee80211_3gpp_gc_udhl; +static int hf_ieee80211_3gpp_gc_iei; +static int hf_ieee80211_3gpp_gc_num_plmns; +static int hf_ieee80211_3gpp_gc_plmn; +static int hf_ieee80211_3gpp_gc_plmn_len; +static int hf_ieee80211_ff_anqp_domain_name_len; +static int hf_ieee80211_ff_anqp_domain_name; +static int hf_ieee80211_ff_tdls_action_code; +static int hf_ieee80211_ff_target_channel; +static int hf_ieee80211_ff_operating_class; +static int hf_ieee80211_ff_wnm_action_code; +static int hf_ieee80211_ff_unprotected_wnm_action_code; +static int hf_ieee80211_ff_key_data_length; +static int hf_ieee80211_ff_key_data; +static int hf_ieee80211_ff_wnm_notification_type; +static int hf_ieee80211_ff_wnm_notification_response_status; +static int hf_ieee80211_ff_rm_action_code; +static int hf_ieee80211_ff_rm_dialog_token; +static int hf_ieee80211_ff_rm_repetitions; +static int hf_ieee80211_ff_rm_tx_power; +static int hf_ieee80211_ff_rm_max_tx_power; +static int hf_ieee80211_ff_tpc; +static int hf_ieee80211_ff_tpc_element_id; +static int hf_ieee80211_ff_tpc_length; +static int hf_ieee80211_ff_tpc_tx_power; +static int hf_ieee80211_ff_tpc_link_margin; +static int hf_ieee80211_ff_rm_rx_antenna_id; +static int hf_ieee80211_ff_rm_tx_antenna_id; +static int hf_ieee80211_ff_rm_rcpi; +static int hf_ieee80211_ff_rm_rsni; +static int hf_ieee80211_ff_request_mode_pref_cand; +static int hf_ieee80211_ff_request_mode_abridged; +static int hf_ieee80211_ff_request_mode_disassoc_imminent; +static int hf_ieee80211_ff_request_mode_bss_term_included; +static int hf_ieee80211_ff_request_mode_ess_disassoc_imminent; +static int hf_ieee80211_ff_request_mode_link_removal_imminent; +static int hf_ieee80211_ff_request_mode_reserved; +static int hf_ieee80211_ff_disassoc_timer; +static int hf_ieee80211_ff_validity_interval; +static int hf_ieee80211_ff_url_len; +static int hf_ieee80211_ff_url; +static int hf_ieee80211_ff_target_bss; +static int hf_ieee80211_ff_bss_transition_query_reason; +static int hf_ieee80211_ff_bss_transition_status_code; +static int hf_ieee80211_ff_bss_termination_delay; +static int hf_ieee80211_ff_bss_transition_candidate_list_entries; + +static int hf_ieee80211_ff_sa_query_action_code; +static int hf_ieee80211_ff_transaction_id; + +static int hf_ieee80211_ff_send_confirm; +static int hf_ieee80211_ff_scalar; +static int hf_ieee80211_ff_finite_field_element; +static int hf_ieee80211_ff_confirm; +static int hf_ieee80211_ff_finite_cyclic_group; +static int hf_ieee80211_ff_sae_message_type; +static int hf_ieee80211_ff_sae_anti_clogging_token; /* Vendor specific */ -static int hf_ieee80211_ff_marvell_action_type = -1; -static int hf_ieee80211_ff_marvell_mesh_mgt_action_code = -1; -static int hf_ieee80211_ff_marvell_mesh_mgt_length = -1; /* Mesh Management length */ -static int hf_ieee80211_ff_marvell_mesh_mgt_mode = -1; /* Mesh Management mode */ -static int hf_ieee80211_ff_marvell_mesh_mgt_ttl = -1; /* Mesh Management TTL */ -static int hf_ieee80211_ff_marvell_mesh_mgt_dstcount = -1; /* Mesh Management dst count */ -static int hf_ieee80211_ff_marvell_mesh_mgt_hopcount = -1; /* Mesh Management hop count */ -static int hf_ieee80211_ff_marvell_mesh_mgt_rreqid = -1; /* Mesh Management RREQ ID */ -static int hf_ieee80211_ff_marvell_mesh_mgt_sa = -1; /* Mesh Management src addr */ -static int hf_ieee80211_ff_marvell_mesh_mgt_ssn = -1; /* Mesh Management src sequence number */ -static int hf_ieee80211_ff_marvell_mesh_mgt_metric = -1; /* Mesh Management metric */ -static int hf_ieee80211_ff_marvell_mesh_mgt_flags = -1; /* Mesh Management RREQ flags */ -static int hf_ieee80211_ff_marvell_mesh_mgt_da = -1; /* Mesh Management dst addr */ -static int hf_ieee80211_ff_marvell_mesh_mgt_dsn = -1; /* Mesh Management dst sequence number */ -static int hf_ieee80211_ff_marvell_mesh_mgt_lifetime = -1; /* Mesh Management lifetime */ - - -static int hf_ieee80211_ff_ba_action = -1; - -static int hf_ieee80211_ff_block_ack_params = -1; -static int hf_ieee80211_ff_block_ack_params_amsdu_permitted = -1; -static int hf_ieee80211_ff_block_ack_params_policy = -1; -static int hf_ieee80211_ff_block_ack_params_tid = -1; -static int hf_ieee80211_ff_block_ack_params_buffer_size = -1; +static int hf_ieee80211_ff_marvell_action_type; +static int hf_ieee80211_ff_marvell_mesh_mgt_action_code; +static int hf_ieee80211_ff_marvell_mesh_mgt_length; /* Mesh Management length */ +static int hf_ieee80211_ff_marvell_mesh_mgt_mode; /* Mesh Management mode */ +static int hf_ieee80211_ff_marvell_mesh_mgt_ttl; /* Mesh Management TTL */ +static int hf_ieee80211_ff_marvell_mesh_mgt_dstcount; /* Mesh Management dst count */ +static int hf_ieee80211_ff_marvell_mesh_mgt_hopcount; /* Mesh Management hop count */ +static int hf_ieee80211_ff_marvell_mesh_mgt_rreqid; /* Mesh Management RREQ ID */ +static int hf_ieee80211_ff_marvell_mesh_mgt_sa; /* Mesh Management src addr */ +static int hf_ieee80211_ff_marvell_mesh_mgt_ssn; /* Mesh Management src sequence number */ +static int hf_ieee80211_ff_marvell_mesh_mgt_metric; /* Mesh Management metric */ +static int hf_ieee80211_ff_marvell_mesh_mgt_flags; /* Mesh Management RREQ flags */ +static int hf_ieee80211_ff_marvell_mesh_mgt_da; /* Mesh Management dst addr */ +static int hf_ieee80211_ff_marvell_mesh_mgt_dsn; /* Mesh Management dst sequence number */ +static int hf_ieee80211_ff_marvell_mesh_mgt_lifetime; /* Mesh Management lifetime */ + + +static int hf_ieee80211_ff_ba_action; + +static int hf_ieee80211_ff_block_ack_params; +static int hf_ieee80211_ff_block_ack_params_amsdu_permitted; +static int hf_ieee80211_ff_block_ack_params_policy; +static int hf_ieee80211_ff_block_ack_params_tid; +static int hf_ieee80211_ff_block_ack_params_buffer_size; static int * const ieee80211_ff_block_ack_params_fields[] = { &hf_ieee80211_ff_block_ack_params_amsdu_permitted, @@ -4280,11 +4365,11 @@ static int * const ieee80211_ff_block_ack_params_fields[] = { NULL }; -static int hf_ieee80211_ff_block_ack_timeout = -1; +static int hf_ieee80211_ff_block_ack_timeout; -static int hf_ieee80211_ff_block_ack_ssc = -1; -static int hf_ieee80211_ff_block_ack_ssc_fragment = -1; -static int hf_ieee80211_ff_block_ack_ssc_sequence = -1; +static int hf_ieee80211_ff_block_ack_ssc; +static int hf_ieee80211_ff_block_ack_ssc_fragment; +static int hf_ieee80211_ff_block_ack_ssc_sequence; static int * const ieee80211_ff_block_ack_ssc_fields[] = { &hf_ieee80211_ff_block_ack_ssc_fragment, @@ -4292,10 +4377,10 @@ static int * const ieee80211_ff_block_ack_ssc_fields[] = { NULL }; -static int hf_ieee80211_ff_delba_param = -1; -static int hf_ieee80211_ff_delba_param_reserved = -1; -static int hf_ieee80211_ff_delba_param_init = -1; -static int hf_ieee80211_ff_delba_param_tid = -1; +static int hf_ieee80211_ff_delba_param; +static int hf_ieee80211_ff_delba_param_reserved; +static int hf_ieee80211_ff_delba_param_init; +static int hf_ieee80211_ff_delba_param_tid; static int * const ieee80211_ff_delba_param_fields[] = { &hf_ieee80211_ff_delba_param_reserved, @@ -4304,20 +4389,20 @@ static int * const ieee80211_ff_delba_param_fields[] = { NULL }; -static int hf_ieee80211_ff_max_reg_pwr = -1; -static int hf_ieee80211_ff_measurement_pilot_int = -1; -static int hf_ieee80211_ff_country_str = -1; -static int hf_ieee80211_ff_max_tx_pwr = -1; -static int hf_ieee80211_ff_tx_pwr_used = -1; -static int hf_ieee80211_ff_transceiver_noise_floor = -1; -static int hf_ieee80211_ff_channel_width = -1; +static int hf_ieee80211_ff_max_reg_pwr; +static int hf_ieee80211_ff_measurement_pilot_int; +static int hf_ieee80211_ff_country_str; +static int hf_ieee80211_ff_max_tx_pwr; +static int hf_ieee80211_ff_tx_pwr_used; +static int hf_ieee80211_ff_transceiver_noise_floor; +static int hf_ieee80211_ff_channel_width; -static int hf_ieee80211_ff_qos_info_ap = -1; -static int hf_ieee80211_ff_qos_info_ap_edca_param_set_counter = -1; -static int hf_ieee80211_ff_qos_info_ap_q_ack = -1; -static int hf_ieee80211_ff_qos_info_ap_queue_req = -1; -static int hf_ieee80211_ff_qos_info_ap_txop_request = -1; -static int hf_ieee80211_ff_qos_info_ap_more_data_ack = -1; +static int hf_ieee80211_ff_qos_info_ap; +static int hf_ieee80211_ff_qos_info_ap_edca_param_set_counter; +static int hf_ieee80211_ff_qos_info_ap_q_ack; +static int hf_ieee80211_ff_qos_info_ap_queue_req; +static int hf_ieee80211_ff_qos_info_ap_txop_request; +static int hf_ieee80211_ff_qos_info_ap_more_data_ack; static int * const ieee80211_ff_qos_info_ap_fields[] = { &hf_ieee80211_ff_qos_info_ap_edca_param_set_counter, @@ -4328,14 +4413,14 @@ static int * const ieee80211_ff_qos_info_ap_fields[] = { NULL }; -static int hf_ieee80211_ff_qos_info_sta = -1; -static int hf_ieee80211_ff_qos_info_sta_ac_vo = -1; -static int hf_ieee80211_ff_qos_info_sta_ac_vi = -1; -static int hf_ieee80211_ff_qos_info_sta_ac_bk = -1; -static int hf_ieee80211_ff_qos_info_sta_ac_be = -1; -static int hf_ieee80211_ff_qos_info_sta_q_ack = -1; -static int hf_ieee80211_ff_qos_info_sta_max_sp_length = -1; -static int hf_ieee80211_ff_qos_info_sta_more_data_ack = -1; +static int hf_ieee80211_ff_qos_info_sta; +static int hf_ieee80211_ff_qos_info_sta_ac_vo; +static int hf_ieee80211_ff_qos_info_sta_ac_vi; +static int hf_ieee80211_ff_qos_info_sta_ac_bk; +static int hf_ieee80211_ff_qos_info_sta_ac_be; +static int hf_ieee80211_ff_qos_info_sta_q_ack; +static int hf_ieee80211_ff_qos_info_sta_max_sp_length; +static int hf_ieee80211_ff_qos_info_sta_more_data_ack; static int * const ieee80211_ff_qos_info_sta_fields[] = { &hf_ieee80211_ff_qos_info_sta_ac_vo, @@ -4348,10 +4433,10 @@ static int * const ieee80211_ff_qos_info_sta_fields[] = { NULL }; -static int hf_ieee80211_ff_sm_pwr_save = -1; -static int hf_ieee80211_ff_sm_pwr_save_enabled = -1; -static int hf_ieee80211_ff_sm_pwr_save_sm_mode = -1; -static int hf_ieee80211_ff_sm_pwr_save_reserved = -1; +static int hf_ieee80211_ff_sm_pwr_save; +static int hf_ieee80211_ff_sm_pwr_save_enabled; +static int hf_ieee80211_ff_sm_pwr_save_sm_mode; +static int hf_ieee80211_ff_sm_pwr_save_reserved; static int * const ieee80211_ff_sw_pwr_save_fields[] = { &hf_ieee80211_ff_sm_pwr_save_enabled, @@ -4360,12 +4445,12 @@ static int * const ieee80211_ff_sw_pwr_save_fields[] = { NULL }; -static int hf_ieee80211_ff_pco_phase_cntrl = -1; +static int hf_ieee80211_ff_pco_phase_cntrl; -static int hf_ieee80211_ff_psmp_param_set = -1; -static int hf_ieee80211_ff_psmp_param_set_n_sta = -1; -static int hf_ieee80211_ff_psmp_param_set_more_psmp = -1; -static int hf_ieee80211_ff_psmp_param_set_psmp_sequence_duration = -1; +static int hf_ieee80211_ff_psmp_param_set; +static int hf_ieee80211_ff_psmp_param_set_n_sta; +static int hf_ieee80211_ff_psmp_param_set_more_psmp; +static int hf_ieee80211_ff_psmp_param_set_psmp_sequence_duration; static int * const ieee80211_ff_psmp_param_set_fields[] = { &hf_ieee80211_ff_psmp_param_set_n_sta, @@ -4374,451 +4459,452 @@ static int * const ieee80211_ff_psmp_param_set_fields[] = { NULL }; -static int hf_ieee80211_ff_mimo_cntrl = -1; -static int hf_ieee80211_ff_mimo_cntrl_nc_index = -1; -static int hf_ieee80211_ff_mimo_cntrl_nr_index = -1; -static int hf_ieee80211_ff_mimo_cntrl_channel_width = -1; -static int hf_ieee80211_ff_mimo_cntrl_grouping = -1; -static int hf_ieee80211_ff_mimo_cntrl_coefficient_size = -1; -static int hf_ieee80211_ff_mimo_cntrl_codebook_info = -1; -static int hf_ieee80211_ff_mimo_cntrl_remaining_matrix_segment = -1; -static int hf_ieee80211_ff_mimo_cntrl_reserved = -1; -static int hf_ieee80211_ff_mimo_cntrl_sounding_timestamp = -1; - -static int hf_ieee80211_ff_ftm_param_delim1 = -1; -static int hf_ieee80211_ff_ftm_param_status_indication = -1; -static int hf_ieee80211_ff_ftm_param_value = -1; -static int hf_ieee80211_ff_ftm_param_reserved1 = -1; -static int hf_ieee80211_ff_ftm_param_burst_exponent = -1; -static int hf_ieee80211_ff_ftm_param_burst_duration = -1; - -static int hf_ieee80211_ff_ftm_param_delim2 = -1; -static int hf_ieee80211_ff_ftm_param_min_delta_ftm = -1; -static int hf_ieee80211_ff_ftm_param_partial_tsf_timer = -1; -static int hf_ieee80211_ff_ftm_param_partial_tsf_no_pref = -1; -static int hf_ieee80211_ff_ftm_param_asap_capable = -1; -static int hf_ieee80211_ff_ftm_param_asap = -1; -static int hf_ieee80211_ff_ftm_param_ftm_per_burst = -1; - -static int hf_ieee80211_ff_ftm_param_delim3 = -1; -static int hf_ieee80211_ff_ftm_param_reserved2 = -1; -static int hf_ieee80211_ff_ftm_param_format_and_bw = -1; -static int hf_ieee80211_ff_ftm_param_burst_period = -1; +static int hf_ieee80211_ff_mimo_cntrl; +static int hf_ieee80211_ff_mimo_cntrl_nc_index; +static int hf_ieee80211_ff_mimo_cntrl_nr_index; +static int hf_ieee80211_ff_mimo_cntrl_channel_width; +static int hf_ieee80211_ff_mimo_cntrl_grouping; +static int hf_ieee80211_ff_mimo_cntrl_coefficient_size; +static int hf_ieee80211_ff_mimo_cntrl_codebook_info; +static int hf_ieee80211_ff_mimo_cntrl_remaining_matrix_segment; +static int hf_ieee80211_ff_mimo_cntrl_reserved; +static int hf_ieee80211_ff_mimo_cntrl_sounding_timestamp; + +static int hf_ieee80211_ff_ftm_param_delim1; +static int hf_ieee80211_ff_ftm_param_status_indication; +static int hf_ieee80211_ff_ftm_param_value; +static int hf_ieee80211_ff_ftm_param_reserved1; +static int hf_ieee80211_ff_ftm_param_burst_exponent; +static int hf_ieee80211_ff_ftm_param_burst_duration; + +static int hf_ieee80211_ff_ftm_param_delim2; +static int hf_ieee80211_ff_ftm_param_min_delta_ftm; +static int hf_ieee80211_ff_ftm_param_partial_tsf_timer; +static int hf_ieee80211_ff_ftm_param_partial_tsf_no_pref; +static int hf_ieee80211_ff_ftm_param_asap_capable; +static int hf_ieee80211_ff_ftm_param_asap; +static int hf_ieee80211_ff_ftm_param_ftm_per_burst; + +static int hf_ieee80211_ff_ftm_param_delim3; +static int hf_ieee80211_ff_ftm_param_reserved2; +static int hf_ieee80211_ff_ftm_param_format_and_bw; +static int hf_ieee80211_ff_ftm_param_burst_period; /* az D3.0 introduces a 1-octet TOD Error field; use a different name to avoid * conflicting with the existing hf_ieee80211_ff_ftm_tod_err (which is 2 * octets). */ -static int hf_ieee80211_ff_ftm_tod_err1 = -1; -static int hf_ieee80211_ff_ftm_max_tod_error_exponent = -1; -static int hf_ieee80211_ff_ftm_tod_err_reserved = -1; -static int hf_ieee80211_ff_ftm_tod_not_continuous = -1; +static int hf_ieee80211_ff_ftm_tod_err1; +static int hf_ieee80211_ff_ftm_max_tod_error_exponent; +static int hf_ieee80211_ff_ftm_tod_err_reserved; +static int hf_ieee80211_ff_ftm_tod_not_continuous; /* Same situation with ...toa_err1 as ...tod_err1 */ -static int hf_ieee80211_ff_ftm_toa_err1 = -1; -static int hf_ieee80211_ff_ftm_max_toa_error_exponent = -1; -static int hf_ieee80211_ff_ftm_toa_err_reserved = -1; -static int hf_ieee80211_ff_ftm_invalid_measurement = -1; -static int hf_ieee80211_ff_ftm_toa_type = -1; +static int hf_ieee80211_ff_ftm_toa_err1; +static int hf_ieee80211_ff_ftm_max_toa_error_exponent; +static int hf_ieee80211_ff_ftm_toa_err_reserved; +static int hf_ieee80211_ff_ftm_invalid_measurement; +static int hf_ieee80211_ff_ftm_toa_type; -static int hf_ieee80211_ff_ftm_cfo = -1; -static int hf_ieee80211_ff_ftm_r2i_ndp_tx_power = -1; -static int hf_ieee80211_ff_ftm_i2r_ndp_target_rssi = -1; +static int hf_ieee80211_ff_ftm_cfo; +static int hf_ieee80211_ff_ftm_r2i_ndp_tx_power; +static int hf_ieee80211_ff_ftm_i2r_ndp_target_rssi; /* az: FTM Ranging Parameters Element */ -static int hf_ieee80211_tag_ranging_parameters = -1; -static int hf_ieee80211_tag_ranging_subelt_tag = -1; -static int hf_ieee80211_tag_ranging_subelt_len = -1; -static int hf_ieee80211_tag_ranging_status_indication = -1; -static int hf_ieee80211_tag_ranging_value = -1; -static int hf_ieee80211_tag_ranging_i2r_lmr_feedback = -1; -static int hf_ieee80211_tag_ranging_secure_ltf_required = -1; -static int hf_ieee80211_tag_ranging_secure_ltf_support = -1; -static int hf_ieee80211_tag_ranging_ranging_priority = -1; -static int hf_ieee80211_tag_ranging_r2i_toa_type = -1; -static int hf_ieee80211_tag_ranging_i2r_toa_type = -1; -static int hf_ieee80211_tag_ranging_r2i_aoa_requested = -1; -static int hf_ieee80211_tag_ranging_i2r_aoa_requested = -1; -static int hf_ieee80211_tag_ranging_format_and_bandwidth = -1; -static int hf_ieee80211_tag_ranging_immediate_r2i_feedback = -1; -static int hf_ieee80211_tag_ranging_immediate_i2r_feedback = -1; -static int hf_ieee80211_tag_ranging_max_i2r_repetition = -1; -static int hf_ieee80211_tag_ranging_max_r2i_repetition = -1; -static int hf_ieee80211_tag_ranging_reserved1 = -1; -static int hf_ieee80211_tag_ranging_reserved2 = -1; -static int hf_ieee80211_tag_ranging_max_r2i_sts_le_80_mhz = -1; -static int hf_ieee80211_tag_ranging_max_r2i_sts_gt_80_mhz = -1; -static int hf_ieee80211_tag_ranging_max_r2i_ltf_total = -1; -static int hf_ieee80211_tag_ranging_max_i2r_ltf_total = -1; -static int hf_ieee80211_tag_ranging_max_i2r_sts_le_80_mhz = -1; -static int hf_ieee80211_tag_ranging_max_i2r_sts_gt_80_mhz = -1; -static int hf_ieee80211_tag_ranging_bss_color_info = -1; +static int hf_ieee80211_tag_ranging_parameters; +static int hf_ieee80211_tag_ranging_subelt_tag; +static int hf_ieee80211_tag_ranging_subelt_len; +static int hf_ieee80211_tag_ranging_status_indication; +static int hf_ieee80211_tag_ranging_value; +static int hf_ieee80211_tag_ranging_i2r_lmr_feedback; +static int hf_ieee80211_tag_ranging_secure_ltf_required; +static int hf_ieee80211_tag_ranging_secure_ltf_support; +static int hf_ieee80211_tag_ranging_ranging_priority; +static int hf_ieee80211_tag_ranging_r2i_toa_type; +static int hf_ieee80211_tag_ranging_i2r_toa_type; +static int hf_ieee80211_tag_ranging_r2i_aoa_requested; +static int hf_ieee80211_tag_ranging_i2r_aoa_requested; +static int hf_ieee80211_tag_ranging_format_and_bandwidth; +static int hf_ieee80211_tag_ranging_immediate_r2i_feedback; +static int hf_ieee80211_tag_ranging_immediate_i2r_feedback; +static int hf_ieee80211_tag_ranging_max_i2r_repetition; +static int hf_ieee80211_tag_ranging_max_r2i_repetition; +static int hf_ieee80211_tag_ranging_reserved1; +static int hf_ieee80211_tag_ranging_reserved2; +static int hf_ieee80211_tag_ranging_max_r2i_sts_le_80_mhz; +static int hf_ieee80211_tag_ranging_max_r2i_sts_gt_80_mhz; +static int hf_ieee80211_tag_ranging_max_r2i_ltf_total; +static int hf_ieee80211_tag_ranging_max_i2r_ltf_total; +static int hf_ieee80211_tag_ranging_max_i2r_sts_le_80_mhz; +static int hf_ieee80211_tag_ranging_max_i2r_sts_gt_80_mhz; +static int hf_ieee80211_tag_ranging_bss_color_info; /* az: FTM Ranging Parameters NTB-specific subelement */ -static int hf_ieee80211_tag_ranging_ntb = -1; -static int hf_ieee80211_tag_ranging_ntb_reserved1 = -1; -static int hf_ieee80211_tag_ranging_ntb_min_time_msmts = -1; -static int hf_ieee80211_tag_ranging_ntb_max_time_msmts = -1; -static int hf_ieee80211_tag_ranging_ntb_r2i_tx_power = -1; -static int hf_ieee80211_tag_ranging_ntb_i2r_tx_power = -1; -static int hf_ieee80211_tag_ranging_ntb_reserved2 = -1; +static int hf_ieee80211_tag_ranging_ntb; +static int hf_ieee80211_tag_ranging_ntb_reserved1; +static int hf_ieee80211_tag_ranging_ntb_min_time_msmts; +static int hf_ieee80211_tag_ranging_ntb_max_time_msmts; +static int hf_ieee80211_tag_ranging_ntb_r2i_tx_power; +static int hf_ieee80211_tag_ranging_ntb_i2r_tx_power; +static int hf_ieee80211_tag_ranging_ntb_reserved2; /* az: FTM Ranging Specific TB subelement */ -static int hf_ieee80211_tag_ranging_aid_rsid = -1; -static int hf_ieee80211_tag_ranging_device_class = -1; -static int hf_ieee80211_tag_ranging_full_bw_ul_mu_mimo = -1; -static int hf_ieee80211_tag_ranging_trigger_frame_paddur = -1; -static int hf_ieee80211_tag_ranging_max_sess_exp = -1; -static int hf_ieee80211_tag_ranging_passive_tb_ranging = -1; -static int hf_ieee80211_tag_ranging_tb_specific_reserved = -1; +static int hf_ieee80211_tag_ranging_aid_rsid; +static int hf_ieee80211_tag_ranging_device_class; +static int hf_ieee80211_tag_ranging_full_bw_ul_mu_mimo; +static int hf_ieee80211_tag_ranging_trigger_frame_paddur; +static int hf_ieee80211_tag_ranging_max_sess_exp; +static int hf_ieee80211_tag_ranging_passive_tb_ranging; +static int hf_ieee80211_tag_ranging_tb_specific_reserved; /* az: PASN subelements etc. */ -static int hf_ieee80211_tag_pasn_parameters_control = -1; -static int hf_ieee80211_tag_pasn_params_comeback_info_present = -1; -static int hf_ieee80211_tag_pasn_params_group_and_key_present = -1; -static int hf_ieee80211_tag_pasn_parameters_reserved = -1; -static int hf_ieee80211_tag_pasn_parameters_wrapped_fmt = -1; -static int hf_ieee80211_tag_pasn_comeback_after = -1; -static int hf_ieee80211_tag_pasn_cookie_length = -1; -static int hf_ieee80211_tag_pasn_cookie = -1; -static int hf_ieee80211_tag_pasn_finite_cyclic_group_id = -1; -static int hf_ieee80211_tag_pasn_ephemeral_public_key_len = -1; -static int hf_ieee80211_tag_pasn_ephemeral_public_key = -1; -static int hf_ieee80211_pasn_auth1_frame_len = -1; -static int hf_ieee80211_pasn_auth2_frame_len = -1; +static int hf_ieee80211_tag_pasn_parameters_control; +static int hf_ieee80211_tag_pasn_params_comeback_info_present; +static int hf_ieee80211_tag_pasn_params_group_and_key_present; +static int hf_ieee80211_tag_pasn_parameters_reserved; +static int hf_ieee80211_tag_pasn_parameters_wrapped_fmt; +static int hf_ieee80211_tag_pasn_comeback_after; +static int hf_ieee80211_tag_pasn_cookie_length; +static int hf_ieee80211_tag_pasn_cookie; +static int hf_ieee80211_tag_pasn_finite_cyclic_group_id; +static int hf_ieee80211_tag_pasn_ephemeral_public_key_len; +static int hf_ieee80211_tag_pasn_ephemeral_public_key; +static int hf_ieee80211_pasn_auth1_frame_len; +static int hf_ieee80211_pasn_auth2_frame_len; /* az: Secure LTF Parameters */ -static int hf_ieee80211_tag_secure_ltf_params_counter = -1; -static int hf_ieee80211_tag_secure_ltf_generation_sac = -1; -static int hf_ieee80211_tag_secure_ltf_management_sac = -1; -static int hf_ieee80211_tag_secure_ltf_result_ltf_ofs = -1; +static int hf_ieee80211_tag_secure_ltf_params_counter; +static int hf_ieee80211_tag_secure_ltf_generation_sac; +static int hf_ieee80211_tag_secure_ltf_management_sac; +static int hf_ieee80211_tag_secure_ltf_result_ltf_ofs; /* az: ista and rsta availability details */ -static int hf_ieee80211_ftm_ista_availability_count = -1; -static int hf_ieee80211_ftm_ista_availability_reserved = -1; -static int hf_ieee80211_ftm_ista_avail_bits = -1; -static int hf_ieee80211_ftm_ista_avail_pad = -1; - -static int hf_ieee80211_ftm_rsta_header = -1; -static int hf_ieee80211_ftm_rsta_count = -1; -static int hf_ieee80211_ftm_rsta_avail_window_bcast_fmt = -1; -static int hf_ieee80211_ftm_rsta_partial_tsf_timer1 = -1; -static int hf_ieee80211_ftm_rsta_duration1 = -1; -static int hf_ieee80211_ftm_rsta_passive_tb_ranging_reserved1 = -1; -static int hf_ieee80211_ftm_rsta_periodicity1 = -1; -static int hf_ieee80211_ftm_rsta_partial_tsf_timer = -1; -static int hf_ieee80211_ftm_rsta_duration = -1; -static int hf_ieee80211_ftm_rsta_passive_tb_ranging_reserved = -1; -static int hf_ieee80211_ftm_rsta_periodicity = -1; -static int hf_ieee80211_ftm_rsta_format_and_bandwidth = -1; -static int hf_ieee80211_ftm_rsta_reserved = -1; -static int hf_ieee80211_ftm_rsta_avail_subfield_short = -1; -static int hf_ieee80211_ftm_rsta_avail_subfield_long = -1; +static int hf_ieee80211_ftm_ista_availability_count; +static int hf_ieee80211_ftm_ista_availability_reserved; +static int hf_ieee80211_ftm_ista_avail_bits; +static int hf_ieee80211_ftm_ista_avail_pad; + +static int hf_ieee80211_ftm_rsta_header; +static int hf_ieee80211_ftm_rsta_count; +static int hf_ieee80211_ftm_rsta_avail_window_bcast_fmt; +static int hf_ieee80211_ftm_rsta_partial_tsf_timer1; +static int hf_ieee80211_ftm_rsta_duration1; +static int hf_ieee80211_ftm_rsta_passive_tb_ranging_reserved1; +static int hf_ieee80211_ftm_rsta_periodicity1; +static int hf_ieee80211_ftm_rsta_partial_tsf_timer; +static int hf_ieee80211_ftm_rsta_duration; +static int hf_ieee80211_ftm_rsta_passive_tb_ranging_reserved; +static int hf_ieee80211_ftm_rsta_periodicity; +static int hf_ieee80211_ftm_rsta_format_and_bandwidth; +static int hf_ieee80211_ftm_rsta_reserved; +static int hf_ieee80211_ftm_rsta_avail_subfield_short; +static int hf_ieee80211_ftm_rsta_avail_subfield_long; /* be: Multi-link elements and other fields */ -static int hf_ieee80211_eht_multi_link_control = -1; -static int hf_ieee80211_eht_multi_link_control_type = -1; -static int hf_ieee80211_eht_multi_link_control_reserved = -1; -static int hf_ieee80211_eht_multi_link_control_link_id_present = -1; -static int hf_ieee80211_eht_multi_link_control_bss_parms_ch_count = -1; -static int hf_ieee80211_eht_multi_link_control_medium_sync_delay = -1; -static int hf_ieee80211_eht_multi_link_control_eml_capa = -1; -static int hf_ieee80211_eht_multi_link_control_mld_capa = -1; -static int hf_ieee80211_eht_multi_link_control_basic_mld_id_present = -1; -static int hf_ieee80211_eht_multi_link_control_ext_mld_capa = -1; -static int hf_ieee80211_eht_multi_link_control_bitmap_reserved = -1; -static int hf_ieee80211_eht_multi_link_control_probe_mld_id_present = -1; -static int hf_ieee80211_eht_multi_link_control_probe_bm_reserved = -1; -static int hf_ieee80211_eht_multi_link_control_reconfig_mld_mac = -1; -static int hf_ieee80211_eht_multi_link_control_reconfig_reserved = -1; -static int hf_ieee80211_eht_multi_link_control_tdls_reserved = -1; -static int hf_ieee80211_eht_multi_link_control_prio_access_reserved = -1; -static int hf_ieee80211_eht_common_field_length = -1; -static int hf_ieee80211_eht_common_field_mld_mac = -1; -static int hf_ieee80211_eht_common_field_link_id_field = -1; -static int hf_ieee80211_eht_common_info_link_id = -1; -static int hf_ieee80211_eht_common_info_link_id_reserved = -1; -static int hf_ieee80211_eht_common_field_bss_param_change_count = -1; -static int hf_ieee80211_eht_common_field_medium_sync_field = -1; -static int hf_ieee80211_eht_common_info_medium_sync_duration = -1; -static int hf_ieee80211_eht_common_info_medium_sync_threshold = -1; -static int hf_ieee80211_eht_common_info_medium_sync_max_txops = -1; -static int hf_ieee80211_eht_common_field_eml_capabilities = -1; -static int hf_ieee80211_eht_common_info_eml_capa_emlsr_support = -1; -static int hf_ieee80211_eht_common_info_eml_capa_emlsr_padding_delay = -1; -static int hf_ieee80211_eht_common_info_eml_capa_emlsr_transition_delay = -1; -static int hf_ieee80211_eht_common_info_eml_capa_emlmr_support = -1; -static int hf_ieee80211_eht_common_info_eml_capa_emlmr_delay = -1; -static int hf_ieee80211_eht_common_info_eml_capa_transition_timeout = -1; -static int hf_ieee80211_eht_common_info_eml_capa_reserved = -1; -static int hf_ieee80211_eht_common_field_mld_capabilities = -1; -static int hf_ieee80211_eht_common_info_mld_max_simul_links = -1; -static int hf_ieee80211_eht_common_info_mld_srs_support = -1; -static int hf_ieee80211_eht_common_info_mld_tid_to_link_map_neg = -1; -static int hf_ieee80211_eht_common_info_mld_freq_sep_for_str = -1; -static int hf_ieee80211_eht_common_info_mld_aar_support = -1; -static int hf_ieee80211_eht_common_info_mld_link_reconf_op_support = -1; -static int hf_ieee80211_eht_common_info_mld_aligned_twt_support = -1; -static int hf_ieee80211_eht_common_info_mld_reserved = -1; -static int hf_ieee80211_eht_common_info_ap_mld_mac_addr = -1; -static int hf_ieee80211_eht_common_field_mld_id = -1; -static int hf_ieee80211_eht_common_field_ap_mld_mac = -1; -static int hf_ieee80211_eht_common_field_ext_mld_capabilities = -1; -static int hf_ieee80211_eht_common_info_ext_mld_op_update_support = -1; -static int hf_ieee80211_eht_common_info_ext_mld_max_simul_links = -1; -static int hf_ieee80211_eht_common_info_ext_mld_reserved = -1; -static int hf_ieee80211_eht_multi_link_subelt_tag = -1; -static int hf_ieee80211_eht_multi_link_subelt_len = -1; -static int hf_ieee80211_eht_multi_link_type_0_link_count = -1; -static int hf_ieee80211_eht_multi_link_type_1_link_count = -1; -static int hf_ieee80211_eht_multi_link_type_2_link_count = -1; -static int hf_ieee80211_eht_multi_link_type_3_link_count = -1; -static int hf_ieee80211_eht_multi_link_type_4_link_count = -1; -static int hf_ieee80211_eht_multi_link_link_id_list = -1; -static int hf_ieee80211_eht_profile_sta_control = -1; -static int hf_ieee80211_eht_profile_link_id = -1; -static int hf_ieee80211_eht_profile_complete_profile = -1; -static int hf_ieee80211_eht_profile_mac_address_present = -1; -static int hf_ieee80211_eht_profile_beacon_interval_present = -1; -static int hf_ieee80211_eht_profile_tsf_offset_present = -1; -static int hf_ieee80211_eht_profile_dtim_info_present = -1; -static int hf_ieee80211_eht_profile_nstr_link_pair_present = -1; -static int hf_ieee80211_eht_profile_nstr_bitmap_size = -1; -static int hf_ieee80211_eht_profile_bss_params_change_count_present = -1; -static int hf_ieee80211_eht_profile_reserved = -1; -static int hf_ieee80211_eht_profile_probe_reserved = -1; -static int hf_ieee80211_eht_profile_removal_timer_present = -1; -static int hf_ieee80211_eht_profile_reconfig_operation_type = -1; -static int hf_ieee80211_eht_profile_operation_para_present = -1; -static int hf_ieee80211_eht_profile_reconfig_nstr_bitmap_size = -1; -static int hf_ieee80211_eht_profile_reconfig_reserved = -1; -static int hf_ieee80211_eht_profile_prio_acc_reserved = -1; -static int hf_ieee80211_eht_sta_profile_info_len = -1; -static int hf_ieee80211_eht_sta_profile_info_mac = -1; -static int hf_ieee80211_eht_sta_profile_info_beacon = -1; -static int hf_ieee80211_eht_sta_profile_info_tsf_offset = -1; -static int hf_ieee80211_eht_sta_profile_info_dtim_count = -1; -static int hf_ieee80211_eht_sta_profile_info_dtim_period = -1; -static int hf_ieee80211_eht_sta_profile_info_bitmap = -1; -static int hf_ieee80211_eht_sta_profile_bss_params_change_count = -1; -static int hf_ieee80211_eht_sta_profile_removal_timer = -1; -static int hf_ieee80211_eht_sta_profile_presence_indi = -1; -static int hf_ieee80211_eht_sta_profile_presence_indi_max_mpdu_length_present = -1; -static int hf_ieee80211_eht_sta_profile_presence_indi_max_amsdu_length_present = -1; -static int hf_ieee80211_eht_sta_profile_presence_indi_reserved = -1; -static int hf_ieee80211_eht_sta_profile_operation_para_info = -1; -static int hf_ieee80211_eht_sta_profile_operation_para_info_max_mpdu_length = -1; -static int hf_ieee80211_eht_sta_profile_operation_para_info_amsdu_length = -1; -static int hf_ieee80211_eht_sta_profile_operation_para_info_pad = -1; -static int hf_ieee80211_eht_operation_parameters = -1; -static int hf_ieee80211_eht_basic_eht_mcs_nss_set = -1; -static int hf_ieee80211_eht_operation_control_chan_width = -1; -static int hf_ieee80211_eht_operation_control_reserved = -1; -static int hf_ieee80211_eht_operation_info_present = -1; -static int hf_ieee80211_eht_operation_subchannel_bitmap_present = -1; -static int hf_ieee80211_eht_operation_default_pe_duration = -1; -static int hf_ieee80211_eht_operation_group_addressed_bu_indication_limit = -1; -static int hf_ieee80211_eht_operation_group_addressed_bu_indication_exp = -1; -static int hf_ieee80211_eht_operation_reserved = -1; -static int hf_ieee80211_eht_operation_control = -1; -static int hf_ieee80211_eht_operation_ccfs0 = -1; -static int hf_ieee80211_eht_operation_ccfs1 = -1; -static int hf_ieee80211_eht_operation_disabled_bitmap = -1; -static int hf_ieee80211_eht_mac_capabilities = -1; -static int hf_ieee80211_eht_mac_capa_epcs_prio_access_support = -1; -static int hf_ieee80211_eht_mac_capa_eht_om_control_support = -1; -static int hf_ieee80211_eht_mac_capa_trig_txop_sharing_mode_1_support = -1; -static int hf_ieee80211_eht_mac_capa_trig_txop_sharing_mode_2_support = -1; -static int hf_ieee80211_eht_mac_capa_restricted_twt_support = -1; -static int hf_ieee80211_eht_mac_capa_scs_traffic_description_support = -1; -static int hf_ieee80211_eht_mac_capa_maximum_mpdu_length = -1; -static int hf_ieee80211_eht_mac_capa_maximum_ampdu_length_exp_ext = -1; -static int hf_ieee80211_eht_mac_capa_eht_trs_support = -1; -static int hf_ieee80211_eht_mac_capa_txop_return_support_txop_sha_mode = -1; -static int hf_ieee80211_eht_mac_capa_two_bqrs_support = -1; -static int hf_ieee80211_eht_mac_capa_eht_link_adaptation_support = -1; -static int hf_ieee80211_eht_mac_capa_reserved = -1; -static int hf_ieee80211_eht_phy_bits_0_15 = -1; -static int hf_ieee80211_eht_phy_bits_0_15_reserved = -1; -static int hf_ieee80211_eht_phy_bits_0_15_320_mhz_in_6ghz = -1; -static int hf_ieee80211_eht_phy_bits_0_15_242_tone_ru_bw_wider_20mhz = -1; -static int hf_ieee80211_eht_phy_bits_0_15_ndp_and_3_2_us_gi = -1; -static int hf_ieee80211_eht_phy_bits_0_15_partial_bw_ul_mu_mimo = -1; -static int hf_ieee80211_eht_phy_bits_0_15_su_beamformer = -1; -static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee = -1; -static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_le_80mhz = -1; -static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_eq_160mhz = -1; -static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_eq_320mhz = -1; -static int hf_ieee80211_eht_phy_bits_16_31 = -1; -static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_lt_80mhz = -1; -static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_eq_160mhz = -1; -static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_eq_320mhz = -1; -static int hf_ieee80211_eht_phy_bits_16_31_num_ng_eq_16_su_feedback = -1; -static int hf_ieee80211_eht_phy_bits_16_31_num_ng_eq_16_mu_feedback = -1; -static int hf_ieee80211_eht_phy_bits_16_31_codebook_size_4_2_su_fbck = -1; -static int hf_ieee80211_eht_phy_bits_16_31_codebook_size_7_5_mu_fbck = -1; -static int hf_ieee80211_eht_phy_bits_16_31_triggered_su_beemform_fbck = -1; -static int hf_ieee80211_eht_phy_bits_16_31_triggered_mu_beemform_p_bw_fbck = -1; -static int hf_ieee80211_eht_phy_bits_16_31_triggered_cqi_feedback = -1; -static int hf_ieee80211_eht_phy_bits_32_39 = -1; -static int hf_ieee80211_eht_phy_bits_32_39_partial_bw_dl_mu_mimo = -1; -static int hf_ieee80211_eht_phy_bits_32_39_eht_psr_based_sr_support = -1; -static int hf_ieee80211_eht_phy_bits_32_39_power_boost_factor_support = -1; -static int hf_ieee80211_eht_phy_bits_32_39_eht_mu_ppdu_w_4x_eht_ltf_08_gi = -1; -static int hf_ieee80211_eht_phy_bits_32_39_max_nc = -1; -static int hf_ieee80211_eht_phy_bits_40_63 = -1; -static int hf_ieee80211_eht_phy_bits_40_63_non_triggered_cqi_fbck = -1; -static int hf_ieee80211_eht_phy_bits_40_63_tx_1024_4096_qam_lt_242_ru_support = -1; -static int hf_ieee80211_eht_phy_bits_40_63_rx_1024_4096_qam_lt_242_ru_support = -1; -static int hf_ieee80211_eht_phy_bits_40_63_ppe_thresholds_present = -1; -static int hf_ieee80211_eht_phy_bits_40_63_common_nominal_packet_padding = -1; -static int hf_ieee80211_eht_phy_bits_40_63_max_num_supported_eht_ltfs = -1; -static int hf_ieee80211_eht_phy_bits_40_63_support_of_mcx_15 = -1; -static int hf_ieee80211_eht_phy_bits_40_63_support_of_eht_dup_in_6_ghz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_support_20_mhz_sta_ndp_wide_bw = -1; -static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_le_80_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_eq_160_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_eq_320_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_le_80_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_eq_160_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_eq_320_mhz = -1; -static int hf_ieee80211_eht_phy_bits_40_63_tb_sounding_feedback_rate_limit = -1; -static int hf_ieee80211_eht_phy_bits_64_71 = -1; -static int hf_ieee80211_eht_phy_bits_64_71_rx_1024_qam_wid_bw_dl_ofdma_sup = -1; -static int hf_ieee80211_eht_phy_bits_64_71_rx_4096_qam_wid_bw_dl_ofdma_sup = -1; -static int hf_ieee80211_eht_phy_bits_64_71_reserved = -1; -static int hf_ieee80211_eht_supported_mcs_nss_bytes = -1; -static int hf_ieee80211_eht_mcs_and_nss_non_ap = -1; -static int hf_ieee80211_eht_rx_max_nss_20mhz_0_7 = -1; -static int hf_ieee80211_eht_tx_max_nss_20mhz_0_7 = -1; -static int hf_ieee80211_eht_rx_max_nss_20mhz_8_9 = -1; -static int hf_ieee80211_eht_tx_max_nss_20mhz_8_9 = -1; -static int hf_ieee80211_eht_rx_max_nss_20mhz_10_11 = -1; -static int hf_ieee80211_eht_tx_max_nss_20mhz_10_11 = -1; -static int hf_ieee80211_eht_rx_max_nss_20mhz_12_13 = -1; -static int hf_ieee80211_eht_tx_max_nss_20mhz_12_13 = -1; -static int hf_ieee80211_eht_le_80_rx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_le_80_tx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_le_80_rx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_le_80_tx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_le_80_rx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_le_80_tx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_160_rx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_160_tx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_160_rx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_160_tx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_160_rx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_160_tx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_320_rx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_320_tx_max_nss_0_9 = -1; -static int hf_ieee80211_eht_320_rx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_320_tx_max_nss_10_11 = -1; -static int hf_ieee80211_eht_320_rx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_320_tx_max_nss_12_13 = -1; -static int hf_ieee80211_eht_mcs_and_nss_le_80mhz = -1; -static int hf_ieee80211_eht_mcs_and_nss_eq_160mhz = -1; -static int hf_ieee80211_eht_mcs_and_nss_eq_320mhz = -1; -static int hf_ieee80211_eht_ppe_thresholds = -1; -static int hf_ieee80211_eht_ttl_mapping_control = -1; -static int hf_ieee80211_eht_ttl_mapping_direction = -1; -static int hf_ieee80211_eht_ttl_default_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_switch_time_pres = -1; -static int hf_ieee80211_eht_ttl_expected_dura_pres = -1; -static int hf_ieee80211_eht_ttl_link_mapping_size = -1; -static int hf_ieee80211_eht_ttl_mapping_reserved = -1; -static int hf_ieee80211_eht_ttl_mapping_presence = -1; -static int hf_ieee80211_eht_ttl_mapping_switch_time = -1; -static int hf_ieee80211_eht_ttl_mapping_expected_duration = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_0_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_1_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_2_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_3_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_4_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_5_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_6_link_mapping = -1; -static int hf_ieee80211_eht_ttl_mapping_tid_7_link_mapping = -1; -static int hf_ieee80211_eht_multi_link_traffic_control = -1; -static int hf_ieee80211_eht_multi_link_tc_bitmap_size = -1; -static int hf_ieee80211_eht_multi_link_tc_aid_offset = -1; -static int hf_ieee80211_eht_multi_link_tc_reserved = -1; -static int hf_ieee80211_eht_multi_link_traffic_indication = -1; -static int hf_ieee80211_eht_qos_chars_dirn = -1; -static int hf_ieee80211_eht_qos_chars_tid = -1; -static int hf_ieee80211_eht_qos_chars_user_prio = -1; -static int hf_ieee80211_eht_qos_chars_bitmap = -1; -static int hf_ieee80211_eht_qos_chars_linkid = -1; -static int hf_ieee80211_eht_qos_chars_resrvd = -1; -static int hf_ieee80211_eht_qos_chars_min_svc_interval = -1; -static int hf_ieee80211_eht_qos_chars_max_svc_interval = -1; -static int hf_ieee80211_eht_qos_chars_min_data_rate = -1; -static int hf_ieee80211_eht_qos_chars_delay_bound = -1; -static int hf_ieee80211_eht_qos_chars_max_msdu_size = -1; -static int hf_ieee80211_eht_qos_chars_service_start_time = -1; -static int hf_ieee80211_eht_qos_chars_service_start_time_linkid = -1; -static int hf_ieee80211_eht_qos_chars_mean_data_rate = -1; -static int hf_ieee80211_eht_qos_chars_burst_size = -1; -static int hf_ieee80211_eht_qos_chars_msdu_lifetime = -1; -static int hf_ieee80211_eht_qos_chars_msdu_delivery_ratio = -1; -static int hf_ieee80211_eht_qos_chars_msdu_count_exponent = -1; -static int hf_ieee80211_eht_qos_chars_medium_time = -1; -static int hf_ieee80211_eht_link_id_bitmap = -1; -static int hf_ieee80211_eht_aid_bitmap_length = -1; -static int hf_ieee80211_eht_aid_bitmap_control = -1; -static int hf_ieee80211_eht_aid_bitmap_control_reserved = -1; -static int hf_ieee80211_eht_aid_bitmap_control_offset = -1; -static int hf_ieee80211_eht_aid_bitmap_partial_aid_bitmap = -1; -static int hf_ieee80211_eht_aid_bitmap_aid = -1; -static int hf_ieee80211_eht_bw_indi_param = -1; -static int hf_ieee80211_eht_bw_indi_param_reserved = -1; -static int hf_ieee80211_eht_bw_indi_param_disabled_subchan_bitmap = -1; -static int hf_ieee80211_eht_bw_indi_param_reserved1 = -1; -static int hf_ieee80211_eht_bw_indi_diabled_bitmap = -1; -static int hf_ieee80211_eht_mimo_ctrl_field = -1; -static int hf_ieee80211_eht_mimo_ctrl_nc_index = -1; -static int hf_ieee80211_eht_mimo_ctrl_nr_index = -1; -static int hf_ieee80211_eht_mimo_ctrl_bw = -1; -static int hf_ieee80211_eht_mimo_ctrl_grouping = -1; -static int hf_ieee80211_eht_mimo_ctrl_feedback_type = -1; -static int hf_ieee80211_eht_mimo_ctrl_reserved1 = -1; -static int hf_ieee80211_eht_mimo_ctrl_remaining_feedback_segments = -1; -static int hf_ieee80211_eht_mimo_ctrl_first_feedback_segment = -1; -static int hf_ieee80211_eht_mimo_ctrl_partial_bw_info = -1; -static int hf_ieee80211_eht_mimo_ctrl_sounding_dialog_token_number = -1; -static int hf_ieee80211_eht_mimo_ctrl_codebook_info = -1; -static int hf_ieee80211_eht_mimo_ctrl_reserved2 = -1; +static int hf_ieee80211_eht_multi_link_control; +static int hf_ieee80211_eht_multi_link_control_type; +static int hf_ieee80211_eht_multi_link_control_reserved; +static int hf_ieee80211_eht_multi_link_control_link_id_present; +static int hf_ieee80211_eht_multi_link_control_bss_parms_ch_count; +static int hf_ieee80211_eht_multi_link_control_medium_sync_delay; +static int hf_ieee80211_eht_multi_link_control_eml_capa; +static int hf_ieee80211_eht_multi_link_control_mld_capa; +static int hf_ieee80211_eht_multi_link_control_basic_mld_id_present; +static int hf_ieee80211_eht_multi_link_control_ext_mld_capa; +static int hf_ieee80211_eht_multi_link_control_bitmap_reserved; +static int hf_ieee80211_eht_multi_link_control_probe_mld_id_present; +static int hf_ieee80211_eht_multi_link_control_probe_reserved; +static int hf_ieee80211_eht_multi_link_control_reconfig_mld_mac; +static int hf_ieee80211_eht_multi_link_control_reconfig_eml_capa; +static int hf_ieee80211_eht_multi_link_control_reconfig_mld_capa_oper; +static int hf_ieee80211_eht_multi_link_control_reconfig_reserved; +static int hf_ieee80211_eht_multi_link_control_tdls_reserved; +static int hf_ieee80211_eht_multi_link_control_prio_access_reserved; +static int hf_ieee80211_eht_common_field_length; +static int hf_ieee80211_eht_common_field_mld_mac; +static int hf_ieee80211_eht_common_field_link_id_field; +static int hf_ieee80211_eht_common_info_link_id; +static int hf_ieee80211_eht_common_info_link_id_reserved; +static int hf_ieee80211_eht_common_field_bss_param_change_count; +static int hf_ieee80211_eht_common_field_medium_sync_field; +static int hf_ieee80211_eht_common_info_medium_sync_duration; +static int hf_ieee80211_eht_common_info_medium_sync_threshold; +static int hf_ieee80211_eht_common_info_medium_sync_max_txops; +static int hf_ieee80211_eht_common_field_eml_capabilities; +static int hf_ieee80211_eht_common_info_eml_capa_emlsr_support; +static int hf_ieee80211_eht_common_info_eml_capa_emlsr_padding_delay; +static int hf_ieee80211_eht_common_info_eml_capa_emlsr_transition_delay; +static int hf_ieee80211_eht_common_info_eml_capa_emlmr_support; +static int hf_ieee80211_eht_common_info_eml_capa_emlmr_delay; +static int hf_ieee80211_eht_common_info_eml_capa_transition_timeout; +static int hf_ieee80211_eht_common_info_eml_capa_reserved; +static int hf_ieee80211_eht_common_field_mld_capabilities; +static int hf_ieee80211_eht_common_info_mld_max_simul_links; +static int hf_ieee80211_eht_common_info_mld_srs_support; +static int hf_ieee80211_eht_common_info_mld_tid_to_link_map_neg; +static int hf_ieee80211_eht_common_info_mld_freq_sep_for_str; +static int hf_ieee80211_eht_common_info_mld_aar_support; +static int hf_ieee80211_eht_common_info_mld_link_reconf_op_support; +static int hf_ieee80211_eht_common_info_mld_aligned_twt_support; +static int hf_ieee80211_eht_common_info_mld_reserved; +static int hf_ieee80211_eht_common_field_mld_id; +static int hf_ieee80211_eht_common_field_ap_mld_mac; +static int hf_ieee80211_eht_common_field_ext_mld_capabilities; +static int hf_ieee80211_eht_common_info_ext_mld_op_update_support; +static int hf_ieee80211_eht_common_info_ext_mld_max_simul_links; +static int hf_ieee80211_eht_common_info_ext_mld_reserved; +static int hf_ieee80211_eht_multi_link_subelt_tag; +static int hf_ieee80211_eht_multi_link_subelt_len; +static int hf_ieee80211_eht_multi_link_type_0_link_count; +static int hf_ieee80211_eht_multi_link_type_1_link_count; +static int hf_ieee80211_eht_multi_link_type_2_link_count; +static int hf_ieee80211_eht_multi_link_type_3_link_count; +static int hf_ieee80211_eht_multi_link_type_4_link_count; +static int hf_ieee80211_eht_multi_link_link_id_list; +static int hf_ieee80211_eht_profile_sta_control; +static int hf_ieee80211_eht_profile_link_id; +static int hf_ieee80211_eht_profile_complete_profile; +static int hf_ieee80211_eht_profile_mac_address_present; +static int hf_ieee80211_eht_profile_beacon_interval_present; +static int hf_ieee80211_eht_profile_tsf_offset_present; +static int hf_ieee80211_eht_profile_dtim_info_present; +static int hf_ieee80211_eht_profile_nstr_link_pair_present; +static int hf_ieee80211_eht_profile_nstr_bitmap_size; +static int hf_ieee80211_eht_profile_bss_params_change_count_present; +static int hf_ieee80211_eht_profile_reserved; +static int hf_ieee80211_eht_profile_probe_reserved; +static int hf_ieee80211_eht_profile_removal_timer_present; +static int hf_ieee80211_eht_profile_reconfig_operation_type; +static int hf_ieee80211_eht_profile_operation_para_present; +static int hf_ieee80211_eht_profile_reconfig_nstr_bitmap_size; +static int hf_ieee80211_eht_profile_reconfig_reserved; +static int hf_ieee80211_eht_profile_prio_acc_reserved; +static int hf_ieee80211_eht_sta_profile_info_len; +static int hf_ieee80211_eht_sta_profile_info_mac; +static int hf_ieee80211_eht_sta_profile_info_beacon; +static int hf_ieee80211_eht_sta_profile_info_tsf_offset; +static int hf_ieee80211_eht_sta_profile_info_dtim_count; +static int hf_ieee80211_eht_sta_profile_info_dtim_period; +static int hf_ieee80211_eht_sta_profile_info_bitmap; +static int hf_ieee80211_eht_sta_profile_bss_params_change_count; +static int hf_ieee80211_eht_sta_profile_removal_timer; +static int hf_ieee80211_eht_sta_profile_presence_indi; +static int hf_ieee80211_eht_sta_profile_presence_indi_max_mpdu_length_present; +static int hf_ieee80211_eht_sta_profile_presence_indi_max_amsdu_length_present; +static int hf_ieee80211_eht_sta_profile_presence_indi_reserved; +static int hf_ieee80211_eht_sta_profile_operation_para_info; +static int hf_ieee80211_eht_sta_profile_operation_para_info_max_mpdu_length; +static int hf_ieee80211_eht_sta_profile_operation_para_info_amsdu_length; +static int hf_ieee80211_eht_sta_profile_operation_para_info_pad; +static int hf_ieee80211_eht_operation_parameters; +static int hf_ieee80211_eht_basic_eht_mcs_nss_set; +static int hf_ieee80211_eht_operation_control_chan_width; +static int hf_ieee80211_eht_operation_control_reserved; +static int hf_ieee80211_eht_operation_info_present; +static int hf_ieee80211_eht_operation_subchannel_bitmap_present; +static int hf_ieee80211_eht_operation_default_pe_duration; +static int hf_ieee80211_eht_operation_group_addressed_bu_indication_limit; +static int hf_ieee80211_eht_operation_group_addressed_bu_indication_exp; +static int hf_ieee80211_eht_operation_reserved; +static int hf_ieee80211_eht_operation_control; +static int hf_ieee80211_eht_operation_ccfs0; +static int hf_ieee80211_eht_operation_ccfs1; +static int hf_ieee80211_eht_operation_disabled_bitmap; +static int hf_ieee80211_eht_mac_capabilities; +static int hf_ieee80211_eht_mac_capa_epcs_prio_access_support; +static int hf_ieee80211_eht_mac_capa_eht_om_control_support; +static int hf_ieee80211_eht_mac_capa_trig_txop_sharing_mode_1_support; +static int hf_ieee80211_eht_mac_capa_trig_txop_sharing_mode_2_support; +static int hf_ieee80211_eht_mac_capa_restricted_twt_support; +static int hf_ieee80211_eht_mac_capa_scs_traffic_description_support; +static int hf_ieee80211_eht_mac_capa_maximum_mpdu_length; +static int hf_ieee80211_eht_mac_capa_maximum_ampdu_length_exp_ext; +static int hf_ieee80211_eht_mac_capa_eht_trs_support; +static int hf_ieee80211_eht_mac_capa_txop_return_support_txop_sha_mode; +static int hf_ieee80211_eht_mac_capa_two_bqrs_support; +static int hf_ieee80211_eht_mac_capa_eht_link_adaptation_support; +static int hf_ieee80211_eht_mac_capa_reserved; +static int hf_ieee80211_eht_phy_bits_0_15; +static int hf_ieee80211_eht_phy_bits_0_15_reserved; +static int hf_ieee80211_eht_phy_bits_0_15_320_mhz_in_6ghz; +static int hf_ieee80211_eht_phy_bits_0_15_242_tone_ru_bw_wider_20mhz; +static int hf_ieee80211_eht_phy_bits_0_15_ndp_and_3_2_us_gi; +static int hf_ieee80211_eht_phy_bits_0_15_partial_bw_ul_mu_mimo; +static int hf_ieee80211_eht_phy_bits_0_15_su_beamformer; +static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee; +static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_le_80mhz; +static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_eq_160mhz; +static int hf_ieee80211_eht_phy_bits_0_15_su_beamformee_eq_320mhz; +static int hf_ieee80211_eht_phy_bits_16_31; +static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_lt_80mhz; +static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_eq_160mhz; +static int hf_ieee80211_eht_phy_bits_16_31_num_sounding_dims_eq_320mhz; +static int hf_ieee80211_eht_phy_bits_16_31_num_ng_eq_16_su_feedback; +static int hf_ieee80211_eht_phy_bits_16_31_num_ng_eq_16_mu_feedback; +static int hf_ieee80211_eht_phy_bits_16_31_codebook_size_4_2_su_fbck; +static int hf_ieee80211_eht_phy_bits_16_31_codebook_size_7_5_mu_fbck; +static int hf_ieee80211_eht_phy_bits_16_31_triggered_su_beemform_fbck; +static int hf_ieee80211_eht_phy_bits_16_31_triggered_mu_beemform_p_bw_fbck; +static int hf_ieee80211_eht_phy_bits_16_31_triggered_cqi_feedback; +static int hf_ieee80211_eht_phy_bits_32_39; +static int hf_ieee80211_eht_phy_bits_32_39_partial_bw_dl_mu_mimo; +static int hf_ieee80211_eht_phy_bits_32_39_eht_psr_based_sr_support; +static int hf_ieee80211_eht_phy_bits_32_39_power_boost_factor_support; +static int hf_ieee80211_eht_phy_bits_32_39_eht_mu_ppdu_w_4x_eht_ltf_08_gi; +static int hf_ieee80211_eht_phy_bits_32_39_max_nc; +static int hf_ieee80211_eht_phy_bits_40_63; +static int hf_ieee80211_eht_phy_bits_40_63_non_triggered_cqi_fbck; +static int hf_ieee80211_eht_phy_bits_40_63_tx_1024_4096_qam_lt_242_ru_support; +static int hf_ieee80211_eht_phy_bits_40_63_rx_1024_4096_qam_lt_242_ru_support; +static int hf_ieee80211_eht_phy_bits_40_63_ppe_thresholds_present; +static int hf_ieee80211_eht_phy_bits_40_63_common_nominal_packet_padding; +static int hf_ieee80211_eht_phy_bits_40_63_max_num_supported_eht_ltfs; +static int hf_ieee80211_eht_phy_bits_40_63_support_of_mcx_15; +static int hf_ieee80211_eht_phy_bits_40_63_support_of_eht_dup_in_6_ghz; +static int hf_ieee80211_eht_phy_bits_40_63_support_20_mhz_sta_ndp_wide_bw; +static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_le_80_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_eq_160_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_non_ofdma_ul_mu_bw_eq_320_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_le_80_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_eq_160_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_mu_beamformer_bw_eq_320_mhz; +static int hf_ieee80211_eht_phy_bits_40_63_tb_sounding_feedback_rate_limit; +static int hf_ieee80211_eht_phy_bits_64_71; +static int hf_ieee80211_eht_phy_bits_64_71_rx_1024_qam_wid_bw_dl_ofdma_sup; +static int hf_ieee80211_eht_phy_bits_64_71_rx_4096_qam_wid_bw_dl_ofdma_sup; +static int hf_ieee80211_eht_phy_bits_64_71_reserved; +static int hf_ieee80211_eht_supported_mcs_nss_bytes; +static int hf_ieee80211_eht_mcs_and_nss_non_ap; +static int hf_ieee80211_eht_rx_max_nss_20mhz_0_7; +static int hf_ieee80211_eht_tx_max_nss_20mhz_0_7; +static int hf_ieee80211_eht_rx_max_nss_20mhz_8_9; +static int hf_ieee80211_eht_tx_max_nss_20mhz_8_9; +static int hf_ieee80211_eht_rx_max_nss_20mhz_10_11; +static int hf_ieee80211_eht_tx_max_nss_20mhz_10_11; +static int hf_ieee80211_eht_rx_max_nss_20mhz_12_13; +static int hf_ieee80211_eht_tx_max_nss_20mhz_12_13; +static int hf_ieee80211_eht_le_80_rx_max_nss_0_9; +static int hf_ieee80211_eht_le_80_tx_max_nss_0_9; +static int hf_ieee80211_eht_le_80_rx_max_nss_10_11; +static int hf_ieee80211_eht_le_80_tx_max_nss_10_11; +static int hf_ieee80211_eht_le_80_rx_max_nss_12_13; +static int hf_ieee80211_eht_le_80_tx_max_nss_12_13; +static int hf_ieee80211_eht_160_rx_max_nss_0_9; +static int hf_ieee80211_eht_160_tx_max_nss_0_9; +static int hf_ieee80211_eht_160_rx_max_nss_10_11; +static int hf_ieee80211_eht_160_tx_max_nss_10_11; +static int hf_ieee80211_eht_160_rx_max_nss_12_13; +static int hf_ieee80211_eht_160_tx_max_nss_12_13; +static int hf_ieee80211_eht_320_rx_max_nss_0_9; +static int hf_ieee80211_eht_320_tx_max_nss_0_9; +static int hf_ieee80211_eht_320_rx_max_nss_10_11; +static int hf_ieee80211_eht_320_tx_max_nss_10_11; +static int hf_ieee80211_eht_320_rx_max_nss_12_13; +static int hf_ieee80211_eht_320_tx_max_nss_12_13; +static int hf_ieee80211_eht_mcs_and_nss_le_80mhz; +static int hf_ieee80211_eht_mcs_and_nss_eq_160mhz; +static int hf_ieee80211_eht_mcs_and_nss_eq_320mhz; +static int hf_ieee80211_eht_ppe_thresholds; +static int hf_ieee80211_eht_ttl_mapping_control; +static int hf_ieee80211_eht_ttl_mapping_direction; +static int hf_ieee80211_eht_ttl_default_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_switch_time_pres; +static int hf_ieee80211_eht_ttl_expected_dura_pres; +static int hf_ieee80211_eht_ttl_link_mapping_size; +static int hf_ieee80211_eht_ttl_mapping_reserved; +static int hf_ieee80211_eht_ttl_mapping_presence; +static int hf_ieee80211_eht_ttl_mapping_switch_time; +static int hf_ieee80211_eht_ttl_mapping_expected_duration; +static int hf_ieee80211_eht_ttl_mapping_tid_0_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_1_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_2_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_3_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_4_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_5_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_6_link_mapping; +static int hf_ieee80211_eht_ttl_mapping_tid_7_link_mapping; +static int hf_ieee80211_eht_multi_link_traffic_control; +static int hf_ieee80211_eht_multi_link_tc_bitmap_size; +static int hf_ieee80211_eht_multi_link_tc_aid_offset; +static int hf_ieee80211_eht_multi_link_tc_reserved; +static int hf_ieee80211_eht_multi_link_traffic_indication; +static int hf_ieee80211_eht_qos_chars_dirn; +static int hf_ieee80211_eht_qos_chars_tid; +static int hf_ieee80211_eht_qos_chars_user_prio; +static int hf_ieee80211_eht_qos_chars_bitmap; +static int hf_ieee80211_eht_qos_chars_linkid; +static int hf_ieee80211_eht_qos_chars_resrvd; +static int hf_ieee80211_eht_qos_chars_min_svc_interval; +static int hf_ieee80211_eht_qos_chars_max_svc_interval; +static int hf_ieee80211_eht_qos_chars_min_data_rate; +static int hf_ieee80211_eht_qos_chars_delay_bound; +static int hf_ieee80211_eht_qos_chars_max_msdu_size; +static int hf_ieee80211_eht_qos_chars_service_start_time; +static int hf_ieee80211_eht_qos_chars_service_start_time_linkid; +static int hf_ieee80211_eht_qos_chars_mean_data_rate; +static int hf_ieee80211_eht_qos_chars_burst_size; +static int hf_ieee80211_eht_qos_chars_msdu_lifetime; +static int hf_ieee80211_eht_qos_chars_msdu_delivery_ratio; +static int hf_ieee80211_eht_qos_chars_msdu_count_exponent; +static int hf_ieee80211_eht_qos_chars_medium_time; +static int hf_ieee80211_eht_link_id_bitmap; +static int hf_ieee80211_eht_aid_bitmap_length; +static int hf_ieee80211_eht_aid_bitmap_control; +static int hf_ieee80211_eht_aid_bitmap_control_reserved; +static int hf_ieee80211_eht_aid_bitmap_control_offset; +static int hf_ieee80211_eht_aid_bitmap_partial_aid_bitmap; +static int hf_ieee80211_eht_aid_bitmap_aid; +static int hf_ieee80211_eht_bw_indi_param; +static int hf_ieee80211_eht_bw_indi_param_reserved; +static int hf_ieee80211_eht_bw_indi_param_disabled_subchan_bitmap; +static int hf_ieee80211_eht_bw_indi_param_reserved1; +static int hf_ieee80211_eht_bw_indi_diabled_bitmap; +static int hf_ieee80211_eht_mimo_ctrl_field; +static int hf_ieee80211_eht_mimo_ctrl_nc_index; +static int hf_ieee80211_eht_mimo_ctrl_nr_index; +static int hf_ieee80211_eht_mimo_ctrl_bw; +static int hf_ieee80211_eht_mimo_ctrl_grouping; +static int hf_ieee80211_eht_mimo_ctrl_feedback_type; +static int hf_ieee80211_eht_mimo_ctrl_reserved1; +static int hf_ieee80211_eht_mimo_ctrl_remaining_feedback_segments; +static int hf_ieee80211_eht_mimo_ctrl_first_feedback_segment; +static int hf_ieee80211_eht_mimo_ctrl_partial_bw_info; +static int hf_ieee80211_eht_mimo_ctrl_sounding_dialog_token_number; +static int hf_ieee80211_eht_mimo_ctrl_codebook_info; +static int hf_ieee80211_eht_mimo_ctrl_reserved2; /* be: Compressed beamforming report etc */ -static int hf_ieee80211_eht_compressed_beamforming_report_snr = -1; -static int hf_ieee80211_eht_compressed_beamform_scidx = -1; +static int hf_ieee80211_eht_compressed_beamforming_report_snr; +static int hf_ieee80211_eht_compressed_beamform_scidx; /* be: MU Exclusive beamforming report */ -static int hf_ieee80211_eht_mu_exclusive_beamforming_report_delta_snr = -1; - -static int hf_ieee80211_eht_eml_control_field = -1; -static int hf_ieee80211_eht_eml_control_emlsr_mode = -1; -static int hf_ieee80211_eht_eml_control_emlmr_mode = -1; -static int hf_ieee80211_eht_eml_control_emlsr_para_update_control = -1; -static int hf_ieee80211_eht_eml_control_device_coexist_activities = -1; -static int hf_ieee80211_eht_eml_control_reserved = -1; -static int hf_ieee80211_eht_eml_control_link_bitmap = -1; -static int hf_ieee80211_eht_eml_control_link_enable_id = -1; -static int hf_ieee80211_eht_eml_control_mcs_map_count = -1; -static int hf_ieee80211_eht_eml_control_mcs_map_count_bw = -1; -static int hf_ieee80211_eht_eml_control_mcs_map_count_reserved = -1; -static int hf_ieee80211_eht_emlsr_para_update = -1; -static int hf_ieee80211_eht_emlsr_para_update_padding_delay = -1; -static int hf_ieee80211_eht_emlsr_para_update_tran_delay = -1; -static int hf_ieee80211_eht_emlsr_para_update_reserved = -1; - -static int hf_ieee80211_ff_ant_selection = -1; -static int hf_ieee80211_ff_ant_selection_0 = -1; -static int hf_ieee80211_ff_ant_selection_1 = -1; -static int hf_ieee80211_ff_ant_selection_2 = -1; -static int hf_ieee80211_ff_ant_selection_3 = -1; -static int hf_ieee80211_ff_ant_selection_4 = -1; -static int hf_ieee80211_ff_ant_selection_5 = -1; -static int hf_ieee80211_ff_ant_selection_6 = -1; -static int hf_ieee80211_ff_ant_selection_7 = -1; +static int hf_ieee80211_eht_mu_exclusive_beamforming_report_delta_snr; + +static int hf_ieee80211_eht_eml_control_field; +static int hf_ieee80211_eht_eml_control_emlsr_mode; +static int hf_ieee80211_eht_eml_control_emlmr_mode; +static int hf_ieee80211_eht_eml_control_emlsr_para_update_control; +static int hf_ieee80211_eht_eml_control_device_coexist_activities; +static int hf_ieee80211_eht_eml_control_reserved; +static int hf_ieee80211_eht_eml_control_link_bitmap; +static int hf_ieee80211_eht_eml_control_link_enable_id; +static int hf_ieee80211_eht_eml_control_mcs_map_count; +static int hf_ieee80211_eht_eml_control_mcs_map_count_bw; +static int hf_ieee80211_eht_eml_control_mcs_map_count_reserved; +static int hf_ieee80211_eht_emlsr_para_update; +static int hf_ieee80211_eht_emlsr_para_update_padding_delay; +static int hf_ieee80211_eht_emlsr_para_update_tran_delay; +static int hf_ieee80211_eht_emlsr_para_update_reserved; + +static int hf_ieee80211_ff_ant_selection; +static int hf_ieee80211_ff_ant_selection_0; +static int hf_ieee80211_ff_ant_selection_1; +static int hf_ieee80211_ff_ant_selection_2; +static int hf_ieee80211_ff_ant_selection_3; +static int hf_ieee80211_ff_ant_selection_4; +static int hf_ieee80211_ff_ant_selection_5; +static int hf_ieee80211_ff_ant_selection_6; +static int hf_ieee80211_ff_ant_selection_7; static int * const ieee80211_ff_ant_selection_fields[] = { &hf_ieee80211_ff_ant_selection_0, @@ -4832,11 +4918,11 @@ static int * const ieee80211_ff_ant_selection_fields[] = { NULL }; -static int hf_ieee80211_ff_ext_channel_switch_announcement = -1; -static int hf_ieee80211_ff_ext_channel_switch_announcement_switch_mode = -1; -static int hf_ieee80211_ff_ext_channel_switch_announcement_new_ope_class = -1; -static int hf_ieee80211_ff_ext_channel_switch_announcement_new_chan_number = -1; -static int hf_ieee80211_ff_ext_channel_switch_announcement_switch_count = -1; +static int hf_ieee80211_ff_ext_channel_switch_announcement; +static int hf_ieee80211_ff_ext_channel_switch_announcement_switch_mode; +static int hf_ieee80211_ff_ext_channel_switch_announcement_new_ope_class; +static int hf_ieee80211_ff_ext_channel_switch_announcement_new_chan_number; +static int hf_ieee80211_ff_ext_channel_switch_announcement_switch_count; static int * const ieee80211_ff_ext_channel_switch_announcement_fields[] = { &hf_ieee80211_ff_ext_channel_switch_announcement_switch_mode, @@ -4846,11 +4932,11 @@ static int * const ieee80211_ff_ext_channel_switch_announcement_fields[] = { NULL }; -static int hf_ieee80211_ff_ht_info = -1; -static int hf_ieee80211_ff_ht_info_information_request = -1; -static int hf_ieee80211_ff_ht_info_40_mhz_intolerant = -1; -static int hf_ieee80211_ff_ht_info_sta_chan_width = -1; -static int hf_ieee80211_ff_ht_info_reserved = -1; +static int hf_ieee80211_ff_ht_info; +static int hf_ieee80211_ff_ht_info_information_request; +static int hf_ieee80211_ff_ht_info_40_mhz_intolerant; +static int hf_ieee80211_ff_ht_info_sta_chan_width; +static int hf_ieee80211_ff_ht_info_reserved; static int * const ieee80211_ff_ht_info_fields[] = { &hf_ieee80211_ff_ht_info_information_request, @@ -4860,241 +4946,241 @@ static int * const ieee80211_ff_ht_info_fields[] = { NULL }; -static int hf_ieee80211_ff_ht_action = -1; +static int hf_ieee80211_ff_ht_action; -static int hf_ieee80211_ff_psmp_sta_info = -1; -static int hf_ieee80211_ff_psmp_sta_info_type = -1; -static int hf_ieee80211_ff_psmp_sta_info_dtt_start_offset = -1; -static int hf_ieee80211_ff_psmp_sta_info_dtt_duration = -1; -static int hf_ieee80211_ff_psmp_sta_info_sta_id = -1; -static int hf_ieee80211_ff_psmp_sta_info_utt_start_offset = -1; -static int hf_ieee80211_ff_psmp_sta_info_utt_duration = -1; -static int hf_ieee80211_ff_psmp_sta_info_reserved_small= -1; -static int hf_ieee80211_ff_psmp_sta_info_reserved_large = -1; -static int hf_ieee80211_ff_psmp_sta_info_psmp_multicast_id = -1; +static int hf_ieee80211_ff_psmp_sta_info; +static int hf_ieee80211_ff_psmp_sta_info_type; +static int hf_ieee80211_ff_psmp_sta_info_dtt_start_offset; +static int hf_ieee80211_ff_psmp_sta_info_dtt_duration; +static int hf_ieee80211_ff_psmp_sta_info_sta_id; +static int hf_ieee80211_ff_psmp_sta_info_utt_start_offset; +static int hf_ieee80211_ff_psmp_sta_info_utt_duration; +static int hf_ieee80211_ff_psmp_sta_info_reserved_small; +static int hf_ieee80211_ff_psmp_sta_info_reserved_large; +static int hf_ieee80211_ff_psmp_sta_info_psmp_multicast_id; -static int hf_ieee80211_ff_mimo_csi_snr = -1; -static int hf_ieee80211_ff_mimo_csi_matrices = -1; -static int hf_ieee80211_ff_mimo_csi_bf_matrices = -1; -static int hf_ieee80211_ff_mimo_csi_cbf_matrices = -1; +static int hf_ieee80211_ff_mimo_csi_snr; +static int hf_ieee80211_ff_mimo_csi_matrices; +static int hf_ieee80211_ff_mimo_csi_bf_matrices; +static int hf_ieee80211_ff_mimo_csi_cbf_matrices; /*** Begin: 802.11s additions ***/ -static int hf_ieee80211_mesh_control_field = -1; - -static int hf_ieee80211_ff_mesh_action = -1; -static int hf_ieee80211_ff_multihop_action = -1; -static int hf_ieee80211_ff_mesh_flags = -1; -static int hf_ieee80211_ff_mesh_ttl = -1; -static int hf_ieee80211_ff_mesh_sequence = -1; -static int hf_ieee80211_ff_mesh_addr4 = -1; -static int hf_ieee80211_ff_mesh_addr5 = -1; -static int hf_ieee80211_ff_mesh_addr6 = -1; -static int hf_ieee80211_ff_selfprot_action = -1; - -static int hf_ieee80211_mesh_peering_proto = -1; -static int hf_ieee80211_mesh_peering_local_link_id = -1; -static int hf_ieee80211_mesh_peering_peer_link_id = -1; - -static int hf_ieee80211_ff_hwmp_flags = -1; -static int hf_ieee80211_ff_hwmp_hopcount = -1; -static int hf_ieee80211_ff_hwmp_ttl = -1; -static int hf_ieee80211_ff_hwmp_pdid = -1; -static int hf_ieee80211_ff_hwmp_orig_sta = -1; -static int hf_ieee80211_ff_hwmp_orig_sn = -1; -static int hf_ieee80211_ff_hwmp_orig_ext = -1; -static int hf_ieee80211_ff_hwmp_lifetime = -1; -static int hf_ieee80211_ff_hwmp_metric = -1; -static int hf_ieee80211_ff_hwmp_targ_count = -1; -static int hf_ieee80211_ff_hwmp_targ_flags = -1; -static int hf_ieee80211_ff_hwmp_targ_to_flags = -1; -static int hf_ieee80211_ff_hwmp_targ_usn_flags = -1; -static int hf_ieee80211_ff_hwmp_targ_sta = -1; -static int hf_ieee80211_ff_hwmp_targ_sn = -1; -static int hf_ieee80211_ff_hwmp_targ_ext = -1; -static int hf_ieee80211_rann_flags = -1; -static int hf_ieee80211_rann_root_sta = -1; -static int hf_ieee80211_rann_sn = -1; -static int hf_ieee80211_rann_interval = -1; - -static int hf_ieee80211_mesh_channel_switch_ttl = -1; -static int hf_ieee80211_mesh_channel_switch_flag = -1; -static int hf_ieee80211_mesh_channel_switch_reason_code = -1; -static int hf_ieee80211_mesh_channel_switch_precedence_value = -1; -static int hf_ieee80211_mesh_chswitch_flag_txrestrict = -1; -static int hf_ieee80211_mesh_chswitch_flag_initiator = -1; - -static int hf_ieee80211_mesh_config_path_sel_protocol = -1; -static int hf_ieee80211_mesh_config_path_sel_metric = -1; -static int hf_ieee80211_mesh_config_congestion_control = -1; -static int hf_ieee80211_mesh_config_sync_method = -1; -static int hf_ieee80211_mesh_config_auth_protocol = -1; -static int hf_ieee80211_mesh_config_formation_info = -1; -static int hf_ieee80211_mesh_config_capability = -1; -static int hf_ieee80211_mesh_id = -1; -static int hf_ieee80211_mesh_config_cap_accepting = -1; -static int hf_ieee80211_mesh_config_cap_mcca_support = -1; -static int hf_ieee80211_mesh_config_cap_mcca_enabled = -1; -static int hf_ieee80211_mesh_config_cap_forwarding = -1; -static int hf_ieee80211_mesh_config_cap_mbca_enabled = -1; -static int hf_ieee80211_mesh_config_cap_tbtt_adjusting = -1; -static int hf_ieee80211_mesh_config_cap_power_save_level = -1; -static int hf_ieee80211_mesh_config_cap_reserved = -1; -static int hf_ieee80211_mesh_form_info_conn_to_mesh_gate = -1; -static int hf_ieee80211_mesh_form_info_num_of_peerings = -1; -static int hf_ieee80211_mesh_form_info_conn_to_as = -1; -static int hf_ieee80211_mesh_awake_window = -1; -static int hf_ieee80211_mesh_mic = -1; -static int hf_ieee80211_mesh_ampe_encrypted_data = -1; - -static int hf_ieee80211_bcn_timing_rctrl = -1; -static int hf_ieee80211_bcn_timing_rctrl_more = -1; -static int hf_ieee80211_bcn_timing_rctrl_element_num = -1; -static int hf_ieee80211_bcn_timing_rctrl_status_num = -1; -static int hf_ieee80211_bcn_timing_info = -1; -static int hf_ieee80211_bcn_timing_info_nsta_id = -1; -static int hf_ieee80211_bcn_timing_info_nsta_tbtt = -1; -static int hf_ieee80211_bcn_timing_info_nsta_bi = -1; - -static int hf_ieee80211_gann_flags = -1; -static int hf_ieee80211_gann_flags_reserved = -1; -static int hf_ieee80211_gann_hop_count = -1; -static int hf_ieee80211_gann_elem_ttl = -1; -static int hf_ieee80211_gann_mesh_gate_addr = -1; -static int hf_ieee80211_gann_seq_num = -1; -static int hf_ieee80211_gann_interval = -1; - -static int hf_ieee80211_pxu_pxu_id = -1; -static int hf_ieee80211_pxu_pxu_origin_mac = -1; -static int hf_ieee80211_pxu_no_proxy_info = -1; -static int hf_ieee80211_pxu_proxy_info = -1; -static int hf_ieee80211_pxu_proxy_info_flags = -1; -static int hf_ieee80211_pxu_proxy_info_flags_delete = -1; -static int hf_ieee80211_pxu_proxy_info_flags_orig_is_proxy = -1; -static int hf_ieee80211_pxu_proxy_info_flags_lifetime = -1; -static int hf_ieee80211_pxu_proxy_info_flags_reserved = -1; -static int hf_ieee80211_pxu_proxy_info_ext_mac = -1; -static int hf_ieee80211_pxu_proxy_info_seq_num = -1; -static int hf_ieee80211_pxu_proxy_info_proxy_mac = -1; -static int hf_ieee80211_pxu_proxy_info_lifetime = -1; - -static int hf_ieee80211_pxuc_pxu_id = -1; -static int hf_ieee80211_pxuc_pxu_recip_mac = -1; - -static int hf_ieee80211_ff_public_action = -1; -static int hf_ieee80211_ff_protected_public_action = -1; -static int hf_ieee80211_ff_tod = -1; -static int hf_ieee80211_ff_toa = -1; -static int hf_ieee80211_ff_max_tod_err = -1; -static int hf_ieee80211_ff_max_toa_err = -1; +static int hf_ieee80211_mesh_control_field; + +static int hf_ieee80211_ff_mesh_action; +static int hf_ieee80211_ff_multihop_action; +static int hf_ieee80211_ff_mesh_flags; +static int hf_ieee80211_ff_mesh_ttl; +static int hf_ieee80211_ff_mesh_sequence; +static int hf_ieee80211_ff_mesh_addr4; +static int hf_ieee80211_ff_mesh_addr5; +static int hf_ieee80211_ff_mesh_addr6; +static int hf_ieee80211_ff_selfprot_action; + +static int hf_ieee80211_mesh_peering_proto; +static int hf_ieee80211_mesh_peering_local_link_id; +static int hf_ieee80211_mesh_peering_peer_link_id; + +static int hf_ieee80211_ff_hwmp_flags; +static int hf_ieee80211_ff_hwmp_hopcount; +static int hf_ieee80211_ff_hwmp_ttl; +static int hf_ieee80211_ff_hwmp_pdid; +static int hf_ieee80211_ff_hwmp_orig_sta; +static int hf_ieee80211_ff_hwmp_orig_sn; +static int hf_ieee80211_ff_hwmp_orig_ext; +static int hf_ieee80211_ff_hwmp_lifetime; +static int hf_ieee80211_ff_hwmp_metric; +static int hf_ieee80211_ff_hwmp_targ_count; +static int hf_ieee80211_ff_hwmp_targ_flags; +static int hf_ieee80211_ff_hwmp_targ_to_flags; +static int hf_ieee80211_ff_hwmp_targ_usn_flags; +static int hf_ieee80211_ff_hwmp_targ_sta; +static int hf_ieee80211_ff_hwmp_targ_sn; +static int hf_ieee80211_ff_hwmp_targ_ext; +static int hf_ieee80211_rann_flags; +static int hf_ieee80211_rann_root_sta; +static int hf_ieee80211_rann_sn; +static int hf_ieee80211_rann_interval; + +static int hf_ieee80211_mesh_channel_switch_ttl; +static int hf_ieee80211_mesh_channel_switch_flag; +static int hf_ieee80211_mesh_channel_switch_reason_code; +static int hf_ieee80211_mesh_channel_switch_precedence_value; +static int hf_ieee80211_mesh_chswitch_flag_txrestrict; +static int hf_ieee80211_mesh_chswitch_flag_initiator; + +static int hf_ieee80211_mesh_config_path_sel_protocol; +static int hf_ieee80211_mesh_config_path_sel_metric; +static int hf_ieee80211_mesh_config_congestion_control; +static int hf_ieee80211_mesh_config_sync_method; +static int hf_ieee80211_mesh_config_auth_protocol; +static int hf_ieee80211_mesh_config_formation_info; +static int hf_ieee80211_mesh_config_capability; +static int hf_ieee80211_mesh_id; +static int hf_ieee80211_mesh_config_cap_accepting; +static int hf_ieee80211_mesh_config_cap_mcca_support; +static int hf_ieee80211_mesh_config_cap_mcca_enabled; +static int hf_ieee80211_mesh_config_cap_forwarding; +static int hf_ieee80211_mesh_config_cap_mbca_enabled; +static int hf_ieee80211_mesh_config_cap_tbtt_adjusting; +static int hf_ieee80211_mesh_config_cap_power_save_level; +static int hf_ieee80211_mesh_config_cap_reserved; +static int hf_ieee80211_mesh_form_info_conn_to_mesh_gate; +static int hf_ieee80211_mesh_form_info_num_of_peerings; +static int hf_ieee80211_mesh_form_info_conn_to_as; +static int hf_ieee80211_mesh_awake_window; +static int hf_ieee80211_mesh_mic; +static int hf_ieee80211_mesh_ampe_encrypted_data; + +static int hf_ieee80211_bcn_timing_rctrl; +static int hf_ieee80211_bcn_timing_rctrl_more; +static int hf_ieee80211_bcn_timing_rctrl_element_num; +static int hf_ieee80211_bcn_timing_rctrl_status_num; +static int hf_ieee80211_bcn_timing_info; +static int hf_ieee80211_bcn_timing_info_nsta_id; +static int hf_ieee80211_bcn_timing_info_nsta_tbtt; +static int hf_ieee80211_bcn_timing_info_nsta_bi; + +static int hf_ieee80211_gann_flags; +static int hf_ieee80211_gann_flags_reserved; +static int hf_ieee80211_gann_hop_count; +static int hf_ieee80211_gann_elem_ttl; +static int hf_ieee80211_gann_mesh_gate_addr; +static int hf_ieee80211_gann_seq_num; +static int hf_ieee80211_gann_interval; + +static int hf_ieee80211_pxu_pxu_id; +static int hf_ieee80211_pxu_pxu_origin_mac; +static int hf_ieee80211_pxu_no_proxy_info; +static int hf_ieee80211_pxu_proxy_info; +static int hf_ieee80211_pxu_proxy_info_flags; +static int hf_ieee80211_pxu_proxy_info_flags_delete; +static int hf_ieee80211_pxu_proxy_info_flags_orig_is_proxy; +static int hf_ieee80211_pxu_proxy_info_flags_lifetime; +static int hf_ieee80211_pxu_proxy_info_flags_reserved; +static int hf_ieee80211_pxu_proxy_info_ext_mac; +static int hf_ieee80211_pxu_proxy_info_seq_num; +static int hf_ieee80211_pxu_proxy_info_proxy_mac; +static int hf_ieee80211_pxu_proxy_info_lifetime; + +static int hf_ieee80211_pxuc_pxu_id; +static int hf_ieee80211_pxuc_pxu_recip_mac; + +static int hf_ieee80211_ff_public_action; +static int hf_ieee80211_ff_protected_public_action; +static int hf_ieee80211_ff_tod; +static int hf_ieee80211_ff_toa; +static int hf_ieee80211_ff_max_tod_err; +static int hf_ieee80211_ff_max_toa_err; /* ************************************************************************* */ /* Flags found in the capability field (fixed field) */ /* ************************************************************************* */ -static int hf_ieee80211_ff_capture = -1; -static int hf_ieee80211_ff_cf_ess = -1; -static int hf_ieee80211_ff_cf_ibss = -1; -static int hf_ieee80211_ff_cf_reserved1 = -1; -static int hf_ieee80211_ff_cf_reserved2 = -1; -static int hf_ieee80211_ff_cf_privacy = -1; -static int hf_ieee80211_ff_cf_preamble = -1; -static int hf_ieee80211_ff_cf_critical_update_flag = -1; -static int hf_ieee80211_ff_cf_nontran_bss_critical_update_flag = -1; -static int hf_ieee80211_ff_cf_spec_man = -1; -static int hf_ieee80211_ff_cf_qos = -1; -static int hf_ieee80211_ff_cf_short_slot_time = -1; -static int hf_ieee80211_ff_cf_apsd = -1; -static int hf_ieee80211_ff_cf_radio_measurement = -1; -static int hf_ieee80211_ff_cf_epd = -1; -static int hf_ieee80211_ff_cf_reserved5 = -1; -static int hf_ieee80211_ff_cf_reserved6 = -1; +static int hf_ieee80211_ff_capture; +static int hf_ieee80211_ff_cf_ess; +static int hf_ieee80211_ff_cf_ibss; +static int hf_ieee80211_ff_cf_reserved1; +static int hf_ieee80211_ff_cf_reserved2; +static int hf_ieee80211_ff_cf_privacy; +static int hf_ieee80211_ff_cf_preamble; +static int hf_ieee80211_ff_cf_critical_update_flag; +static int hf_ieee80211_ff_cf_nontran_bss_critical_update_flag; +static int hf_ieee80211_ff_cf_spec_man; +static int hf_ieee80211_ff_cf_qos; +static int hf_ieee80211_ff_cf_short_slot_time; +static int hf_ieee80211_ff_cf_apsd; +static int hf_ieee80211_ff_cf_radio_measurement; +static int hf_ieee80211_ff_cf_epd; +static int hf_ieee80211_ff_cf_reserved5; +static int hf_ieee80211_ff_cf_reserved6; /* ************************************************************************* */ /* A-MSDU fields */ /* ************************************************************************* */ -static int hf_ieee80211_amsdu_subframe = -1; -static int hf_ieee80211_amsdu_length = -1; -static int hf_ieee80211_amsdu_padding = -1; +static int hf_ieee80211_amsdu_subframe; +static int hf_ieee80211_amsdu_length; +static int hf_ieee80211_amsdu_padding; /* ************************************************************************* */ /* Tagged value format fields */ /* ************************************************************************* */ -static int hf_ieee80211_tagged_parameters = -1; /* Tagged payload item */ -static int hf_ieee80211_tag = -1; -static int hf_ieee80211_tag_number = -1; -static int hf_ieee80211_tag_length = -1; -static int hf_ieee80211_tag_data = -1; -static int hf_ieee80211_tag_oui = -1; -static int hf_ieee80211_tag_oui_wfa_subtype = -1; -static int hf_ieee80211_tag_oui_wfa_action_type = -1; -static int hf_ieee80211_tag_ssid = -1; -static int hf_ieee80211_tag_supp_rates = -1; -static int hf_ieee80211_tag_fh_dwell_time = -1; -static int hf_ieee80211_tag_fh_hop_set = -1; -static int hf_ieee80211_tag_fh_hop_pattern = -1; -static int hf_ieee80211_tag_fh_hop_index = -1; -static int hf_ieee80211_tag_ds_param_channel = -1; -static int hf_ieee80211_tag_cfp_count = -1; -static int hf_ieee80211_tag_cfp_period = -1; -static int hf_ieee80211_tag_cfp_max_duration = -1; -static int hf_ieee80211_tag_cfp_dur_remaining = -1; -static int hf_ieee80211_tim_dtim_count = -1; -static int hf_ieee80211_tim_dtim_period = -1; -static int hf_ieee80211_tim_bmapctl = -1; -static int hf_ieee80211_tim_bmapctl_mcast = -1; -static int hf_ieee80211_tim_bmapctl_offset = -1; -static int hf_ieee80211_tim_partial_virtual_bitmap = -1; -static int hf_ieee80211_tim_aid = -1; -static int hf_ieee80211_tag_ibss_atim_window = -1; -static int hf_ieee80211_tag_country_info_code = -1; -static int hf_ieee80211_tag_country_info_env = -1; -static int hf_ieee80211_tag_country_info_pad = -1; -static int hf_ieee80211_tag_country_info_fnm = -1; -static int hf_ieee80211_tag_country_info_fnm_fcn = -1; -static int hf_ieee80211_tag_country_info_fnm_nc = -1; -static int hf_ieee80211_tag_country_info_fnm_mtpl = -1; -static int hf_ieee80211_tag_country_info_rrc = -1; -static int hf_ieee80211_tag_country_info_rrc_oei = -1; -static int hf_ieee80211_tag_country_info_rrc_oc = -1; -static int hf_ieee80211_tag_country_info_rrc_cc = -1; -static int hf_ieee80211_tag_fh_hopping_parameter_prime_radix = -1; -static int hf_ieee80211_tag_fh_hopping_parameter_nb_channels = -1; -static int hf_ieee80211_tag_fh_hopping_table_flag = -1; -static int hf_ieee80211_tag_fh_hopping_table_number_of_sets = -1; -static int hf_ieee80211_tag_fh_hopping_table_modulus = -1; -static int hf_ieee80211_tag_fh_hopping_table_offset = -1; -static int hf_ieee80211_tag_fh_hopping_random_table = -1; -static int hf_ieee80211_tag_request = -1; -static int hf_ieee80211_tag_extended_request_id = -1; -static int hf_ieee80211_tag_extended_request_extension = -1; -static int hf_ieee80211_tag_challenge_text = -1; - -static int hf_ieee80211_oui_qos_subtype = -1; -static int hf_ieee80211_oui_qos_mgmt_dialog_token = -1; -static int hf_ieee80211_oui_qos_mgmt_resp_control = -1; -static int hf_ieee80211_oui_qos_mgmt_rsp_ctrl_more = -1; -static int hf_ieee80211_oui_qos_mgmt_rsp_ctrl_reset = -1; -static int hf_ieee80211_oui_qos_mgmt_rsp_reserved = -1; -static int hf_ieee80211_oui_qos_mgmt_rqst_control = -1; -static int hf_ieee80211_oui_qos_mgmt_rq_ctrl_more = -1; -static int hf_ieee80211_oui_qos_mgmt_rq_ctrl_reset = -1; -static int hf_ieee80211_oui_qos_mgmt_rq_reserved = -1; -static int hf_ieee80211_oui_qos_mgmt_count = -1; -static int hf_ieee80211_dscp_policy_id = -1; -static int hf_ieee80211_dscp_policy_status = -1; -static int hf_ieee80211_dscp_policy_scs_sts_list = -1; - -static int hf_ieee80211_tag_he_6ghz_cap_inf = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b0_b2 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b3_b5 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b6_b7 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b8 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b9_b10 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b11 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b12 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b13 = -1; -static int hf_ieee80211_tag_he_6ghz_cap_inf_b14_b15 = -1; - -static int hf_ieee80211_tag_ftm_tsf_sync_info = -1; +static int hf_ieee80211_tagged_parameters; /* Tagged payload item */ +static int hf_ieee80211_tag; +static int hf_ieee80211_tag_number; +static int hf_ieee80211_tag_length; +static int hf_ieee80211_tag_data; +static int hf_ieee80211_tag_oui; +static int hf_ieee80211_tag_oui_wfa_subtype; +static int hf_ieee80211_tag_oui_wfa_action_type; +static int hf_ieee80211_tag_ssid; +static int hf_ieee80211_tag_supp_rates; +static int hf_ieee80211_tag_fh_dwell_time; +static int hf_ieee80211_tag_fh_hop_set; +static int hf_ieee80211_tag_fh_hop_pattern; +static int hf_ieee80211_tag_fh_hop_index; +static int hf_ieee80211_tag_ds_param_channel; +static int hf_ieee80211_tag_cfp_count; +static int hf_ieee80211_tag_cfp_period; +static int hf_ieee80211_tag_cfp_max_duration; +static int hf_ieee80211_tag_cfp_dur_remaining; +static int hf_ieee80211_tim_dtim_count; +static int hf_ieee80211_tim_dtim_period; +static int hf_ieee80211_tim_bmapctl; +static int hf_ieee80211_tim_bmapctl_mcast; +static int hf_ieee80211_tim_bmapctl_offset; +static int hf_ieee80211_tim_partial_virtual_bitmap; +static int hf_ieee80211_tim_aid; +static int hf_ieee80211_tag_ibss_atim_window; +static int hf_ieee80211_tag_country_info_code; +static int hf_ieee80211_tag_country_info_env; +static int hf_ieee80211_tag_country_info_pad; +static int hf_ieee80211_tag_country_info_fnm; +static int hf_ieee80211_tag_country_info_fnm_fcn; +static int hf_ieee80211_tag_country_info_fnm_nc; +static int hf_ieee80211_tag_country_info_fnm_mtpl; +static int hf_ieee80211_tag_country_info_rrc; +static int hf_ieee80211_tag_country_info_rrc_oei; +static int hf_ieee80211_tag_country_info_rrc_oc; +static int hf_ieee80211_tag_country_info_rrc_cc; +static int hf_ieee80211_tag_fh_hopping_parameter_prime_radix; +static int hf_ieee80211_tag_fh_hopping_parameter_nb_channels; +static int hf_ieee80211_tag_fh_hopping_table_flag; +static int hf_ieee80211_tag_fh_hopping_table_number_of_sets; +static int hf_ieee80211_tag_fh_hopping_table_modulus; +static int hf_ieee80211_tag_fh_hopping_table_offset; +static int hf_ieee80211_tag_fh_hopping_random_table; +static int hf_ieee80211_tag_request; +static int hf_ieee80211_tag_extended_request_id; +static int hf_ieee80211_tag_extended_request_extension; +static int hf_ieee80211_tag_challenge_text; + +static int hf_ieee80211_oui_qos_subtype; +static int hf_ieee80211_oui_qos_mgmt_dialog_token; +static int hf_ieee80211_oui_qos_mgmt_resp_control; +static int hf_ieee80211_oui_qos_mgmt_rsp_ctrl_more; +static int hf_ieee80211_oui_qos_mgmt_rsp_ctrl_reset; +static int hf_ieee80211_oui_qos_mgmt_rsp_reserved; +static int hf_ieee80211_oui_qos_mgmt_rqst_control; +static int hf_ieee80211_oui_qos_mgmt_rq_ctrl_more; +static int hf_ieee80211_oui_qos_mgmt_rq_ctrl_reset; +static int hf_ieee80211_oui_qos_mgmt_rq_reserved; +static int hf_ieee80211_oui_qos_mgmt_count; +static int hf_ieee80211_dscp_policy_id; +static int hf_ieee80211_dscp_policy_status; +static int hf_ieee80211_dscp_policy_scs_sts_list; + +static int hf_ieee80211_tag_he_6ghz_cap_inf; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b0_b2; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b3_b5; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b6_b7; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b8; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b9_b10; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b11; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b12; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b13; +static int hf_ieee80211_tag_he_6ghz_cap_inf_b14_b15; + +static int hf_ieee80211_tag_ftm_tsf_sync_info; static int * const ieee80211_tag_he_6ghz_cap_inf[] = { &hf_ieee80211_tag_he_6ghz_cap_inf_b0_b2, @@ -5110,1004 +5196,1006 @@ static int * const ieee80211_tag_he_6ghz_cap_inf[] = { }; -static int hf_ieee80211_wep_iv = -1; -static int hf_ieee80211_wep_iv_weak = -1; -static int hf_ieee80211_tkip_extiv = -1; -static int hf_ieee80211_ccmp_extiv = -1; -static int hf_ieee80211_wep_key = -1; -static int hf_ieee80211_wep_icv = -1; -static int hf_ieee80211_fc_analysis_pmk = -1; -static int hf_ieee80211_fc_analysis_kck = -1; -static int hf_ieee80211_fc_analysis_kek = -1; -static int hf_ieee80211_fc_analysis_tk = -1; -static int hf_ieee80211_fc_analysis_gtk = -1; - -static int hf_ieee80211_block_ack_control = -1; -static int hf_ieee80211_block_ack_control_ack_policy = -1; -static int hf_ieee80211_block_ack_control_type = -1; -static int hf_ieee80211_block_ack_control_reserved = -1; -static int hf_ieee80211_block_ack_control_tid_info = -1; - -static int hf_ieee80211_block_ack_multi_tid_reserved = -1; -static int hf_ieee80211_block_ack_multi_tid_value = -1; -static int hf_ieee80211_block_ack_bitmap = -1; -static int hf_ieee80211_block_ack_bitmap_missing_frame = -1; -static int hf_ieee80211_block_ack_gcr_addr = -1; - -static int hf_ieee80211_block_ack_multi_sta_aid11 = -1; -static int hf_ieee80211_block_ack_multi_sta_ack_type = -1; -static int hf_ieee80211_block_ack_multi_sta_tid = -1; -static int hf_ieee80211_block_ack_multi_sta_aid_tid = -1; -static int hf_ieee80211_block_ack_multi_sta_reserved = -1; -static int hf_ieee80211_block_ack_multi_sta_ra = -1; - -static int hf_ieee80211_tag_measure_request_measurement_mode = -1; -static int hf_ieee80211_tag_measure_request_bssid = -1; - -static int hf_ieee80211_tag_measure_request_subelement_length = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_id = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_ssid = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_bri_reporting_condition = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_bri_threshold_offset = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_reporting_detail = -1; -static int hf_ieee80211_tag_measure_request_beacon_sub_last_report_indication_request = -1; -static int hf_ieee80211_tag_measure_request_beacon_unknown = -1; - -static int hf_ieee80211_tag_measure_request_channel_load_sub_id = -1; -static int hf_ieee80211_tag_measure_request_channel_load_sub_reporting_condition = -1; -static int hf_ieee80211_tag_measure_request_channel_load_sub_reporting_ref = -1; - -static int hf_ieee80211_tag_measure_request_noise_histogram_sub_id = -1; -static int hf_ieee80211_tag_measure_request_noise_histogram_sub_reporting_condition = -1; -static int hf_ieee80211_tag_measure_request_noise_histogram_sub_reporting_anpi_ref = -1; - -static int hf_ieee80211_tag_measure_request_frame_request_type = -1; -static int hf_ieee80211_tag_measure_request_mac_address = -1; -static int hf_ieee80211_tag_measure_request_peer_mac_address = -1; -static int hf_ieee80211_tag_measure_request_group_id = -1; - -static int hf_ieee80211_tag_measure_request_location_subject = -1; -static int hf_ieee80211_tag_measure_request_civic_location_type = -1; -static int hf_ieee80211_tag_measure_request_location_service_interval_units = -1; -static int hf_ieee80211_tag_measure_request_location_service_interval = -1; - -static int hf_ieee80211_tag_measure_request_unknown = -1; - -static int hf_ieee80211_ht_pren_type = -1; -static int hf_ieee80211_ht_pren_unknown = -1; - -static int hf_ieee80211_ht_cap = -1; -static int hf_ieee80211_ht_vs_cap = -1; -static int hf_ieee80211_ht_ldpc_coding = -1; -static int hf_ieee80211_ht_chan_width = -1; -static int hf_ieee80211_ht_sm_pwsave = -1; -static int hf_ieee80211_ht_green = -1; -static int hf_ieee80211_ht_short20 = -1; -static int hf_ieee80211_ht_short40 = -1; -static int hf_ieee80211_ht_tx_stbc = -1; -static int hf_ieee80211_ht_rx_stbc = -1; -static int hf_ieee80211_ht_delayed_block_ack = -1; -static int hf_ieee80211_ht_max_amsdu = -1; -static int hf_ieee80211_ht_dss_cck_40 = -1; -static int hf_ieee80211_ht_psmp = -1; -static int hf_ieee80211_ht_40_mhz_intolerant = -1; -static int hf_ieee80211_ht_l_sig = -1; - -static int hf_ieee80211_ext_bss_mu_mimo_capable_sta_count = -1; -static int hf_ieee80211_ext_bss_ss_underutilization = -1; -static int hf_ieee80211_ext_bss_observable_sec_20mhz_utilization = -1; -static int hf_ieee80211_ext_bss_observable_sec_40mhz_utilization = -1; -static int hf_ieee80211_ext_bss_observable_sec_80mhz_utilization = -1; -static int hf_ieee80211_wide_bw_new_channel_width = -1; -static int hf_ieee80211_wide_bw_new_channel_center_freq_segment0 = -1; -static int hf_ieee80211_wide_bw_new_channel_center_freq_segment1 = -1; - -static int hf_ieee80211_operat_notification_mode = -1; -static int hf_ieee80211_operat_mode_field_channel_width = -1; -static int hf_ieee80211_operat_mode_field_reserved = -1; -static int hf_ieee80211_operat_mode_field_rxnss = -1; -static int hf_ieee80211_operat_mode_field_rxnsstype= -1; - -static int hf_ieee80211_tbtt_info = -1; -static int hf_ieee80211_tbtt_filtered_nap = -1; -static int hf_ieee80211_tbtt_info_count = -1; -static int hf_ieee80211_tbtt_info_length = -1; - -static int hf_ieee80211_tbtt_operating_class = -1; -static int hf_ieee80211_tbtt_channel_number = -1; - -static int hf_ieee80211_tbtt_offset = -1; -static int hf_ieee80211_tbtt_bssid = -1; -static int hf_ieee80211_tbtt_short_ssid = -1; -static int hf_ieee80211_rnr_bss_params = -1; -static int hf_ieee80211_rnr_oct_recommended = -1; -static int hf_ieee80211_rnr_same_ssid = -1; -static int hf_ieee80211_rnr_multiple_bssid = -1; -static int hf_ieee80211_rnr_transmitted_bssid = -1; -static int hf_ieee80211_rnr_ess_with_colocated_ap = -1; -static int hf_ieee80211_rnr_unsolicited_probe_responses = -1; -static int hf_ieee80211_rnr_same_colocated_ap = -1; -static int hf_ieee80211_rnr_same_reserved = -1; -static int hf_ieee80211_rnr_20mhz_psd_subfield = -1; -static int hf_ieee80211_rnr_reserved_data = -1; -static int hf_ieee80211_rnr_mld_params = -1; -static int hf_ieee80211_rnr_mld_id = -1; -static int hf_ieee80211_rnr_mld_link_id = -1; -static int hf_ieee80211_rnr_mld_bss_params_change_count = -1; -static int hf_ieee80211_rnr_mld_all_updates_included = -1; -static int hf_ieee80211_rnr_mld_disabled_link_indication = -1; -static int hf_ieee80211_rnr_mld_reserved = -1; - -static int hf_ieee80211_ampduparam = -1; -static int hf_ieee80211_ampduparam_vs = -1; -static int hf_ieee80211_ampduparam_mpdu = -1; -static int hf_ieee80211_ampduparam_mpdu_start_spacing = -1; -static int hf_ieee80211_ampduparam_reserved = -1; - -static int hf_ieee80211_beacon_sequence = -1; -static int hf_ieee80211_pentapartial_timestamp = -1; -static int hf_ieee80211_tack_next_twt_info = -1; -static int hf_ieee80211_tack_next_twt = -1; -static int hf_ieee80211_tack_flow_identifier = -1; - -static int hf_ieee80211_ff_s1g_action = -1; -static int hf_ieee80211_ff_s1g_timestamp = -1; -static int hf_ieee80211_ff_s1g_change_sequence = -1; -static int hf_ieee80211_ff_s1g_next_tbtt = -1; -static int hf_ieee80211_ff_s1g_compressed_ssid = -1; -static int hf_ieee80211_ff_s1g_access_network_options = -1; - -static int hf_ieee80211_s1g_sync_control = -1; -static int hf_ieee80211_s1g_sync_control_uplink_sync_request = -1; -static int hf_ieee80211_s1g_sync_control_time_slot_protection_request = -1; -static int hf_ieee80211_s1g_sync_control_reserved = -1; - -static int hf_ieee80211_s1g_sector_id_index = -1; -static int hf_ieee80211_s1g_sector_id_preferred_sector_id = -1; -static int hf_ieee80211_s1g_sector_id_snr = -1; -static int hf_ieee80211_s1g_sector_id_receive_sector_bitmap = -1; - -static int hf_ieee80211_s1g_twt_information_control = -1; -static int hf_ieee80211_s1g_twt_flow_identifier = -1; -static int hf_ieee80211_s1g_twt_response_required = -1; -static int hf_ieee80211_s1g_twt_next_twt_request = -1; -static int hf_ieee80211_s1g_twt_next_twt_subfield_size = -1; -static int hf_ieee80211_s1g_twt_reserved = -1; -static int hf_ieee80211_s1g_twt_next_twt_32 = -1; -static int hf_ieee80211_s1g_twt_next_twt_48 = -1; -static int hf_ieee80211_s1g_twt_next_twt_64 = -1; - -static int hf_ieee80211_s1g_update_edca_info = -1; -static int hf_ieee80211_s1g_update_edca_override = -1; -static int hf_ieee80211_s1g_update_edca_ps_poll_aci = -1; -static int hf_ieee80211_s1g_update_edca_raw_aci = -1; -static int hf_ieee80211_s1g_update_edca_sta_type = -1; -static int hf_ieee80211_s1g_update_edca_reserved = -1; - -static int hf_ieee80211_s1g_cap_byte1 = -1; -static int hf_ieee80211_s1g_cap_byte2 = -1; -static int hf_ieee80211_s1g_cap_byte3 = -1; -static int hf_ieee80211_s1g_cap_byte4 = -1; -static int hf_ieee80211_s1g_cap_byte5 = -1; -static int hf_ieee80211_s1g_cap_byte6 = -1; -static int hf_ieee80211_s1g_cap_byte7 = -1; -static int hf_ieee80211_s1g_cap_byte8 = -1; -static int hf_ieee80211_s1g_cap_byte9 = -1; -static int hf_ieee80211_s1g_cap_byte10 = -1; -static int hf_ieee80211_s1g_cap_s1g_long_support = -1; -static int hf_ieee80211_s1g_cap_short_gi_for_1_mhz = -1; -static int hf_ieee80211_s1g_cap_short_gi_for_2_mhz = -1; -static int hf_ieee80211_s1g_cap_short_gi_for_4_mhz = -1; -static int hf_ieee80211_s1g_cap_short_gi_for_8_mhz = -1; -static int hf_ieee80211_s1g_cap_short_gi_for_16_mhz = -1; -static int hf_ieee80211_s1g_cap_supported_channel_width = -1; -static int hf_ieee80211_s1g_cap_rx_lpdc = -1; -static int hf_ieee80211_s1g_cap_tx_stbc = -1; -static int hf_ieee80211_s1g_cap_rx_stbc = -1; -static int hf_ieee80211_s1g_cap_su_beamformer_capable = -1; -static int hf_ieee80211_s1g_cap_su_beamformee_capable = -1; -static int hf_ieee80211_s1g_cap_beamformee_sts_capability = -1; -static int hf_ieee80211_s1g_cap_number_sounding_dimensions = -1; -static int hf_ieee80211_s1g_cap_mu_beamformer_capable = -1; -static int hf_ieee80211_s1g_cap_mu_beamformee_capable = -1; -static int hf_ieee80211_s1g_cap_htc_vht_capable = -1; -static int hf_ieee80211_s1g_cap_travelling_pilot_support = -1; -static int hf_ieee80211_s1g_cap_rd_responder = -1; -static int hf_ieee80211_s1g_cap_ht_delayed_block_ack = -1; -static int hf_ieee80211_s1g_cap_maximum_mpdu_length = -1; -static int hf_ieee80211_s1g_cap_maximum_a_mpdu_length_exp = -1; -static int hf_ieee80211_s1g_cap_minimum_mpdu_start_spacing = -1; -static int hf_ieee80211_s1g_cap_uplink_sync_capable = -1; -static int hf_ieee80211_s1g_cap_dynamic_aid = -1; -static int hf_ieee80211_s1g_cap_bat_support = -1; -static int hf_ieee80211_s1g_cap_tim_ade_support = -1; -static int hf_ieee80211_s1g_cap_non_tim_support = -1; -static int hf_ieee80211_s1g_cap_group_aid_support = -1; -static int hf_ieee80211_s1g_cap_sta_type_support = -1; -static int hf_ieee80211_s1g_cap_centralized_authentication_control = -1; -static int hf_ieee80211_s1g_cap_distributed_authentication_control = -1; -static int hf_ieee80211_s1g_cap_a_msdu_support = -1; -static int hf_ieee80211_s1g_cap_a_mpdu_support = -1; -static int hf_ieee80211_s1g_cap_asymmetic_block_ack_support = -1; -static int hf_ieee80211_s1g_cap_flow_control_support = -1; -static int hf_ieee80211_s1g_cap_sectorized_beam_capable = -1; -static int hf_ieee80211_s1g_cap_obss_mitigation_support = -1; -static int hf_ieee80211_s1g_cap_fragment_ba_support = -1; -static int hf_ieee80211_s1g_cap_ndp_ps_poll_supported = -1; -static int hf_ieee80211_s1g_cap_raw_operation_support = -1; -static int hf_ieee80211_s1g_cap_page_slicing_support = -1; -static int hf_ieee80211_s1g_cap_txop_sharing_implicit_ack_support = -1; -static int hf_ieee80211_s1g_cap_vht_link_adaptation_capable = -1; -static int hf_ieee80211_s1g_cap_tack_support_as_ps_poll_response = -1; -static int hf_ieee80211_s1g_cap_duplicate_1_mhz_support = -1; -static int hf_ieee80211_s1g_cap_mcs_negotiation_support = -1; -static int hf_ieee80211_s1g_cap_1_mhz_control_response_preamble_support = -1; -static int hf_ieee80211_s1g_cap_ndp_beamforming_report_poll_support = -1; -static int hf_ieee80211_s1g_cap_unsolicited_dynamic_aid = -1; -static int hf_ieee80211_s1g_cap_sector_training_operation_supported = -1; -static int hf_ieee80211_s1g_cap_temporary_ps_mode_switch = -1; -static int hf_ieee80211_s1g_cap_twt_grouping_support = -1; -static int hf_ieee80211_s1g_cap_bdt_capable = -1; -static int hf_ieee80211_s1g_cap_color = -1; -static int hf_ieee80211_s1g_cap_twt_requester_support = -1; -static int hf_ieee80211_s1g_cap_twt_responder_support = -1; -static int hf_ieee80211_s1g_cap_pv1_frame_support = -1; -static int hf_ieee80211_s1g_cap_link_adaptation_per_normal_control_response_capable = -1; -static int hf_ieee80211_s1g_cap_reserved = -1; -static int hf_ieee80211_s1g_mcs_and_nss_set = -1; -static int hf_ieee80211_s1g_rx_s1g_mcs_map = -1; -static int hf_ieee80211_s1g_rx_highest_supported_long_gi_data_rate = -1; -static int hf_ieee80211_s1g_tx_s1g_mcs_map = -1; -static int hf_ieee80211_s1g_tx_highest_supported_long_gi_data_rate = -1; -static int hf_ieee80211_s1g_rx_single_spatial_stream_map_for_1_mhz = -1; -static int hf_ieee80211_s1g_tx_single_spatial_stream_map_for_1_mhz = -1; -static int hf_ieee80211_s1g_mcs_and_nss_reserved = -1; -static int hf_ieee80211_s1g_subchannel_selective_transmission = -1; -static int hf_ieee80211_s1g_sst_sounding_option = -1; -static int hf_ieee80211_s1g_channel_activity_bitmap = -1; -static int hf_ieee80211_s1g_ul_activity = -1; -static int hf_ieee80211_s1g_dl_activity = -1; -static int hf_ieee80211_s1g_max_trans_width = -1; -static int hf_ieee80211_s1g_activity_start_time = -1; -static int hf_ieee80211_s1g_sst_sounding_option1 = -1; -static int hf_ieee80211_s1g_channel_activity_bitmap1 = -1; -static int hf_ieee80211_s1g_sounding_start_time_present = -1; -static int hf_ieee80211_s1g_channel_activity_reserved = -1; -static int hf_ieee80211_s1g_max_trans_width1 = -1; -static int hf_ieee80211_s1g_sounding_start_time = -1; -static int hf_ieee80211_s1g_open_loop_link_margin = -1; -static int hf_ieee80211_s1g_raw_control = -1; -static int hf_ieee80211_s1g_raw_type = -1; -static int hf_ieee80211_s1g_raw_type_options = -1; -static int hf_ieee80211_s1g_raw_start_time_indication = -1; -static int hf_ieee80211_s1g_raw_raw_group_indication = -1; -static int hf_ieee80211_s1g_raw_channel_indication_preference = -1; -static int hf_ieee80211_s1g_raw_periodic_raw_indication = -1; -static int hf_ieee80211_s1g_raw_slot_def = -1; -static int hf_ieee80211_s1g_slot_def_format_indication = -1; -static int hf_ieee80211_s1g_slot_def_cross_slot_boundary = -1; -static int hf_ieee80211_s1g_slot_def_slot_duration_count8 = -1; -static int hf_ieee80211_s1g_slot_def_num_slots6 = -1; -static int hf_ieee80211_s1g_slot_def_slot_duration_count11 = -1; -static int hf_ieee80211_s1g_slot_def_num_slots3 = -1; -static int hf_ieee80211_s1g_raw_start_time = -1; -static int hf_ieee80211_s1g_raw_group_subfield = -1; -static int hf_ieee80211_s1g_raw_group_page_index = -1; -static int hf_ieee80211_s1g_raw_group_start_aid = -1; -static int hf_ieee80211_s1g_raw_group_end_aid = -1; -static int hf_ieee80211_s1g_raw_channel_indication = -1; -static int hf_ieee80211_s1g_raw_ci_channel_activity_bitmap = -1; -static int hf_ieee80211_s1g_raw_ci_max_trans_width = -1; -static int hf_ieee80211_s1g_raw_ci_ul_activity = -1; -static int hf_ieee80211_s1g_raw_ci_dl_activity = -1; -static int hf_ieee80211_s1g_raw_ci_reserved = -1; -static int hf_ieee80211_s1g_raw_praw_periodicity = -1; -static int hf_ieee80211_s1g_raw_praw_validity = -1; -static int hf_ieee80211_s1g_raw_praw_start_offset = -1; -static int hf_ieee80211_s1g_page_slice_page_period = -1; -static int hf_ieee80211_s1g_page_slice_control = -1; -static int hf_ieee80211_s1g_page_slice_page_index = -1; -static int hf_ieee80211_s1g_page_slice_page_slice_length = -1; -static int hf_ieee80211_s1g_page_slice_page_slice_count = -1; -static int hf_ieee80211_s1g_page_slice_block_offset = -1; -static int hf_ieee80211_s1g_page_slice_tim_offset = -1; -static int hf_ieee80211_s1g_page_slice_reserved = -1; -static int hf_ieee80211_s1g_page_slice_page_bitmap = -1; -static int hf_ieee80211_s1g_aid_request_mode = -1; -static int hf_ieee80211_s1g_aid_request_interval_present = -1; -static int hf_ieee80211_s1g_aid_request_per_sta_address_present = -1; -static int hf_ieee80211_s1g_aid_request_service_characteristic_present = -1; -static int hf_ieee80211_s1g_aid_request_non_tim_mode_switch = -1; -static int hf_ieee80211_s1g_aid_request_tim_mode_switch = -1; -static int hf_ieee80211_s1g_aid_request_group_address_present = -1; -static int hf_ieee80211_s1g_aid_request_reserved = -1; -static int hf_ieee80211_s1g_aid_request_interval = -1; -static int hf_ieee80211_s1g_aid_request_characteristic_sensor = -1; -static int hf_ieee80211_s1g_aid_request_characteristic_offload = -1; -static int hf_ieee80211_s1g_aid_request_characteristic_official_service = -1; -static int hf_ieee80211_s1g_aid_request_characteristic_reserved = -1; -static int hf_ieee80211_s1g_aid_req_peer_sta_addr = -1; -static int hf_ieee80211_s1g_aid_request_characteristic = -1; -static int hf_ieee80211_s1g_aid_req_group_addr = -1; -static int hf_ieee80211_s1g_aid_rsp_aid_group_aid = -1; -static int hf_ieee80211_s1g_aid_rsp_aid_switch_count = -1; -static int hf_ieee80211_s1g_aid_rsp_aid_response_interval = -1; -static int hf_ieee80211_s1g_sector_op_control_16b = -1; -static int hf_ieee80211_s1g_sector_op_sectorization_type_b16 = -1; -static int hf_ieee80211_s1g_sector_op_periodic_training_indicator = -1; -static int hf_ieee80211_s1g_sector_op_training_period = -1; -static int hf_ieee80211_s1g_sector_op_remaining_beacon_interval = -1; -static int hf_ieee80211_s1g_sector_op_reserved_b16 = -1; -static int hf_ieee80211_s1g_sector_op_control = -1; -static int hf_ieee80211_s1g_sector_op_sectorization_type = -1; -static int hf_ieee80211_s1g_sector_op_period = -1; -static int hf_ieee80211_s1g_sector_op_omni = -1; -static int hf_ieee80211_s1g_sector_op_group_info = -1; -static int hf_ieee80211_s1g_short_beacon_interval = -1; -static int hf_ieee80211_s1g_change_sequence = -1; -static int hf_ieee80211_s1g_auth_control_control = -1; -static int hf_ieee80211_s1g_auth_control_deferral = -1; -static int hf_ieee80211_s1g_auth_control_reserved = -1; -static int hf_ieee80211_s1g_auth_control_thresh = -1; -static int hf_ieee80211_s1g_auth_control_thresh_tus = -1; -static int hf_ieee80211_s1g_auth_slot_duration = -1; -static int hf_ieee80211_s1g_auth_max_trans_int = -1; -static int hf_ieee80211_s1g_auth_min_trans_int = -1; -static int hf_ieee80211_s1g_tsf_timer_accuracy = -1; -static int hf_ieee80211_s1g_relay_control = -1; -static int hf_ieee80211_s1g_relay_control_rootap_bssid = -1; -static int hf_ieee80211_s1g_relay_function_activation_mode = -1; -static int hf_ieee80211_s1g_relay_function_direction = -1; -static int hf_ieee80211_s1g_relay_function_enable_relay_function = -1; -static int hf_ieee80211_s1g_relay_function_stas_present_indic = -1; -static int hf_ieee80211_s1g_relay_function_reserved = -1; -static int hf_ieee80211_s1g_number_of_stas = -1; -static int hf_ieee80211_s1g_initiator_mac_address = -1; -static int hf_ieee80211_s1g_address_count = -1; -static int hf_ieee80211_s1g_reachable_add_remove = -1; -static int hf_ieee80211_s1g_reachable_relay_capable = -1; -static int hf_ieee80211_s1g_reachable_reserved = -1; -static int hf_ieee80211_s1g_reachable_mac_address = -1; -static int hf_ieee80211_s1g_relay_discovery_control = -1; -static int hf_ieee80211_s1g_min_data_rate_included = -1; -static int hf_ieee80211_s1g_mean_data_rate_included = -1; -static int hf_ieee80211_s1g_max_data_rate_included = -1; -static int hf_ieee80211_s1g_delay_and_min_phy_rate = -1; -static int hf_ieee80211_s1g_information_not_available = -1; -static int hf_ieee80211_s1g_relay_discovery_reserved = -1; -static int hf_ieee80211_s1g_relay_control_ul_min = -1; -static int hf_ieee80211_s1g_relay_control_ul_mean = -1; -static int hf_ieee80211_s1g_relay_control_ul_max = -1; -static int hf_ieee80211_s1g_relay_control_dl_min = -1; -static int hf_ieee80211_s1g_relay_control_dl_mean = -1; -static int hf_ieee80211_s1g_relay_control_dl_max = -1; -static int hf_ieee80211_s1g_relay_hierarchy_identifier = -1; -static int hf_ieee80211_s1g_relay_no_more_relay_flag = -1; -static int hf_ieee80211_s1g_aid_entry_mac_addr = -1; -static int hf_ieee80211_s1g_aid_entry_assoc_id = -1; -static int hf_ieee80211_s1g_beacon_compatibility_info = -1; -static int hf_ieee80211_s1g_beacon_interval = -1; -static int hf_ieee80211_s1g_tsf_completion = -1; -static int hf_ieee80211_s1g_channel_width = -1; -static int hf_ieee80211_s1g_primary_channel_width = -1; -static int hf_ieee80211_s1g_bss_operating_channel_width = -1; -static int hf_ieee80211_s1g_primary_channel_location = -1; -static int hf_ieee80211_s1g_reserved_b6 = -1; -static int hf_ieee80211_s1g_mcs10_use = -1; -static int hf_ieee80211_s1g_operating_class = -1; -static int hf_ieee80211_s1g_primary_channel_number = -1; -static int hf_ieee80211_s1g_channel_center_frequency = -1; -static int hf_ieee80211_s1g_basic_mcs_and_nss_set = -1; -static int hf_ieee80211_s1g_sst_enabled_channel_bitmap = -1; -static int hf_ieee80211_s1g_sst_primary_channel_offset = -1; -static int hf_ieee80211_s1g_sst_channel_unit = -1; -static int hf_ieee80211_s1g_sst_reserved = -1; -static int hf_ieee80211_s1g_max_away_duration = -1; -static int hf_ieee80211_s1g_tim_bmapctrl = -1; -static int hf_ieee80211_s1g_tim_bmapctl_traffic_indicator = -1; -static int hf_ieee80211_s1g_tim_page_slice_number = -1; -static int hf_ieee80211_s1g_tim_page_index = -1; -static int hf_ieee80211_s1g_pvb_block_control_byte = -1; -static int hf_ieee80211_s1g_pvb_encoding_mode = -1; -static int hf_ieee80211_s1g_pvb_inverse_bitmap = -1; -static int hf_ieee80211_s1g_pvb_block_offset = -1; -static int hf_ieee80211_s1g_block_bitmap = -1; -static int hf_ieee80211_s1g_block_bitmap_sta_aid13 = -1; -static int hf_ieee80211_s1g_block_bitmap_single_aid = -1; -static int hf_ieee80211_s1g_block_bitmap_olb_length = -1; -static int hf_ieee80211_s1g_block_bitmap_ade = -1; -static int hf_ieee80211_s1g_block_bitmap_ewl = -1; -static int hf_ieee80211_s1g_block_bitmap_len = -1; -static int hf_ieee80211_s1g_block_bitmap_ade_bytes = -1; -static int hf_ieee80211_s1g_probe_response_group_bitmap = -1; -static int hf_ieee80211_s1g_probe_resp_subfield_0 = -1; -static int hf_ieee80211_pv1_probe_response_req_full_ssid = -1; -static int hf_ieee80211_pv1_probe_response_req_next_tbtt = -1; -static int hf_ieee80211_pv1_probe_response_req_access_network_option = -1; -static int hf_ieee80211_pv1_probe_response_req_s1g_beacon_compatibility = -1; -static int hf_ieee80211_pv1_probe_response_req_supported_rates = -1; -static int hf_ieee80211_pv1_probe_response_req_s1g_capability = -1; -static int hf_ieee80211_pv1_probe_response_req_s1g_operation = -1; -static int hf_ieee80211_pv1_probe_response_req_rsn = -1; -static int hf_ieee80211_s1g_el_op_max_awake_duration = -1; -static int hf_ieee80211_s1g_el_op_recovery_time_duration = -1; -static int hf_ieee80211_s1g_sectorized_group_id_list = -1; -static int hf_ieee80211_s1g_header_comp_control = -1; -static int hf_ieee80211_s1g_header_comp_req_resp = -1; -static int hf_ieee80211_s1g_header_comp_store_a3 = -1; -static int hf_ieee80211_s1g_header_comp_store_a4 = -1; -static int hf_ieee80211_s1g_header_comp_ccmp_update_present = -1; -static int hf_ieee80211_s1g_header_comp_pv1_data_type_3_supported = -1; -static int hf_ieee80211_s1g_header_comp_reserved = -1; -static int hf_ieee80211_s1g_header_comp_a3 = -1; -static int hf_ieee80211_s1g_header_comp_a4 = -1; -static int hf_ieee80211_s1g_header_comp_ccmp_update = -1; - -static int hf_ieee80211_mcsset = -1; -static int hf_ieee80211_mcsset_vs = -1; -static int hf_ieee80211_mcsset_rx_bitmask = -1; -static int hf_ieee80211_mcsset_rx_bitmask_0to7 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_8to15 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_16to23 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_24to31 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_32 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_33to38 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_39to52 = -1; -static int hf_ieee80211_mcsset_rx_bitmask_53to76 = -1; -static int hf_ieee80211_mcsset_highest_data_rate = -1; -static int hf_ieee80211_mcsset_tx_mcs_set_defined = -1; -static int hf_ieee80211_mcsset_tx_rx_mcs_set_not_equal = -1; -static int hf_ieee80211_mcsset_tx_max_spatial_streams = -1; -static int hf_ieee80211_mcsset_tx_unequal_modulation = -1; - -static int hf_ieee80211_htex_cap = -1; -static int hf_ieee80211_htex_vs_cap = -1; -static int hf_ieee80211_htex_pco = -1; -static int hf_ieee80211_htex_transtime = -1; -static int hf_ieee80211_htex_mcs = -1; -static int hf_ieee80211_htex_htc_support = -1; -static int hf_ieee80211_htex_rd_responder = -1; - -static int hf_ieee80211_txbf = -1; -static int hf_ieee80211_txbf_vs = -1; -static int hf_ieee80211_txbf_cap = -1; -static int hf_ieee80211_txbf_rcv_ssc = -1; -static int hf_ieee80211_txbf_tx_ssc = -1; -static int hf_ieee80211_txbf_rcv_ndp = -1; -static int hf_ieee80211_txbf_tx_ndp = -1; -static int hf_ieee80211_txbf_impl_txbf = -1; -static int hf_ieee80211_txbf_calib = -1; -static int hf_ieee80211_txbf_expl_csi = -1; -static int hf_ieee80211_txbf_expl_uncomp_fm = -1; -static int hf_ieee80211_txbf_expl_comp_fm = -1; -static int hf_ieee80211_txbf_expl_bf_csi = -1; -static int hf_ieee80211_txbf_expl_uncomp_fm_feed = -1; -static int hf_ieee80211_txbf_expl_comp_fm_feed = -1; -static int hf_ieee80211_txbf_csi_num_bf_ant = -1; -static int hf_ieee80211_txbf_min_group = -1; -static int hf_ieee80211_txbf_uncomp_sm_bf_ant = -1; -static int hf_ieee80211_txbf_comp_sm_bf_ant = -1; -static int hf_ieee80211_txbf_csi_max_rows_bf = -1; -static int hf_ieee80211_txbf_chan_est = -1; -static int hf_ieee80211_txbf_resrv = -1; +static int hf_ieee80211_wep_iv; +static int hf_ieee80211_wep_iv_weak; +static int hf_ieee80211_tkip_extiv; +static int hf_ieee80211_ccmp_extiv; +static int hf_ieee80211_wep_key; +static int hf_ieee80211_wep_icv; +static int hf_ieee80211_fc_analysis_pmk; +static int hf_ieee80211_fc_analysis_kck; +static int hf_ieee80211_fc_analysis_kek; +static int hf_ieee80211_fc_analysis_tk; +static int hf_ieee80211_fc_analysis_gtk; + +static int hf_ieee80211_block_ack_control; +static int hf_ieee80211_block_ack_control_ack_policy; +static int hf_ieee80211_block_ack_control_type; +static int hf_ieee80211_block_ack_control_reserved; +static int hf_ieee80211_block_ack_control_tid_info; + +static int hf_ieee80211_block_ack_multi_tid_reserved; +static int hf_ieee80211_block_ack_multi_tid_value; +static int hf_ieee80211_block_ack_bitmap; +static int hf_ieee80211_block_ack_bitmap_missing_frame; +static int hf_ieee80211_block_ack_gcr_addr; + +static int hf_ieee80211_block_ack_multi_sta_aid11; +static int hf_ieee80211_block_ack_multi_sta_ack_type; +static int hf_ieee80211_block_ack_multi_sta_tid; +static int hf_ieee80211_block_ack_multi_sta_aid_tid; +static int hf_ieee80211_block_ack_multi_sta_reserved; +static int hf_ieee80211_block_ack_multi_sta_ra; + +static int hf_ieee80211_tag_measure_request_measurement_mode; +static int hf_ieee80211_tag_measure_request_bssid; + +static int hf_ieee80211_tag_measure_request_subelement_length; +static int hf_ieee80211_tag_measure_request_beacon_sub_id; +static int hf_ieee80211_tag_measure_request_beacon_sub_ssid; +static int hf_ieee80211_tag_measure_request_beacon_sub_bri_reporting_condition; +static int hf_ieee80211_tag_measure_request_beacon_sub_bri_threshold_offset; +static int hf_ieee80211_tag_measure_request_beacon_sub_reporting_detail; +static int hf_ieee80211_tag_measure_request_beacon_sub_last_report_indication_request; +static int hf_ieee80211_tag_measure_request_beacon_unknown; + +static int hf_ieee80211_tag_measure_request_channel_load_sub_id; +static int hf_ieee80211_tag_measure_request_channel_load_sub_reporting_condition; +static int hf_ieee80211_tag_measure_request_channel_load_sub_reporting_ref; + +static int hf_ieee80211_tag_measure_request_noise_histogram_sub_id; +static int hf_ieee80211_tag_measure_request_noise_histogram_sub_reporting_condition; +static int hf_ieee80211_tag_measure_request_noise_histogram_sub_reporting_anpi_ref; + +static int hf_ieee80211_tag_measure_request_frame_request_type; +static int hf_ieee80211_tag_measure_request_mac_address; +static int hf_ieee80211_tag_measure_request_peer_mac_address; +static int hf_ieee80211_tag_measure_request_group_id; + +static int hf_ieee80211_tag_measure_request_location_subject; +static int hf_ieee80211_tag_measure_request_civic_location_type; +static int hf_ieee80211_tag_measure_request_location_service_interval_units; +static int hf_ieee80211_tag_measure_request_location_service_interval; + +static int hf_ieee80211_tag_measure_request_unknown; + +static int hf_ieee80211_ht_pren_type; +static int hf_ieee80211_ht_pren_unknown; + +static int hf_ieee80211_ht_cap; +static int hf_ieee80211_ht_vs_cap; +static int hf_ieee80211_ht_ldpc_coding; +static int hf_ieee80211_ht_chan_width; +static int hf_ieee80211_ht_sm_pwsave; +static int hf_ieee80211_ht_green; +static int hf_ieee80211_ht_short20; +static int hf_ieee80211_ht_short40; +static int hf_ieee80211_ht_tx_stbc; +static int hf_ieee80211_ht_rx_stbc; +static int hf_ieee80211_ht_delayed_block_ack; +static int hf_ieee80211_ht_max_amsdu; +static int hf_ieee80211_ht_dss_cck_40; +static int hf_ieee80211_ht_psmp; +static int hf_ieee80211_ht_40_mhz_intolerant; +static int hf_ieee80211_ht_l_sig; + +static int hf_ieee80211_ext_bss_mu_mimo_capable_sta_count; +static int hf_ieee80211_ext_bss_ss_underutilization; +static int hf_ieee80211_ext_bss_observable_sec_20mhz_utilization; +static int hf_ieee80211_ext_bss_observable_sec_40mhz_utilization; +static int hf_ieee80211_ext_bss_observable_sec_80mhz_utilization; +static int hf_ieee80211_wide_bw_new_channel_width; +static int hf_ieee80211_wide_bw_new_channel_center_freq_segment0; +static int hf_ieee80211_wide_bw_new_channel_center_freq_segment1; + +static int hf_ieee80211_operat_notification_mode; +static int hf_ieee80211_operat_mode_field_channel_width; +static int hf_ieee80211_operat_mode_field_reserved; +static int hf_ieee80211_operat_mode_field_rxnss; +static int hf_ieee80211_operat_mode_field_rxnsstype; + +static int hf_ieee80211_tbtt_info; +static int hf_ieee80211_tbtt_filtered_nap; +static int hf_ieee80211_tbtt_info_count; +static int hf_ieee80211_tbtt_info_length; + +static int hf_ieee80211_tbtt_operating_class; +static int hf_ieee80211_tbtt_channel_number; + +static int hf_ieee80211_tbtt_offset; +static int hf_ieee80211_tbtt_bssid; +static int hf_ieee80211_tbtt_short_ssid; +static int hf_ieee80211_rnr_bss_params; +static int hf_ieee80211_rnr_oct_recommended; +static int hf_ieee80211_rnr_same_ssid; +static int hf_ieee80211_rnr_multiple_bssid; +static int hf_ieee80211_rnr_transmitted_bssid; +static int hf_ieee80211_rnr_ess_with_colocated_ap; +static int hf_ieee80211_rnr_unsolicited_probe_responses; +static int hf_ieee80211_rnr_same_colocated_ap; +static int hf_ieee80211_rnr_same_reserved; +static int hf_ieee80211_rnr_20mhz_psd_subfield; +static int hf_ieee80211_rnr_reserved_data; +static int hf_ieee80211_rnr_mld_params; +static int hf_ieee80211_rnr_mld_id; +static int hf_ieee80211_rnr_mld_link_id; +static int hf_ieee80211_rnr_mld_bss_params_change_count; +static int hf_ieee80211_rnr_mld_all_updates_included; +static int hf_ieee80211_rnr_mld_disabled_link_indication; +static int hf_ieee80211_rnr_mld_reserved; + +static int hf_ieee80211_ampduparam; +static int hf_ieee80211_ampduparam_vs; +static int hf_ieee80211_ampduparam_mpdu; +static int hf_ieee80211_ampduparam_mpdu_start_spacing; +static int hf_ieee80211_ampduparam_reserved; + +static int hf_ieee80211_beacon_sequence; +static int hf_ieee80211_pentapartial_timestamp; +static int hf_ieee80211_tack_next_twt_info; +static int hf_ieee80211_tack_next_twt; +static int hf_ieee80211_tack_flow_identifier; + +static int hf_ieee80211_ff_s1g_action; +static int hf_ieee80211_ff_prot_s1g_action; +static int hf_ieee80211_ff_s1g_timestamp; +static int hf_ieee80211_ff_s1g_change_sequence; +static int hf_ieee80211_ff_s1g_next_tbtt; +static int hf_ieee80211_ff_s1g_compressed_ssid; +static int hf_ieee80211_ff_s1g_access_network_options; + +static int hf_ieee80211_s1g_sync_control; +static int hf_ieee80211_s1g_sync_control_uplink_sync_request; +static int hf_ieee80211_s1g_sync_control_time_slot_protection_request; +static int hf_ieee80211_s1g_sync_control_reserved; + +static int hf_ieee80211_s1g_sector_id_index; +static int hf_ieee80211_s1g_sector_id_preferred_sector_id; +static int hf_ieee80211_s1g_sector_id_snr; +static int hf_ieee80211_s1g_sector_id_receive_sector_bitmap; + +static int hf_ieee80211_s1g_twt_information_control; +static int hf_ieee80211_s1g_twt_flow_identifier; +static int hf_ieee80211_s1g_twt_response_required; +static int hf_ieee80211_s1g_twt_next_twt_request; +static int hf_ieee80211_s1g_twt_next_twt_subfield_size; +static int hf_ieee80211_s1g_twt_reserved; +static int hf_ieee80211_s1g_twt_next_twt_32; +static int hf_ieee80211_s1g_twt_next_twt_48; +static int hf_ieee80211_s1g_twt_next_twt_64; + +static int hf_ieee80211_s1g_update_edca_info; +static int hf_ieee80211_s1g_update_edca_override; +static int hf_ieee80211_s1g_update_edca_ps_poll_aci; +static int hf_ieee80211_s1g_update_edca_raw_aci; +static int hf_ieee80211_s1g_update_edca_sta_type; +static int hf_ieee80211_s1g_update_edca_reserved; + +static int hf_ieee80211_s1g_cap_byte1; +static int hf_ieee80211_s1g_cap_byte2; +static int hf_ieee80211_s1g_cap_byte3; +static int hf_ieee80211_s1g_cap_byte4; +static int hf_ieee80211_s1g_cap_byte5; +static int hf_ieee80211_s1g_cap_byte6; +static int hf_ieee80211_s1g_cap_byte7; +static int hf_ieee80211_s1g_cap_byte8; +static int hf_ieee80211_s1g_cap_byte9; +static int hf_ieee80211_s1g_cap_byte10; +static int hf_ieee80211_s1g_cap_s1g_long_support; +static int hf_ieee80211_s1g_cap_short_gi_for_1_mhz; +static int hf_ieee80211_s1g_cap_short_gi_for_2_mhz; +static int hf_ieee80211_s1g_cap_short_gi_for_4_mhz; +static int hf_ieee80211_s1g_cap_short_gi_for_8_mhz; +static int hf_ieee80211_s1g_cap_short_gi_for_16_mhz; +static int hf_ieee80211_s1g_cap_supported_channel_width; +static int hf_ieee80211_s1g_cap_rx_lpdc; +static int hf_ieee80211_s1g_cap_tx_stbc; +static int hf_ieee80211_s1g_cap_rx_stbc; +static int hf_ieee80211_s1g_cap_su_beamformer_capable; +static int hf_ieee80211_s1g_cap_su_beamformee_capable; +static int hf_ieee80211_s1g_cap_beamformee_sts_capability; +static int hf_ieee80211_s1g_cap_number_sounding_dimensions; +static int hf_ieee80211_s1g_cap_mu_beamformer_capable; +static int hf_ieee80211_s1g_cap_mu_beamformee_capable; +static int hf_ieee80211_s1g_cap_htc_vht_capable; +static int hf_ieee80211_s1g_cap_travelling_pilot_support; +static int hf_ieee80211_s1g_cap_rd_responder; +static int hf_ieee80211_s1g_cap_ht_delayed_block_ack; +static int hf_ieee80211_s1g_cap_maximum_mpdu_length; +static int hf_ieee80211_s1g_cap_maximum_a_mpdu_length_exp; +static int hf_ieee80211_s1g_cap_minimum_mpdu_start_spacing; +static int hf_ieee80211_s1g_cap_uplink_sync_capable; +static int hf_ieee80211_s1g_cap_dynamic_aid; +static int hf_ieee80211_s1g_cap_bat_support; +static int hf_ieee80211_s1g_cap_tim_ade_support; +static int hf_ieee80211_s1g_cap_non_tim_support; +static int hf_ieee80211_s1g_cap_group_aid_support; +static int hf_ieee80211_s1g_cap_sta_type_support; +static int hf_ieee80211_s1g_cap_centralized_authentication_control; +static int hf_ieee80211_s1g_cap_distributed_authentication_control; +static int hf_ieee80211_s1g_cap_a_msdu_support; +static int hf_ieee80211_s1g_cap_a_mpdu_support; +static int hf_ieee80211_s1g_cap_asymmetic_block_ack_support; +static int hf_ieee80211_s1g_cap_flow_control_support; +static int hf_ieee80211_s1g_cap_sectorized_beam_capable; +static int hf_ieee80211_s1g_cap_obss_mitigation_support; +static int hf_ieee80211_s1g_cap_fragment_ba_support; +static int hf_ieee80211_s1g_cap_ndp_ps_poll_supported; +static int hf_ieee80211_s1g_cap_raw_operation_support; +static int hf_ieee80211_s1g_cap_page_slicing_support; +static int hf_ieee80211_s1g_cap_txop_sharing_implicit_ack_support; +static int hf_ieee80211_s1g_cap_vht_link_adaptation_capable; +static int hf_ieee80211_s1g_cap_tack_support_as_ps_poll_response; +static int hf_ieee80211_s1g_cap_duplicate_1_mhz_support; +static int hf_ieee80211_s1g_cap_mcs_negotiation_support; +static int hf_ieee80211_s1g_cap_1_mhz_control_response_preamble_support; +static int hf_ieee80211_s1g_cap_ndp_beamforming_report_poll_support; +static int hf_ieee80211_s1g_cap_unsolicited_dynamic_aid; +static int hf_ieee80211_s1g_cap_sector_training_operation_supported; +static int hf_ieee80211_s1g_cap_temporary_ps_mode_switch; +static int hf_ieee80211_s1g_cap_twt_grouping_support; +static int hf_ieee80211_s1g_cap_bdt_capable; +static int hf_ieee80211_s1g_cap_color; +static int hf_ieee80211_s1g_cap_twt_requester_support; +static int hf_ieee80211_s1g_cap_twt_responder_support; +static int hf_ieee80211_s1g_cap_pv1_frame_support; +static int hf_ieee80211_s1g_cap_link_adaptation_per_normal_control_response_capable; +static int hf_ieee80211_s1g_cap_reserved; +static int hf_ieee80211_s1g_mcs_and_nss_set; +static int hf_ieee80211_s1g_rx_s1g_mcs_map; +static int hf_ieee80211_s1g_rx_highest_supported_long_gi_data_rate; +static int hf_ieee80211_s1g_tx_s1g_mcs_map; +static int hf_ieee80211_s1g_tx_highest_supported_long_gi_data_rate; +static int hf_ieee80211_s1g_rx_single_spatial_stream_map_for_1_mhz; +static int hf_ieee80211_s1g_tx_single_spatial_stream_map_for_1_mhz; +static int hf_ieee80211_s1g_mcs_and_nss_reserved; +static int hf_ieee80211_s1g_subchannel_selective_transmission; +static int hf_ieee80211_s1g_sst_sounding_option; +static int hf_ieee80211_s1g_channel_activity_bitmap; +static int hf_ieee80211_s1g_ul_activity; +static int hf_ieee80211_s1g_dl_activity; +static int hf_ieee80211_s1g_max_trans_width; +static int hf_ieee80211_s1g_activity_start_time; +static int hf_ieee80211_s1g_sst_sounding_option1; +static int hf_ieee80211_s1g_channel_activity_bitmap1; +static int hf_ieee80211_s1g_sounding_start_time_present; +static int hf_ieee80211_s1g_channel_activity_reserved; +static int hf_ieee80211_s1g_max_trans_width1; +static int hf_ieee80211_s1g_sounding_start_time; +static int hf_ieee80211_s1g_open_loop_link_margin; +static int hf_ieee80211_s1g_raw_control; +static int hf_ieee80211_s1g_raw_type; +static int hf_ieee80211_s1g_raw_type_options; +static int hf_ieee80211_s1g_raw_start_time_indication; +static int hf_ieee80211_s1g_raw_raw_group_indication; +static int hf_ieee80211_s1g_raw_channel_indication_preference; +static int hf_ieee80211_s1g_raw_periodic_raw_indication; +static int hf_ieee80211_s1g_raw_slot_def; +static int hf_ieee80211_s1g_slot_def_format_indication; +static int hf_ieee80211_s1g_slot_def_cross_slot_boundary; +static int hf_ieee80211_s1g_slot_def_slot_duration_count8; +static int hf_ieee80211_s1g_slot_def_num_slots6; +static int hf_ieee80211_s1g_slot_def_slot_duration_count11; +static int hf_ieee80211_s1g_slot_def_num_slots3; +static int hf_ieee80211_s1g_raw_start_time; +static int hf_ieee80211_s1g_raw_group_subfield; +static int hf_ieee80211_s1g_raw_group_page_index; +static int hf_ieee80211_s1g_raw_group_start_aid; +static int hf_ieee80211_s1g_raw_group_end_aid; +static int hf_ieee80211_s1g_raw_channel_indication; +static int hf_ieee80211_s1g_raw_ci_channel_activity_bitmap; +static int hf_ieee80211_s1g_raw_ci_max_trans_width; +static int hf_ieee80211_s1g_raw_ci_ul_activity; +static int hf_ieee80211_s1g_raw_ci_dl_activity; +static int hf_ieee80211_s1g_raw_ci_reserved; +static int hf_ieee80211_s1g_raw_praw_periodicity; +static int hf_ieee80211_s1g_raw_praw_validity; +static int hf_ieee80211_s1g_raw_praw_start_offset; +static int hf_ieee80211_s1g_page_slice_page_period; +static int hf_ieee80211_s1g_page_slice_control; +static int hf_ieee80211_s1g_page_slice_page_index; +static int hf_ieee80211_s1g_page_slice_page_slice_length; +static int hf_ieee80211_s1g_page_slice_page_slice_count; +static int hf_ieee80211_s1g_page_slice_block_offset; +static int hf_ieee80211_s1g_page_slice_tim_offset; +static int hf_ieee80211_s1g_page_slice_reserved; +static int hf_ieee80211_s1g_page_slice_page_bitmap; +static int hf_ieee80211_s1g_aid_request_mode; +static int hf_ieee80211_s1g_aid_request_interval_present; +static int hf_ieee80211_s1g_aid_request_per_sta_address_present; +static int hf_ieee80211_s1g_aid_request_service_characteristic_present; +static int hf_ieee80211_s1g_aid_request_non_tim_mode_switch; +static int hf_ieee80211_s1g_aid_request_tim_mode_switch; +static int hf_ieee80211_s1g_aid_request_group_address_present; +static int hf_ieee80211_s1g_aid_request_reserved; +static int hf_ieee80211_s1g_aid_request_interval; +static int hf_ieee80211_s1g_aid_request_characteristic_sensor; +static int hf_ieee80211_s1g_aid_request_characteristic_offload; +static int hf_ieee80211_s1g_aid_request_characteristic_official_service; +static int hf_ieee80211_s1g_aid_request_characteristic_reserved; +static int hf_ieee80211_s1g_aid_req_peer_sta_addr; +static int hf_ieee80211_s1g_aid_request_characteristic; +static int hf_ieee80211_s1g_aid_req_group_addr; +static int hf_ieee80211_s1g_aid_rsp_aid_group_aid; +static int hf_ieee80211_s1g_aid_rsp_aid_switch_count; +static int hf_ieee80211_s1g_aid_rsp_aid_response_interval; +static int hf_ieee80211_s1g_sector_op_control_16b; +static int hf_ieee80211_s1g_sector_op_sectorization_type_b16; +static int hf_ieee80211_s1g_sector_op_periodic_training_indicator; +static int hf_ieee80211_s1g_sector_op_training_period; +static int hf_ieee80211_s1g_sector_op_remaining_beacon_interval; +static int hf_ieee80211_s1g_sector_op_reserved_b16; +static int hf_ieee80211_s1g_sector_op_control; +static int hf_ieee80211_s1g_sector_op_sectorization_type; +static int hf_ieee80211_s1g_sector_op_period; +static int hf_ieee80211_s1g_sector_op_omni; +static int hf_ieee80211_s1g_sector_op_group_info; +static int hf_ieee80211_s1g_short_beacon_interval; +static int hf_ieee80211_s1g_change_sequence; +static int hf_ieee80211_s1g_auth_control_control; +static int hf_ieee80211_s1g_auth_control_deferral; +static int hf_ieee80211_s1g_auth_control_reserved; +static int hf_ieee80211_s1g_auth_control_thresh; +static int hf_ieee80211_s1g_auth_control_thresh_tus; +static int hf_ieee80211_s1g_auth_slot_duration; +static int hf_ieee80211_s1g_auth_max_trans_int; +static int hf_ieee80211_s1g_auth_min_trans_int; +static int hf_ieee80211_s1g_tsf_timer_accuracy; +static int hf_ieee80211_s1g_relay_control; +static int hf_ieee80211_s1g_relay_control_rootap_bssid; +static int hf_ieee80211_s1g_relay_function_activation_mode; +static int hf_ieee80211_s1g_relay_function_direction; +static int hf_ieee80211_s1g_relay_function_enable_relay_function; +static int hf_ieee80211_s1g_relay_function_stas_present_indic; +static int hf_ieee80211_s1g_relay_function_reserved; +static int hf_ieee80211_s1g_number_of_stas; +static int hf_ieee80211_s1g_initiator_mac_address; +static int hf_ieee80211_s1g_address_count; +static int hf_ieee80211_s1g_reachable_add_remove; +static int hf_ieee80211_s1g_reachable_relay_capable; +static int hf_ieee80211_s1g_reachable_reserved; +static int hf_ieee80211_s1g_reachable_mac_address; +static int hf_ieee80211_s1g_relay_discovery_control; +static int hf_ieee80211_s1g_min_data_rate_included; +static int hf_ieee80211_s1g_mean_data_rate_included; +static int hf_ieee80211_s1g_max_data_rate_included; +static int hf_ieee80211_s1g_delay_and_min_phy_rate; +static int hf_ieee80211_s1g_information_not_available; +static int hf_ieee80211_s1g_relay_discovery_reserved; +static int hf_ieee80211_s1g_relay_control_ul_min; +static int hf_ieee80211_s1g_relay_control_ul_mean; +static int hf_ieee80211_s1g_relay_control_ul_max; +static int hf_ieee80211_s1g_relay_control_dl_min; +static int hf_ieee80211_s1g_relay_control_dl_mean; +static int hf_ieee80211_s1g_relay_control_dl_max; +static int hf_ieee80211_s1g_relay_hierarchy_identifier; +static int hf_ieee80211_s1g_relay_no_more_relay_flag; +static int hf_ieee80211_s1g_aid_entry_mac_addr; +static int hf_ieee80211_s1g_aid_entry_assoc_id; +static int hf_ieee80211_s1g_beacon_compatibility_info; +static int hf_ieee80211_s1g_beacon_interval; +static int hf_ieee80211_s1g_tsf_completion; +static int hf_ieee80211_s1g_channel_width; +static int hf_ieee80211_s1g_primary_channel_width; +static int hf_ieee80211_s1g_bss_operating_channel_width; +static int hf_ieee80211_s1g_primary_channel_location; +static int hf_ieee80211_s1g_reserved_b6; +static int hf_ieee80211_s1g_mcs10_use; +static int hf_ieee80211_s1g_operating_class; +static int hf_ieee80211_s1g_primary_channel_number; +static int hf_ieee80211_s1g_channel_center_frequency; +static int hf_ieee80211_s1g_basic_mcs_and_nss_set; +static int hf_ieee80211_s1g_sst_enabled_channel_bitmap; +static int hf_ieee80211_s1g_sst_primary_channel_offset; +static int hf_ieee80211_s1g_sst_channel_unit; +static int hf_ieee80211_s1g_sst_reserved; +static int hf_ieee80211_s1g_max_away_duration; +static int hf_ieee80211_s1g_tim_bmapctrl; +static int hf_ieee80211_s1g_tim_bmapctl_traffic_indicator; +static int hf_ieee80211_s1g_tim_page_slice_number; +static int hf_ieee80211_s1g_tim_page_index; +static int hf_ieee80211_s1g_pvb_block_control_byte; +static int hf_ieee80211_s1g_pvb_encoding_mode; +static int hf_ieee80211_s1g_pvb_inverse_bitmap; +static int hf_ieee80211_s1g_pvb_block_offset; +static int hf_ieee80211_s1g_block_bitmap; +static int hf_ieee80211_s1g_block_bitmap_sta_aid13; +static int hf_ieee80211_s1g_block_bitmap_single_aid; +static int hf_ieee80211_s1g_block_bitmap_olb_length; +static int hf_ieee80211_s1g_block_bitmap_ade; +static int hf_ieee80211_s1g_block_bitmap_ewl; +static int hf_ieee80211_s1g_block_bitmap_len; +static int hf_ieee80211_s1g_block_bitmap_ade_bytes; +static int hf_ieee80211_s1g_probe_response_group_bitmap; +static int hf_ieee80211_s1g_probe_resp_subfield_0; +static int hf_ieee80211_pv1_probe_response_req_full_ssid; +static int hf_ieee80211_pv1_probe_response_req_next_tbtt; +static int hf_ieee80211_pv1_probe_response_req_access_network_option; +static int hf_ieee80211_pv1_probe_response_req_s1g_beacon_compatibility; +static int hf_ieee80211_pv1_probe_response_req_supported_rates; +static int hf_ieee80211_pv1_probe_response_req_s1g_capability; +static int hf_ieee80211_pv1_probe_response_req_s1g_operation; +static int hf_ieee80211_pv1_probe_response_req_rsn; +static int hf_ieee80211_s1g_el_op_max_awake_duration; +static int hf_ieee80211_s1g_el_op_recovery_time_duration; +static int hf_ieee80211_s1g_sectorized_group_id_list; +static int hf_ieee80211_s1g_header_comp_control; +static int hf_ieee80211_s1g_header_comp_req_resp; +static int hf_ieee80211_s1g_header_comp_store_a3; +static int hf_ieee80211_s1g_header_comp_store_a4; +static int hf_ieee80211_s1g_header_comp_ccmp_update_present; +static int hf_ieee80211_s1g_header_comp_pv1_data_type_3_supported; +static int hf_ieee80211_s1g_header_comp_reserved; +static int hf_ieee80211_s1g_header_comp_a3; +static int hf_ieee80211_s1g_header_comp_a4; +static int hf_ieee80211_s1g_header_comp_ccmp_update; + +static int hf_ieee80211_mcsset; +static int hf_ieee80211_mcsset_vs; +static int hf_ieee80211_mcsset_rx_bitmask; +static int hf_ieee80211_mcsset_rx_bitmask_0to7; +static int hf_ieee80211_mcsset_rx_bitmask_8to15; +static int hf_ieee80211_mcsset_rx_bitmask_16to23; +static int hf_ieee80211_mcsset_rx_bitmask_24to31; +static int hf_ieee80211_mcsset_rx_bitmask_32; +static int hf_ieee80211_mcsset_rx_bitmask_33to38; +static int hf_ieee80211_mcsset_rx_bitmask_39to52; +static int hf_ieee80211_mcsset_rx_bitmask_53to76; +static int hf_ieee80211_mcsset_highest_data_rate; +static int hf_ieee80211_mcsset_tx_mcs_set_defined; +static int hf_ieee80211_mcsset_tx_rx_mcs_set_not_equal; +static int hf_ieee80211_mcsset_tx_max_spatial_streams; +static int hf_ieee80211_mcsset_tx_unequal_modulation; + +static int hf_ieee80211_htex_cap; +static int hf_ieee80211_htex_vs_cap; +static int hf_ieee80211_htex_pco; +static int hf_ieee80211_htex_transtime; +static int hf_ieee80211_htex_mcs; +static int hf_ieee80211_htex_htc_support; +static int hf_ieee80211_htex_rd_responder; + +static int hf_ieee80211_txbf; +static int hf_ieee80211_txbf_vs; +static int hf_ieee80211_txbf_cap; +static int hf_ieee80211_txbf_rcv_ssc; +static int hf_ieee80211_txbf_tx_ssc; +static int hf_ieee80211_txbf_rcv_ndp; +static int hf_ieee80211_txbf_tx_ndp; +static int hf_ieee80211_txbf_impl_txbf; +static int hf_ieee80211_txbf_calib; +static int hf_ieee80211_txbf_expl_csi; +static int hf_ieee80211_txbf_expl_uncomp_fm; +static int hf_ieee80211_txbf_expl_comp_fm; +static int hf_ieee80211_txbf_expl_bf_csi; +static int hf_ieee80211_txbf_expl_uncomp_fm_feed; +static int hf_ieee80211_txbf_expl_comp_fm_feed; +static int hf_ieee80211_txbf_csi_num_bf_ant; +static int hf_ieee80211_txbf_min_group; +static int hf_ieee80211_txbf_uncomp_sm_bf_ant; +static int hf_ieee80211_txbf_comp_sm_bf_ant; +static int hf_ieee80211_txbf_csi_max_rows_bf; +static int hf_ieee80211_txbf_chan_est; +static int hf_ieee80211_txbf_resrv; /*** Begin: 802.11n D1.10 - HT Information IE ***/ -static int hf_ieee80211_ht_info_primary_channel = -1; - -static int hf_ieee80211_ht_info_delimiter1 = -1; -static int hf_ieee80211_ht_info_secondary_channel_offset = -1; -static int hf_ieee80211_ht_info_sta_channel_width = -1; -static int hf_ieee80211_ht_info_rifs_mode = -1; -static int hf_ieee80211_ht_info_reserved_b4_b7 = -1; - -static int hf_ieee80211_ht_info_delimiter2 = -1; -static int hf_ieee80211_ht_info_protection = -1; -static int hf_ieee80211_ht_info_non_greenfield_sta_present = -1; -static int hf_ieee80211_ht_info_reserved_b11 = -1; -static int hf_ieee80211_ht_info_obss_non_ht_stas_present = -1; -static int hf_ieee80211_ht_info_channel_center_freq_seg_2 = -1; -static int hf_ieee80211_ht_info_reserved_b21_b23 = -1; - -static int hf_ieee80211_ht_info_delimiter3 = -1; -static int hf_ieee80211_ht_info_reserved_b24_b29 = -1; -static int hf_ieee80211_ht_info_dual_beacon = -1; -static int hf_ieee80211_ht_info_dual_cts_protection = -1; -static int hf_ieee80211_ht_info_secondary_beacon = -1; -static int hf_ieee80211_ht_info_lsig_txop_protection_full_support = -1; -static int hf_ieee80211_ht_info_pco_active = -1; -static int hf_ieee80211_ht_info_pco_phase = -1; -static int hf_ieee80211_ht_info_reserved_b36_b39 = -1; +static int hf_ieee80211_ht_info_primary_channel; + +static int hf_ieee80211_ht_info_delimiter1; +static int hf_ieee80211_ht_info_secondary_channel_offset; +static int hf_ieee80211_ht_info_sta_channel_width; +static int hf_ieee80211_ht_info_rifs_mode; +static int hf_ieee80211_ht_info_reserved_b4_b7; + +static int hf_ieee80211_ht_info_delimiter2; +static int hf_ieee80211_ht_info_protection; +static int hf_ieee80211_ht_info_non_greenfield_sta_present; +static int hf_ieee80211_ht_info_reserved_b11; +static int hf_ieee80211_ht_info_obss_non_ht_stas_present; +static int hf_ieee80211_ht_info_channel_center_freq_seg_2; +static int hf_ieee80211_ht_info_reserved_b21_b23; + +static int hf_ieee80211_ht_info_delimiter3; +static int hf_ieee80211_ht_info_reserved_b24_b29; +static int hf_ieee80211_ht_info_dual_beacon; +static int hf_ieee80211_ht_info_dual_cts_protection; +static int hf_ieee80211_ht_info_secondary_beacon; +static int hf_ieee80211_ht_info_lsig_txop_protection_full_support; +static int hf_ieee80211_ht_info_pco_active; +static int hf_ieee80211_ht_info_pco_phase; +static int hf_ieee80211_ht_info_reserved_b36_b39; /*** End: 802.11n D1.10 - HT Information IE ***/ -static int hf_ieee80211_tag_ap_channel_report_operating_class = -1; -static int hf_ieee80211_tag_ap_channel_report_channel_list = -1; - -static int hf_ieee80211_tag_secondary_channel_offset = -1; - -static int hf_ieee80211_tag_bss_ap_avg_access_delay = -1; - -static int hf_ieee80211_tag_antenna_id = -1; - -static int hf_ieee80211_tag_rsni = -1; - -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up0 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up1 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up2 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up3 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up4 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up5 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up6 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up7 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac0 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac1 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac2 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac3 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_rsv = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up0 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up1 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up2 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up3 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up4 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up5 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up6 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_up7 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_ac0 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_ac1 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_ac2 = -1; -static int hf_ieee80211_tag_bss_avb_adm_cap_ac3 = -1; - -static int hf_ieee80211_tag_bss_avg_ac_access_delay_be = -1; -static int hf_ieee80211_tag_bss_avg_ac_access_delay_bk = -1; -static int hf_ieee80211_tag_bss_avg_ac_access_delay_vi = -1; -static int hf_ieee80211_tag_bss_avg_ac_access_delay_vo = -1; - -static int hf_ieee80211_tag_rm_enabled_capabilities = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b0 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b1 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b2 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b3 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b4 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b5 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b6 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b7 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b8 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b9 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b10 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b11 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b12 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b13 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b14 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b15 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b16 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b17 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b18to20 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b21to23 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b24to26 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b27 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b28 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b29 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b30 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b31 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b32 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b33 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b34 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_b35 = -1; -static int hf_ieee80211_tag_rm_enabled_capabilities_o5 = -1; - -static int hf_ieee80211_tag_rcpi = -1; -static int hf_ieee80211_tag_multiple_bssid = -1; -static int hf_ieee80211_tag_multiple_bssid_subelem_id = -1; -static int hf_ieee80211_tag_multiple_bssid_subelem_len = -1; -static int hf_ieee80211_tag_multiple_bssid_subelem_reserved = -1; -static int hf_ieee80211_tag_multiple_bssid_subelem_nontrans_profile = -1; - -static int hf_ieee80211_tag_20_40_bc = -1; -static int hf_ieee80211_tag_20_40_bc_information_request = -1; -static int hf_ieee80211_tag_20_40_bc_forty_mhz_intolerant = -1; -static int hf_ieee80211_tag_20_40_bc_20_mhz_bss_width_request = -1; -static int hf_ieee80211_tag_20_40_bc_obss_scanning_exemption_request = -1; -static int hf_ieee80211_tag_20_40_bc_obss_scanning_exemption_grant = -1; -static int hf_ieee80211_tag_20_40_bc_reserved = -1; - -static int hf_ieee80211_tag_intolerant_operating_class = -1; -static int hf_ieee80211_tag_intolerant_channel_list = -1; -static int hf_ieee80211_tag_intolerant_channel = -1; - -static int hf_ieee80211_tag_power_constraint_local = -1; - -static int hf_ieee80211_tag_power_capability_min = -1; -static int hf_ieee80211_tag_power_capability_max = -1; - -static int hf_ieee80211_tag_tpc_report_trsmt_pow = -1; -static int hf_ieee80211_tag_tpc_report_link_mrg = -1; - -static int hf_ieee80211_tag_supported_channels = -1; -static int hf_ieee80211_tag_supported_channels_first = -1; -static int hf_ieee80211_tag_supported_channels_range = -1; - -static int hf_ieee80211_csa_channel_switch_mode = -1; -static int hf_ieee80211_csa_new_channel_number = -1; -static int hf_ieee80211_csa_channel_switch_count = -1; - -static int hf_ieee80211_tag_measure_request_token = -1; -static int hf_ieee80211_tag_measure_request_mode = -1; -static int hf_ieee80211_tag_measure_request_mode_parallel = -1; -static int hf_ieee80211_tag_measure_request_mode_enable = -1; -static int hf_ieee80211_tag_measure_request_mode_request = -1; -static int hf_ieee80211_tag_measure_request_mode_report = -1; -static int hf_ieee80211_tag_measure_request_mode_duration_mandatory = -1; -static int hf_ieee80211_tag_measure_request_mode_reserved = -1; -static int hf_ieee80211_tag_measure_request_type = -1; - -static int hf_ieee80211_tag_measure_request_channel_number = -1; -static int hf_ieee80211_tag_measure_request_start_time = -1; -static int hf_ieee80211_tag_measure_request_duration = -1; - -static int hf_ieee80211_tag_measure_request_operating_class = -1; -static int hf_ieee80211_tag_measure_request_randomization_interval = -1; - -static int hf_ieee80211_tag_measure_report_measurement_token = -1; -static int hf_ieee80211_tag_measure_report_mode = -1; -static int hf_ieee80211_tag_measure_report_mode_late = -1; -static int hf_ieee80211_tag_measure_report_mode_incapable = -1; -static int hf_ieee80211_tag_measure_report_mode_refused = -1; -static int hf_ieee80211_tag_measure_report_mode_reserved = -1; -static int hf_ieee80211_tag_measure_report_type = -1; -static int hf_ieee80211_tag_measure_report_channel_number = -1; -static int hf_ieee80211_tag_measure_report_start_time = -1; -static int hf_ieee80211_tag_measure_report_duration = -1; - -static int hf_ieee80211_tag_measure_basic_map_field = -1; -static int hf_ieee80211_tag_measure_map_field_bss = -1; -static int hf_ieee80211_tag_measure_map_field_ofdm = -1; -static int hf_ieee80211_tag_measure_map_field_unident_signal = -1; -static int hf_ieee80211_tag_measure_map_field_radar = -1; -static int hf_ieee80211_tag_measure_map_field_unmeasured = -1; -static int hf_ieee80211_tag_measure_map_field_reserved = -1; - -static int hf_ieee80211_tag_measure_cca_busy_fraction = -1; - -static int hf_ieee80211_tag_measure_rpi_histogram_report = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_0 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_1 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_2 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_3 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_4 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_5 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_6 = -1; -static int hf_ieee80211_tag_measure_rpi_histogram_report_7 = -1; - -static int hf_ieee80211_tag_measure_report_operating_class = -1; -static int hf_ieee80211_tag_measure_report_channel_load = -1; -static int hf_ieee80211_tag_measure_report_frame_info = -1; -static int hf_ieee80211_tag_measure_report_frame_info_phy_type = -1; -static int hf_ieee80211_tag_measure_report_frame_info_frame_type = -1; -static int hf_ieee80211_tag_measure_report_rcpi = -1; -static int hf_ieee80211_tag_measure_report_rsni = -1; -static int hf_ieee80211_tag_measure_report_bssid = -1; -static int hf_ieee80211_tag_measure_report_ant_id = -1; -static int hf_ieee80211_tag_measure_report_anpi = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_0 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_1 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_2 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_3 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_4 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_5 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_6 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_7 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_8 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_9 = -1; -static int hf_ieee80211_tag_measure_report_ipi_density_10 = -1; -static int hf_ieee80211_tag_measure_report_parent_tsf = -1; - -static int hf_ieee80211_tag_measure_report_subelement_length = -1; -static int hf_ieee80211_tag_measure_report_beacon_sub_id = -1; -static int hf_ieee80211_tag_measure_report_beacon_unknown = -1; -static int hf_ieee80211_tag_measure_report_beacon_sub_last_report_indication = -1; -static int hf_ieee80211_tag_measure_reported_frame_frag_id = -1; -static int hf_ieee80211_tag_measure_reported_frame_frag_rep_id = -1; -static int hf_ieee80211_tag_measure_reported_frame_frag_number = -1; -static int hf_ieee80211_tag_measure_reported_frame_frag_more =-1; - -static int hf_ieee80211_tag_measure_report_lci_sub_id = -1; -static int hf_ieee80211_tag_measure_report_lci_lci = -1; -static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info = -1; -static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info_expected_to_move = -1; -static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info_sta_floor_number = -1; -static int hf_ieee80211_tag_measure_report_lci_z_sta_height_above_floor = -1; -static int hf_ieee80211_tag_measure_report_lci_z_sta_height_above_floor_uncertainty = -1; -static int hf_ieee80211_tag_measure_report_lci_urp = -1; -static int hf_ieee80211_tag_measure_report_lci_urp_retransmission_allowed = -1; -static int hf_ieee80211_tag_measure_report_lci_urp_retention_expires_relative_present = -1; -static int hf_ieee80211_tag_measure_report_lci_urp_sta_location_policy = -1; -static int hf_ieee80211_tag_measure_report_lci_urp_reserved = -1; -static int hf_ieee80211_tag_measure_report_lci_urp_retention_expires_relative = -1; -static int hf_ieee80211_tag_measure_report_lci_unknown = -1; - -static int hf_ieee80211_tag_measure_report_civic_location_type = -1; -static int hf_ieee80211_tag_measure_report_civic_sub_id = -1; -static int hf_ieee80211_tag_measure_report_location_civic_country = -1; -static int hf_ieee80211_tag_measure_report_location_civic_type = -1; -static int hf_ieee80211_tag_measure_report_location_civic_length = -1; -static int hf_ieee80211_tag_measure_report_location_civic = -1; - -static int hf_ieee80211_tag_measure_report_unknown = -1; - -static int hf_ieee80211_tag_quiet_count = -1; -static int hf_ieee80211_tag_quiet_period = -1; -static int hf_ieee80211_tag_quiet_duration = -1; -static int hf_ieee80211_tag_quiet_offset = -1; - -static int hf_ieee80211_tag_dfs_owner = -1; -static int hf_ieee80211_tag_dfs_recovery_interval = -1; -static int hf_ieee80211_tag_dfs_channel_map = -1; -static int hf_ieee80211_tag_dfs_channel_number = -1; -static int hf_ieee80211_tag_dfs_map = -1; - -static int hf_ieee80211_tag_erp_info = -1; -static int hf_ieee80211_tag_erp_info_erp_present = -1; -static int hf_ieee80211_tag_erp_info_use_protection = -1; -static int hf_ieee80211_tag_erp_info_barker_preamble_mode = -1; -static int hf_ieee80211_tag_erp_info_reserved = -1; - -static int hf_ieee80211_tag_extended_capabilities = -1; -static int hf_ieee80211_tag_extended_capabilities_b0 = -1; -static int hf_ieee80211_tag_extended_capabilities_b1 = -1; -static int hf_ieee80211_tag_extended_capabilities_b2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b3 = -1; -static int hf_ieee80211_tag_extended_capabilities_b4 = -1; -static int hf_ieee80211_tag_extended_capabilities_b5 = -1; -static int hf_ieee80211_tag_extended_capabilities_b6 = -1; -static int hf_ieee80211_tag_extended_capabilities_b7 = -1; -static int hf_ieee80211_tag_extended_capabilities_b8 = -1; -static int hf_ieee80211_tag_extended_capabilities_b9 = -1; -static int hf_ieee80211_tag_extended_capabilities_b10 = -1; -static int hf_ieee80211_tag_extended_capabilities_b11 = -1; -static int hf_ieee80211_tag_extended_capabilities_b12 = -1; -static int hf_ieee80211_tag_extended_capabilities_b13 = -1; -static int hf_ieee80211_tag_extended_capabilities_b14 = -1; -static int hf_ieee80211_tag_extended_capabilities_b15 = -1; -static int hf_ieee80211_tag_extended_capabilities_b16 = -1; -static int hf_ieee80211_tag_extended_capabilities_b17 = -1; -static int hf_ieee80211_tag_extended_capabilities_b18 = -1; -static int hf_ieee80211_tag_extended_capabilities_b19 = -1; -static int hf_ieee80211_tag_extended_capabilities_b20 = -1; -static int hf_ieee80211_tag_extended_capabilities_b21 = -1; -static int hf_ieee80211_tag_extended_capabilities_b22 = -1; -static int hf_ieee80211_tag_extended_capabilities_b23 = -1; -static int hf_ieee80211_tag_extended_capabilities_b24 = -1; -static int hf_ieee80211_tag_extended_capabilities_b25 = -1; -static int hf_ieee80211_tag_extended_capabilities_b26 = -1; -static int hf_ieee80211_tag_extended_capabilities_b27 = -1; -static int hf_ieee80211_tag_extended_capabilities_b28 = -1; -static int hf_ieee80211_tag_extended_capabilities_b29 = -1; -static int hf_ieee80211_tag_extended_capabilities_b30 = -1; -static int hf_ieee80211_tag_extended_capabilities_b31 = -1; -static int hf_ieee80211_tag_extended_capabilities_b32 = -1; -static int hf_ieee80211_tag_extended_capabilities_b33 = -1; -static int hf_ieee80211_tag_extended_capabilities_b34 = -1; -static int hf_ieee80211_tag_extended_capabilities_b35 = -1; -static int hf_ieee80211_tag_extended_capabilities_b36 = -1; -static int hf_ieee80211_tag_extended_capabilities_b37 = -1; -static int hf_ieee80211_tag_extended_capabilities_b38 = -1; -static int hf_ieee80211_tag_extended_capabilities_b39 = -1; -static int hf_ieee80211_tag_extended_capabilities_b40 = -1; -static int hf_ieee80211_tag_extended_capabilities_serv_int_granularity = -1; -static int hf_ieee80211_tag_extended_capabilities_b44 = -1; -static int hf_ieee80211_tag_extended_capabilities_b45 = -1; -static int hf_ieee80211_tag_extended_capabilities_b46 = -1; -static int hf_ieee80211_tag_extended_capabilities_b47 = -1; -static int hf_ieee80211_tag_extended_capabilities_b48 = -1; -static int hf_ieee80211_tag_extended_capabilities_b49 = -1; -static int hf_ieee80211_tag_extended_capabilities_b50 = -1; -static int hf_ieee80211_tag_extended_capabilities_b51 = -1; -static int hf_ieee80211_tag_extended_capabilities_b52 = -1; -static int hf_ieee80211_tag_extended_capabilities_b53 = -1; -static int hf_ieee80211_tag_extended_capabilities_b54 = -1; -static int hf_ieee80211_tag_extended_capabilities_b55 = -1; -static int hf_ieee80211_tag_extended_capabilities_b56 = -1; -static int hf_ieee80211_tag_extended_capabilities_b57 = -1; -static int hf_ieee80211_tag_extended_capabilities_b58 = -1; -static int hf_ieee80211_tag_extended_capabilities_b59 = -1; -static int hf_ieee80211_tag_extended_capabilities_b60 = -1; -static int hf_ieee80211_tag_extended_capabilities_b61 = -1; -static int hf_ieee80211_tag_extended_capabilities_b62 = -1; -static int hf_ieee80211_tag_extended_capabilities_b63 = -1; +static int hf_ieee80211_tag_ap_channel_report_operating_class; +static int hf_ieee80211_tag_ap_channel_report_channel_list; + +static int hf_ieee80211_tag_secondary_channel_offset; + +static int hf_ieee80211_tag_bss_ap_avg_access_delay; + +static int hf_ieee80211_tag_antenna_id; + +static int hf_ieee80211_tag_rsni; + +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up0; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up1; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up2; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up3; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up4; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up5; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up6; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up7; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac0; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac1; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac2; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_ac3; +static int hf_ieee80211_tag_bss_avb_adm_cap_bitmask_rsv; +static int hf_ieee80211_tag_bss_avb_adm_cap_up0; +static int hf_ieee80211_tag_bss_avb_adm_cap_up1; +static int hf_ieee80211_tag_bss_avb_adm_cap_up2; +static int hf_ieee80211_tag_bss_avb_adm_cap_up3; +static int hf_ieee80211_tag_bss_avb_adm_cap_up4; +static int hf_ieee80211_tag_bss_avb_adm_cap_up5; +static int hf_ieee80211_tag_bss_avb_adm_cap_up6; +static int hf_ieee80211_tag_bss_avb_adm_cap_up7; +static int hf_ieee80211_tag_bss_avb_adm_cap_ac0; +static int hf_ieee80211_tag_bss_avb_adm_cap_ac1; +static int hf_ieee80211_tag_bss_avb_adm_cap_ac2; +static int hf_ieee80211_tag_bss_avb_adm_cap_ac3; + +static int hf_ieee80211_tag_bss_avg_ac_access_delay_be; +static int hf_ieee80211_tag_bss_avg_ac_access_delay_bk; +static int hf_ieee80211_tag_bss_avg_ac_access_delay_vi; +static int hf_ieee80211_tag_bss_avg_ac_access_delay_vo; + +static int hf_ieee80211_tag_rm_enabled_capabilities; +static int hf_ieee80211_tag_rm_enabled_capabilities_b0; +static int hf_ieee80211_tag_rm_enabled_capabilities_b1; +static int hf_ieee80211_tag_rm_enabled_capabilities_b2; +static int hf_ieee80211_tag_rm_enabled_capabilities_b3; +static int hf_ieee80211_tag_rm_enabled_capabilities_b4; +static int hf_ieee80211_tag_rm_enabled_capabilities_b5; +static int hf_ieee80211_tag_rm_enabled_capabilities_b6; +static int hf_ieee80211_tag_rm_enabled_capabilities_b7; +static int hf_ieee80211_tag_rm_enabled_capabilities_b8; +static int hf_ieee80211_tag_rm_enabled_capabilities_b9; +static int hf_ieee80211_tag_rm_enabled_capabilities_b10; +static int hf_ieee80211_tag_rm_enabled_capabilities_b11; +static int hf_ieee80211_tag_rm_enabled_capabilities_b12; +static int hf_ieee80211_tag_rm_enabled_capabilities_b13; +static int hf_ieee80211_tag_rm_enabled_capabilities_b14; +static int hf_ieee80211_tag_rm_enabled_capabilities_b15; +static int hf_ieee80211_tag_rm_enabled_capabilities_b16; +static int hf_ieee80211_tag_rm_enabled_capabilities_b17; +static int hf_ieee80211_tag_rm_enabled_capabilities_b18to20; +static int hf_ieee80211_tag_rm_enabled_capabilities_b21to23; +static int hf_ieee80211_tag_rm_enabled_capabilities_b24to26; +static int hf_ieee80211_tag_rm_enabled_capabilities_b27; +static int hf_ieee80211_tag_rm_enabled_capabilities_b28; +static int hf_ieee80211_tag_rm_enabled_capabilities_b29; +static int hf_ieee80211_tag_rm_enabled_capabilities_b30; +static int hf_ieee80211_tag_rm_enabled_capabilities_b31; +static int hf_ieee80211_tag_rm_enabled_capabilities_b32; +static int hf_ieee80211_tag_rm_enabled_capabilities_b33; +static int hf_ieee80211_tag_rm_enabled_capabilities_b34; +static int hf_ieee80211_tag_rm_enabled_capabilities_b35; +static int hf_ieee80211_tag_rm_enabled_capabilities_o5; + +static int hf_ieee80211_tag_rcpi; +static int hf_ieee80211_tag_multiple_bssid; +static int hf_ieee80211_tag_multiple_bssid_subelem_id; +static int hf_ieee80211_tag_multiple_bssid_subelem_len; +static int hf_ieee80211_tag_multiple_bssid_subelem_reserved; +static int hf_ieee80211_tag_multiple_bssid_subelem_nontrans_profile; + +static int hf_ieee80211_tag_20_40_bc; +static int hf_ieee80211_tag_20_40_bc_information_request; +static int hf_ieee80211_tag_20_40_bc_forty_mhz_intolerant; +static int hf_ieee80211_tag_20_40_bc_20_mhz_bss_width_request; +static int hf_ieee80211_tag_20_40_bc_obss_scanning_exemption_request; +static int hf_ieee80211_tag_20_40_bc_obss_scanning_exemption_grant; +static int hf_ieee80211_tag_20_40_bc_reserved; + +static int hf_ieee80211_tag_intolerant_operating_class; +static int hf_ieee80211_tag_intolerant_channel_list; +static int hf_ieee80211_tag_intolerant_channel; + +static int hf_ieee80211_tag_power_constraint_local; + +static int hf_ieee80211_tag_power_capability_min; +static int hf_ieee80211_tag_power_capability_max; + +static int hf_ieee80211_tag_tpc_report_trsmt_pow; +static int hf_ieee80211_tag_tpc_report_link_mrg; +static int hf_ieee80211_tag_tpc_report_reserved; + +static int hf_ieee80211_tag_supported_channels; +static int hf_ieee80211_tag_supported_channels_first; +static int hf_ieee80211_tag_supported_channels_range; + +static int hf_ieee80211_csa_channel_switch_mode; +static int hf_ieee80211_csa_new_channel_number; +static int hf_ieee80211_csa_channel_switch_count; + +static int hf_ieee80211_tag_measure_request_token; +static int hf_ieee80211_tag_measure_request_mode; +static int hf_ieee80211_tag_measure_request_mode_parallel; +static int hf_ieee80211_tag_measure_request_mode_enable; +static int hf_ieee80211_tag_measure_request_mode_request; +static int hf_ieee80211_tag_measure_request_mode_report; +static int hf_ieee80211_tag_measure_request_mode_duration_mandatory; +static int hf_ieee80211_tag_measure_request_mode_reserved; +static int hf_ieee80211_tag_measure_request_type; + +static int hf_ieee80211_tag_measure_request_channel_number; +static int hf_ieee80211_tag_measure_request_start_time; +static int hf_ieee80211_tag_measure_request_duration; + +static int hf_ieee80211_tag_measure_request_operating_class; +static int hf_ieee80211_tag_measure_request_randomization_interval; + +static int hf_ieee80211_tag_measure_report_measurement_token; +static int hf_ieee80211_tag_measure_report_mode; +static int hf_ieee80211_tag_measure_report_mode_late; +static int hf_ieee80211_tag_measure_report_mode_incapable; +static int hf_ieee80211_tag_measure_report_mode_refused; +static int hf_ieee80211_tag_measure_report_mode_reserved; +static int hf_ieee80211_tag_measure_report_type; +static int hf_ieee80211_tag_measure_report_channel_number; +static int hf_ieee80211_tag_measure_report_start_time; +static int hf_ieee80211_tag_measure_report_duration; + +static int hf_ieee80211_tag_measure_basic_map_field; +static int hf_ieee80211_tag_measure_map_field_bss; +static int hf_ieee80211_tag_measure_map_field_ofdm; +static int hf_ieee80211_tag_measure_map_field_unident_signal; +static int hf_ieee80211_tag_measure_map_field_radar; +static int hf_ieee80211_tag_measure_map_field_unmeasured; +static int hf_ieee80211_tag_measure_map_field_reserved; + +static int hf_ieee80211_tag_measure_cca_busy_fraction; + +static int hf_ieee80211_tag_measure_rpi_histogram_report; +static int hf_ieee80211_tag_measure_rpi_histogram_report_0; +static int hf_ieee80211_tag_measure_rpi_histogram_report_1; +static int hf_ieee80211_tag_measure_rpi_histogram_report_2; +static int hf_ieee80211_tag_measure_rpi_histogram_report_3; +static int hf_ieee80211_tag_measure_rpi_histogram_report_4; +static int hf_ieee80211_tag_measure_rpi_histogram_report_5; +static int hf_ieee80211_tag_measure_rpi_histogram_report_6; +static int hf_ieee80211_tag_measure_rpi_histogram_report_7; + +static int hf_ieee80211_tag_measure_report_operating_class; +static int hf_ieee80211_tag_measure_report_channel_load; +static int hf_ieee80211_tag_measure_report_frame_info; +static int hf_ieee80211_tag_measure_report_frame_info_phy_type; +static int hf_ieee80211_tag_measure_report_frame_info_frame_type; +static int hf_ieee80211_tag_measure_report_rcpi; +static int hf_ieee80211_tag_measure_report_rsni; +static int hf_ieee80211_tag_measure_report_bssid; +static int hf_ieee80211_tag_measure_report_ant_id; +static int hf_ieee80211_tag_measure_report_anpi; +static int hf_ieee80211_tag_measure_report_ipi_density_0; +static int hf_ieee80211_tag_measure_report_ipi_density_1; +static int hf_ieee80211_tag_measure_report_ipi_density_2; +static int hf_ieee80211_tag_measure_report_ipi_density_3; +static int hf_ieee80211_tag_measure_report_ipi_density_4; +static int hf_ieee80211_tag_measure_report_ipi_density_5; +static int hf_ieee80211_tag_measure_report_ipi_density_6; +static int hf_ieee80211_tag_measure_report_ipi_density_7; +static int hf_ieee80211_tag_measure_report_ipi_density_8; +static int hf_ieee80211_tag_measure_report_ipi_density_9; +static int hf_ieee80211_tag_measure_report_ipi_density_10; +static int hf_ieee80211_tag_measure_report_parent_tsf; + +static int hf_ieee80211_tag_measure_report_subelement_length; +static int hf_ieee80211_tag_measure_report_beacon_sub_id; +static int hf_ieee80211_tag_measure_report_beacon_unknown; +static int hf_ieee80211_tag_measure_report_beacon_sub_last_report_indication; +static int hf_ieee80211_tag_measure_reported_frame_frag_id; +static int hf_ieee80211_tag_measure_reported_frame_frag_rep_id; +static int hf_ieee80211_tag_measure_reported_frame_frag_number; +static int hf_ieee80211_tag_measure_reported_frame_frag_more; + +static int hf_ieee80211_tag_measure_report_lci_sub_id; +static int hf_ieee80211_tag_measure_report_lci_lci; +static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info; +static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info_expected_to_move; +static int hf_ieee80211_tag_measure_report_lci_z_sta_floor_info_sta_floor_number; +static int hf_ieee80211_tag_measure_report_lci_z_sta_height_above_floor; +static int hf_ieee80211_tag_measure_report_lci_z_sta_height_above_floor_uncertainty; +static int hf_ieee80211_tag_measure_report_lci_urp; +static int hf_ieee80211_tag_measure_report_lci_urp_retransmission_allowed; +static int hf_ieee80211_tag_measure_report_lci_urp_retention_expires_relative_present; +static int hf_ieee80211_tag_measure_report_lci_urp_sta_location_policy; +static int hf_ieee80211_tag_measure_report_lci_urp_reserved; +static int hf_ieee80211_tag_measure_report_lci_urp_retention_expires_relative; +static int hf_ieee80211_tag_measure_report_lci_unknown; + +static int hf_ieee80211_tag_measure_report_civic_location_type; +static int hf_ieee80211_tag_measure_report_civic_sub_id; +static int hf_ieee80211_tag_measure_report_location_civic_country; +static int hf_ieee80211_tag_measure_report_location_civic_type; +static int hf_ieee80211_tag_measure_report_location_civic_length; +static int hf_ieee80211_tag_measure_report_location_civic; + +static int hf_ieee80211_tag_measure_report_unknown; + +static int hf_ieee80211_tag_quiet_count; +static int hf_ieee80211_tag_quiet_period; +static int hf_ieee80211_tag_quiet_duration; +static int hf_ieee80211_tag_quiet_offset; + +static int hf_ieee80211_tag_dfs_owner; +static int hf_ieee80211_tag_dfs_recovery_interval; +static int hf_ieee80211_tag_dfs_channel_map; +static int hf_ieee80211_tag_dfs_channel_number; +static int hf_ieee80211_tag_dfs_map; + +static int hf_ieee80211_tag_erp_info; +static int hf_ieee80211_tag_erp_info_erp_present; +static int hf_ieee80211_tag_erp_info_use_protection; +static int hf_ieee80211_tag_erp_info_barker_preamble_mode; +static int hf_ieee80211_tag_erp_info_reserved; + +static int hf_ieee80211_tag_extended_capabilities; +static int hf_ieee80211_tag_extended_capabilities_b0; +static int hf_ieee80211_tag_extended_capabilities_b1; +static int hf_ieee80211_tag_extended_capabilities_b2; +static int hf_ieee80211_tag_extended_capabilities_b3; +static int hf_ieee80211_tag_extended_capabilities_b4; +static int hf_ieee80211_tag_extended_capabilities_b5; +static int hf_ieee80211_tag_extended_capabilities_b6; +static int hf_ieee80211_tag_extended_capabilities_b7; +static int hf_ieee80211_tag_extended_capabilities_b8; +static int hf_ieee80211_tag_extended_capabilities_b9; +static int hf_ieee80211_tag_extended_capabilities_b10; +static int hf_ieee80211_tag_extended_capabilities_b11; +static int hf_ieee80211_tag_extended_capabilities_b12; +static int hf_ieee80211_tag_extended_capabilities_b13; +static int hf_ieee80211_tag_extended_capabilities_b14; +static int hf_ieee80211_tag_extended_capabilities_b15; +static int hf_ieee80211_tag_extended_capabilities_b16; +static int hf_ieee80211_tag_extended_capabilities_b17; +static int hf_ieee80211_tag_extended_capabilities_b18; +static int hf_ieee80211_tag_extended_capabilities_b19; +static int hf_ieee80211_tag_extended_capabilities_b20; +static int hf_ieee80211_tag_extended_capabilities_b21; +static int hf_ieee80211_tag_extended_capabilities_b22; +static int hf_ieee80211_tag_extended_capabilities_b23; +static int hf_ieee80211_tag_extended_capabilities_b24; +static int hf_ieee80211_tag_extended_capabilities_b25; +static int hf_ieee80211_tag_extended_capabilities_b26; +static int hf_ieee80211_tag_extended_capabilities_b27; +static int hf_ieee80211_tag_extended_capabilities_b28; +static int hf_ieee80211_tag_extended_capabilities_b29; +static int hf_ieee80211_tag_extended_capabilities_b30; +static int hf_ieee80211_tag_extended_capabilities_b31; +static int hf_ieee80211_tag_extended_capabilities_b32; +static int hf_ieee80211_tag_extended_capabilities_b33; +static int hf_ieee80211_tag_extended_capabilities_b34; +static int hf_ieee80211_tag_extended_capabilities_b35; +static int hf_ieee80211_tag_extended_capabilities_b36; +static int hf_ieee80211_tag_extended_capabilities_b37; +static int hf_ieee80211_tag_extended_capabilities_b38; +static int hf_ieee80211_tag_extended_capabilities_b39; +static int hf_ieee80211_tag_extended_capabilities_b40; +static int hf_ieee80211_tag_extended_capabilities_serv_int_granularity; +static int hf_ieee80211_tag_extended_capabilities_b44; +static int hf_ieee80211_tag_extended_capabilities_b45; +static int hf_ieee80211_tag_extended_capabilities_b46; +static int hf_ieee80211_tag_extended_capabilities_b47; +static int hf_ieee80211_tag_extended_capabilities_b48; +static int hf_ieee80211_tag_extended_capabilities_b49; +static int hf_ieee80211_tag_extended_capabilities_b50; +static int hf_ieee80211_tag_extended_capabilities_b51; +static int hf_ieee80211_tag_extended_capabilities_b52; +static int hf_ieee80211_tag_extended_capabilities_b53; +static int hf_ieee80211_tag_extended_capabilities_b54; +static int hf_ieee80211_tag_extended_capabilities_b55; +static int hf_ieee80211_tag_extended_capabilities_b56; +static int hf_ieee80211_tag_extended_capabilities_b57; +static int hf_ieee80211_tag_extended_capabilities_b58; +static int hf_ieee80211_tag_extended_capabilities_b59; +static int hf_ieee80211_tag_extended_capabilities_b60; +static int hf_ieee80211_tag_extended_capabilities_b61; +static int hf_ieee80211_tag_extended_capabilities_b62; +static int hf_ieee80211_tag_extended_capabilities_b63; /* Used for the two-byte ext-cap field when present */ -static int hf_ieee80211_tag_extended_capabilities_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b56_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b57_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b58_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b59_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b60_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b61_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b62_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_max_num_msdus = -1; -static int hf_ieee80211_tag_extended_capabilities_b65_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b66_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b67_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b68_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b69_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b70_2 = -1; -static int hf_ieee80211_tag_extended_capabilities_b71_2 = -1; - -static int hf_ieee80211_tag_extended_capabilities_b72 = -1; -static int hf_ieee80211_tag_extended_capabilities_b73 = -1; -static int hf_ieee80211_tag_extended_capabilities_b74 = -1; -static int hf_ieee80211_tag_extended_capabilities_b75 = -1; -static int hf_ieee80211_tag_extended_capabilities_b76 = -1; -static int hf_ieee80211_tag_extended_capabilities_b77 = -1; -static int hf_ieee80211_tag_extended_capabilities_b78 = -1; -static int hf_ieee80211_tag_extended_capabilities_b79 = -1; -static int hf_ieee80211_tag_extended_capabilities_b80 = -1; -static int hf_ieee80211_tag_extended_capabilities_b81 = -1; -static int hf_ieee80211_tag_extended_capabilities_b82 = -1; -static int hf_ieee80211_tag_extended_capabilities_b83 = -1; -static int hf_ieee80211_tag_extended_capabilities_b84 = -1; -static int hf_ieee80211_tag_extended_capabilities_b85 = -1; -static int hf_ieee80211_tag_extended_capabilities_b86 = -1; -static int hf_ieee80211_tag_extended_capabilities_b87 = -1; - -static int hf_ieee80211_tag_extended_capabilities_b88 = -1; -static int hf_ieee80211_tag_extended_capabilities_b89 = -1; -static int hf_ieee80211_tag_extended_capabilities_b90 = -1; -static int hf_ieee80211_tag_extended_capabilities_b91 = -1; -static int hf_ieee80211_tag_extended_capabilities_b92 = -1; -static int hf_ieee80211_tag_extended_capabilities_b93 = -1; -static int hf_ieee80211_tag_extended_capabilities_b94 = -1; -static int hf_ieee80211_tag_extended_capabilities_b95 = -1; - -static int hf_ieee80211_tag_extended_capabilities_b96 = -1; -static int hf_ieee80211_tag_extended_capabilities_b97 = -1; -static int hf_ieee80211_tag_extended_capabilities_reserved2 = -1; - -static int hf_ieee80211_tag_cisco_ccx1_unknown = -1; -static int hf_ieee80211_tag_cisco_ccx1_name = -1; -static int hf_ieee80211_tag_cisco_ccx1_clients = -1; -static int hf_ieee80211_tag_cisco_ccx1_unknown2 = -1; - -static int hf_ieee80211_vht_cap = -1; -static int hf_ieee80211_vht_max_mpdu_length = -1; -static int hf_ieee80211_vht_supported_chan_width_set = -1; -static int hf_ieee80211_vht_rx_ldpc = -1; -static int hf_ieee80211_vht_short_gi_for_80 = -1; -static int hf_ieee80211_vht_short_gi_for_160 = -1; -static int hf_ieee80211_vht_tx_stbc = -1; -static int hf_ieee80211_vht_rx_stbc = -1; -static int hf_ieee80211_vht_su_beamformer_cap = -1; -static int hf_ieee80211_vht_su_beamformee_cap = -1; -static int hf_ieee80211_vht_beamformer_antennas = -1; -static int hf_ieee80211_vht_sounding_dimensions = -1; -static int hf_ieee80211_vht_mu_beamformer_cap = -1; -static int hf_ieee80211_vht_mu_beamformee_cap = -1; -static int hf_ieee80211_vht_txop_ps = -1; -static int hf_ieee80211_vht_var_htc_field = -1; -static int hf_ieee80211_vht_max_ampdu = -1; -static int hf_ieee80211_vht_link_adaptation_cap = -1; -static int hf_ieee80211_vht_rx_pattern = -1; -static int hf_ieee80211_vht_tx_pattern = -1; -static int hf_ieee80211_vht_ext_nss_bw_support = -1; - -static int hf_ieee80211_vht_mcsset = -1; - -static int hf_ieee80211_vht_mcsset_rx_mcs_map = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_1_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_2_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_3_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_4_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_5_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_6_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_7_ss = -1; -static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_8_ss = -1; - -static int hf_ieee80211_vht_mcsset_max_nsts_total = -1; -static int hf_ieee80211_vht_mcsset_rx_highest_long_gi = -1; -static int hf_ieee80211_vht_mcsset_extended_nss_bw_capable = -1; -static int hf_ieee80211_vht_mcsset_reserved = -1; - -static int hf_ieee80211_vht_mcsset_tx_mcs_map = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_1_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_2_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_3_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_4_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_5_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_6_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_7_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_8_ss = -1; - -static int hf_ieee80211_vht_op = -1; -static int hf_ieee80211_vht_op_channel_width = -1; -static int hf_ieee80211_vht_op_channel_center0 = -1; -static int hf_ieee80211_vht_op_channel_center1 = -1; - -static int hf_ieee80211_vht_op_basic_mcs_map = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_1_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_2_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_3_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_4_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_5_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_6_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_7_ss = -1; -static int hf_ieee80211_vht_op_max_basic_mcs_for_8_ss = -1; -static int hf_ieee80211_vht_mcsset_tx_highest_long_gi = -1; - -static int hf_ieee80211_vht_tpe_pwr_info = -1; -static int hf_ieee80211_vht_tpe_pwr_info_count = -1; -static int hf_ieee80211_vht_tpe_pwr_info_unit = -1; -static int hf_ieee80211_vht_tpe_pwr_info_category = -1; -static int hf_ieee80211_vht_tpe_pwr_constr_20 = -1; -static int hf_ieee80211_vht_tpe_pwr_constr_40 = -1; -static int hf_ieee80211_vht_tpe_pwr_constr_80 = -1; -static int hf_ieee80211_vht_tpe_pwr_constr_160 = -1; -static int hf_ieee80211_vht_tpe_any_bw_psd = -1; -static int hf_ieee80211_vht_tpe_psd = -1; - -static int hf_ieee80211_beamform_feedback_seg_retrans_bitmap = -1; - -static int hf_ieee80211_ndp_annc_token = -1; -static int hf_ieee80211_ndp_annc_variant = -1; -static int hf_ieee80211_ndp_annc_token_number = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_aid12 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_feedback_type = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_nc_index = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_reserved = -1; - -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_aid11 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_ltf_offset = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_r2i_n_sts = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_r2i_rep = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_i2r_n_sts = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_reserved1 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_disambiguation = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_i2r_rep = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_reserved2 = -1; - -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_aid11 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_sac = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_disambiguation = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_reserved = -1; - -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_aid11 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_partial_tsf = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_disambiguation = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_reserved = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_token = -1; - -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_aid11 = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_i2r_ndp_tx_power = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_r2i_ndp_target_rssi = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_disambiguation = -1; -static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_reserved = -1; - - -static int hf_ieee80211_ndp_eht_annc_sta_info = -1; -static int hf_ieee80211_ndp_eht_annc_aid11 = -1; -static int hf_ieee80211_ndp_eht_annc_resolution = -1; -static int hf_ieee80211_ndp_eht_annc_feedback_map = -1; -static int hf_ieee80211_ndp_eht_annc_reserved1 = -1; -static int hf_ieee80211_ndp_eht_annc_nc_index = -1; -static int hf_ieee80211_ndp_eht_annc_feedback_type = -1; -static int hf_ieee80211_ndp_eht_annc_disambiguation = -1; -static int hf_ieee80211_ndp_eht_annc_codebook_size = -1; -static int hf_ieee80211_ndp_eht_annc_reserved2 = -1; - -static int hf_ieee80211_ff_vht_action = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_nc_index = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_nr_index = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_channel_width = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_grouping = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_codebook_info = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_feedback_type = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_remaining_feedback_seg = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_first_feedback_seg = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_reserved = -1; -static int hf_ieee80211_ff_vht_mimo_cntrl_sounding_dialog_token_number = -1; +static int hf_ieee80211_tag_extended_capabilities_2; +static int hf_ieee80211_tag_extended_capabilities_b56_2; +static int hf_ieee80211_tag_extended_capabilities_b57_2; +static int hf_ieee80211_tag_extended_capabilities_b58_2; +static int hf_ieee80211_tag_extended_capabilities_b59_2; +static int hf_ieee80211_tag_extended_capabilities_b60_2; +static int hf_ieee80211_tag_extended_capabilities_b61_2; +static int hf_ieee80211_tag_extended_capabilities_b62_2; +static int hf_ieee80211_tag_extended_capabilities_max_num_msdus; +static int hf_ieee80211_tag_extended_capabilities_b65_2; +static int hf_ieee80211_tag_extended_capabilities_b66_2; +static int hf_ieee80211_tag_extended_capabilities_b67_2; +static int hf_ieee80211_tag_extended_capabilities_b68_2; +static int hf_ieee80211_tag_extended_capabilities_b69_2; +static int hf_ieee80211_tag_extended_capabilities_b70_2; +static int hf_ieee80211_tag_extended_capabilities_b71_2; + +static int hf_ieee80211_tag_extended_capabilities_b72; +static int hf_ieee80211_tag_extended_capabilities_b73; +static int hf_ieee80211_tag_extended_capabilities_b74; +static int hf_ieee80211_tag_extended_capabilities_b75; +static int hf_ieee80211_tag_extended_capabilities_b76; +static int hf_ieee80211_tag_extended_capabilities_b77; +static int hf_ieee80211_tag_extended_capabilities_b78; +static int hf_ieee80211_tag_extended_capabilities_b79; +static int hf_ieee80211_tag_extended_capabilities_b80; +static int hf_ieee80211_tag_extended_capabilities_b81; +static int hf_ieee80211_tag_extended_capabilities_b82; +static int hf_ieee80211_tag_extended_capabilities_b83; +static int hf_ieee80211_tag_extended_capabilities_b84; +static int hf_ieee80211_tag_extended_capabilities_b85; +static int hf_ieee80211_tag_extended_capabilities_b86; +static int hf_ieee80211_tag_extended_capabilities_b87; + +static int hf_ieee80211_tag_extended_capabilities_b88; +static int hf_ieee80211_tag_extended_capabilities_b89; +static int hf_ieee80211_tag_extended_capabilities_b90; +static int hf_ieee80211_tag_extended_capabilities_b91; +static int hf_ieee80211_tag_extended_capabilities_b92; +static int hf_ieee80211_tag_extended_capabilities_b93; +static int hf_ieee80211_tag_extended_capabilities_b94; +static int hf_ieee80211_tag_extended_capabilities_b95; + +static int hf_ieee80211_tag_extended_capabilities_b96; +static int hf_ieee80211_tag_extended_capabilities_b97; +static int hf_ieee80211_tag_extended_capabilities_reserved2; + +static int hf_ieee80211_tag_cisco_ccx1_unknown; +static int hf_ieee80211_tag_cisco_ccx1_name; +static int hf_ieee80211_tag_cisco_ccx1_clients; +static int hf_ieee80211_tag_cisco_ccx1_unknown2; + +static int hf_ieee80211_vht_cap; +static int hf_ieee80211_vht_max_mpdu_length; +static int hf_ieee80211_vht_supported_chan_width_set; +static int hf_ieee80211_vht_rx_ldpc; +static int hf_ieee80211_vht_short_gi_for_80; +static int hf_ieee80211_vht_short_gi_for_160; +static int hf_ieee80211_vht_tx_stbc; +static int hf_ieee80211_vht_rx_stbc; +static int hf_ieee80211_vht_su_beamformer_cap; +static int hf_ieee80211_vht_su_beamformee_cap; +static int hf_ieee80211_vht_beamformer_antennas; +static int hf_ieee80211_vht_sounding_dimensions; +static int hf_ieee80211_vht_mu_beamformer_cap; +static int hf_ieee80211_vht_mu_beamformee_cap; +static int hf_ieee80211_vht_txop_ps; +static int hf_ieee80211_vht_var_htc_field; +static int hf_ieee80211_vht_max_ampdu; +static int hf_ieee80211_vht_link_adaptation_cap; +static int hf_ieee80211_vht_rx_pattern; +static int hf_ieee80211_vht_tx_pattern; +static int hf_ieee80211_vht_ext_nss_bw_support; + +static int hf_ieee80211_vht_mcsset; + +static int hf_ieee80211_vht_mcsset_rx_mcs_map; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_1_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_2_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_3_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_4_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_5_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_6_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_7_ss; +static int hf_ieee80211_vht_mcsset_rx_max_mcs_for_8_ss; + +static int hf_ieee80211_vht_mcsset_max_nsts_total; +static int hf_ieee80211_vht_mcsset_rx_highest_long_gi; +static int hf_ieee80211_vht_mcsset_extended_nss_bw_capable; +static int hf_ieee80211_vht_mcsset_reserved; + +static int hf_ieee80211_vht_mcsset_tx_mcs_map; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_1_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_2_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_3_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_4_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_5_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_6_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_7_ss; +static int hf_ieee80211_vht_mcsset_tx_max_mcs_for_8_ss; + +static int hf_ieee80211_vht_op; +static int hf_ieee80211_vht_op_channel_width; +static int hf_ieee80211_vht_op_channel_center0; +static int hf_ieee80211_vht_op_channel_center1; + +static int hf_ieee80211_vht_op_basic_mcs_map; +static int hf_ieee80211_vht_op_max_basic_mcs_for_1_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_2_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_3_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_4_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_5_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_6_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_7_ss; +static int hf_ieee80211_vht_op_max_basic_mcs_for_8_ss; +static int hf_ieee80211_vht_mcsset_tx_highest_long_gi; + +static int hf_ieee80211_vht_tpe_pwr_info; +static int hf_ieee80211_vht_tpe_pwr_info_count; +static int hf_ieee80211_vht_tpe_pwr_info_unit; +static int hf_ieee80211_vht_tpe_pwr_info_category; +static int hf_ieee80211_vht_tpe_pwr_constr_20; +static int hf_ieee80211_vht_tpe_pwr_constr_40; +static int hf_ieee80211_vht_tpe_pwr_constr_80; +static int hf_ieee80211_vht_tpe_pwr_constr_160; +static int hf_ieee80211_vht_tpe_any_bw_psd; +static int hf_ieee80211_vht_tpe_psd; + +static int hf_ieee80211_beamform_feedback_seg_retrans_bitmap; + +static int hf_ieee80211_ndp_annc_token; +static int hf_ieee80211_ndp_annc_variant; +static int hf_ieee80211_ndp_annc_token_number; +static int hf_ieee80211_vht_ndp_annc_sta_info_aid12; +static int hf_ieee80211_vht_ndp_annc_sta_info_feedback_type; +static int hf_ieee80211_vht_ndp_annc_sta_info_nc_index; +static int hf_ieee80211_vht_ndp_annc_sta_info_reserved; + +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_aid11; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_ltf_offset; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_r2i_n_sts; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_r2i_rep; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_i2r_n_sts; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_reserved1; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_disambiguation; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_i2r_rep; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008_reserved2; + +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_aid11; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_sac; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_disambiguation; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2043_reserved; + +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_aid11; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_partial_tsf; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_disambiguation; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_reserved; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2044_token; + +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_aid11; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_i2r_ndp_tx_power; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_r2i_ndp_target_rssi; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_disambiguation; +static int hf_ieee80211_vht_ndp_annc_sta_info_ranging_2045_reserved; + + +static int hf_ieee80211_ndp_eht_annc_sta_info; +static int hf_ieee80211_ndp_eht_annc_aid11; +static int hf_ieee80211_ndp_eht_annc_resolution; +static int hf_ieee80211_ndp_eht_annc_feedback_map; +static int hf_ieee80211_ndp_eht_annc_reserved1; +static int hf_ieee80211_ndp_eht_annc_nc_index; +static int hf_ieee80211_ndp_eht_annc_feedback_type; +static int hf_ieee80211_ndp_eht_annc_disambiguation; +static int hf_ieee80211_ndp_eht_annc_codebook_size; +static int hf_ieee80211_ndp_eht_annc_reserved2; + +static int hf_ieee80211_ff_vht_action; +static int hf_ieee80211_ff_vht_mimo_cntrl; +static int hf_ieee80211_ff_vht_mimo_cntrl_nc_index; +static int hf_ieee80211_ff_vht_mimo_cntrl_nr_index; +static int hf_ieee80211_ff_vht_mimo_cntrl_channel_width; +static int hf_ieee80211_ff_vht_mimo_cntrl_grouping; +static int hf_ieee80211_ff_vht_mimo_cntrl_codebook_info; +static int hf_ieee80211_ff_vht_mimo_cntrl_feedback_type; +static int hf_ieee80211_ff_vht_mimo_cntrl_remaining_feedback_seg; +static int hf_ieee80211_ff_vht_mimo_cntrl_first_feedback_seg; +static int hf_ieee80211_ff_vht_mimo_cntrl_reserved; +static int hf_ieee80211_ff_vht_mimo_cntrl_sounding_dialog_token_number; static int * const hf_ieee80211_ff_vht_mimo_cntrl_fields[] = { &hf_ieee80211_ff_vht_mimo_cntrl_nc_index, @@ -6123,95 +6211,95 @@ static int * const hf_ieee80211_ff_vht_mimo_cntrl_fields[] = { NULL, }; -static int hf_ieee80211_vht_compressed_beamforming_report = -1; -static int hf_ieee80211_vht_compressed_beamforming_report_snr = -1; -static int hf_ieee80211_vht_compressed_beamform_scidx = -1; -static int hf_ieee80211_vht_group_id_management = -1; -static int hf_ieee80211_vht_membership_status_array = -1; -static int hf_ieee80211_vht_user_position_array = -1; -static int hf_ieee80211_vht_operation_mode_notification = -1; -static int hf_ieee80211_vht_membership_status_field = -1; -static int hf_ieee80211_vht_user_position_field = -1; -static int hf_ieee80211_vht_mu_exclusive_beamforming_report = -1; -static int hf_ieee80211_vht_mu_exclusive_beamforming_delta_snr = -1; - -static int hf_ieee80211_ff_he_action = -1; -static int hf_ieee80211_ff_protected_he_action = -1; -static int hf_ieee80211_ff_protected_ftm_action = -1; -static int hf_ieee80211_ff_eht_action = -1; -static int hf_ieee80211_ff_protected_eht_action = -1; -static int hf_ieee80211_he_mimo_control_nc_index = -1; -static int hf_ieee80211_he_mimo_control_nr_index = -1; -static int hf_ieee80211_he_mimo_control_bw = -1; -static int hf_ieee80211_he_mimo_control_grouping = -1; -static int hf_ieee80211_he_mimo_control_codebook_info = -1; -static int hf_ieee80211_he_mimo_control_feedback_type = -1; -static int hf_ieee80211_he_mimo_control_remaining_feedback_segs = -1; -static int hf_ieee80211_he_mimo_control_first_feedback_seg = -1; -static int hf_ieee80211_he_mimo_control_ru_start_index = -1; -static int hf_ieee80211_he_mimo_control_ru_end_index = -1; -static int hf_ieee80211_he_mimo_control_sounding_dialog_token_num = -1; -static int hf_ieee80211_he_mimo_control_reserved = -1; -static int hf_ieee80211_he_mimo_control_field = -1; -static int hf_ieee80211_he_compressed_beamforming_report_snr = -1; -static int hf_ieee80211_he_compressed_beamform_scidx = -1; -static int hf_ieee80211_he_beamforming_report_len = -1; - -static int hf_ieee80211_tag_neighbor_report_bssid = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_reachability = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_security = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_key_scope = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_spec_mng = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_qos = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_apsd = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_radio_msnt = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_dback = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_iback = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_mobility_domain = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_high_throughput = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_very_high_throughput = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_ftm = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_high_efficiency = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_er_bss = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_colocated_ap = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_unsolicited_probe_responses_active = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_ess_with_colocated_ap = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_oct_supported_with_reporting_ap = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_colocated_6ghz_ap = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_eht = -1; -static int hf_ieee80211_tag_neighbor_report_bssid_info_reserved = -1; -static int hf_ieee80211_tag_neighbor_report_ope_class = -1; -static int hf_ieee80211_tag_neighbor_report_channel_number = -1; -static int hf_ieee80211_tag_neighbor_report_phy_type = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_id = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_length = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_data = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_bss_trn_can_pref = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_bss_ter_tsf = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_bss_dur = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_tsf_offset = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_beacon_interval = -1; -static int hf_ieee80211_tag_neighbor_report_subelement_country_code = -1; -static int hf_ieee80211_tag_supported_ope_classes_current = -1; -static int hf_ieee80211_tag_supported_ope_classes_alternate = -1; - -static int hf_ieee80211_tag_dirn_meas_results_aoa_results = -1; -static int hf_ieee80211_tag_ftm_aoa_results_aoa_azimuth = -1; -static int hf_ieee80211_tag_ftm_aoa_results_aoa_elevation = -1; -static int hf_ieee80211_tag_ftm_aoa_results_aoa_azimuth_accuracy = -1; -static int hf_ieee80211_tag_ftm_aoa_results_aoa_elevation_accuracy = -1; -static int hf_ieee80211_tag_ftm_aoa_results_best_awv_id = -1; -static int hf_ieee80211_tag_ftm_aoa_results_aoa_reference = -1; -static int hf_ieee80211_tag_ftm_aoa_results_reserved = -1; +static int hf_ieee80211_vht_compressed_beamforming_report; +static int hf_ieee80211_vht_compressed_beamforming_report_snr; +static int hf_ieee80211_vht_compressed_beamform_scidx; +static int hf_ieee80211_vht_group_id_management; +static int hf_ieee80211_vht_membership_status_array; +static int hf_ieee80211_vht_user_position_array; +static int hf_ieee80211_vht_operation_mode_notification; +static int hf_ieee80211_vht_membership_status_field; +static int hf_ieee80211_vht_user_position_field; +static int hf_ieee80211_vht_mu_exclusive_beamforming_report; +static int hf_ieee80211_vht_mu_exclusive_beamforming_delta_snr; + +static int hf_ieee80211_ff_he_action; +static int hf_ieee80211_ff_protected_he_action; +static int hf_ieee80211_ff_protected_ftm_action; +static int hf_ieee80211_ff_eht_action; +static int hf_ieee80211_ff_protected_eht_action; +static int hf_ieee80211_he_mimo_control_nc_index; +static int hf_ieee80211_he_mimo_control_nr_index; +static int hf_ieee80211_he_mimo_control_bw; +static int hf_ieee80211_he_mimo_control_grouping; +static int hf_ieee80211_he_mimo_control_codebook_info; +static int hf_ieee80211_he_mimo_control_feedback_type; +static int hf_ieee80211_he_mimo_control_remaining_feedback_segs; +static int hf_ieee80211_he_mimo_control_first_feedback_seg; +static int hf_ieee80211_he_mimo_control_ru_start_index; +static int hf_ieee80211_he_mimo_control_ru_end_index; +static int hf_ieee80211_he_mimo_control_sounding_dialog_token_num; +static int hf_ieee80211_he_mimo_control_reserved; +static int hf_ieee80211_he_mimo_control_field; +static int hf_ieee80211_he_compressed_beamforming_report_snr; +static int hf_ieee80211_he_compressed_beamform_scidx; +static int hf_ieee80211_he_beamforming_report_len; + +static int hf_ieee80211_tag_neighbor_report_bssid; +static int hf_ieee80211_tag_neighbor_report_bssid_info; +static int hf_ieee80211_tag_neighbor_report_bssid_info_reachability; +static int hf_ieee80211_tag_neighbor_report_bssid_info_security; +static int hf_ieee80211_tag_neighbor_report_bssid_info_key_scope; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_spec_mng; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_qos; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_apsd; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_radio_msnt; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_dback; +static int hf_ieee80211_tag_neighbor_report_bssid_info_capability_iback; +static int hf_ieee80211_tag_neighbor_report_bssid_info_mobility_domain; +static int hf_ieee80211_tag_neighbor_report_bssid_info_high_throughput; +static int hf_ieee80211_tag_neighbor_report_bssid_info_very_high_throughput; +static int hf_ieee80211_tag_neighbor_report_bssid_info_ftm; +static int hf_ieee80211_tag_neighbor_report_bssid_info_high_efficiency; +static int hf_ieee80211_tag_neighbor_report_bssid_info_er_bss; +static int hf_ieee80211_tag_neighbor_report_bssid_info_colocated_ap; +static int hf_ieee80211_tag_neighbor_report_bssid_info_unsolicited_probe_responses_active; +static int hf_ieee80211_tag_neighbor_report_bssid_info_ess_with_colocated_ap; +static int hf_ieee80211_tag_neighbor_report_bssid_info_oct_supported_with_reporting_ap; +static int hf_ieee80211_tag_neighbor_report_bssid_info_colocated_6ghz_ap; +static int hf_ieee80211_tag_neighbor_report_bssid_info_eht; +static int hf_ieee80211_tag_neighbor_report_bssid_info_reserved; +static int hf_ieee80211_tag_neighbor_report_ope_class; +static int hf_ieee80211_tag_neighbor_report_channel_number; +static int hf_ieee80211_tag_neighbor_report_phy_type; +static int hf_ieee80211_tag_neighbor_report_subelement_id; +static int hf_ieee80211_tag_neighbor_report_subelement_length; +static int hf_ieee80211_tag_neighbor_report_subelement_data; +static int hf_ieee80211_tag_neighbor_report_subelement_bss_trn_can_pref; +static int hf_ieee80211_tag_neighbor_report_subelement_bss_ter_tsf; +static int hf_ieee80211_tag_neighbor_report_subelement_bss_dur; +static int hf_ieee80211_tag_neighbor_report_subelement_tsf_offset; +static int hf_ieee80211_tag_neighbor_report_subelement_beacon_interval; +static int hf_ieee80211_tag_neighbor_report_subelement_country_code; +static int hf_ieee80211_tag_supported_ope_classes_current; +static int hf_ieee80211_tag_supported_ope_classes_alternate; + +static int hf_ieee80211_tag_dirn_meas_results_aoa_results; +static int hf_ieee80211_tag_ftm_aoa_results_aoa_azimuth; +static int hf_ieee80211_tag_ftm_aoa_results_aoa_elevation; +static int hf_ieee80211_tag_ftm_aoa_results_aoa_azimuth_accuracy; +static int hf_ieee80211_tag_ftm_aoa_results_aoa_elevation_accuracy; +static int hf_ieee80211_tag_ftm_aoa_results_best_awv_id; +static int hf_ieee80211_tag_ftm_aoa_results_aoa_reference; +static int hf_ieee80211_tag_ftm_aoa_results_reserved; /* IEEE Std 802.11r-2008 7.3.2.47 */ -static int hf_ieee80211_tag_mobility_domain_mdid = -1; -static int hf_ieee80211_tag_mobility_domain_ft_capab = -1; -static int hf_ieee80211_tag_mobility_domain_ft_capab_ft_over_ds = -1; -static int hf_ieee80211_tag_mobility_domain_ft_capab_resource_req = -1; -static int hf_ieee80211_tag_mobility_domain_ft_capab_reserved = -1; +static int hf_ieee80211_tag_mobility_domain_mdid; +static int hf_ieee80211_tag_mobility_domain_ft_capab; +static int hf_ieee80211_tag_mobility_domain_ft_capab_ft_over_ds; +static int hf_ieee80211_tag_mobility_domain_ft_capab_resource_req; +static int hf_ieee80211_tag_mobility_domain_ft_capab_reserved; static int * const ieee80211_tag_mobility_domain_ft_capab_fields[] = { &hf_ieee80211_tag_mobility_domain_ft_capab_ft_over_ds, &hf_ieee80211_tag_mobility_domain_ft_capab_resource_req, @@ -6220,11 +6308,11 @@ static int * const ieee80211_tag_mobility_domain_ft_capab_fields[] = { }; /* IEEE Std 802.11r-2008 7.3.2.48 */ -static int hf_ieee80211_tag_ft_mic_control = -1; -static int hf_ieee80211_tag_ft_mic_control_rsnxe_used = -1; -static int hf_ieee80211_tag_ft_mic_control_mic_length = -1; -static int hf_ieee80211_tag_ft_mic_control_reserved = -1; -static int hf_ieee80211_tag_ft_mic_control_element_count = -1; +static int hf_ieee80211_tag_ft_mic_control; +static int hf_ieee80211_tag_ft_mic_control_rsnxe_used; +static int hf_ieee80211_tag_ft_mic_control_mic_length; +static int hf_ieee80211_tag_ft_mic_control_reserved; +static int hf_ieee80211_tag_ft_mic_control_element_count; static int * const ieee80211_tag_ft_mic_control_fields[] = { &hf_ieee80211_tag_ft_mic_control_rsnxe_used, &hf_ieee80211_tag_ft_mic_control_mic_length, @@ -6232,603 +6320,622 @@ static int * const ieee80211_tag_ft_mic_control_fields[] = { &hf_ieee80211_tag_ft_mic_control_element_count, NULL }; -static int hf_ieee80211_tag_ft_mic = -1; -static int hf_ieee80211_tag_ft_anonce = -1; -static int hf_ieee80211_tag_ft_snonce = -1; -static int hf_ieee80211_tag_ft_subelem_id = -1; -static int hf_ieee80211_tag_ft_subelem_len = -1; -static int hf_ieee80211_tag_ft_subelem_data = -1; -static int hf_ieee80211_tag_ft_subelem_r1kh_id = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_key_info = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_rsc = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_key = -1; -static int hf_ieee80211_tag_ft_subelem_gtk_key_encrypted = -1; -static int hf_ieee80211_tag_ft_subelem_r0kh_id = -1; -static int hf_ieee80211_tag_ft_subelem_igtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_igtk_ipn = -1; -static int hf_ieee80211_tag_ft_subelem_igtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_igtk_key = -1; -static int hf_ieee80211_tag_ft_subelem_oci_op_class = -1; -static int hf_ieee80211_tag_ft_subelem_oci_prim_chan_num = -1; -static int hf_ieee80211_tag_ft_subelem_oci_freq_seg_1 = -1; -static int hf_ieee80211_tag_ft_subelem_oci_oct_op_class = -1; -static int hf_ieee80211_tag_ft_subelem_oci_oct_prim_chan_num = -1; -static int hf_ieee80211_tag_ft_subelem_oci_oct_freq_seg_1 = -1; -static int hf_ieee80211_tag_ft_subelem_bigtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_bigtk_bipn = -1; -static int hf_ieee80211_tag_ft_subelem_bigtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_bigtk_key = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_info = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_link_id_info = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_link_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_rsc = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_ipn = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_link_id_info = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_link_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_bipn = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_link_id_info = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_link_id = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key_length = -1; -static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key = -1; +static int hf_ieee80211_tag_ft_mic; +static int hf_ieee80211_tag_ft_anonce; +static int hf_ieee80211_tag_ft_snonce; +static int hf_ieee80211_tag_ft_subelem_id; +static int hf_ieee80211_tag_ft_subelem_len; +static int hf_ieee80211_tag_ft_subelem_data; +static int hf_ieee80211_tag_ft_subelem_r1kh_id; +static int hf_ieee80211_tag_ft_subelem_gtk_key_info; +static int hf_ieee80211_tag_ft_subelem_gtk_key_id; +static int hf_ieee80211_tag_ft_subelem_gtk_key_length; +static int hf_ieee80211_tag_ft_subelem_gtk_rsc; +static int hf_ieee80211_tag_ft_subelem_gtk_key; +static int hf_ieee80211_tag_ft_subelem_gtk_key_encrypted; +static int hf_ieee80211_tag_ft_subelem_r0kh_id; +static int hf_ieee80211_tag_ft_subelem_igtk_key_id; +static int hf_ieee80211_tag_ft_subelem_igtk_ipn; +static int hf_ieee80211_tag_ft_subelem_igtk_key_length; +static int hf_ieee80211_tag_ft_subelem_igtk_key; +static int hf_ieee80211_tag_ft_subelem_oci_op_class; +static int hf_ieee80211_tag_ft_subelem_oci_prim_chan_num; +static int hf_ieee80211_tag_ft_subelem_oci_freq_seg_1; +static int hf_ieee80211_tag_ft_subelem_oci_oct_op_class; +static int hf_ieee80211_tag_ft_subelem_oci_oct_prim_chan_num; +static int hf_ieee80211_tag_ft_subelem_oci_oct_freq_seg_1; +static int hf_ieee80211_tag_ft_subelem_bigtk_key_id; +static int hf_ieee80211_tag_ft_subelem_bigtk_bipn; +static int hf_ieee80211_tag_ft_subelem_bigtk_key_length; +static int hf_ieee80211_tag_ft_subelem_bigtk_key; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_info; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_id; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_link_id_info; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_link_id; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key_length; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_rsc; +static int hf_ieee80211_tag_ft_subelem_mlo_gtk_key; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key_id; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_ipn; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_link_id_info; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_link_id; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key_length; +static int hf_ieee80211_tag_ft_subelem_mlo_igtk_key; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key_id; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_bipn; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_link_id_info; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_link_id; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key_length; +static int hf_ieee80211_tag_ft_subelem_mlo_bigtk_key; /* IEEE Std 802.11-2012: 11r 8.4.2.52 */ -static int hf_ieee80211_tag_ric_data_id = -1; -static int hf_ieee80211_tag_ric_data_desc_cnt = -1; -static int hf_ieee80211_tag_ric_data_status_code = -1; +static int hf_ieee80211_tag_ric_data_id; +static int hf_ieee80211_tag_ric_data_desc_cnt; +static int hf_ieee80211_tag_ric_data_status_code; /* IEEE Std 802.11-2012: 11r 8.4.2.53 */ -static int hf_ieee80211_tag_ric_desc_rsrc_type = -1; -static int hf_ieee80211_tag_ric_desc_var_params = -1; +static int hf_ieee80211_tag_ric_desc_rsrc_type; +static int hf_ieee80211_tag_ric_desc_var_params; /* IEEE Std 802.11w-2009 7.3.2.55 */ -static int hf_ieee80211_tag_mmie_keyid = -1; -static int hf_ieee80211_tag_mmie_ipn = -1; -static int hf_ieee80211_tag_mmie_mic = -1; +static int hf_ieee80211_tag_mmie_keyid; +static int hf_ieee80211_tag_mmie_ipn; +static int hf_ieee80211_tag_mmie_mic; /* IEEE Std 802.11-2016: 9.4.2.72 */ -static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control = -1; -static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control_type = -1; -static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control_reserved = -1; +static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control; +static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control_type; +static int hf_ieee80211_tag_no_bssid_capability_dmg_bss_control_reserved; /* IEEE Std 802.11-2016: 9.4.2.74 */ -static int hf_ieee80211_tag_multiple_bssid_index_bssid_index = -1; -static int hf_ieee80211_tag_multiple_bssid_index_dtim_period = -1; -static int hf_ieee80211_tag_multiple_bssid_index_dtim_count = -1; +static int hf_ieee80211_tag_multiple_bssid_index_bssid_index; +static int hf_ieee80211_tag_multiple_bssid_index_dtim_period; +static int hf_ieee80211_tag_multiple_bssid_index_dtim_count; /* IEEE Std 802.11-2012: 8.4.2.61 */ -static int hf_ieee80211_tag_obss_spd = -1; -static int hf_ieee80211_tag_obss_sad = -1; -static int hf_ieee80211_tag_obss_cwtsi = -1; -static int hf_ieee80211_tag_obss_sptpc = -1; -static int hf_ieee80211_tag_obss_satpc = -1; -static int hf_ieee80211_tag_obss_wctdf = -1; -static int hf_ieee80211_tag_obss_sat = -1; +static int hf_ieee80211_tag_obss_spd; +static int hf_ieee80211_tag_obss_sad; +static int hf_ieee80211_tag_obss_cwtsi; +static int hf_ieee80211_tag_obss_sptpc; +static int hf_ieee80211_tag_obss_satpc; +static int hf_ieee80211_tag_obss_wctdf; +static int hf_ieee80211_tag_obss_sat; /* IEEE Std 802.11-2012: 8.4.2.25.1 */ -static int hf_ieee80211_group_data_cipher_suite_oui = -1; -static int hf_ieee80211_group_data_cipher_suite_type = -1; -static int hf_ieee80211_osen_pairwise_cipher_suite_oui = -1; -static int hf_ieee80211_osen_pairwise_cipher_suite_type = -1; -static int hf_ieee80211_osen_pcs_count = -1; -static int hf_ieee80211_osen_akm_count = -1; -static int hf_ieee80211_osen_akm_cipher_suite_oui = -1; -static int hf_ieee80211_osen_akm_cipher_suite_type = -1; -static int hf_ieee80211_osen_rsn_cap_preauth = -1; -static int hf_ieee80211_osen_rsn_cap_no_pairwise = -1; -static int hf_ieee80211_osen_rsn_cap_ptksa_replay_counter = -1; -static int hf_ieee80211_osen_rsn_cap_gtksa_replay_counter = -1; -static int hf_ieee80211_osen_rsn_cap_mfpr = -1; -static int hf_ieee80211_osen_rsn_cap_mfpc = -1; -static int hf_ieee80211_osen_rsn_cap_jmr = -1; -static int hf_ieee80211_osen_rsn_cap_peerkey = -1; -static int hf_ieee80211_osen_rsn_spp_a_msdu_capable = -1; -static int hf_ieee80211_osen_rsn_spp_a_msdu_required = -1; -static int hf_ieee80211_osen_rsn_pbac = -1; -static int hf_ieee80211_osen_extended_key_id_iaf = -1; -static int hf_ieee80211_osen_reserved = -1; -static int hf_ieee80211_osen_rsn_cap_flags = -1; -static int hf_ieee80211_osen_pmkid_count = -1; -static int hf_ieee80211_osen_pmkid = -1; -static int hf_ieee80211_osen_group_management_cipher_suite_oui = -1; -static int hf_ieee80211_osen_group_management_cipher_suite_type = -1; +static int hf_ieee80211_group_data_cipher_suite_oui; +static int hf_ieee80211_group_data_cipher_suite_type; +static int hf_ieee80211_osen_pairwise_cipher_suite_oui; +static int hf_ieee80211_osen_pairwise_cipher_suite_type; +static int hf_ieee80211_osen_pcs_count; +static int hf_ieee80211_osen_akm_count; +static int hf_ieee80211_osen_akm_cipher_suite_oui; +static int hf_ieee80211_osen_akm_cipher_suite_type; +static int hf_ieee80211_osen_rsn_cap_preauth; +static int hf_ieee80211_osen_rsn_cap_no_pairwise; +static int hf_ieee80211_osen_rsn_cap_ptksa_replay_counter; +static int hf_ieee80211_osen_rsn_cap_gtksa_replay_counter; +static int hf_ieee80211_osen_rsn_cap_mfpr; +static int hf_ieee80211_osen_rsn_cap_mfpc; +static int hf_ieee80211_osen_rsn_cap_jmr; +static int hf_ieee80211_osen_rsn_cap_peerkey; +static int hf_ieee80211_osen_rsn_spp_a_msdu_capable; +static int hf_ieee80211_osen_rsn_spp_a_msdu_required; +static int hf_ieee80211_osen_rsn_pbac; +static int hf_ieee80211_osen_extended_key_id_iaf; +static int hf_ieee80211_osen_reserved; +static int hf_ieee80211_osen_rsn_cap_flags; +static int hf_ieee80211_osen_pmkid_count; +static int hf_ieee80211_osen_pmkid; +static int hf_ieee80211_osen_group_management_cipher_suite_oui; +static int hf_ieee80211_osen_group_management_cipher_suite_type; /*WAPI-Specification 7.3.2.25 : WAPI Parameter Set*/ -static int hf_ieee80211_tag_wapi_param_set_version = -1; +static int hf_ieee80211_tag_wapi_param_set_version; -static int hf_ieee80211_tag_wapi_param_set_akm_suite_count = -1; -static int hf_ieee80211_tag_wapi_param_set_akm_suite_oui = -1; -static int hf_ieee80211_tag_wapi_param_set_akm_suite_type = -1; +static int hf_ieee80211_tag_wapi_param_set_akm_suite_count; +static int hf_ieee80211_tag_wapi_param_set_akm_suite_oui; +static int hf_ieee80211_tag_wapi_param_set_akm_suite_type; -static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_count = -1; -static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_oui = -1; -static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_type = -1; +static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_count; +static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_oui; +static int hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_type; -static int hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_oui = -1; -static int hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_type = -1; +static int hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_oui; +static int hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_type; -static int hf_ieee80211_tag_wapi_param_set_capab = -1; -static int hf_ieee80211_tag_wapi_param_set_capab_preauth = -1; -static int hf_ieee80211_tag_wapi_param_set_capab_rsvd = -1; -static int hf_ieee80211_tag_wapi_param_set_bkid_count = -1; -static int hf_ieee80211_tag_wapi_param_set_bkid_list = -1; +static int hf_ieee80211_tag_wapi_param_set_capab; +static int hf_ieee80211_tag_wapi_param_set_capab_preauth; +static int hf_ieee80211_tag_wapi_param_set_capab_rsvd; +static int hf_ieee80211_tag_wapi_param_set_bkid_count; +static int hf_ieee80211_tag_wapi_param_set_bkid_list; /* IEEE Std 802.11v-2011 7.3.2.61 */ -static int hf_ieee80211_tag_time_adv_timing_capab = -1; -static int hf_ieee80211_tag_time_adv_time_value = -1; -static int hf_ieee80211_tag_time_adv_time_value_year = -1; -static int hf_ieee80211_tag_time_adv_time_value_month = -1; -static int hf_ieee80211_tag_time_adv_time_value_day = -1; -static int hf_ieee80211_tag_time_adv_time_value_hours = -1; -static int hf_ieee80211_tag_time_adv_time_value_minutes = -1; -static int hf_ieee80211_tag_time_adv_time_value_seconds = -1; -static int hf_ieee80211_tag_time_adv_time_value_milliseconds = -1; -static int hf_ieee80211_tag_time_adv_time_value_reserved = -1; -static int hf_ieee80211_tag_time_adv_time_error = -1; -static int hf_ieee80211_tag_time_adv_time_update_counter = -1; +static int hf_ieee80211_tag_time_adv_timing_capab; +static int hf_ieee80211_tag_time_adv_time_value; +static int hf_ieee80211_tag_time_adv_time_value_year; +static int hf_ieee80211_tag_time_adv_time_value_month; +static int hf_ieee80211_tag_time_adv_time_value_day; +static int hf_ieee80211_tag_time_adv_time_value_hours; +static int hf_ieee80211_tag_time_adv_time_value_minutes; +static int hf_ieee80211_tag_time_adv_time_value_seconds; +static int hf_ieee80211_tag_time_adv_time_value_milliseconds; +static int hf_ieee80211_tag_time_adv_time_value_reserved; +static int hf_ieee80211_tag_time_adv_time_error; +static int hf_ieee80211_tag_time_adv_time_update_counter; /* IEEE Std 802.11-2012 8.4.2.81 */ -static int hf_ieee80211_tag_bss_max_idle_period = -1; -static int hf_ieee80211_tag_bss_max_idle_options = -1; -static int hf_ieee80211_tag_bss_max_idle_options_protected = -1; -static int hf_ieee80211_tag_bss_idle_options_reserved = -1; +static int hf_ieee80211_tag_bss_max_idle_period; +static int hf_ieee80211_tag_bss_max_idle_options; +static int hf_ieee80211_tag_bss_max_idle_options_protected; +static int hf_ieee80211_tag_bss_idle_options_reserved; /* IEEE Std 802.11-2012 8.4.2.82 */ -static int hf_ieee80211_tag_tfs_request_id = -1; -static int hf_ieee80211_tag_tfs_request_ac_delete_after_match = -1; -static int hf_ieee80211_tag_tfs_request_ac_notify = -1; -static int hf_ieee80211_tag_tfs_request_subelem_id = -1; -static int hf_ieee80211_tag_tfs_request_subelem_len = -1; -static int hf_ieee80211_tag_tfs_request_subelem = -1; +static int hf_ieee80211_tag_tfs_request_id; +static int hf_ieee80211_tag_tfs_request_ac_delete_after_match; +static int hf_ieee80211_tag_tfs_request_ac_notify; +static int hf_ieee80211_tag_tfs_request_subelem_id; +static int hf_ieee80211_tag_tfs_request_subelem_len; +static int hf_ieee80211_tag_tfs_request_subelem; /* IEEE Std 802.11-2012 8.4.2.83 */ -static int hf_ieee80211_tag_tfs_response_subelem_id = -1; -static int hf_ieee80211_tag_tfs_response_subelem_len = -1; -static int hf_ieee80211_tag_tfs_response_subelem = -1; -static int hf_ieee80211_tag_tfs_response_status = -1; -static int hf_ieee80211_tag_tfs_response_id = -1; +static int hf_ieee80211_tag_tfs_response_subelem_id; +static int hf_ieee80211_tag_tfs_response_subelem_len; +static int hf_ieee80211_tag_tfs_response_subelem; +static int hf_ieee80211_tag_tfs_response_status; +static int hf_ieee80211_tag_tfs_response_id; /* IEEE Std 802.11-2012 8.4.2.84 */ -static int hf_ieee80211_tag_wnm_sleep_mode_action_type = -1; -static int hf_ieee80211_tag_wnm_sleep_mode_response_status = -1; -static int hf_ieee80211_tag_wnm_sleep_mode_interval = -1; +static int hf_ieee80211_tag_wnm_sleep_mode_action_type; +static int hf_ieee80211_tag_wnm_sleep_mode_response_status; +static int hf_ieee80211_tag_wnm_sleep_mode_interval; -static int hf_ieee80211_wnm_sub_elt_id = -1; -static int hf_ieee80211_wnm_sub_elt_len = -1; +static int hf_ieee80211_wnm_sub_elt_id; +static int hf_ieee80211_wnm_sub_elt_len; /* IEEE Std 802.11v-2011 7.3.2.87 */ -static int hf_ieee80211_tag_time_zone = -1; +static int hf_ieee80211_tag_time_zone; /* IEEE Std 802.11u-2011 7.3.2.92 */ -static int hf_ieee80211_tag_interworking_access_network_type = -1; -static int hf_ieee80211_tag_interworking_internet = -1; -static int hf_ieee80211_tag_interworking_asra = -1; -static int hf_ieee80211_tag_interworking_esr = -1; -static int hf_ieee80211_tag_interworking_uesa = -1; -static int hf_ieee80211_tag_interworking_hessid = -1; +static int hf_ieee80211_tag_interworking_access_network_type; +static int hf_ieee80211_tag_interworking_internet; +static int hf_ieee80211_tag_interworking_asra; +static int hf_ieee80211_tag_interworking_esr; +static int hf_ieee80211_tag_interworking_uesa; +static int hf_ieee80211_tag_interworking_hessid; /* IEEE Std 802.11-2012, 8.4.2.97 */ -static int hf_ieee80211_tag_qos_map_set_dscp_exc = -1; -static int hf_ieee80211_tag_qos_map_set_dscp_exc_val = -1; -static int hf_ieee80211_tag_qos_map_set_dscp_exc_up = -1; -static int hf_ieee80211_tag_qos_map_set_range = -1; -static int hf_ieee80211_tag_qos_map_set_low = -1; -static int hf_ieee80211_tag_qos_map_set_high = -1; +static int hf_ieee80211_tag_qos_map_set_dscp_exc; +static int hf_ieee80211_tag_qos_map_set_dscp_exc_val; +static int hf_ieee80211_tag_qos_map_set_dscp_exc_up; +static int hf_ieee80211_tag_qos_map_set_range; +static int hf_ieee80211_tag_qos_map_set_low; +static int hf_ieee80211_tag_qos_map_set_high; /* IEEE Std 802.11u-2011 7.3.2.93 */ -static int hf_ieee80211_tag_adv_proto_resp_len_limit = -1; -static int hf_ieee80211_tag_adv_proto_pame_bi = -1; -static int hf_ieee80211_tag_adv_proto_id = -1; -static int hf_ieee80211_tag_adv_vs_len = -1; -/* static int hf_ieee80211_tag_adv_proto_vs_info = -1; */ +static int hf_ieee80211_tag_adv_proto_resp_len_limit; +static int hf_ieee80211_tag_adv_proto_pame_bi; +static int hf_ieee80211_tag_adv_proto_id; +static int hf_ieee80211_tag_adv_vs_len; +/* static int hf_ieee80211_tag_adv_proto_vs_info; */ /* IEEE Std 802.11u-2011 7.3.2.96 */ -static int hf_ieee80211_tag_roaming_consortium_num_anqp_oi = -1; -static int hf_ieee80211_tag_roaming_consortium_oi1_len = -1; -static int hf_ieee80211_tag_roaming_consortium_oi2_len = -1; -static int hf_ieee80211_tag_roaming_consortium_oi1 = -1; -static int hf_ieee80211_tag_roaming_consortium_oi2 = -1; -static int hf_ieee80211_tag_roaming_consortium_oi3 = -1; +static int hf_ieee80211_tag_roaming_consortium_num_anqp_oi; +static int hf_ieee80211_tag_roaming_consortium_oi1_len; +static int hf_ieee80211_tag_roaming_consortium_oi2_len; +static int hf_ieee80211_tag_roaming_consortium_oi1; +static int hf_ieee80211_tag_roaming_consortium_oi2; +static int hf_ieee80211_tag_roaming_consortium_oi3; /* 802.11n 7.3.2.48 */ -static int hf_ieee80211_hta_cc = -1; -static int hf_ieee80211_hta_cap1 = -1; -static int hf_ieee80211_hta_cap2 = -1; -static int hf_ieee80211_hta_ext_chan_offset = -1; -static int hf_ieee80211_hta_rec_tx_width = -1; -static int hf_ieee80211_hta_rifs_mode = -1; -static int hf_ieee80211_hta_controlled_access = -1; -static int hf_ieee80211_hta_service_interval = -1; -static int hf_ieee80211_hta_operating_mode = -1; -static int hf_ieee80211_hta_non_gf_devices = -1; -static int hf_ieee80211_hta_basic_stbc_mcs = -1; -static int hf_ieee80211_hta_dual_stbc_protection = -1; -static int hf_ieee80211_hta_secondary_beacon = -1; -static int hf_ieee80211_hta_lsig_txop_protection = -1; -static int hf_ieee80211_hta_pco_active = -1; -static int hf_ieee80211_hta_pco_phase = -1; - -static int hf_ieee80211_antsel = -1; -static int hf_ieee80211_antsel_vs = -1; -static int hf_ieee80211_antsel_b0 = -1; -static int hf_ieee80211_antsel_b1 = -1; -static int hf_ieee80211_antsel_b2 = -1; -static int hf_ieee80211_antsel_b3 = -1; -static int hf_ieee80211_antsel_b4 = -1; -static int hf_ieee80211_antsel_b5 = -1; -static int hf_ieee80211_antsel_b6 = -1; -static int hf_ieee80211_antsel_b7 = -1; - -static int hf_ieee80211_rsn_version = -1; -static int hf_ieee80211_rsn_gcs = -1; -static int hf_ieee80211_rsn_gcs_oui = -1; -static int hf_ieee80211_rsn_gcs_type = -1; -static int hf_ieee80211_rsn_gcs_80211_type = -1; -static int hf_ieee80211_rsn_pcs_count = -1; -static int hf_ieee80211_rsn_pcs_list = -1; -static int hf_ieee80211_rsn_pcs = -1; -static int hf_ieee80211_rsn_pcs_oui = -1; -static int hf_ieee80211_rsn_pcs_80211_type = -1; -static int hf_ieee80211_rsn_pcs_type = -1; -static int hf_ieee80211_rsn_akms_count = -1; -static int hf_ieee80211_rsn_akms_list = -1; -static int hf_ieee80211_rsn_akms = -1; -static int hf_ieee80211_rsn_akms_oui = -1; -static int hf_ieee80211_rsn_akms_80211_type = -1; -static int hf_ieee80211_rsn_akms_type = -1; -static int hf_ieee80211_rsn_cap = -1; -static int hf_ieee80211_rsn_cap_preauth = -1; -static int hf_ieee80211_rsn_cap_no_pairwise = -1; -static int hf_ieee80211_rsn_cap_ptksa_replay_counter = -1; -static int hf_ieee80211_rsn_cap_gtksa_replay_counter = -1; -static int hf_ieee80211_rsn_cap_mfpr = -1; -static int hf_ieee80211_rsn_cap_mfpc = -1; -static int hf_ieee80211_rsn_cap_jmr = -1; -static int hf_ieee80211_rsn_cap_peerkey = -1; -static int hf_ieee80211_rsn_cap_extended_key_id_iaf = -1; -static int hf_ieee80211_rsn_cap_ocvc = -1; -static int hf_ieee80211_rsn_pmkid_count = -1; -static int hf_ieee80211_rsn_pmkid_list = -1; -static int hf_ieee80211_rsn_pmkid = -1; -static int hf_ieee80211_rsn_gmcs = -1; -static int hf_ieee80211_rsn_gmcs_oui = -1; -static int hf_ieee80211_rsn_gmcs_type = -1; -static int hf_ieee80211_rsn_gmcs_80211_type = -1; - -static int hf_ieee80211_wfa_ie_type = -1; -static int hf_ieee80211_wfa_ie_wpa_version = -1; -static int hf_ieee80211_wfa_ie_wpa_mcs = -1; -static int hf_ieee80211_wfa_ie_wpa_mcs_oui = -1; -static int hf_ieee80211_wfa_ie_wpa_mcs_type = -1; -static int hf_ieee80211_wfa_ie_wpa_mcs_wfa_type = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs_count = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs_list = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs_oui = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs_wfa_type = -1; -static int hf_ieee80211_wfa_ie_wpa_ucs_type = -1; -static int hf_ieee80211_wfa_ie_wpa_akms_count = -1; -static int hf_ieee80211_wfa_ie_wpa_akms_list = -1; -static int hf_ieee80211_wfa_ie_wpa_akms = -1; -static int hf_ieee80211_wfa_ie_wpa_akms_oui = -1; -static int hf_ieee80211_wfa_ie_wpa_akms_wfa_type = -1; -static int hf_ieee80211_wfa_ie_wpa_akms_type = -1; -static int hf_ieee80211_wfa_ie_wme_subtype = -1; -static int hf_ieee80211_wfa_ie_wme_version = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_max_sp_length = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_be = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_bk = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_vi = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_vo = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_sta_reserved = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_ap_u_apsd = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_ap_parameter_set_count = -1; -static int hf_ieee80211_wfa_ie_wme_qos_info_ap_reserved = -1; -static int hf_ieee80211_wfa_ie_wme_reserved = -1; -static int hf_ieee80211_wfa_ie_wme_ac_parameters = -1; -static int hf_ieee80211_wfa_ie_wme_acp_aci_aifsn = -1; -static int hf_ieee80211_wfa_ie_wme_acp_aci = -1; -static int hf_ieee80211_wfa_ie_wme_acp_acm = -1; -static int hf_ieee80211_wfa_ie_wme_acp_aifsn = -1; -static int hf_ieee80211_wfa_ie_wme_acp_reserved = -1; -static int hf_ieee80211_wfa_ie_wme_acp_ecw = -1; -static int hf_ieee80211_wfa_ie_wme_acp_ecw_max = -1; -static int hf_ieee80211_wfa_ie_wme_acp_ecw_min = -1; -static int hf_ieee80211_wfa_ie_wme_acp_cw_max = -1; -static int hf_ieee80211_wfa_ie_wme_acp_cw_min = -1; -static int hf_ieee80211_wfa_ie_wme_acp_txop_limit = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_tid = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_direction = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_psb = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_up = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_reserved = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_nor_msdu = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_max_msdu = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_min_srv = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_max_srv = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_inact_int = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_susp_int = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_srv_start = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_min_data = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_mean_data = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_peak_data = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_burst_size = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_delay_bound = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_min_phy = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_surplus = -1; -static int hf_ieee80211_wfa_ie_wme_tspec_medium = -1; -static int hf_ieee80211_wfa_ie_owe_bssid = -1; -static int hf_ieee80211_wfa_ie_owe_ssid_length = -1; -static int hf_ieee80211_wfa_ie_owe_ssid = -1; -static int hf_ieee80211_wfa_ie_owe_band_info = -1; -static int hf_ieee80211_wfa_ie_owe_channel_info = -1; -static int hf_ieee80211_wfa_ie_mbo_oce_attr = -1; -static int hf_ieee80211_wfa_ie_mbo_oce_attr_id = -1; -static int hf_ieee80211_wfa_ie_mbo_oce_attr_len = -1; -static int hf_ieee80211_wfa_ie_mbo_ap_cap = -1; -static int hf_ieee80211_wfa_ie_mbo_ap_cap_cell = -1; -static int hf_ieee80211_wfa_ie_mbo_ap_cap_reserved = -1; -static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_op_class =-1; -static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_chan = -1; -static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_pref = -1; -static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_reason = -1; -static int hf_ieee80211_wfa_ie_mbo_cellular_cap = -1; -static int hf_ieee80211_wfa_ie_mbo_assoc_disallow_reason = -1; -static int hf_ieee80211_wfa_ie_mbo_cellular_pref = -1; -static int hf_ieee80211_wfa_ie_mbo_transition_reason = -1; -static int hf_ieee80211_wfa_ie_mbo_transition_rej_reason = -1; -static int hf_ieee80211_wfa_ie_mbo_assoc_retry_delay = -1; -static int hf_ieee80211_wfa_ie_oce_cap_ctrl = -1; -static int hf_ieee80211_wfa_ie_oce_cap_release = -1; -static int hf_ieee80211_wfa_ie_oce_cap_sta_cfon = -1; -static int hf_ieee80211_wfa_ie_oce_cap_11b_only_ap = -1; -static int hf_ieee80211_wfa_ie_oce_cap_hlp = -1; -static int hf_ieee80211_wfa_ie_oce_cap_non_oce_ap = -1; -static int hf_ieee80211_wfa_ie_oce_cap_reserved = -1; -static int hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delta = -1; -static int hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delay = -1; -static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap = -1; -static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap_downlink = -1; -static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap_uplink = -1; -static int hf_ieee80211_wfa_ie_oce_rnr_completeness_short_ssid = -1; -static int hf_ieee80211_wfa_ie_oce_probe_suppr_bssid = -1; -static int hf_ieee80211_wfa_ie_oce_probe_suppr_ssid = -1; -static int hf_ieee80211_wfa_anqp_mbo_subtype = -1; -static int hf_ieee80211_wfa_anqp_mbo_query = -1; -static int hf_ieee80211_wfa_anqp_mbo_cellular_pref = -1; -static int hf_ieee80211_wfa_ie_transition_disable_bitmap = -1; -static int hf_ieee80211_wfa_ie_transition_disable_wpa3_personal = -1; -static int hf_ieee80211_wfa_ie_transition_disable_sae_pk = -1; -static int hf_ieee80211_wfa_ie_transition_disable_wpa3_enterprise = -1; -static int hf_ieee80211_wfa_ie_transition_disable_enhanced_open = -1; -static int hf_ieee80211_wfa_ie_transition_disable_reserved_b4thru7 = -1; -static int hf_ieee80211_wfa_ie_transition_disable_reserved= -1; - -static int hf_ieee80211_aironet_ie_type = -1; -static int hf_ieee80211_aironet_ie_dtpc = -1; -static int hf_ieee80211_aironet_ie_dtpc_unknown = -1; -static int hf_ieee80211_aironet_ie_version = -1; -static int hf_ieee80211_aironet_ie_data = -1; -static int hf_ieee80211_aironet_ie_qos_reserved = -1; -static int hf_ieee80211_aironet_ie_qos_paramset = -1; -static int hf_ieee80211_aironet_ie_qos_val = -1; -static int hf_ieee80211_aironet_ie_clientmfp = -1; - -static int hf_ieee80211_vs_sgdsn_tag = -1; -static int hf_ieee80211_vs_sgdsn_type = -1; -static int hf_ieee80211_vs_sgdsn_length = -1; -static int hf_ieee80211_vs_sgdsn_version = -1; -static int hf_ieee80211_vs_sgdsn_icaomfrcode = -1; -static int hf_ieee80211_vs_sgdsn_manufacturer = -1; -static int hf_ieee80211_vs_sgdsn_model = -1; -static int hf_ieee80211_vs_sgdsn_serialnumber = -1; -static int hf_ieee80211_vs_sgdsn_serialnumber_len = -1; -static int hf_ieee80211_vs_sgdsn_gpscoord = -1; -static int hf_ieee80211_vs_sgdsn_altitude = -1; -static int hf_ieee80211_vs_sgdsn_speed = -1; -static int hf_ieee80211_vs_sgdsn_heading = -1; - -static int hf_ieee80211_vs_nintendo_type = -1; -static int hf_ieee80211_vs_nintendo_length = -1; -static int hf_ieee80211_vs_nintendo_servicelist = -1; -static int hf_ieee80211_vs_nintendo_service = -1; -static int hf_ieee80211_vs_nintendo_consoleid = -1; -static int hf_ieee80211_vs_nintendo_unknown = -1; - -static int hf_ieee80211_vs_aruba_subtype = -1; -static int hf_ieee80211_vs_aruba_apname = -1; -static int hf_ieee80211_vs_aruba_data = -1; - -static int hf_ieee80211_vs_routerboard_unknown = -1; -static int hf_ieee80211_vs_routerboard_subitem = -1; -static int hf_ieee80211_vs_routerboard_subtype = -1; -static int hf_ieee80211_vs_routerboard_sublength = -1; -static int hf_ieee80211_vs_routerboard_subdata = -1; -static int hf_ieee80211_vs_routerboard_subtype1_prefix = -1; -static int hf_ieee80211_vs_routerboard_subtype1_data = -1; - -static int hf_ieee80211_vs_meru_subitem = -1; -static int hf_ieee80211_vs_meru_subtype = -1; -static int hf_ieee80211_vs_meru_sublength = -1; -static int hf_ieee80211_vs_meru_subdata = -1; - -static int hf_ieee80211_vs_extreme_subtype = -1; -static int hf_ieee80211_vs_extreme_subdata = -1; -static int hf_ieee80211_vs_extreme_unknown = -1; -static int hf_ieee80211_vs_extreme_ap_length = -1; -static int hf_ieee80211_vs_extreme_ap_name = -1; - -static int hf_ieee80211_vs_aerohive_version = -1; -static int hf_ieee80211_vs_aerohive_subtype = -1; -static int hf_ieee80211_vs_aerohive_hostname_length = -1; -static int hf_ieee80211_vs_aerohive_hostname = -1; -static int hf_ieee80211_vs_aerohive_data = -1; - -static int hf_ieee80211_vs_mist_ap_name = -1; -static int hf_ieee80211_vs_mist_data = -1; - -static int hf_ieee80211_vs_ruckus_ap_name = -1; -static int hf_ieee80211_vs_ruckus_data = -1; - -static int hf_ieee80211_vs_alcatel_ap_name = -1; -static int hf_ieee80211_vs_alcatel_data = -1; - -static int hf_ieee80211_vs_fortinet_subtype = -1; -static int hf_ieee80211_vs_fortinet_system_type = -1; -static int hf_ieee80211_vs_fortinet_system_length = -1; -static int hf_ieee80211_vs_fortinet_system_apname = -1; -static int hf_ieee80211_vs_fortinet_system_apmodel = -1; -static int hf_ieee80211_vs_fortinet_system_apserial = -1; -static int hf_ieee80211_vs_fortinet_data = -1; - -static int hf_ieee80211_vs_arista_subtype = -1; -static int hf_ieee80211_vs_arista_apname = -1; -static int hf_ieee80211_vs_arista_data = -1; - -static int hf_ieee80211_vs_wisun_type = -1; -static int hf_ieee80211_vs_wisun_ptkid = -1; -static int hf_ieee80211_vs_wisun_gtkl = -1; -static int hf_ieee80211_vs_wisun_gtkl_gtk0 = -1; -static int hf_ieee80211_vs_wisun_gtkl_gtk1 = -1; -static int hf_ieee80211_vs_wisun_gtkl_gtk2 = -1; -static int hf_ieee80211_vs_wisun_gtkl_gtk3 = -1; -static int hf_ieee80211_vs_wisun_nr = -1; -static int hf_ieee80211_vs_wisun_lgtkl = -1; -static int hf_ieee80211_vs_wisun_lgtkl_lgtk0 = -1; -static int hf_ieee80211_vs_wisun_lgtkl_lgtk1 = -1; -static int hf_ieee80211_vs_wisun_lgtkl_lgtk2 = -1; -static int hf_ieee80211_vs_wisun_lgtk_key_id = -1; -static int hf_ieee80211_vs_wisun_lgtk_lgtk = -1; -static int hf_ieee80211_vs_wisun_data = -1; - -static int hf_ieee80211_rsn_ie_ptk_keyid = -1; - -static int hf_ieee80211_rsn_ie_gtk_kde_data_type = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_key_id = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_tx = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_reserved1 = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_reserved2 = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_gtk = -1; - -static int hf_ieee80211_rsn_ie_mac_address_kde_mac = -1; - -static int hf_ieee80211_rsn_ie_pmkid = -1; - -static int hf_ieee80211_rsn_ie_unknown = -1; - -static int hf_ieee80211_rsn_ie_gtk_kde_nonce = -1; -static int hf_ieee80211_rsn_ie_gtk_kde_lifetime = -1; -static int hf_ieee80211_rsn_ie_error_kde_res = -1; -static int hf_ieee80211_rsn_ie_error_kde_error_type = -1; -static int hf_ieee80211_rsn_ie_igtk_kde_keyid = -1; -static int hf_ieee80211_rsn_ie_igtk_kde_ipn = -1; -static int hf_ieee80211_rsn_ie_igtk_kde_igtk = -1; -static int hf_ieee80211_rsn_ie_oci_operating_class = -1; -static int hf_ieee80211_rsn_ie_oci_primary_channel_number = -1; -static int hf_ieee80211_rsn_ie_oci_frequency_segment_1 = -1; -static int hf_ieee80211_rsn_ie_bigtk_key_id = -1; -static int hf_ieee80211_rsn_ie_bigtk_bipn = -1; -static int hf_ieee80211_rsn_ie_bigtk_bigtk = -1; -static int hf_ieee80211_rsn_ie_mlo_link_info = -1; -static int hf_ieee80211_rsn_ie_mlo_linkid = -1; -static int hf_ieee80211_rsn_ie_mlo_rnse_present = -1; -static int hf_ieee80211_rsn_ie_mlo_rnsxe_present = -1; -static int hf_ieee80211_rsn_ie_mlo_reserved = -1; -static int hf_ieee80211_rsn_ie_mlo_mac_addr = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_key_id = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_tx = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_reserved = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_linkid = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_pn = -1; -static int hf_ieee80211_rsn_ie_mlo_gtk_kde_gtk = -1; - -static int hf_ieee80211_rsn_ie_mlo_igtk_kde_key_id = -1; -static int hf_ieee80211_rsn_ie_mlo_igtk_kde_ipn = -1; -static int hf_ieee80211_rsn_ie_mlo_igtk_kde_reserved = -1; -static int hf_ieee80211_rsn_ie_mlo_igtk_kde_linkid = -1; -static int hf_ieee80211_rsn_ie_mlo_igtk_kde_igtk = -1; - -static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_key_id = -1; -static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_ipn = -1; -static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_reserved = -1; -static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_linkid = -1; -static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_bigtk = -1; - -static int hf_ieee80211_marvell_ie_type = -1; -static int hf_ieee80211_marvell_ie_mesh_subtype = -1; -static int hf_ieee80211_marvell_ie_mesh_version = -1; -static int hf_ieee80211_marvell_ie_mesh_active_proto_id = -1; -static int hf_ieee80211_marvell_ie_mesh_active_metric_id = -1; -static int hf_ieee80211_marvell_ie_mesh_cap = -1; -static int hf_ieee80211_marvell_ie_data = -1; - -static int hf_ieee80211_extreme_mesh_ie_type = -1; -static int hf_ieee80211_extreme_mesh_ie_services = -1; -static int hf_ieee80211_extreme_mesh_ie_hello_f_root = -1; -static int hf_ieee80211_extreme_mesh_ie_hello_f_proxy = -1; -static int hf_ieee80211_extreme_mesh_ie_hello_f_geo = -1; -static int hf_ieee80211_extreme_mesh_ie_hello_f_path_pref = -1; -static int hf_ieee80211_extreme_mesh_ie_hello_f_mobile = -1; -static int hf_ieee80211_extreme_mesh_ie_htr = -1; -static int hf_ieee80211_extreme_mesh_ie_mtr = -1; -static int hf_ieee80211_extreme_mesh_ie_root = -1; -static int hf_ieee80211_extreme_mesh_ie_nh = -1; -static int hf_ieee80211_extreme_mesh_ie_mesh_id = -1; -static int hf_ieee80211_extreme_mesh_ie_mp_id = -1; - -static int hf_ieee80211_atheros_ie_type = -1; -static int hf_ieee80211_atheros_ie_subtype = -1; -static int hf_ieee80211_atheros_ie_version = -1; -static int hf_ieee80211_atheros_ie_cap_f_turbop = -1; -static int hf_ieee80211_atheros_ie_cap_f_comp = -1; -static int hf_ieee80211_atheros_ie_cap_f_ff = -1; -static int hf_ieee80211_atheros_ie_cap_f_xr = -1; -static int hf_ieee80211_atheros_ie_cap_f_ar = -1; -static int hf_ieee80211_atheros_ie_cap_f_burst = -1; -static int hf_ieee80211_atheros_ie_cap_f_wme = -1; -static int hf_ieee80211_atheros_ie_cap_f_boost = -1; -static int hf_ieee80211_atheros_ie_advcap_cap = -1; -static int hf_ieee80211_atheros_ie_advcap_defkey = -1; -static int hf_ieee80211_atheros_ie_xr_info = -1; -static int hf_ieee80211_atheros_ie_xr_base_bssid = -1; -static int hf_ieee80211_atheros_ie_xr_xr_bssid = -1; -static int hf_ieee80211_atheros_ie_xr_xr_beacon = -1; -static int hf_ieee80211_atheros_ie_xr_base_cap = -1; -static int hf_ieee80211_atheros_ie_xr_xr_cap = -1; -static int hf_ieee80211_atheros_ie_data = -1; +static int hf_ieee80211_hta_cc; +static int hf_ieee80211_hta_cap1; +static int hf_ieee80211_hta_cap2; +static int hf_ieee80211_hta_ext_chan_offset; +static int hf_ieee80211_hta_rec_tx_width; +static int hf_ieee80211_hta_rifs_mode; +static int hf_ieee80211_hta_controlled_access; +static int hf_ieee80211_hta_service_interval; +static int hf_ieee80211_hta_operating_mode; +static int hf_ieee80211_hta_non_gf_devices; +static int hf_ieee80211_hta_basic_stbc_mcs; +static int hf_ieee80211_hta_dual_stbc_protection; +static int hf_ieee80211_hta_secondary_beacon; +static int hf_ieee80211_hta_lsig_txop_protection; +static int hf_ieee80211_hta_pco_active; +static int hf_ieee80211_hta_pco_phase; + +static int hf_ieee80211_antsel; +static int hf_ieee80211_antsel_vs; +static int hf_ieee80211_antsel_b0; +static int hf_ieee80211_antsel_b1; +static int hf_ieee80211_antsel_b2; +static int hf_ieee80211_antsel_b3; +static int hf_ieee80211_antsel_b4; +static int hf_ieee80211_antsel_b5; +static int hf_ieee80211_antsel_b6; +static int hf_ieee80211_antsel_b7; + +static int hf_ieee80211_rsn_version; +static int hf_ieee80211_rsn_gcs; +static int hf_ieee80211_rsn_gcs_oui; +static int hf_ieee80211_rsn_gcs_type; +static int hf_ieee80211_rsn_gcs_80211_type; +static int hf_ieee80211_rsn_pcs_count; +static int hf_ieee80211_rsn_pcs_list; +static int hf_ieee80211_rsn_pcs; +static int hf_ieee80211_rsn_pcs_oui; +static int hf_ieee80211_rsn_pcs_80211_type; +static int hf_ieee80211_rsn_pcs_type; +static int hf_ieee80211_rsn_akms_count; +static int hf_ieee80211_rsn_akms_list; +static int hf_ieee80211_rsn_akms; +static int hf_ieee80211_rsn_akms_oui; +static int hf_ieee80211_rsn_akms_80211_type; +static int hf_ieee80211_rsn_akms_type; +static int hf_ieee80211_rsn_cap; +static int hf_ieee80211_rsn_cap_preauth; +static int hf_ieee80211_rsn_cap_no_pairwise; +static int hf_ieee80211_rsn_cap_ptksa_replay_counter; +static int hf_ieee80211_rsn_cap_gtksa_replay_counter; +static int hf_ieee80211_rsn_cap_mfpr; +static int hf_ieee80211_rsn_cap_mfpc; +static int hf_ieee80211_rsn_cap_jmr; +static int hf_ieee80211_rsn_cap_peerkey; +static int hf_ieee80211_rsn_cap_extended_key_id_iaf; +static int hf_ieee80211_rsn_cap_ocvc; +static int hf_ieee80211_rsn_pmkid_count; +static int hf_ieee80211_rsn_pmkid_list; +static int hf_ieee80211_rsn_pmkid; +static int hf_ieee80211_rsn_gmcs; +static int hf_ieee80211_rsn_gmcs_oui; +static int hf_ieee80211_rsn_gmcs_type; +static int hf_ieee80211_rsn_gmcs_80211_type; + +static int hf_ieee80211_wfa_ie_type; +static int hf_ieee80211_wfa_ie_wpa_version; +static int hf_ieee80211_wfa_ie_wpa_mcs; +static int hf_ieee80211_wfa_ie_wpa_mcs_oui; +static int hf_ieee80211_wfa_ie_wpa_mcs_type; +static int hf_ieee80211_wfa_ie_wpa_mcs_wfa_type; +static int hf_ieee80211_wfa_ie_wpa_ucs_count; +static int hf_ieee80211_wfa_ie_wpa_ucs_list; +static int hf_ieee80211_wfa_ie_wpa_ucs; +static int hf_ieee80211_wfa_ie_wpa_ucs_oui; +static int hf_ieee80211_wfa_ie_wpa_ucs_wfa_type; +static int hf_ieee80211_wfa_ie_wpa_ucs_type; +static int hf_ieee80211_wfa_ie_wpa_akms_count; +static int hf_ieee80211_wfa_ie_wpa_akms_list; +static int hf_ieee80211_wfa_ie_wpa_akms; +static int hf_ieee80211_wfa_ie_wpa_akms_oui; +static int hf_ieee80211_wfa_ie_wpa_akms_wfa_type; +static int hf_ieee80211_wfa_ie_wpa_akms_type; +static int hf_ieee80211_wfa_ie_wme_subtype; +static int hf_ieee80211_wfa_ie_wme_version; +static int hf_ieee80211_wfa_ie_wme_qos_info; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_max_sp_length; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_be; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_bk; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_vi; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_ac_vo; +static int hf_ieee80211_wfa_ie_wme_qos_info_sta_reserved; +static int hf_ieee80211_wfa_ie_wme_qos_info_ap_u_apsd; +static int hf_ieee80211_wfa_ie_wme_qos_info_ap_parameter_set_count; +static int hf_ieee80211_wfa_ie_wme_qos_info_ap_reserved; +static int hf_ieee80211_wfa_ie_wme_reserved; +static int hf_ieee80211_wfa_ie_wme_ac_parameters; +static int hf_ieee80211_wfa_ie_wme_acp_aci_aifsn; +static int hf_ieee80211_wfa_ie_wme_acp_aci_be; +static int hf_ieee80211_wfa_ie_wme_acp_acm_be; +static int hf_ieee80211_wfa_ie_wme_acp_aifsn_be; +static int hf_ieee80211_wfa_ie_wme_acp_reserved_be; +static int hf_ieee80211_wfa_ie_wme_acp_aci_bk; +static int hf_ieee80211_wfa_ie_wme_acp_acm_bk; +static int hf_ieee80211_wfa_ie_wme_acp_aifsn_bk; +static int hf_ieee80211_wfa_ie_wme_acp_reserved_bk; +static int hf_ieee80211_wfa_ie_wme_acp_aci_vi; +static int hf_ieee80211_wfa_ie_wme_acp_acm_vi; +static int hf_ieee80211_wfa_ie_wme_acp_aifsn_vi; +static int hf_ieee80211_wfa_ie_wme_acp_reserved_vi; +static int hf_ieee80211_wfa_ie_wme_acp_aci_vo; +static int hf_ieee80211_wfa_ie_wme_acp_acm_vo; +static int hf_ieee80211_wfa_ie_wme_acp_aifsn_vo; +static int hf_ieee80211_wfa_ie_wme_acp_reserved_vo; +static int hf_ieee80211_wfa_ie_wme_acp_ecw; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_max_be; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_max_bk; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_max_vo; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_max_vi; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_min_be; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_min_bk; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_min_vo; +static int hf_ieee80211_wfa_ie_wme_acp_ecw_min_vi; +static int hf_ieee80211_wfa_ie_wme_acp_txop_limit_be; +static int hf_ieee80211_wfa_ie_wme_acp_txop_limit_bk; +static int hf_ieee80211_wfa_ie_wme_acp_txop_limit_vo; +static int hf_ieee80211_wfa_ie_wme_acp_txop_limit_vi; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_tid; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_direction; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_psb; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_up; +static int hf_ieee80211_wfa_ie_wme_tspec_tsinfo_reserved; +static int hf_ieee80211_wfa_ie_wme_tspec_nor_msdu; +static int hf_ieee80211_wfa_ie_wme_tspec_max_msdu; +static int hf_ieee80211_wfa_ie_wme_tspec_min_srv; +static int hf_ieee80211_wfa_ie_wme_tspec_max_srv; +static int hf_ieee80211_wfa_ie_wme_tspec_inact_int; +static int hf_ieee80211_wfa_ie_wme_tspec_susp_int; +static int hf_ieee80211_wfa_ie_wme_tspec_srv_start; +static int hf_ieee80211_wfa_ie_wme_tspec_min_data; +static int hf_ieee80211_wfa_ie_wme_tspec_mean_data; +static int hf_ieee80211_wfa_ie_wme_tspec_peak_data; +static int hf_ieee80211_wfa_ie_wme_tspec_burst_size; +static int hf_ieee80211_wfa_ie_wme_tspec_delay_bound; +static int hf_ieee80211_wfa_ie_wme_tspec_min_phy; +static int hf_ieee80211_wfa_ie_wme_tspec_surplus; +static int hf_ieee80211_wfa_ie_wme_tspec_medium; +static int hf_ieee80211_wfa_ie_owe_bssid; +static int hf_ieee80211_wfa_ie_owe_ssid_length; +static int hf_ieee80211_wfa_ie_owe_ssid; +static int hf_ieee80211_wfa_ie_owe_band_info; +static int hf_ieee80211_wfa_ie_owe_channel_info; +static int hf_ieee80211_wfa_ie_mbo_oce_attr; +static int hf_ieee80211_wfa_ie_mbo_oce_attr_id; +static int hf_ieee80211_wfa_ie_mbo_oce_attr_len; +static int hf_ieee80211_wfa_ie_mbo_ap_cap; +static int hf_ieee80211_wfa_ie_mbo_ap_cap_cell; +static int hf_ieee80211_wfa_ie_mbo_ap_cap_reserved; +static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_op_class; +static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_chan; +static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_pref; +static int hf_ieee80211_wfa_ie_mbo_non_pref_chan_reason; +static int hf_ieee80211_wfa_ie_mbo_cellular_cap; +static int hf_ieee80211_wfa_ie_mbo_assoc_disallow_reason; +static int hf_ieee80211_wfa_ie_mbo_cellular_pref; +static int hf_ieee80211_wfa_ie_mbo_transition_reason; +static int hf_ieee80211_wfa_ie_mbo_transition_rej_reason; +static int hf_ieee80211_wfa_ie_mbo_assoc_retry_delay; +static int hf_ieee80211_wfa_ie_oce_cap_ctrl; +static int hf_ieee80211_wfa_ie_oce_cap_release; +static int hf_ieee80211_wfa_ie_oce_cap_sta_cfon; +static int hf_ieee80211_wfa_ie_oce_cap_11b_only_ap; +static int hf_ieee80211_wfa_ie_oce_cap_hlp; +static int hf_ieee80211_wfa_ie_oce_cap_non_oce_ap; +static int hf_ieee80211_wfa_ie_oce_cap_reserved; +static int hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delta; +static int hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delay; +static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap; +static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap_downlink; +static int hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap_uplink; +static int hf_ieee80211_wfa_ie_oce_rnr_completeness_short_ssid; +static int hf_ieee80211_wfa_ie_oce_probe_suppr_bssid; +static int hf_ieee80211_wfa_ie_oce_probe_suppr_ssid; +static int hf_ieee80211_wfa_anqp_mbo_subtype; +static int hf_ieee80211_wfa_anqp_mbo_query; +static int hf_ieee80211_wfa_anqp_mbo_cellular_pref; +static int hf_ieee80211_wfa_ie_transition_disable_bitmap; +static int hf_ieee80211_wfa_ie_transition_disable_wpa3_personal; +static int hf_ieee80211_wfa_ie_transition_disable_sae_pk; +static int hf_ieee80211_wfa_ie_transition_disable_wpa3_enterprise; +static int hf_ieee80211_wfa_ie_transition_disable_enhanced_open; +static int hf_ieee80211_wfa_ie_transition_disable_reserved_b4thru7; +static int hf_ieee80211_wfa_ie_transition_disable_reserved; + +static int hf_ieee80211_aironet_ie_type; +static int hf_ieee80211_aironet_ie_dtpc; +static int hf_ieee80211_aironet_ie_dtpc_unknown; +static int hf_ieee80211_aironet_ie_version; +static int hf_ieee80211_aironet_ie_data; +static int hf_ieee80211_aironet_ie_qos_reserved; +static int hf_ieee80211_aironet_ie_qos_paramset; +static int hf_ieee80211_aironet_ie_qos_val; +static int hf_ieee80211_aironet_ie_clientmfp; + +static int hf_ieee80211_vs_sgdsn_tag; +static int hf_ieee80211_vs_sgdsn_type; +static int hf_ieee80211_vs_sgdsn_length; +static int hf_ieee80211_vs_sgdsn_version; +static int hf_ieee80211_vs_sgdsn_icaomfrcode; +static int hf_ieee80211_vs_sgdsn_manufacturer; +static int hf_ieee80211_vs_sgdsn_model; +static int hf_ieee80211_vs_sgdsn_serialnumber; +static int hf_ieee80211_vs_sgdsn_serialnumber_len; +static int hf_ieee80211_vs_sgdsn_gpscoord; +static int hf_ieee80211_vs_sgdsn_altitude; +static int hf_ieee80211_vs_sgdsn_speed; +static int hf_ieee80211_vs_sgdsn_heading; + +static int hf_ieee80211_vs_nintendo_type; +static int hf_ieee80211_vs_nintendo_length; +static int hf_ieee80211_vs_nintendo_servicelist; +static int hf_ieee80211_vs_nintendo_service; +static int hf_ieee80211_vs_nintendo_consoleid; +static int hf_ieee80211_vs_nintendo_unknown; + +static int hf_ieee80211_vs_aruba_subtype; +static int hf_ieee80211_vs_aruba_apname; +static int hf_ieee80211_vs_aruba_data; + +static int hf_ieee80211_vs_routerboard_unknown; +static int hf_ieee80211_vs_routerboard_subitem; +static int hf_ieee80211_vs_routerboard_subtype; +static int hf_ieee80211_vs_routerboard_sublength; +static int hf_ieee80211_vs_routerboard_subdata; +static int hf_ieee80211_vs_routerboard_subtype1_prefix; +static int hf_ieee80211_vs_routerboard_subtype1_data; + +static int hf_ieee80211_vs_meru_subitem; +static int hf_ieee80211_vs_meru_subtype; +static int hf_ieee80211_vs_meru_sublength; +static int hf_ieee80211_vs_meru_subdata; + +static int hf_ieee80211_vs_extreme_subtype; +static int hf_ieee80211_vs_extreme_subdata; +static int hf_ieee80211_vs_extreme_unknown; +static int hf_ieee80211_vs_extreme_ap_length; +static int hf_ieee80211_vs_extreme_ap_name; + +static int hf_ieee80211_vs_aerohive_version; +static int hf_ieee80211_vs_aerohive_subtype; +static int hf_ieee80211_vs_aerohive_hostname_length; +static int hf_ieee80211_vs_aerohive_hostname; +static int hf_ieee80211_vs_aerohive_data; + +static int hf_ieee80211_vs_mist_ap_name; +static int hf_ieee80211_vs_mist_data; + +static int hf_ieee80211_vs_ruckus_ap_name; +static int hf_ieee80211_vs_ruckus_data; + +static int hf_ieee80211_vs_alcatel_ap_name; +static int hf_ieee80211_vs_alcatel_data; + +static int hf_ieee80211_vs_fortinet_subtype; +static int hf_ieee80211_vs_fortinet_system_type; +static int hf_ieee80211_vs_fortinet_system_length; +static int hf_ieee80211_vs_fortinet_system_apname; +static int hf_ieee80211_vs_fortinet_system_apmodel; +static int hf_ieee80211_vs_fortinet_system_apserial; +static int hf_ieee80211_vs_fortinet_data; + +static int hf_ieee80211_vs_arista_subtype; +static int hf_ieee80211_vs_arista_apname; +static int hf_ieee80211_vs_arista_data; + +static int hf_ieee80211_vs_wisun_type; +static int hf_ieee80211_vs_wisun_ptkid; +static int hf_ieee80211_vs_wisun_gtkl; +static int hf_ieee80211_vs_wisun_gtkl_gtk0; +static int hf_ieee80211_vs_wisun_gtkl_gtk1; +static int hf_ieee80211_vs_wisun_gtkl_gtk2; +static int hf_ieee80211_vs_wisun_gtkl_gtk3; +static int hf_ieee80211_vs_wisun_nr; +static int hf_ieee80211_vs_wisun_lgtkl; +static int hf_ieee80211_vs_wisun_lgtkl_lgtk0; +static int hf_ieee80211_vs_wisun_lgtkl_lgtk1; +static int hf_ieee80211_vs_wisun_lgtkl_lgtk2; +static int hf_ieee80211_vs_wisun_lgtk_key_id; +static int hf_ieee80211_vs_wisun_lgtk_lgtk; +static int hf_ieee80211_vs_wisun_data; + +static int hf_ieee80211_rsn_ie_ptk_keyid; + +static int hf_ieee80211_rsn_ie_gtk_kde_data_type; +static int hf_ieee80211_rsn_ie_gtk_kde_key_id; +static int hf_ieee80211_rsn_ie_gtk_kde_tx; +static int hf_ieee80211_rsn_ie_gtk_kde_reserved1; +static int hf_ieee80211_rsn_ie_gtk_kde_reserved2; +static int hf_ieee80211_rsn_ie_gtk_kde_gtk; + +static int hf_ieee80211_rsn_ie_mac_address_kde_mac; + +static int hf_ieee80211_rsn_ie_pmkid; + +static int hf_ieee80211_rsn_ie_unknown; + +static int hf_ieee80211_rsn_ie_gtk_kde_nonce; +static int hf_ieee80211_rsn_ie_gtk_kde_lifetime; +static int hf_ieee80211_rsn_ie_error_kde_res; +static int hf_ieee80211_rsn_ie_error_kde_error_type; +static int hf_ieee80211_rsn_ie_igtk_kde_keyid; +static int hf_ieee80211_rsn_ie_igtk_kde_ipn; +static int hf_ieee80211_rsn_ie_igtk_kde_igtk; +static int hf_ieee80211_rsn_ie_oci_operating_class; +static int hf_ieee80211_rsn_ie_oci_primary_channel_number; +static int hf_ieee80211_rsn_ie_oci_frequency_segment_1; +static int hf_ieee80211_rsn_ie_bigtk_key_id; +static int hf_ieee80211_rsn_ie_bigtk_bipn; +static int hf_ieee80211_rsn_ie_bigtk_bigtk; +static int hf_ieee80211_rsn_ie_mlo_link_info; +static int hf_ieee80211_rsn_ie_mlo_linkid; +static int hf_ieee80211_rsn_ie_mlo_rnse_present; +static int hf_ieee80211_rsn_ie_mlo_rnsxe_present; +static int hf_ieee80211_rsn_ie_mlo_reserved; +static int hf_ieee80211_rsn_ie_mlo_mac_addr; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_key_id; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_tx; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_reserved; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_linkid; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_pn; +static int hf_ieee80211_rsn_ie_mlo_gtk_kde_gtk; + +static int hf_ieee80211_rsn_ie_mlo_igtk_kde_key_id; +static int hf_ieee80211_rsn_ie_mlo_igtk_kde_ipn; +static int hf_ieee80211_rsn_ie_mlo_igtk_kde_reserved; +static int hf_ieee80211_rsn_ie_mlo_igtk_kde_linkid; +static int hf_ieee80211_rsn_ie_mlo_igtk_kde_igtk; + +static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_key_id; +static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_ipn; +static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_reserved; +static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_linkid; +static int hf_ieee80211_rsn_ie_mlo_bigtk_kde_bigtk; + +static int hf_ieee80211_marvell_ie_type; +static int hf_ieee80211_marvell_ie_mesh_subtype; +static int hf_ieee80211_marvell_ie_mesh_version; +static int hf_ieee80211_marvell_ie_mesh_active_proto_id; +static int hf_ieee80211_marvell_ie_mesh_active_metric_id; +static int hf_ieee80211_marvell_ie_mesh_cap; +static int hf_ieee80211_marvell_ie_data; + +static int hf_ieee80211_extreme_mesh_ie_type; +static int hf_ieee80211_extreme_mesh_ie_services; +static int hf_ieee80211_extreme_mesh_ie_hello_f_root; +static int hf_ieee80211_extreme_mesh_ie_hello_f_proxy; +static int hf_ieee80211_extreme_mesh_ie_hello_f_geo; +static int hf_ieee80211_extreme_mesh_ie_hello_f_path_pref; +static int hf_ieee80211_extreme_mesh_ie_hello_f_mobile; +static int hf_ieee80211_extreme_mesh_ie_htr; +static int hf_ieee80211_extreme_mesh_ie_mtr; +static int hf_ieee80211_extreme_mesh_ie_root; +static int hf_ieee80211_extreme_mesh_ie_nh; +static int hf_ieee80211_extreme_mesh_ie_mesh_id; +static int hf_ieee80211_extreme_mesh_ie_mp_id; + +static int hf_ieee80211_atheros_ie_type; +static int hf_ieee80211_atheros_ie_subtype; +static int hf_ieee80211_atheros_ie_version; +static int hf_ieee80211_atheros_ie_cap_f_turbop; +static int hf_ieee80211_atheros_ie_cap_f_comp; +static int hf_ieee80211_atheros_ie_cap_f_ff; +static int hf_ieee80211_atheros_ie_cap_f_xr; +static int hf_ieee80211_atheros_ie_cap_f_ar; +static int hf_ieee80211_atheros_ie_cap_f_burst; +static int hf_ieee80211_atheros_ie_cap_f_wme; +static int hf_ieee80211_atheros_ie_cap_f_boost; +static int hf_ieee80211_atheros_ie_advcap_cap; +static int hf_ieee80211_atheros_ie_advcap_defkey; +static int hf_ieee80211_atheros_ie_xr_info; +static int hf_ieee80211_atheros_ie_xr_base_bssid; +static int hf_ieee80211_atheros_ie_xr_xr_bssid; +static int hf_ieee80211_atheros_ie_xr_xr_beacon; +static int hf_ieee80211_atheros_ie_xr_base_cap; +static int hf_ieee80211_atheros_ie_xr_xr_cap; +static int hf_ieee80211_atheros_ie_data; /*QBSS - Version 1,2,802.11e*/ -static int hf_ieee80211_qbss2_cal = -1; -static int hf_ieee80211_qbss2_gl = -1; -static int hf_ieee80211_qbss_cu = -1; -static int hf_ieee80211_qbss2_cu = -1; -static int hf_ieee80211_qbss_scount = -1; -static int hf_ieee80211_qbss2_scount = -1; -static int hf_ieee80211_qbss_version = -1; -static int hf_ieee80211_qbss_adc = -1; - -static int hf_ieee80211_tsinfo = -1; -static int hf_ieee80211_tsinfo_type = -1; -static int hf_ieee80211_tsinfo_tsid = -1; -static int hf_ieee80211_tsinfo_dir = -1; -static int hf_ieee80211_tsinfo_access = -1; -static int hf_ieee80211_tsinfo_agg = -1; -static int hf_ieee80211_tsinfo_apsd = -1; -static int hf_ieee80211_tsinfo_up = -1; -static int hf_ieee80211_tsinfo_ack = -1; -static int hf_ieee80211_tsinfo_sched = -1; -static int hf_ieee80211_tsinfo_rsv = -1; +static int hf_ieee80211_qbss2_cal; +static int hf_ieee80211_qbss2_gl; +static int hf_ieee80211_qbss_cu; +static int hf_ieee80211_qbss2_cu; +static int hf_ieee80211_qbss_scount; +static int hf_ieee80211_qbss2_scount; +static int hf_ieee80211_qbss_version; +static int hf_ieee80211_qbss_adc; + +static int hf_ieee80211_tsinfo; +static int hf_ieee80211_tsinfo_type; +static int hf_ieee80211_tsinfo_tsid; +static int hf_ieee80211_tsinfo_dir; +static int hf_ieee80211_tsinfo_access; +static int hf_ieee80211_tsinfo_agg; +static int hf_ieee80211_tsinfo_apsd; +static int hf_ieee80211_tsinfo_up; +static int hf_ieee80211_tsinfo_ack; +static int hf_ieee80211_tsinfo_sched; +static int hf_ieee80211_tsinfo_rsv; static int * const ieee80211_tsinfo_fields[] = { &hf_ieee80211_tsinfo_type, @@ -6844,435 +6951,435 @@ static int * const ieee80211_tsinfo_fields[] = { NULL }; -static int hf_ieee80211_tspec_nor_msdu = -1; -static int hf_ieee80211_tspec_max_msdu = -1; -static int hf_ieee80211_tspec_min_srv = -1; -static int hf_ieee80211_tspec_max_srv = -1; -static int hf_ieee80211_tspec_inact_int = -1; -static int hf_ieee80211_tspec_susp_int = -1; -static int hf_ieee80211_tspec_srv_start = -1; -static int hf_ieee80211_tspec_min_data = -1; -static int hf_ieee80211_tspec_mean_data = -1; -static int hf_ieee80211_tspec_peak_data = -1; -static int hf_ieee80211_tspec_burst_size = -1; -static int hf_ieee80211_tspec_delay_bound = -1; -static int hf_ieee80211_tspec_min_phy = -1; -static int hf_ieee80211_tspec_surplus = -1; -static int hf_ieee80211_tspec_medium = -1; -static int hf_ieee80211_tspec_dmg = -1; -static int hf_ieee80211_ts_delay = -1; -static int hf_ieee80211_tclas_process = -1; -static int hf_ieee80211_tag_ext_supp_rates = -1; -static int hf_ieee80211_sched_info = -1; -static int hf_ieee80211_sched_info_agg = -1; -static int hf_ieee80211_sched_info_tsid = -1; -static int hf_ieee80211_sched_info_dir = -1; -static int hf_ieee80211_sched_srv_start = -1; -static int hf_ieee80211_sched_srv_int = -1; -static int hf_ieee80211_sched_spec_int = -1; -static int hf_ieee80211_tclas_up = -1; -static int hf_ieee80211_tclas_class_type = -1; -static int hf_ieee80211_tclas_class_mask = -1; -static int hf_ieee80211_tclas_mask_reserved = -1; -static int hf_ieee80211_tclas_class_mask0_src_addr = -1; -static int hf_ieee80211_tclas_class_mask0_dst_addr = -1; -static int hf_ieee80211_tclas_class_mask0_type = -1; -static int hf_ieee80211_tclas_class_mask1_ver = -1; -static int hf_ieee80211_tclas_class_mask1_src_ip = -1; -static int hf_ieee80211_tclas_class_mask1_dst_ip = -1; -static int hf_ieee80211_tclas_class_mask1_src_port = -1; -static int hf_ieee80211_tclas_class_mask1_dst_port = -1; -static int hf_ieee80211_tclas_class_mask1_ipv4_dscp = -1; -static int hf_ieee80211_tclas_class_mask1_ipv4_proto = -1; -static int hf_ieee80211_tclas_class_mask1_reserved = -1; -static int hf_ieee80211_tclas_class_mask1_ipv6_flow = -1; -static int hf_ieee80211_tclas_class_mask2_tci = -1; -static int hf_ieee80211_tclas_src_mac_addr = -1; -static int hf_ieee80211_tclas_dst_mac_addr = -1; -static int hf_ieee80211_tclas_ether_type = -1; -static int hf_ieee80211_tclas_version = -1; -static int hf_ieee80211_tclas_ipv4_src = -1; -static int hf_ieee80211_tclas_ipv4_dst = -1; -static int hf_ieee80211_tclas_src_port = -1; -static int hf_ieee80211_tclas_dst_port = -1; -static int hf_ieee80211_tclas_dscp = -1; -static int hf_ieee80211_tclas_protocol = -1; -static int hf_ieee80211_tclas_ipv6_src = -1; -static int hf_ieee80211_tclas_ipv6_dst = -1; -static int hf_ieee80211_tclas_flow = -1; -static int hf_ieee80211_tclas_tag_type = -1; -static int hf_ieee80211_tclas_filter_offset = -1; -static int hf_ieee80211_tclas_filter_value = -1; -static int hf_ieee80211_tclas_filter_mask = -1; -static int hf_ieee80211_tclas4_version = -1; -static int hf_ieee80211_tclas_class_mask4_ver = -1; -static int hf_ieee80211_tclas_class_mask4_4_src_ip = -1; -static int hf_ieee80211_tclas_class_mask4_4_dst_ip = -1; -static int hf_ieee80211_tclas_class_mask4_src_port = -1; -static int hf_ieee80211_tclas_class_mask4_dst_port = -1; -static int hf_ieee80211_tclas_class_mask4_dscp = -1; -static int hf_ieee80211_tclas_class_mask4_ipv4_proto = -1; -static int hf_ieee80211_tclas_class_mask4_reserved = -1; -static int hf_ieee80211_tclas_class_mask4_6_src_ip = -1; -static int hf_ieee80211_tclas_class_mask4_6_dst_ip = -1; -static int hf_ieee80211_tclas_reserved_bytes = -1; -static int hf_ieee80211_tclas_class_mask4_next_hdr = -1; -static int hf_ieee80211_tclas_class_mask4_flow_label = -1; -static int hf_ieee80211_tclas4_ipv4_src = -1; -static int hf_ieee80211_tclas4_ipv4_dst = -1; -static int hf_ieee80211_tclas4_src_port = -1; -static int hf_ieee80211_tclas4_dst_port = -1; -static int hf_ieee80211_tclas4_dscp = -1; -static int hf_ieee80211_tclas4_protocol = -1; -static int hf_ieee80211_tclas4_reserved = -1; -static int hf_ieee80211_tclas4_ipv6_src = -1; -static int hf_ieee80211_tclas4_ipv6_dst = -1; -static int hf_ieee80211_tclas4_next_hdr = -1; -static int hf_ieee80211_tclas4_flow = -1; -static int hf_ieee80211_tclas_tclas_8021d_up_pcp = -1; -static int hf_ieee80211_tclas_8021q_dei = -1; -static int hf_ieee80211_tclas_8021q_vid = -1; - -static int hf_ieee80211_tclas_class_mask5_up_prio = -1; -static int hf_ieee80211_tclas_class_mask5_dei = -1; -static int hf_ieee80211_tclas_class_mask5_vid = -1; -static int hf_ieee80211_tclas_class_mask5_reserved = -1; - -static int hf_ieee80211_tclas_class_mask6_a_above = -1; -static int hf_ieee80211_tclas_class_mask6_frame_control_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_duration_id_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_address_1_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_address_2_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_address_3_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_sequence_control_spec = -1; -static int hf_ieee80211_tclas_class_mask6_address_4_match_spec = -1; -static int hf_ieee80211_tclas_class_mask6_qos_control_spec = -1; -static int hf_ieee80211_tclas_class_mask6_ht_control_spec = -1; -static int hf_ieee80211_tclas_class_mask6_reserved = -1; -static int hf_ieee80211_tclas6_frame_control_spec = -1; -static int hf_ieee80211_tclas6_frame_control_mask = -1; -static int hf_ieee80211_tclas6_duration_spec = -1; -static int hf_ieee80211_tclas6_duration_mask = -1; -static int hf_ieee80211_tclas6_address_1_spec = -1; -static int hf_ieee80211_tclas6_address_1_mask = -1; -static int hf_ieee80211_tclas6_address_2_spec = -1; -static int hf_ieee80211_tclas6_address_2_mask = -1; -static int hf_ieee80211_tclas6_address_3_spec = -1; -static int hf_ieee80211_tclas6_address_3_mask = -1; -static int hf_ieee80211_tclas6_sequence_control_spec = -1; -static int hf_ieee80211_tclas6_sequence_control_mask = -1; -static int hf_ieee80211_tclas6_address_4_spec = -1; -static int hf_ieee80211_tclas6_address_4_mask = -1; -static int hf_ieee80211_tclas6_qos_control_spec = -1; -static int hf_ieee80211_tclas6_qos_control_mask = -1; -static int hf_ieee80211_tclas6_ht_control_spec = -1; -static int hf_ieee80211_tclas6_ht_control_mask = -1; - -static int hf_ieee80211_tclas_class_mask7_frame_control_match_spec = -1; -static int hf_ieee80211_tclas_class_mask7_address_1_sid_match_spec = -1; -static int hf_ieee80211_tclas_class_mask7_address_2_match_spec = -1; -static int hf_ieee80211_tclas_class_mask7_sequence_control_spec = -1; -static int hf_ieee80211_tclas_class_mask7_address_3_match_spec = -1; -static int hf_ieee80211_tclas_class_mask7_address_4_match_spec = -1; -static int hf_ieee80211_tclas_class_mask7_reserved = -1; -static int hf_ieee80211_tclas7_frame_control_spec = -1; -static int hf_ieee80211_tclas7_frame_control_mask = -1; -static int hf_ieee80211_tclas7_address_1_sid_spec = -1; -static int hf_ieee80211_tclas7_address_1_sid_mask = -1; -static int hf_ieee80211_tclas7_address_2_spec = -1; -static int hf_ieee80211_tclas7_address_2_mask = -1; -static int hf_ieee80211_tclas7_sequence_control_spec = -1; -static int hf_ieee80211_tclas7_sequence_control_mask = -1; -static int hf_ieee80211_tclas7_address_3_spec = -1; -static int hf_ieee80211_tclas7_address_3_mask = -1; -static int hf_ieee80211_tclas7_address_4_spec = -1; -static int hf_ieee80211_tclas7_address_4_mask = -1; - -static int hf_ieee80211_tclas_class_mask8_frame_control_match_spec = -1; -static int hf_ieee80211_tclas_class_mask8_address_1_bssid_match_spec = -1; -static int hf_ieee80211_tclas_class_mask8_address_2_sid_match_spec = -1; -static int hf_ieee80211_tclas_class_mask8_sequence_control_spec = -1; -static int hf_ieee80211_tclas_class_mask8_address_3_match_spec = -1; -static int hf_ieee80211_tclas_class_mask8_address_4_match_spec = -1; -static int hf_ieee80211_tclas_class_mask8_reserved = -1; -static int hf_ieee80211_tclas8_frame_control_spec = -1; -static int hf_ieee80211_tclas8_frame_control_mask = -1; -static int hf_ieee80211_tclas8_address_1_bssid_spec = -1; -static int hf_ieee80211_tclas8_address_1_bssid_mask = -1; -static int hf_ieee80211_tclas8_address_2_sid_spec = -1; -static int hf_ieee80211_tclas8_address_2_sid_mask = -1; -static int hf_ieee80211_tclas8_sequence_control_spec = -1; -static int hf_ieee80211_tclas8_sequence_control_mask = -1; -static int hf_ieee80211_tclas8_address_3_spec = -1; -static int hf_ieee80211_tclas8_address_3_mask = -1; -static int hf_ieee80211_tclas8_address_4_spec = -1; -static int hf_ieee80211_tclas8_address_4_mask = -1; - -static int hf_ieee80211_tclas_class_mask9_frame_control_match_spec = -1; -static int hf_ieee80211_tclas_class_mask9_address_1_match_spec = -1; -static int hf_ieee80211_tclas_class_mask9_address_2_match_spec = -1; -static int hf_ieee80211_tclas_class_mask9_sequence_control_spec = -1; -static int hf_ieee80211_tclas_class_mask9_reserved = -1; -static int hf_ieee80211_tclas9_frame_control_spec = -1; -static int hf_ieee80211_tclas9_frame_control_mask = -1; -static int hf_ieee80211_tclas9_address_1_spec = -1; -static int hf_ieee80211_tclas9_address_1_mask = -1; -static int hf_ieee80211_tclas9_address_2_spec = -1; -static int hf_ieee80211_tclas9_address_2_mask = -1; -static int hf_ieee80211_tclas9_sequence_control_spec = -1; -static int hf_ieee80211_tclas9_sequence_control_mask = -1; - -static int hf_ieee80211_tclas10_protocol_instance = -1; -static int hf_ieee80211_tclas10_protocol_num_next_hdr = -1; - -static int hf_ieee80211_aruba = -1; -static int hf_ieee80211_aruba_hb_seq = -1; -static int hf_ieee80211_aruba_mtu = -1; - -static int hf_ieee80211_tag_vendor_oui_type = -1; -static int hf_ieee80211_tag_vendor_data = -1; - -static int hf_ieee80211_symbp_extreme_assoc_clients = -1; -static int hf_ieee80211_symbp_extreme_load_kbps = -1; -static int hf_ieee80211_symbp_extreme_load_pps = -1; -static int hf_ieee80211_symbp_extreme_client_tx_power = -1; -static int hf_ieee80211_symbp_extreme_timestamp = -1; - -static int hf_ieee80211_tag_symbol_proprietary_oui = -1; -static int hf_ieee80211_tag_symbol_proprietary_data = -1; +static int hf_ieee80211_tspec_nor_msdu; +static int hf_ieee80211_tspec_max_msdu; +static int hf_ieee80211_tspec_min_srv; +static int hf_ieee80211_tspec_max_srv; +static int hf_ieee80211_tspec_inact_int; +static int hf_ieee80211_tspec_susp_int; +static int hf_ieee80211_tspec_srv_start; +static int hf_ieee80211_tspec_min_data; +static int hf_ieee80211_tspec_mean_data; +static int hf_ieee80211_tspec_peak_data; +static int hf_ieee80211_tspec_burst_size; +static int hf_ieee80211_tspec_delay_bound; +static int hf_ieee80211_tspec_min_phy; +static int hf_ieee80211_tspec_surplus; +static int hf_ieee80211_tspec_medium; +static int hf_ieee80211_tspec_dmg; +static int hf_ieee80211_ts_delay; +static int hf_ieee80211_tclas_process; +static int hf_ieee80211_tag_ext_supp_rates; +static int hf_ieee80211_sched_info; +static int hf_ieee80211_sched_info_agg; +static int hf_ieee80211_sched_info_tsid; +static int hf_ieee80211_sched_info_dir; +static int hf_ieee80211_sched_srv_start; +static int hf_ieee80211_sched_srv_int; +static int hf_ieee80211_sched_spec_int; +static int hf_ieee80211_tclas_up; +static int hf_ieee80211_tclas_class_type; +static int hf_ieee80211_tclas_class_mask; +static int hf_ieee80211_tclas_mask_reserved; +static int hf_ieee80211_tclas_class_mask0_src_addr; +static int hf_ieee80211_tclas_class_mask0_dst_addr; +static int hf_ieee80211_tclas_class_mask0_type; +static int hf_ieee80211_tclas_class_mask1_ver; +static int hf_ieee80211_tclas_class_mask1_src_ip; +static int hf_ieee80211_tclas_class_mask1_dst_ip; +static int hf_ieee80211_tclas_class_mask1_src_port; +static int hf_ieee80211_tclas_class_mask1_dst_port; +static int hf_ieee80211_tclas_class_mask1_ipv4_dscp; +static int hf_ieee80211_tclas_class_mask1_ipv4_proto; +static int hf_ieee80211_tclas_class_mask1_reserved; +static int hf_ieee80211_tclas_class_mask1_ipv6_flow; +static int hf_ieee80211_tclas_class_mask2_tci; +static int hf_ieee80211_tclas_src_mac_addr; +static int hf_ieee80211_tclas_dst_mac_addr; +static int hf_ieee80211_tclas_ether_type; +static int hf_ieee80211_tclas_version; +static int hf_ieee80211_tclas_ipv4_src; +static int hf_ieee80211_tclas_ipv4_dst; +static int hf_ieee80211_tclas_src_port; +static int hf_ieee80211_tclas_dst_port; +static int hf_ieee80211_tclas_dscp; +static int hf_ieee80211_tclas_protocol; +static int hf_ieee80211_tclas_ipv6_src; +static int hf_ieee80211_tclas_ipv6_dst; +static int hf_ieee80211_tclas_flow; +static int hf_ieee80211_tclas_tag_type; +static int hf_ieee80211_tclas_filter_offset; +static int hf_ieee80211_tclas_filter_value; +static int hf_ieee80211_tclas_filter_mask; +static int hf_ieee80211_tclas4_version; +static int hf_ieee80211_tclas_class_mask4_ver; +static int hf_ieee80211_tclas_class_mask4_4_src_ip; +static int hf_ieee80211_tclas_class_mask4_4_dst_ip; +static int hf_ieee80211_tclas_class_mask4_src_port; +static int hf_ieee80211_tclas_class_mask4_dst_port; +static int hf_ieee80211_tclas_class_mask4_dscp; +static int hf_ieee80211_tclas_class_mask4_ipv4_proto; +static int hf_ieee80211_tclas_class_mask4_reserved; +static int hf_ieee80211_tclas_class_mask4_6_src_ip; +static int hf_ieee80211_tclas_class_mask4_6_dst_ip; +static int hf_ieee80211_tclas_reserved_bytes; +static int hf_ieee80211_tclas_class_mask4_next_hdr; +static int hf_ieee80211_tclas_class_mask4_flow_label; +static int hf_ieee80211_tclas4_ipv4_src; +static int hf_ieee80211_tclas4_ipv4_dst; +static int hf_ieee80211_tclas4_src_port; +static int hf_ieee80211_tclas4_dst_port; +static int hf_ieee80211_tclas4_dscp; +static int hf_ieee80211_tclas4_protocol; +static int hf_ieee80211_tclas4_reserved; +static int hf_ieee80211_tclas4_ipv6_src; +static int hf_ieee80211_tclas4_ipv6_dst; +static int hf_ieee80211_tclas4_next_hdr; +static int hf_ieee80211_tclas4_flow; +static int hf_ieee80211_tclas_tclas_8021d_up_pcp; +static int hf_ieee80211_tclas_8021q_dei; +static int hf_ieee80211_tclas_8021q_vid; + +static int hf_ieee80211_tclas_class_mask5_up_prio; +static int hf_ieee80211_tclas_class_mask5_dei; +static int hf_ieee80211_tclas_class_mask5_vid; +static int hf_ieee80211_tclas_class_mask5_reserved; + +static int hf_ieee80211_tclas_class_mask6_a_above; +static int hf_ieee80211_tclas_class_mask6_frame_control_match_spec; +static int hf_ieee80211_tclas_class_mask6_duration_id_match_spec; +static int hf_ieee80211_tclas_class_mask6_address_1_match_spec; +static int hf_ieee80211_tclas_class_mask6_address_2_match_spec; +static int hf_ieee80211_tclas_class_mask6_address_3_match_spec; +static int hf_ieee80211_tclas_class_mask6_sequence_control_spec; +static int hf_ieee80211_tclas_class_mask6_address_4_match_spec; +static int hf_ieee80211_tclas_class_mask6_qos_control_spec; +static int hf_ieee80211_tclas_class_mask6_ht_control_spec; +static int hf_ieee80211_tclas_class_mask6_reserved; +static int hf_ieee80211_tclas6_frame_control_spec; +static int hf_ieee80211_tclas6_frame_control_mask; +static int hf_ieee80211_tclas6_duration_spec; +static int hf_ieee80211_tclas6_duration_mask; +static int hf_ieee80211_tclas6_address_1_spec; +static int hf_ieee80211_tclas6_address_1_mask; +static int hf_ieee80211_tclas6_address_2_spec; +static int hf_ieee80211_tclas6_address_2_mask; +static int hf_ieee80211_tclas6_address_3_spec; +static int hf_ieee80211_tclas6_address_3_mask; +static int hf_ieee80211_tclas6_sequence_control_spec; +static int hf_ieee80211_tclas6_sequence_control_mask; +static int hf_ieee80211_tclas6_address_4_spec; +static int hf_ieee80211_tclas6_address_4_mask; +static int hf_ieee80211_tclas6_qos_control_spec; +static int hf_ieee80211_tclas6_qos_control_mask; +static int hf_ieee80211_tclas6_ht_control_spec; +static int hf_ieee80211_tclas6_ht_control_mask; + +static int hf_ieee80211_tclas_class_mask7_frame_control_match_spec; +static int hf_ieee80211_tclas_class_mask7_address_1_sid_match_spec; +static int hf_ieee80211_tclas_class_mask7_address_2_match_spec; +static int hf_ieee80211_tclas_class_mask7_sequence_control_spec; +static int hf_ieee80211_tclas_class_mask7_address_3_match_spec; +static int hf_ieee80211_tclas_class_mask7_address_4_match_spec; +static int hf_ieee80211_tclas_class_mask7_reserved; +static int hf_ieee80211_tclas7_frame_control_spec; +static int hf_ieee80211_tclas7_frame_control_mask; +static int hf_ieee80211_tclas7_address_1_sid_spec; +static int hf_ieee80211_tclas7_address_1_sid_mask; +static int hf_ieee80211_tclas7_address_2_spec; +static int hf_ieee80211_tclas7_address_2_mask; +static int hf_ieee80211_tclas7_sequence_control_spec; +static int hf_ieee80211_tclas7_sequence_control_mask; +static int hf_ieee80211_tclas7_address_3_spec; +static int hf_ieee80211_tclas7_address_3_mask; +static int hf_ieee80211_tclas7_address_4_spec; +static int hf_ieee80211_tclas7_address_4_mask; + +static int hf_ieee80211_tclas_class_mask8_frame_control_match_spec; +static int hf_ieee80211_tclas_class_mask8_address_1_bssid_match_spec; +static int hf_ieee80211_tclas_class_mask8_address_2_sid_match_spec; +static int hf_ieee80211_tclas_class_mask8_sequence_control_spec; +static int hf_ieee80211_tclas_class_mask8_address_3_match_spec; +static int hf_ieee80211_tclas_class_mask8_address_4_match_spec; +static int hf_ieee80211_tclas_class_mask8_reserved; +static int hf_ieee80211_tclas8_frame_control_spec; +static int hf_ieee80211_tclas8_frame_control_mask; +static int hf_ieee80211_tclas8_address_1_bssid_spec; +static int hf_ieee80211_tclas8_address_1_bssid_mask; +static int hf_ieee80211_tclas8_address_2_sid_spec; +static int hf_ieee80211_tclas8_address_2_sid_mask; +static int hf_ieee80211_tclas8_sequence_control_spec; +static int hf_ieee80211_tclas8_sequence_control_mask; +static int hf_ieee80211_tclas8_address_3_spec; +static int hf_ieee80211_tclas8_address_3_mask; +static int hf_ieee80211_tclas8_address_4_spec; +static int hf_ieee80211_tclas8_address_4_mask; + +static int hf_ieee80211_tclas_class_mask9_frame_control_match_spec; +static int hf_ieee80211_tclas_class_mask9_address_1_match_spec; +static int hf_ieee80211_tclas_class_mask9_address_2_match_spec; +static int hf_ieee80211_tclas_class_mask9_sequence_control_spec; +static int hf_ieee80211_tclas_class_mask9_reserved; +static int hf_ieee80211_tclas9_frame_control_spec; +static int hf_ieee80211_tclas9_frame_control_mask; +static int hf_ieee80211_tclas9_address_1_spec; +static int hf_ieee80211_tclas9_address_1_mask; +static int hf_ieee80211_tclas9_address_2_spec; +static int hf_ieee80211_tclas9_address_2_mask; +static int hf_ieee80211_tclas9_sequence_control_spec; +static int hf_ieee80211_tclas9_sequence_control_mask; + +static int hf_ieee80211_tclas10_protocol_instance; +static int hf_ieee80211_tclas10_protocol_num_next_hdr; + +static int hf_ieee80211_aruba; +static int hf_ieee80211_aruba_hb_seq; +static int hf_ieee80211_aruba_mtu; + +static int hf_ieee80211_tag_vendor_oui_type; +static int hf_ieee80211_tag_vendor_data; + +static int hf_ieee80211_symbp_extreme_assoc_clients; +static int hf_ieee80211_symbp_extreme_load_kbps; +static int hf_ieee80211_symbp_extreme_load_pps; +static int hf_ieee80211_symbp_extreme_client_tx_power; +static int hf_ieee80211_symbp_extreme_timestamp; + +static int hf_ieee80211_tag_symbol_proprietary_oui; +static int hf_ieee80211_tag_symbol_proprietary_data; /* IEEE Std 802.11z-2010 7.3.2.62 */ -static int hf_ieee80211_tag_link_id_bssid = -1; -static int hf_ieee80211_tag_link_id_init_sta = -1; -static int hf_ieee80211_tag_link_id_resp_sta = -1; +static int hf_ieee80211_tag_link_id_bssid; +static int hf_ieee80211_tag_link_id_init_sta; +static int hf_ieee80211_tag_link_id_resp_sta; /* IEEE Std 802.11z-2010 7.3.2.63 */ -static int hf_ieee80211_tag_wakeup_schedule_offset = -1; -static int hf_ieee80211_tag_wakeup_schedule_interval = -1; -static int hf_ieee80211_tag_wakeup_schedule_awake_window_slots = -1; -static int hf_ieee80211_tag_wakeup_schedule_max_awake_dur = -1; -static int hf_ieee80211_tag_wakeup_schedule_idle_count = -1; +static int hf_ieee80211_tag_wakeup_schedule_offset; +static int hf_ieee80211_tag_wakeup_schedule_interval; +static int hf_ieee80211_tag_wakeup_schedule_awake_window_slots; +static int hf_ieee80211_tag_wakeup_schedule_max_awake_dur; +static int hf_ieee80211_tag_wakeup_schedule_idle_count; /* IEEE Std 802.11z-2010 7.3.2.64 */ -static int hf_ieee80211_tag_channel_switch_timing_switch_time = -1; -static int hf_ieee80211_tag_channel_switch_timing_switch_timeout = -1; +static int hf_ieee80211_tag_channel_switch_timing_switch_time; +static int hf_ieee80211_tag_channel_switch_timing_switch_timeout; /* IEEE Std 802.11z-2010 7.3.2.65 */ -static int hf_ieee80211_tag_pti_control_tid = -1; -static int hf_ieee80211_tag_pti_control_sequence_control = -1; +static int hf_ieee80211_tag_pti_control_tid; +static int hf_ieee80211_tag_pti_control_sequence_control; /* IEEE Std 802.11z-2010 7.3.2.66 */ -static int hf_ieee80211_tag_pu_buffer_status_ac_bk = -1; -static int hf_ieee80211_tag_pu_buffer_status_ac_be = -1; -static int hf_ieee80211_tag_pu_buffer_status_ac_vi = -1; -static int hf_ieee80211_tag_pu_buffer_status_ac_vo = -1; +static int hf_ieee80211_tag_pu_buffer_status_ac_bk; +static int hf_ieee80211_tag_pu_buffer_status_ac_be; +static int hf_ieee80211_tag_pu_buffer_status_ac_vi; +static int hf_ieee80211_tag_pu_buffer_status_ac_vo; /* IEEE Std 802.11r-2008 7.3.2.49 */ -static int hf_ieee80211_tag_timeout_int_type = -1; -static int hf_ieee80211_tag_timeout_int_value = -1; +static int hf_ieee80211_tag_timeout_int_type; +static int hf_ieee80211_tag_timeout_int_value; /* Ethertype 89-0d */ -static int hf_ieee80211_data_encap_payload_type = -1; +static int hf_ieee80211_data_encap_payload_type; -static int hf_ieee80211_anqp_wfa_subtype = -1; +static int hf_ieee80211_anqp_wfa_subtype; -static int hf_ieee80211_dpp_subtype = -1; +static int hf_ieee80211_dpp_subtype; /* Hotspot 2.0 */ -static int hf_ieee80211_hs20_indication_dgaf_disabled = -1; -static int hf_ieee80211_hs20_indication_pps_mo_id_present = -1; -static int hf_ieee80211_hs20_indication_anqp_domain_id_present = -1; -static int hf_ieee80211_hs20_reserved = -1; -static int hf_ieee80211_hs20_indication_version_number = -1; -static int hf_ieee80211_hs20_indication_pps_mo_id = -1; -static int hf_ieee80211_hs20_indication_anqp_domain_id = -1; - -static int hf_ieee80211_hs20_anqp_subtype = -1; -static int hf_ieee80211_hs20_anqp_reserved = -1; -static int hf_ieee80211_hs20_anqp_payload = -1; -static int hf_ieee80211_hs20_anqp_hs_query_list = -1; -static int hf_ieee80211_hs20_anqp_hs_capability_list = -1; -static int hf_ieee80211_hs20_anqp_ofn_length = -1; -static int hf_ieee80211_hs20_anqp_ofn_language = -1; -static int hf_ieee80211_hs20_anqp_ofn_name = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_link_status = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_symmetric_link = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_at_capacity = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_reserved = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_downlink_speed = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_uplink_speed = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_downlink_load = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_uplink_load = -1; -static int hf_ieee80211_hs20_anqp_wan_metrics_lmd = -1; -static int hf_ieee80211_hs20_anqp_cc_proto_ip_proto = -1; -static int hf_ieee80211_hs20_anqp_cc_proto_port_num = -1; -static int hf_ieee80211_hs20_anqp_cc_proto_status = -1; -static int hf_ieee80211_hs20_anqp_nai_hrq_count = -1; -static int hf_ieee80211_hs20_anqp_nai_hrq_encoding_type = -1; -static int hf_ieee80211_hs20_anqp_nai_hrq_length = -1; -static int hf_ieee80211_hs20_anqp_nai_hrq_realm_name = -1; -static int hf_ieee80211_hs20_anqp_oper_class_indic = -1; -static int hf_ieee80211_hs20_osu_friendly_names_len = -1; -static int hf_ieee80211_hs20_osu_friendly_name_length = -1; -static int hf_ieee80211_hs20_osu_friendly_name_language = -1; -static int hf_ieee80211_hs20_osu_friendly_name_name = -1; -static int hf_ieee80211_hs20_osu_server_uri_len = -1; -static int hf_ieee80211_hs20_osu_server_uri = -1; -static int hf_ieee80211_hs20_osu_method_list_len = -1; -static int hf_ieee80211_hs20_osu_method_val = -1; -static int hf_ieee80211_hs20_icons_avail_len = -1; -static int hf_ieee80211_hs20_osu_providers_list_ssid_len = -1; -static int hf_ieee80211_hs20_osu_providers_ssid = -1; -static int hf_ieee80211_hs20_osu_providers_count = -1; -static int hf_ieee80211_hs20_osu_prov_length = -1; -static int hf_ieee80211_hs20_icon_request_filename = -1; -static int hf_ieee80211_hs20_icon_binary_file_status = -1; -static int hf_ieee80211_hs20_icon_type_length = -1; -static int hf_ieee80211_hs20_icon_type = -1; -static int hf_ieee80211_hs20_icon_binary_data_len = -1; -static int hf_ieee80211_hs20_icon_binary_data = -1; -static int hf_ieee80211_osu_icon_avail_width = -1; -static int hf_ieee80211_osu_icon_avail_height = -1; -static int hf_ieee80211_osu_icon_avail_lang_code = -1; -static int hf_ieee80211_osu_icon_avail_icon_type_len = -1; -static int hf_ieee80211_osu_icon_avail_icon_type = -1; -static int hf_ieee80211_osu_icon_avail_filename_len = -1; -static int hf_ieee80211_osu_icon_avail_filename = -1; -static int hf_ieee80211_hs20_osu_nai_len = -1; -static int hf_ieee80211_hs20_osu_nai = -1; -static int hf_ieee80211_hs20_osu_service_desc_len = -1; -static int hf_ieee80211_hs20_osu_service_desc_duple_len = -1; -static int hf_ieee80211_hs20_osu_service_desc_lang = -1; -static int hf_ieee80211_hs20_osu_service_desc = -1; -static int hf_ieee80211_hs20_anqp_venue_url_length = -1; -static int hf_ieee80211_hs20_anqp_venue_number = -1; -static int hf_ieee80211_hs20_anqp_venue_url = -1; -static int hf_ieee80211_hs20_anqp_advice_of_charge_length = -1; -static int hf_ieee80211_hs20_anqp_advice_of_charge_type = -1; -static int hf_ieee80211_hs20_anqp_aoc_nai_realm_encoding = -1; -static int hf_ieee80211_hs20_anqp_aoc_nai_realm_len = -1; -static int hf_ieee80211_hs20_anqp_aoc_nai_realm = -1; -static int hf_ieee80211_hs20_anqp_aoc_plan_len = -1; -static int hf_ieee80211_hs20_anqp_aoc_plan_lang = -1; -static int hf_ieee80211_hs20_anqp_aoc_plan_curcy = -1; -static int hf_ieee80211_hs20_anqp_aoc_plan_information = -1; - -static int hf_ieee80211_hs20_subscription_remediation_url_len = -1; -static int hf_ieee80211_hs20_subscription_remediation_server_url = -1; -static int hf_ieee80211_hs20_subscription_remediation_server_method = -1; -static int hf_ieee80211_hs20_deauth_reason_code = -1; -static int hf_ieee80211_hs20_reauth_delay = -1; -static int hf_ieee80211_hs20_deauth_reason_url_len = -1; -static int hf_ieee80211_hs20_deauth_imminent_reason_url = -1; +static int hf_ieee80211_hs20_indication_dgaf_disabled; +static int hf_ieee80211_hs20_indication_pps_mo_id_present; +static int hf_ieee80211_hs20_indication_anqp_domain_id_present; +static int hf_ieee80211_hs20_reserved; +static int hf_ieee80211_hs20_indication_version_number; +static int hf_ieee80211_hs20_indication_pps_mo_id; +static int hf_ieee80211_hs20_indication_anqp_domain_id; + +static int hf_ieee80211_hs20_anqp_subtype; +static int hf_ieee80211_hs20_anqp_reserved; +static int hf_ieee80211_hs20_anqp_payload; +static int hf_ieee80211_hs20_anqp_hs_query_list; +static int hf_ieee80211_hs20_anqp_hs_capability_list; +static int hf_ieee80211_hs20_anqp_ofn_length; +static int hf_ieee80211_hs20_anqp_ofn_language; +static int hf_ieee80211_hs20_anqp_ofn_name; +static int hf_ieee80211_hs20_anqp_wan_metrics_link_status; +static int hf_ieee80211_hs20_anqp_wan_metrics_symmetric_link; +static int hf_ieee80211_hs20_anqp_wan_metrics_at_capacity; +static int hf_ieee80211_hs20_anqp_wan_metrics_reserved; +static int hf_ieee80211_hs20_anqp_wan_metrics_downlink_speed; +static int hf_ieee80211_hs20_anqp_wan_metrics_uplink_speed; +static int hf_ieee80211_hs20_anqp_wan_metrics_downlink_load; +static int hf_ieee80211_hs20_anqp_wan_metrics_uplink_load; +static int hf_ieee80211_hs20_anqp_wan_metrics_lmd; +static int hf_ieee80211_hs20_anqp_cc_proto_ip_proto; +static int hf_ieee80211_hs20_anqp_cc_proto_port_num; +static int hf_ieee80211_hs20_anqp_cc_proto_status; +static int hf_ieee80211_hs20_anqp_nai_hrq_count; +static int hf_ieee80211_hs20_anqp_nai_hrq_encoding_type; +static int hf_ieee80211_hs20_anqp_nai_hrq_length; +static int hf_ieee80211_hs20_anqp_nai_hrq_realm_name; +static int hf_ieee80211_hs20_anqp_oper_class_indic; +static int hf_ieee80211_hs20_osu_friendly_names_len; +static int hf_ieee80211_hs20_osu_friendly_name_length; +static int hf_ieee80211_hs20_osu_friendly_name_language; +static int hf_ieee80211_hs20_osu_friendly_name_name; +static int hf_ieee80211_hs20_osu_server_uri_len; +static int hf_ieee80211_hs20_osu_server_uri; +static int hf_ieee80211_hs20_osu_method_list_len; +static int hf_ieee80211_hs20_osu_method_val; +static int hf_ieee80211_hs20_icons_avail_len; +static int hf_ieee80211_hs20_osu_providers_list_ssid_len; +static int hf_ieee80211_hs20_osu_providers_ssid; +static int hf_ieee80211_hs20_osu_providers_count; +static int hf_ieee80211_hs20_osu_prov_length; +static int hf_ieee80211_hs20_icon_request_filename; +static int hf_ieee80211_hs20_icon_binary_file_status; +static int hf_ieee80211_hs20_icon_type_length; +static int hf_ieee80211_hs20_icon_type; +static int hf_ieee80211_hs20_icon_binary_data_len; +static int hf_ieee80211_hs20_icon_binary_data; +static int hf_ieee80211_osu_icon_avail_width; +static int hf_ieee80211_osu_icon_avail_height; +static int hf_ieee80211_osu_icon_avail_lang_code; +static int hf_ieee80211_osu_icon_avail_icon_type_len; +static int hf_ieee80211_osu_icon_avail_icon_type; +static int hf_ieee80211_osu_icon_avail_filename_len; +static int hf_ieee80211_osu_icon_avail_filename; +static int hf_ieee80211_hs20_osu_nai_len; +static int hf_ieee80211_hs20_osu_nai; +static int hf_ieee80211_hs20_osu_service_desc_len; +static int hf_ieee80211_hs20_osu_service_desc_duple_len; +static int hf_ieee80211_hs20_osu_service_desc_lang; +static int hf_ieee80211_hs20_osu_service_desc; +static int hf_ieee80211_hs20_anqp_venue_url_length; +static int hf_ieee80211_hs20_anqp_venue_number; +static int hf_ieee80211_hs20_anqp_venue_url; +static int hf_ieee80211_hs20_anqp_advice_of_charge_length; +static int hf_ieee80211_hs20_anqp_advice_of_charge_type; +static int hf_ieee80211_hs20_anqp_aoc_nai_realm_encoding; +static int hf_ieee80211_hs20_anqp_aoc_nai_realm_len; +static int hf_ieee80211_hs20_anqp_aoc_nai_realm; +static int hf_ieee80211_hs20_anqp_aoc_plan_len; +static int hf_ieee80211_hs20_anqp_aoc_plan_lang; +static int hf_ieee80211_hs20_anqp_aoc_plan_curcy; +static int hf_ieee80211_hs20_anqp_aoc_plan_information; + +static int hf_ieee80211_hs20_subscription_remediation_url_len; +static int hf_ieee80211_hs20_subscription_remediation_server_url; +static int hf_ieee80211_hs20_subscription_remediation_server_method; +static int hf_ieee80211_hs20_deauth_reason_code; +static int hf_ieee80211_hs20_reauth_delay; +static int hf_ieee80211_hs20_deauth_reason_url_len; +static int hf_ieee80211_hs20_deauth_imminent_reason_url; /* IEEE Std 802.11ai : FILS Discovery */ -static int hf_ieee80211_ff_fils_discovery_frame_control = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_ssid_length = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_capability = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_short_ssid = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_ap_csn = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_ano = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_channel_center_frequency = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_primary_channel = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_rsn_info = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_length = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_md = -1; -static int hf_ieee80211_ff_fils_discovery_frame_control_reserved = -1; -static int hf_ieee80211_ff_fils_discovery_ssid = -1; -static int hf_ieee80211_ff_fils_discovery_capability = -1; -static int hf_ieee80211_ff_fils_discovery_capability_ess = -1; -static int hf_ieee80211_ff_fils_discovery_capability_privacy = -1; -static int hf_ieee80211_ff_fils_discovery_capability_bss_operating_channel_width = -1; -static int hf_ieee80211_ff_fils_discovery_capability_max_number_of_spatial_streams = -1; -static int hf_ieee80211_ff_fils_discovery_capability_reserved = -1; -static int hf_ieee80211_ff_fils_discovery_capability_multiple_bssid = -1; -static int hf_ieee80211_ff_fils_discovery_capability_phy_index = -1; -static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_dsss = -1; -static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_ofdm = -1; -static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_ht_vht_tvht = -1; -static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_he = -1; -static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate = -1; - -static int hf_ieee80211_ff_fils_discovery_short_ssid = -1; -static int hf_ieee80211_ff_fils_discovery_ap_csn = -1; -static int hf_ieee80211_ff_fils_discovery_ano = -1; -static int hf_ieee80211_ff_fils_discovery_ccfs1 = -1; -static int hf_ieee80211_ff_fils_discovery_operating_class = -1; -static int hf_ieee80211_ff_fils_discovery_primary_channel = -1; -static int hf_ieee80211_ff_fils_discovery_rsn_info = -1; -static int hf_ieee80211_ff_fils_discovery_length = -1; -static int hf_ieee80211_ff_fils_discovery_md = -1; +static int hf_ieee80211_ff_fils_discovery_frame_control; +static int hf_ieee80211_ff_fils_discovery_frame_control_ssid_length; +static int hf_ieee80211_ff_fils_discovery_frame_control_capability; +static int hf_ieee80211_ff_fils_discovery_frame_control_short_ssid; +static int hf_ieee80211_ff_fils_discovery_frame_control_ap_csn; +static int hf_ieee80211_ff_fils_discovery_frame_control_ano; +static int hf_ieee80211_ff_fils_discovery_frame_control_channel_center_frequency; +static int hf_ieee80211_ff_fils_discovery_frame_control_primary_channel; +static int hf_ieee80211_ff_fils_discovery_frame_control_rsn_info; +static int hf_ieee80211_ff_fils_discovery_frame_control_length; +static int hf_ieee80211_ff_fils_discovery_frame_control_md; +static int hf_ieee80211_ff_fils_discovery_frame_control_reserved; +static int hf_ieee80211_ff_fils_discovery_ssid; +static int hf_ieee80211_ff_fils_discovery_capability; +static int hf_ieee80211_ff_fils_discovery_capability_ess; +static int hf_ieee80211_ff_fils_discovery_capability_privacy; +static int hf_ieee80211_ff_fils_discovery_capability_bss_operating_channel_width; +static int hf_ieee80211_ff_fils_discovery_capability_max_number_of_spatial_streams; +static int hf_ieee80211_ff_fils_discovery_capability_reserved; +static int hf_ieee80211_ff_fils_discovery_capability_multiple_bssid; +static int hf_ieee80211_ff_fils_discovery_capability_phy_index; +static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_dsss; +static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_ofdm; +static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_ht_vht_tvht; +static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate_he; +static int hf_ieee80211_ff_fils_discovery_capability_fils_minimum_rate; + +static int hf_ieee80211_ff_fils_discovery_short_ssid; +static int hf_ieee80211_ff_fils_discovery_ap_csn; +static int hf_ieee80211_ff_fils_discovery_ano; +static int hf_ieee80211_ff_fils_discovery_ccfs1; +static int hf_ieee80211_ff_fils_discovery_operating_class; +static int hf_ieee80211_ff_fils_discovery_primary_channel; +static int hf_ieee80211_ff_fils_discovery_rsn_info; +static int hf_ieee80211_ff_fils_discovery_length; +static int hf_ieee80211_ff_fils_discovery_md; /* IEEE Std 802.11ad */ -static int hf_ieee80211_block_ack_RBUFCAP = -1; -static int hf_ieee80211_cf_response_offset = -1; -static int hf_ieee80211_grant_ack_reserved = -1; -static int hf_ieee80211_ff_dynamic_allocation = -1; -static int hf_ieee80211_ff_TID = -1; -static int hf_ieee80211_ff_alloc_type = -1; -static int hf_ieee80211_ff_src_aid = -1; -static int hf_ieee80211_ff_dest_aid = -1; -static int hf_ieee80211_ff_alloc_duration = -1; -static int hf_ieee80211_ff_b39 = -1; -static int hf_ieee80211_ff_ssw = -1; -static int hf_ieee80211_ff_ssw_direction = -1; -static int hf_ieee80211_ff_ssw_cdown = -1; -static int hf_ieee80211_ff_ssw_sector_id = -1; -static int hf_ieee80211_ff_ssw_dmg_ant_id = -1; -static int hf_ieee80211_ff_ssw_rxss_len = -1; -static int hf_ieee80211_ff_bf = -1; -static int hf_ieee80211_ff_bf_train = -1; -static int hf_ieee80211_ff_bf_is_init = -1; -static int hf_ieee80211_ff_bf_is_resp = -1; -static int hf_ieee80211_ff_bf_num_sectors = -1; -static int hf_ieee80211_ff_bf_num_rx_dmg_ants = -1; -static int hf_ieee80211_ff_bf_b12b15 = -1; -static int hf_ieee80211_ff_bf_rxss_len = -1; -static int hf_ieee80211_ff_bf_rxss_rate = -1; -static int hf_ieee80211_ff_bf_b10b15 = -1; -static int hf_ieee80211_addr_nav_da = -1; -static int hf_ieee80211_addr_nav_sa = -1; -static int hf_ieee80211_ff_sswf = -1; -static int hf_ieee80211_ff_sswf_num_rx_dmg_ants = -1; -static int hf_ieee80211_ff_sswf_poll_required = -1; -static int hf_ieee80211_ff_sswf_total_sectors = -1; -static int hf_ieee80211_ff_sswf_reserved1 = -1; -static int hf_ieee80211_ff_sswf_reserved2 = -1; -static int hf_ieee80211_ff_sswf_sector_select = -1; -static int hf_ieee80211_ff_sswf_dmg_antenna_select = -1; -static int hf_ieee80211_ff_sswf_snr_report = -1; -static int hf_ieee80211_ff_brp = -1; -static int hf_ieee80211_ff_brp_L_RX = -1; -static int hf_ieee80211_ff_brp_TX_TRN_REQ = -1; -static int hf_ieee80211_ff_brp_MID_REQ = -1; -static int hf_ieee80211_ff_brp_BC_REQ = -1; -static int hf_ieee80211_ff_brp_MID_GRANT = -1; -static int hf_ieee80211_ff_brp_BC_GRANT = -1; -static int hf_ieee80211_ff_brp_chan_FBCK_CAP = -1; -static int hf_ieee80211_ff_brp_tx_sector = -1; -static int hf_ieee80211_ff_brp_other_aid = -1; -static int hf_ieee80211_ff_brp_tx_antenna = -1; -static int hf_ieee80211_ff_brp_reserved = -1; -static int hf_ieee80211_ff_blm = -1; -static int hf_ieee80211_ff_blm_unit_index = -1; -static int hf_ieee80211_ff_blm_maint_value = -1; -static int hf_ieee80211_ff_blm_is_master = -1; -static int hf_ieee80211_ff_bic = -1; -static int hf_ieee80211_ff_bic_cc_present = -1; -static int hf_ieee80211_ff_bic_discovery_mode = -1; -static int hf_ieee80211_ff_bic_next_beacon = -1; -static int hf_ieee80211_ff_bic_ati_present = -1; -static int hf_ieee80211_ff_bic_abft_len = -1; -static int hf_ieee80211_ff_bic_fss = -1; -static int hf_ieee80211_ff_bic_is_resp = -1; -static int hf_ieee80211_ff_bic_next_abft = -1; -static int hf_ieee80211_ff_bic_frag_txss = -1; -static int hf_ieee80211_ff_bic_txss_span = -1; -static int hf_ieee80211_ff_bic_NBI_abft = -1; -static int hf_ieee80211_ff_bic_abft_count = -1; -static int hf_ieee80211_ff_bic_nabft = -1; -static int hf_ieee80211_ff_bic_pcp = -1; -static int hf_ieee80211_ff_bic_reserved = -1; +static int hf_ieee80211_block_ack_RBUFCAP; +static int hf_ieee80211_cf_response_offset; +static int hf_ieee80211_grant_ack_reserved; +static int hf_ieee80211_ff_dynamic_allocation; +static int hf_ieee80211_ff_TID; +static int hf_ieee80211_ff_alloc_type; +static int hf_ieee80211_ff_src_aid; +static int hf_ieee80211_ff_dest_aid; +static int hf_ieee80211_ff_alloc_duration; +static int hf_ieee80211_ff_b39; +static int hf_ieee80211_ff_ssw; +static int hf_ieee80211_ff_ssw_direction; +static int hf_ieee80211_ff_ssw_cdown; +static int hf_ieee80211_ff_ssw_sector_id; +static int hf_ieee80211_ff_ssw_dmg_ant_id; +static int hf_ieee80211_ff_ssw_rxss_len; +static int hf_ieee80211_ff_bf; +static int hf_ieee80211_ff_bf_train; +static int hf_ieee80211_ff_bf_is_init; +static int hf_ieee80211_ff_bf_is_resp; +static int hf_ieee80211_ff_bf_num_sectors; +static int hf_ieee80211_ff_bf_num_rx_dmg_ants; +static int hf_ieee80211_ff_bf_b12b15; +static int hf_ieee80211_ff_bf_rxss_len; +static int hf_ieee80211_ff_bf_rxss_rate; +static int hf_ieee80211_ff_bf_b10b15; +static int hf_ieee80211_addr_nav_da; +static int hf_ieee80211_addr_nav_sa; +static int hf_ieee80211_ff_sswf; +static int hf_ieee80211_ff_sswf_num_rx_dmg_ants; +static int hf_ieee80211_ff_sswf_poll_required; +static int hf_ieee80211_ff_sswf_total_sectors; +static int hf_ieee80211_ff_sswf_reserved1; +static int hf_ieee80211_ff_sswf_reserved2; +static int hf_ieee80211_ff_sswf_sector_select; +static int hf_ieee80211_ff_sswf_dmg_antenna_select; +static int hf_ieee80211_ff_sswf_snr_report; +static int hf_ieee80211_ff_brp; +static int hf_ieee80211_ff_brp_L_RX; +static int hf_ieee80211_ff_brp_TX_TRN_REQ; +static int hf_ieee80211_ff_brp_MID_REQ; +static int hf_ieee80211_ff_brp_BC_REQ; +static int hf_ieee80211_ff_brp_MID_GRANT; +static int hf_ieee80211_ff_brp_BC_GRANT; +static int hf_ieee80211_ff_brp_chan_FBCK_CAP; +static int hf_ieee80211_ff_brp_tx_sector; +static int hf_ieee80211_ff_brp_other_aid; +static int hf_ieee80211_ff_brp_tx_antenna; +static int hf_ieee80211_ff_brp_reserved; +static int hf_ieee80211_ff_blm; +static int hf_ieee80211_ff_blm_unit_index; +static int hf_ieee80211_ff_blm_maint_value; +static int hf_ieee80211_ff_blm_is_master; +static int hf_ieee80211_ff_bic; +static int hf_ieee80211_ff_bic_cc_present; +static int hf_ieee80211_ff_bic_discovery_mode; +static int hf_ieee80211_ff_bic_next_beacon; +static int hf_ieee80211_ff_bic_ati_present; +static int hf_ieee80211_ff_bic_abft_len; +static int hf_ieee80211_ff_bic_fss; +static int hf_ieee80211_ff_bic_is_resp; +static int hf_ieee80211_ff_bic_next_abft; +static int hf_ieee80211_ff_bic_frag_txss; +static int hf_ieee80211_ff_bic_txss_span; +static int hf_ieee80211_ff_bic_NBI_abft; +static int hf_ieee80211_ff_bic_abft_count; +static int hf_ieee80211_ff_bic_nabft; +static int hf_ieee80211_ff_bic_pcp; +static int hf_ieee80211_ff_bic_reserved; static int * const ieee80211_ff_bic_fields[] = { &hf_ieee80211_ff_bic_cc_present, &hf_ieee80211_ff_bic_discovery_mode, @@ -7291,1276 +7398,1363 @@ static int * const ieee80211_ff_bic_fields[] = { &hf_ieee80211_ff_bic_reserved, NULL }; -static int hf_ieee80211_ff_dmg_params = -1; -static int hf_ieee80211_ff_dmg_params_bss = -1; -static int hf_ieee80211_ff_dmg_params_cbap_only = -1; -static int hf_ieee80211_ff_dmg_params_cbap_src = -1; -static int hf_ieee80211_ff_dmg_params_privacy = -1; -static int hf_ieee80211_ff_dmg_params_policy = -1; -static int hf_ieee80211_ff_dmg_params_spec_mgmt = -1; -static int hf_ieee80211_ff_dmg_params_radio_measure = -1; -static int hf_ieee80211_ff_cc = -1; -static int hf_ieee80211_ff_cc_abft_resp_addr = -1; -static int hf_ieee80211_ff_cc_sp_duration = -1; -static int hf_ieee80211_ff_cc_cluster_id = -1; -static int hf_ieee80211_ff_cc_role = -1; -static int hf_ieee80211_ff_cc_max_mem = -1; -static int hf_ieee80211_ff_dmg_action_code = -1; -static int hf_ieee80211_ff_dmg_pwr_mgmt = -1; -static int hf_ieee80211_ff_subject_address = -1; -static int hf_ieee80211_ff_handover_reason = -1; -static int hf_ieee80211_ff_handover_remaining_bi = -1; -static int hf_ieee80211_ff_handover_result = -1; -static int hf_ieee80211_ff_handover_reject_reason = -1; -static int hf_ieee80211_ff_destination_reds_aid = -1; -static int hf_ieee80211_ff_destination_aid = -1; -static int hf_ieee80211_ff_relay_aid = -1; -static int hf_ieee80211_ff_source_aid = -1; -static int hf_ieee80211_ff_timing_offset = -1; -static int hf_ieee80211_ff_sampling_frequency_offset = -1; -static int hf_ieee80211_ff_relay_operation_type = -1; -static int hf_ieee80211_ff_peer_sta_aid = -1; -static int hf_ieee80211_ff_snr = -1; -static int hf_ieee80211_ff_internal_angle = -1; -static int hf_ieee80211_ff_recommend = -1; -static int hf_ieee80211_ff_unprotected_dmg_action_code = -1; -static int hf_ieee80211_ff_fst_action_code = -1; -static int hf_ieee80211_ff_robust_av_streaming_action_code = -1; -static int hf_ieee80211_ff_llt = -1; -static int hf_ieee80211_ff_fsts_id = -1; -static int hf_ieee80211_ff_mmpdu_len = -1; -static int hf_ieee80211_ff_mmpdu_ctrl = -1; -static int hf_ieee80211_ff_oct_mmpdu = -1; -static int hf_ieee80211_ff_scs_scsid = -1; -static int hf_ieee80211_ff_scs_status = -1; -static int hf_ieee80211_ff_scs_response_count = -1; +static int hf_ieee80211_ff_dmg_params; +static int hf_ieee80211_ff_dmg_params_bss; +static int hf_ieee80211_ff_dmg_params_cbap_only; +static int hf_ieee80211_ff_dmg_params_cbap_src; +static int hf_ieee80211_ff_dmg_params_privacy; +static int hf_ieee80211_ff_dmg_params_policy; +static int hf_ieee80211_ff_dmg_params_spec_mgmt; +static int hf_ieee80211_ff_dmg_params_radio_measure; +static int hf_ieee80211_ff_cc; +static int hf_ieee80211_ff_cc_abft_resp_addr; +static int hf_ieee80211_ff_cc_sp_duration; +static int hf_ieee80211_ff_cc_cluster_id; +static int hf_ieee80211_ff_cc_role; +static int hf_ieee80211_ff_cc_max_mem; +static int hf_ieee80211_ff_dmg_action_code; +static int hf_ieee80211_ff_dmg_pwr_mgmt; +static int hf_ieee80211_ff_subject_address; +static int hf_ieee80211_ff_handover_reason; +static int hf_ieee80211_ff_handover_remaining_bi; +static int hf_ieee80211_ff_handover_result; +static int hf_ieee80211_ff_handover_reject_reason; +static int hf_ieee80211_ff_destination_reds_aid; +static int hf_ieee80211_ff_destination_aid; +static int hf_ieee80211_ff_relay_aid; +static int hf_ieee80211_ff_source_aid; +static int hf_ieee80211_ff_timing_offset; +static int hf_ieee80211_ff_sampling_frequency_offset; +static int hf_ieee80211_ff_relay_operation_type; +static int hf_ieee80211_ff_peer_sta_aid; +static int hf_ieee80211_ff_snr; +static int hf_ieee80211_ff_internal_angle; +static int hf_ieee80211_ff_recommend; +static int hf_ieee80211_ff_unprotected_dmg_action_code; +static int hf_ieee80211_ff_fst_action_code; +static int hf_ieee80211_ff_robust_av_streaming_action_code; +static int hf_ieee80211_ff_llt; +static int hf_ieee80211_ff_fsts_id; +static int hf_ieee80211_ff_mmpdu_len; +static int hf_ieee80211_ff_mmpdu_ctrl; +static int hf_ieee80211_ff_oct_mmpdu; +static int hf_ieee80211_ff_scs_scsid; +static int hf_ieee80211_ff_scs_status; +static int hf_ieee80211_ff_scs_response_count; #if 0 -static int hf_ieee80211_ff_rcsi = -1; -static int hf_ieee80211_ff_rcsi_aid = -1; +static int hf_ieee80211_ff_rcsi; +static int hf_ieee80211_ff_rcsi_aid; #endif -static int hf_ieee80211_ff_band_id = -1; -static int hf_ieee80211_tag_relay_support = -1; -static int hf_ieee80211_tag_relay_use = -1; -static int hf_ieee80211_tag_relay_permission = -1; -static int hf_ieee80211_tag_AC_power = -1; -static int hf_ieee80211_tag_relay_prefer = -1; -static int hf_ieee80211_tag_duplex = -1; -static int hf_ieee80211_tag_cooperation = -1; -static int hf_ieee80211_tag_move = -1; -static int hf_ieee80211_tag_size = -1; -static int hf_ieee80211_tag_tbtt_offset = -1; -static int hf_ieee80211_tag_bi_duration = -1; -static int hf_ieee80211_tag_dmg_capa_sta_addr = -1; -static int hf_ieee80211_tag_dmg_capa_aid = -1; -static int hf_ieee80211_tag_reverse_direction = -1; -static int hf_ieee80211_tag_hlts = -1; -static int hf_ieee80211_tag_tpc = -1; -static int hf_ieee80211_tag_spsh = -1; -static int hf_ieee80211_tag_rx_antenna = -1; -static int hf_ieee80211_tag_fast_link = -1; -static int hf_ieee80211_tag_num_sectors = -1; -static int hf_ieee80211_tag_rxss_length = -1; -static int hf_ieee80211_tag_reciprocity = -1; -static int hf_ieee80211_tag_max_ampdu_exp = -1; -static int hf_ieee80211_tag_min_mpdu_spacing = -1; -static int hf_ieee80211_tag_ba_flow_control = -1; -static int hf_ieee80211_tag_max_sc_rx_mcs = -1; -static int hf_ieee80211_tag_max_ofdm_rx_mcs = -1; -static int hf_ieee80211_tag_max_sc_tx_mcs = -1; -static int hf_ieee80211_tag_max_ofdm_tx_mcs = -1; -static int hf_ieee80211_tag_low_power_supported = -1; -static int hf_ieee80211_tag_code_rate = -1; -static int hf_ieee80211_tag_dtp = -1; -static int hf_ieee80211_tag_appdu_supp = -1; -static int hf_ieee80211_tag_heartbeat = -1; -static int hf_ieee80211_tag_other_aid = -1; -static int hf_ieee80211_tag_pattern_recip = -1; -static int hf_ieee80211_tag_heartbeat_elapsed = -1; -static int hf_ieee80211_tag_grant_ack_supp = -1; -static int hf_ieee80211_tag_RXSSTxRate_supp = -1; -static int hf_ieee80211_tag_pcp_tddti = -1; -static int hf_ieee80211_tag_pcp_PSA = -1; -static int hf_ieee80211_tag_pcp_handover = -1; -static int hf_ieee80211_tag_pcp_max_assoc = -1; -static int hf_ieee80211_tag_pcp_power_src = -1; -static int hf_ieee80211_tag_pcp_decenter = -1; -static int hf_ieee80211_tag_pcp_forwarding = -1; -static int hf_ieee80211_tag_pcp_center = -1; -static int hf_ieee80211_tag_sta_beam_track = -1; -static int hf_ieee80211_tag_ext_sc_mcs_max_tx = -1; -static int hf_ieee80211_tag_ext_sc_mcs_tx_code_7_8 = -1; -static int hf_ieee80211_tag_ext_sc_mcs_max_rx = -1; -static int hf_ieee80211_tag_ext_sc_mcs_rx_code_7_8 = -1; -static int hf_ieee80211_tag_max_basic_sf_amsdu = -1; -static int hf_ieee80211_tag_max_short_sf_amsdu = -1; -static int hf_ieee80211_tag_PSRSI = -1; -static int hf_ieee80211_tag_min_BHI_duration = -1; -static int hf_ieee80211_tag_brdct_sta_info_dur = -1; -static int hf_ieee80211_tag_assoc_resp_confirm_time = -1; -static int hf_ieee80211_tag_min_pp_duration = -1; -static int hf_ieee80211_tag_SP_idle_timeout = -1; -static int hf_ieee80211_tag_max_lost_beacons = -1; -static int hf_ieee80211_tag_type = -1; -static int hf_ieee80211_tag_tap1 = -1; -static int hf_ieee80211_tag_state1 = -1; -static int hf_ieee80211_tag_tap2 = -1; -static int hf_ieee80211_tag_state2 = -1; -static int hf_ieee80211_tag_allocation_id = -1; -static int hf_ieee80211_tag_allocation_type = -1; -static int hf_ieee80211_tag_pseudo_static = -1; -static int hf_ieee80211_tag_truncatable = -1; -static int hf_ieee80211_tag_extendable = -1; -static int hf_ieee80211_tag_pcp_active = -1; -static int hf_ieee80211_tag_lp_sc_used = -1; -static int hf_ieee80211_tag_src_aid = -1; -static int hf_ieee80211_tag_dest_aid = -1; -static int hf_ieee80211_tag_alloc_start = -1; -static int hf_ieee80211_tag_alloc_block_duration = -1; -static int hf_ieee80211_tag_num_blocks = -1; -static int hf_ieee80211_tag_alloc_block_period = -1; -static int hf_ieee80211_tag_aid = -1; -static int hf_ieee80211_tag_cbap = -1; -static int hf_ieee80211_tag_pp_avail = -1; -static int hf_ieee80211_tag_next_ati_start_time = -1; -static int hf_ieee80211_tag_next_ati_duration = -1; -static int hf_ieee80211_tag_old_bssid = -1; -static int hf_ieee80211_tag_new_pcp_addr = -1; -static int hf_ieee80211_tag_bssid = -1; -static int hf_ieee80211_tag_duplex_relay = -1; -static int hf_ieee80211_tag_cooperation_relay = -1; -static int hf_ieee80211_tag_tx_mode = -1; -static int hf_ieee80211_tag_link_change_interval = -1; -static int hf_ieee80211_tag_data_sensing_time = -1; -static int hf_ieee80211_tag_first_period = -1; -static int hf_ieee80211_tag_second_period = -1; -static int hf_ieee80211_tag_initiator = -1; -static int hf_ieee80211_tag_tx_train_res = -1; -static int hf_ieee80211_tag_rx_train_res = -1; -static int hf_ieee80211_tag_tx_trn_ok = -1; -static int hf_ieee80211_tag_txss_fbck_req = -1; -static int hf_ieee80211_tag_bs_fbck = -1; -static int hf_ieee80211_tag_bs_fbck_antenna_id = -1; -static int hf_ieee80211_tag_snr_requested = -1; -static int hf_ieee80211_tag_channel_measurement_requested = -1; -static int hf_ieee80211_tag_number_of_taps_requested = -1; -static int hf_ieee80211_tag_sector_id_order_req = -1; -static int hf_ieee80211_tag_snr_present = -1; -static int hf_ieee80211_tag_channel_measurement_present = -1; -static int hf_ieee80211_tag_tap_delay_present = -1; -static int hf_ieee80211_tag_number_of_taps_present = -1; -static int hf_ieee80211_tag_number_of_measurement = -1; -static int hf_ieee80211_tag_sector_id_order_present = -1; -static int hf_ieee80211_tag_number_of_beams = -1; -static int hf_ieee80211_tag_mid_extension = -1; -static int hf_ieee80211_tag_capability_request = -1; -static int hf_ieee80211_tag_beam_refine_reserved = -1; -static int hf_ieee80211_tag_nextpcp_list = -1; -static int hf_ieee80211_tag_nextpcp_token = -1; -static int hf_ieee80211_tag_reamaining_BI = -1; -static int hf_ieee80211_tag_request_token = -1; -static int hf_ieee80211_tag_bi_start_time = -1; -static int hf_ieee80211_tag_sleep_cycle = -1; -static int hf_ieee80211_tag_num_awake_bis = -1; -static int hf_ieee80211_tag_tspec_allocation_id = -1; -static int hf_ieee80211_tag_tspec_allocation_type = -1; -static int hf_ieee80211_tag_tspec_allocation_format = -1; -static int hf_ieee80211_tag_tspec_pseudo_static = -1; -static int hf_ieee80211_tag_tspec_truncatable = -1; -static int hf_ieee80211_tag_tspec_extendable = -1; -static int hf_ieee80211_tag_tspec_lp_sc_used = -1; -static int hf_ieee80211_tag_tspec_up = -1; -static int hf_ieee80211_tag_tspec_dest_aid = -1; -static int hf_ieee80211_tag_tspec_allocation_period = -1; -static int hf_ieee80211_tag_tspec_min_allocation = -1; -static int hf_ieee80211_tag_tspec_max_allocation = -1; -static int hf_ieee80211_tag_tspec_min_duration = -1; -static int hf_ieee80211_tag_tspec_num_of_constraints = -1; -static int hf_ieee80211_tag_tspec_tsconst_start_time = -1; -static int hf_ieee80211_tag_tspec_tsconst_duration = -1; -static int hf_ieee80211_tag_tspec_tsconst_period = -1; -static int hf_ieee80211_tag_tspec_tsconst_interferer_mac = -1; -static int hf_ieee80211_tag_channel_measurement_feedback_relative_I = -1; -static int hf_ieee80211_tag_channel_measurement_feedback_relative_Q = -1; -static int hf_ieee80211_tag_channel_measurement_feedback_tap_delay = -1; -static int hf_ieee80211_tag_channel_measurement_feedback_sector_id = -1; -static int hf_ieee80211_tag_channel_measurement_feedback_antenna_id = -1; -static int hf_ieee80211_tag_awake_window = -1; -static int hf_ieee80211_tag_addba_ext_no_frag = -1; -static int hf_ieee80211_tag_addba_ext_he_fragmentation_operation = -1; -static int hf_ieee80211_tag_addba_ext_reserved = -1; -static int hf_ieee80211_tag_addba_ext_buffer_size = -1; -static int hf_ieee80211_tag_multi_band_ctrl_sta_role = -1; -static int hf_ieee80211_tag_multi_band_ctrl_addr_present = -1; -static int hf_ieee80211_tag_multi_band_ctrl_cipher_present = -1; -static int hf_ieee80211_tag_multi_band_oper_class = -1; -static int hf_ieee80211_tag_multi_band_channel_number = -1; -static int hf_ieee80211_tag_multi_band_tsf_offset = -1; -static int hf_ieee80211_tag_multi_band_conn_ap = -1; -static int hf_ieee80211_tag_multi_band_conn_pcp = -1; -static int hf_ieee80211_tag_multi_band_conn_dls = -1; -static int hf_ieee80211_tag_multi_band_conn_tdls = -1; -static int hf_ieee80211_tag_multi_band_conn_ibss = -1; -static int hf_ieee80211_tag_multi_band_fst_timeout = -1; -static int hf_ieee80211_tag_multi_band_sta_mac = -1; -static int hf_ieee80211_tag_activity = -1; -static int hf_ieee80211_tag_dmg_link_adapt_mcs = -1; -static int hf_ieee80211_tag_dmg_link_adapt_link_margin = -1; -static int hf_ieee80211_tag_ref_timestamp = -1; -static int hf_ieee80211_tag_switching_stream_non_qos = -1; -static int hf_ieee80211_tag_switching_stream_param_num = -1; -static int hf_ieee80211_tag_switching_stream_old_tid = -1; -static int hf_ieee80211_tag_switching_stream_old_direction = -1; -static int hf_ieee80211_tag_switching_stream_new_tid = -1; -static int hf_ieee80211_tag_switching_stream_new_direction = -1; -static int hf_ieee80211_tag_switching_stream_new_valid_id = -1; -static int hf_ieee80211_tag_switching_stream_llt_type = -1; - -static int hf_ieee80211_mysterious_extra_stuff = -1; - -static int hf_ieee80211_mscs_descriptor_type = -1; -static int hf_ieee80211_mscs_user_prio_control_reserved = -1; -static int hf_ieee80211_user_prio_bitmap = -1; -static int hf_ieee80211_user_prio_bitmap_bit0 = -1; -static int hf_ieee80211_user_prio_bitmap_bit1 = -1; -static int hf_ieee80211_user_prio_bitmap_bit2 = -1; -static int hf_ieee80211_user_prio_bitmap_bit3 = -1; -static int hf_ieee80211_user_prio_bitmap_bit4 = -1; -static int hf_ieee80211_user_prio_bitmap_bit5 = -1; -static int hf_ieee80211_user_prio_bitmap_bit6 = -1; -static int hf_ieee80211_user_prio_bitmap_bit7 = -1; -static int hf_ieee80211_user_prio_limit = -1; -static int hf_ieee80211_user_prio_reserved = -1; -static int hf_ieee80211_stream_timeout_reserved = -1; -static int hf_ieee80211_stream_timeout = -1; -static int hf_ieee80211_mscs_subelement_id = -1; -static int hf_ieee80211_mscs_subelement_len = -1; -static int hf_ieee80211_mscs_subelement_data = -1; - -static int hf_ieee80211_intra_access_prio = -1; -static int hf_ieee80211_intra_access_prio_user_prio = -1; -static int hf_ieee80211_intra_access_prio_alt_queue = -1; -static int hf_ieee80211_intra_access_prio_drop_elig = -1; -static int hf_ieee80211_intra_access_prio_reserved = -1; - -static int hf_ieee80211_scs_descriptor_scsid = -1; -static int hf_ieee80211_scs_descriptor_type = -1; - -static int hf_ieee80211_esp_access_category = -1; -static int hf_ieee80211_esp_reserved = -1; -static int hf_ieee80211_esp_data_format = -1; -static int hf_ieee80211_esp_ba_windows_size = -1; -static int hf_ieee80211_esp_est_air_time_frac = -1; -static int hf_ieee80211_esp_data_ppdu_duration_target = -1; -static int hf_ieee80211_estimated_service_params = -1; - -static int hf_ieee80211_fcg_new_channel_number = -1; -static int hf_ieee80211_fcg_extra_info = -1; -static int hf_ieee80211_sae_password_identifier = -1; - -static int hf_ieee80211_sae_anti_clogging_token = -1; - -static int hf_ieee80211_tag_fils_indication_info_nr_pk = -1; -static int hf_ieee80211_tag_fils_indication_info_nr_realm = -1; -static int hf_ieee80211_tag_fils_indication_info_ip_config = -1; -static int hf_ieee80211_tag_fils_indication_info_cache_id_included = -1; -static int hf_ieee80211_tag_fils_indication_info_hessid_included = -1; -static int hf_ieee80211_tag_fils_indication_info_ska_without_pfs = -1; -static int hf_ieee80211_tag_fils_indication_info_ska_with_pfs = -1; -static int hf_ieee80211_tag_fils_indication_info_pka = -1; -static int hf_ieee80211_tag_fils_indication_info_reserved = -1; -static int hf_ieee80211_tag_fils_indication_cache_identifier = -1; -static int hf_ieee80211_tag_fils_indication_hessid = -1; -static int hf_ieee80211_tag_fils_indication_realm_list = -1; -static int hf_ieee80211_tag_fils_indication_realm_identifier = -1; -static int hf_ieee80211_tag_fils_indication_public_key_list = -1; -static int hf_ieee80211_tag_fils_indication_public_key_type = -1; -static int hf_ieee80211_tag_fils_indication_public_key_length = -1; -static int hf_ieee80211_tag_fils_indication_public_key_indicator = -1; - -static int hf_ieee80211_qos_mgmt_attribute_id = -1; -static int hf_ieee80211_qos_mgmt_attribute_len = -1; -static int hf_ieee80211_qos_mgmt_start_port_range = -1; -static int hf_ieee80211_qos_mgmt_end_port_range = -1; -static int hf_ieee80211_qos_mgmt_dscp_pol_id = -1; -static int hf_ieee80211_qos_mgmt_dscp_pol_req_type = -1; -static int hf_ieee80211_qos_mgmt_dscp_pol_dscp = -1; -static int hf_ieee80211_qos_mgmt_domain_name = -1; -static int hf_ieee80211_qos_mgmt_unknown_attr = -1; - -static int hf_ieee80211_ext_tag = -1; -static int hf_ieee80211_ext_tag_number = -1; -static int hf_ieee80211_ext_tag_length = -1; -static int hf_ieee80211_ext_tag_data = -1; - -static int hf_ieee80211_fils_req_params_parameter_control_bitmap = -1; -static int hf_ieee80211_fils_req_params_fils_criteria_present = -1; -static int hf_ieee80211_fils_req_params_max_delay_limit_present = -1; -static int hf_ieee80211_fils_req_params_minimum_data_rate_present = -1; -static int hf_ieee80211_fils_req_params_rcpi_limit_present = -1; -static int hf_ieee80211_fils_req_params_oui_response_criteria_present = -1; -static int hf_ieee80211_fils_req_params_reserved = -1; -static int hf_ieee80211_fils_req_params_max_channel_time = -1; -static int hf_ieee80211_fils_req_params_fils_criteria = -1; -static int hf_ieee80211_fils_req_params_fils_criteria_bss_delay = -1; -static int hf_ieee80211_fils_req_params_fils_criteria_phy_support = -1; -static int hf_ieee80211_fils_req_params_fils_criteria_reserved = -1; -static int hf_ieee80211_fils_req_params_max_delay_limit = -1; -static int hf_ieee80211_fils_req_params_minimum_data_rate = -1; -static int hf_ieee80211_fils_req_params_rcpi_limit = -1; -static int hf_ieee80211_fils_req_params_oui_response_criteria = -1; - -static int hf_ieee80211_fils_session = -1; -static int hf_ieee80211_fils_encrypted_data = -1; -static int hf_ieee80211_fils_nonce = -1; +static int hf_ieee80211_ff_band_id; +static int hf_ieee80211_tag_relay_support; +static int hf_ieee80211_tag_relay_use; +static int hf_ieee80211_tag_relay_permission; +static int hf_ieee80211_tag_AC_power; +static int hf_ieee80211_tag_relay_prefer; +static int hf_ieee80211_tag_duplex; +static int hf_ieee80211_tag_cooperation; +static int hf_ieee80211_tag_move; +static int hf_ieee80211_tag_size; +static int hf_ieee80211_tag_tbtt_offset; +static int hf_ieee80211_tag_bi_duration; +static int hf_ieee80211_tag_dmg_capa_sta_addr; +static int hf_ieee80211_tag_dmg_capa_aid; +static int hf_ieee80211_tag_reverse_direction; +static int hf_ieee80211_tag_hlts; +static int hf_ieee80211_tag_tpc; +static int hf_ieee80211_tag_spsh; +static int hf_ieee80211_tag_rx_antenna; +static int hf_ieee80211_tag_fast_link; +static int hf_ieee80211_tag_num_sectors; +static int hf_ieee80211_tag_rxss_length; +static int hf_ieee80211_tag_reciprocity; +static int hf_ieee80211_tag_max_ampdu_exp; +static int hf_ieee80211_tag_min_mpdu_spacing; +static int hf_ieee80211_tag_ba_flow_control; +static int hf_ieee80211_tag_max_sc_rx_mcs; +static int hf_ieee80211_tag_max_ofdm_rx_mcs; +static int hf_ieee80211_tag_max_sc_tx_mcs; +static int hf_ieee80211_tag_max_ofdm_tx_mcs; +static int hf_ieee80211_tag_low_power_supported; +static int hf_ieee80211_tag_code_rate; +static int hf_ieee80211_tag_dtp; +static int hf_ieee80211_tag_appdu_supp; +static int hf_ieee80211_tag_heartbeat; +static int hf_ieee80211_tag_other_aid; +static int hf_ieee80211_tag_pattern_recip; +static int hf_ieee80211_tag_heartbeat_elapsed; +static int hf_ieee80211_tag_grant_ack_supp; +static int hf_ieee80211_tag_RXSSTxRate_supp; +static int hf_ieee80211_tag_pcp_tddti; +static int hf_ieee80211_tag_pcp_PSA; +static int hf_ieee80211_tag_pcp_handover; +static int hf_ieee80211_tag_pcp_max_assoc; +static int hf_ieee80211_tag_pcp_power_src; +static int hf_ieee80211_tag_pcp_decenter; +static int hf_ieee80211_tag_pcp_forwarding; +static int hf_ieee80211_tag_pcp_center; +static int hf_ieee80211_tag_sta_beam_track; +static int hf_ieee80211_tag_ext_sc_mcs_max_tx; +static int hf_ieee80211_tag_ext_sc_mcs_tx_code_7_8; +static int hf_ieee80211_tag_ext_sc_mcs_max_rx; +static int hf_ieee80211_tag_ext_sc_mcs_rx_code_7_8; +static int hf_ieee80211_tag_max_basic_sf_amsdu; +static int hf_ieee80211_tag_max_short_sf_amsdu; +static int hf_ieee80211_tag_PSRSI; +static int hf_ieee80211_tag_min_BHI_duration; +static int hf_ieee80211_tag_brdct_sta_info_dur; +static int hf_ieee80211_tag_assoc_resp_confirm_time; +static int hf_ieee80211_tag_min_pp_duration; +static int hf_ieee80211_tag_SP_idle_timeout; +static int hf_ieee80211_tag_max_lost_beacons; +static int hf_ieee80211_tag_type; +static int hf_ieee80211_tag_tap1; +static int hf_ieee80211_tag_state1; +static int hf_ieee80211_tag_tap2; +static int hf_ieee80211_tag_state2; +static int hf_ieee80211_tag_allocation_id; +static int hf_ieee80211_tag_allocation_type; +static int hf_ieee80211_tag_pseudo_static; +static int hf_ieee80211_tag_truncatable; +static int hf_ieee80211_tag_extendable; +static int hf_ieee80211_tag_pcp_active; +static int hf_ieee80211_tag_lp_sc_used; +static int hf_ieee80211_tag_src_aid; +static int hf_ieee80211_tag_dest_aid; +static int hf_ieee80211_tag_alloc_start; +static int hf_ieee80211_tag_alloc_block_duration; +static int hf_ieee80211_tag_num_blocks; +static int hf_ieee80211_tag_alloc_block_period; +static int hf_ieee80211_tag_aid; +static int hf_ieee80211_tag_cbap; +static int hf_ieee80211_tag_pp_avail; +static int hf_ieee80211_tag_next_ati_start_time; +static int hf_ieee80211_tag_next_ati_duration; +static int hf_ieee80211_tag_old_bssid; +static int hf_ieee80211_tag_new_pcp_addr; +static int hf_ieee80211_tag_bssid; +static int hf_ieee80211_tag_duplex_relay; +static int hf_ieee80211_tag_cooperation_relay; +static int hf_ieee80211_tag_tx_mode; +static int hf_ieee80211_tag_link_change_interval; +static int hf_ieee80211_tag_data_sensing_time; +static int hf_ieee80211_tag_first_period; +static int hf_ieee80211_tag_second_period; +static int hf_ieee80211_tag_initiator; +static int hf_ieee80211_tag_tx_train_res; +static int hf_ieee80211_tag_rx_train_res; +static int hf_ieee80211_tag_tx_trn_ok; +static int hf_ieee80211_tag_txss_fbck_req; +static int hf_ieee80211_tag_bs_fbck; +static int hf_ieee80211_tag_bs_fbck_antenna_id; +static int hf_ieee80211_tag_snr_requested; +static int hf_ieee80211_tag_channel_measurement_requested; +static int hf_ieee80211_tag_number_of_taps_requested; +static int hf_ieee80211_tag_sector_id_order_req; +static int hf_ieee80211_tag_snr_present; +static int hf_ieee80211_tag_channel_measurement_present; +static int hf_ieee80211_tag_tap_delay_present; +static int hf_ieee80211_tag_number_of_taps_present; +static int hf_ieee80211_tag_number_of_measurement; +static int hf_ieee80211_tag_sector_id_order_present; +static int hf_ieee80211_tag_number_of_beams; +static int hf_ieee80211_tag_mid_extension; +static int hf_ieee80211_tag_capability_request; +static int hf_ieee80211_tag_beam_refine_reserved; +static int hf_ieee80211_tag_nextpcp_list; +static int hf_ieee80211_tag_nextpcp_token; +static int hf_ieee80211_tag_reamaining_BI; +static int hf_ieee80211_tag_request_token; +static int hf_ieee80211_tag_bi_start_time; +static int hf_ieee80211_tag_sleep_cycle; +static int hf_ieee80211_tag_num_awake_bis; +static int hf_ieee80211_tag_tspec_allocation_id; +static int hf_ieee80211_tag_tspec_allocation_type; +static int hf_ieee80211_tag_tspec_allocation_format; +static int hf_ieee80211_tag_tspec_pseudo_static; +static int hf_ieee80211_tag_tspec_truncatable; +static int hf_ieee80211_tag_tspec_extendable; +static int hf_ieee80211_tag_tspec_lp_sc_used; +static int hf_ieee80211_tag_tspec_up; +static int hf_ieee80211_tag_tspec_dest_aid; +static int hf_ieee80211_tag_tspec_allocation_period; +static int hf_ieee80211_tag_tspec_min_allocation; +static int hf_ieee80211_tag_tspec_max_allocation; +static int hf_ieee80211_tag_tspec_min_duration; +static int hf_ieee80211_tag_tspec_num_of_constraints; +static int hf_ieee80211_tag_tspec_tsconst_start_time; +static int hf_ieee80211_tag_tspec_tsconst_duration; +static int hf_ieee80211_tag_tspec_tsconst_period; +static int hf_ieee80211_tag_tspec_tsconst_interferer_mac; +static int hf_ieee80211_tag_channel_measurement_feedback_relative_I; +static int hf_ieee80211_tag_channel_measurement_feedback_relative_Q; +static int hf_ieee80211_tag_channel_measurement_feedback_tap_delay; +static int hf_ieee80211_tag_channel_measurement_feedback_sector_id; +static int hf_ieee80211_tag_channel_measurement_feedback_antenna_id; +static int hf_ieee80211_tag_awake_window; +static int hf_ieee80211_tag_addba_ext_no_frag; +static int hf_ieee80211_tag_addba_ext_he_fragmentation_operation; +static int hf_ieee80211_tag_addba_ext_reserved; +static int hf_ieee80211_tag_addba_ext_buffer_size; +static int hf_ieee80211_tag_multi_band_ctrl_sta_role; +static int hf_ieee80211_tag_multi_band_ctrl_addr_present; +static int hf_ieee80211_tag_multi_band_ctrl_cipher_present; +static int hf_ieee80211_tag_multi_band_oper_class; +static int hf_ieee80211_tag_multi_band_channel_number; +static int hf_ieee80211_tag_multi_band_tsf_offset; +static int hf_ieee80211_tag_multi_band_conn_ap; +static int hf_ieee80211_tag_multi_band_conn_pcp; +static int hf_ieee80211_tag_multi_band_conn_dls; +static int hf_ieee80211_tag_multi_band_conn_tdls; +static int hf_ieee80211_tag_multi_band_conn_ibss; +static int hf_ieee80211_tag_multi_band_fst_timeout; +static int hf_ieee80211_tag_multi_band_sta_mac; +static int hf_ieee80211_tag_activity; +static int hf_ieee80211_tag_dmg_link_adapt_mcs; +static int hf_ieee80211_tag_dmg_link_adapt_link_margin; +static int hf_ieee80211_tag_ref_timestamp; +static int hf_ieee80211_tag_switching_stream_non_qos; +static int hf_ieee80211_tag_switching_stream_param_num; +static int hf_ieee80211_tag_switching_stream_old_tid; +static int hf_ieee80211_tag_switching_stream_old_direction; +static int hf_ieee80211_tag_switching_stream_new_tid; +static int hf_ieee80211_tag_switching_stream_new_direction; +static int hf_ieee80211_tag_switching_stream_new_valid_id; +static int hf_ieee80211_tag_switching_stream_llt_type; + +static int hf_ieee80211_mysterious_extra_stuff; + +static int hf_ieee80211_mscs_descriptor_type; +static int hf_ieee80211_mscs_user_prio_control_reserved; +static int hf_ieee80211_user_prio_bitmap; +static int hf_ieee80211_user_prio_bitmap_bit0; +static int hf_ieee80211_user_prio_bitmap_bit1; +static int hf_ieee80211_user_prio_bitmap_bit2; +static int hf_ieee80211_user_prio_bitmap_bit3; +static int hf_ieee80211_user_prio_bitmap_bit4; +static int hf_ieee80211_user_prio_bitmap_bit5; +static int hf_ieee80211_user_prio_bitmap_bit6; +static int hf_ieee80211_user_prio_bitmap_bit7; +static int hf_ieee80211_user_prio_limit; +static int hf_ieee80211_user_prio_reserved; +static int hf_ieee80211_stream_timeout_reserved; +static int hf_ieee80211_stream_timeout; +static int hf_ieee80211_mscs_subelement_id; +static int hf_ieee80211_mscs_subelement_len; +static int hf_ieee80211_mscs_subelement_data; + +static int hf_ieee80211_intra_access_prio; +static int hf_ieee80211_intra_access_prio_user_prio; +static int hf_ieee80211_intra_access_prio_alt_queue; +static int hf_ieee80211_intra_access_prio_drop_elig; +static int hf_ieee80211_intra_access_prio_reserved; + +static int hf_ieee80211_scs_descriptor_scsid; +static int hf_ieee80211_scs_descriptor_type; + +static int hf_ieee80211_esp_access_category; +static int hf_ieee80211_esp_reserved; +static int hf_ieee80211_esp_data_format; +static int hf_ieee80211_esp_ba_windows_size; +static int hf_ieee80211_esp_est_air_time_frac; +static int hf_ieee80211_esp_data_ppdu_duration_target; +static int hf_ieee80211_estimated_service_params; + +static int hf_ieee80211_fcg_new_channel_number; +static int hf_ieee80211_fcg_extra_info; +static int hf_ieee80211_sae_password_identifier; + +static int hf_ieee80211_sae_anti_clogging_token; + +static int hf_ieee80211_tag_fils_indication_info_nr_pk; +static int hf_ieee80211_tag_fils_indication_info_nr_realm; +static int hf_ieee80211_tag_fils_indication_info_ip_config; +static int hf_ieee80211_tag_fils_indication_info_cache_id_included; +static int hf_ieee80211_tag_fils_indication_info_hessid_included; +static int hf_ieee80211_tag_fils_indication_info_ska_without_pfs; +static int hf_ieee80211_tag_fils_indication_info_ska_with_pfs; +static int hf_ieee80211_tag_fils_indication_info_pka; +static int hf_ieee80211_tag_fils_indication_info_reserved; +static int hf_ieee80211_tag_fils_indication_cache_identifier; +static int hf_ieee80211_tag_fils_indication_hessid; +static int hf_ieee80211_tag_fils_indication_realm_list; +static int hf_ieee80211_tag_fils_indication_realm_identifier; +static int hf_ieee80211_tag_fils_indication_public_key_list; +static int hf_ieee80211_tag_fils_indication_public_key_type; +static int hf_ieee80211_tag_fils_indication_public_key_length; +static int hf_ieee80211_tag_fils_indication_public_key_indicator; + +static int hf_ieee80211_qos_mgmt_attribute_id; +static int hf_ieee80211_qos_mgmt_attribute_len; +static int hf_ieee80211_qos_mgmt_start_port_range; +static int hf_ieee80211_qos_mgmt_end_port_range; +static int hf_ieee80211_qos_mgmt_dscp_pol_id; +static int hf_ieee80211_qos_mgmt_dscp_pol_req_type; +static int hf_ieee80211_qos_mgmt_dscp_pol_dscp; +static int hf_ieee80211_qos_mgmt_domain_name; +static int hf_ieee80211_qos_mgmt_unknown_attr; + +static int hf_ieee80211_ext_tag; +static int hf_ieee80211_ext_tag_number; +static int hf_ieee80211_ext_tag_length; +static int hf_ieee80211_ext_tag_data; + +static int hf_ieee80211_fils_req_params_parameter_control_bitmap; +static int hf_ieee80211_fils_req_params_fils_criteria_present; +static int hf_ieee80211_fils_req_params_max_delay_limit_present; +static int hf_ieee80211_fils_req_params_minimum_data_rate_present; +static int hf_ieee80211_fils_req_params_rcpi_limit_present; +static int hf_ieee80211_fils_req_params_oui_response_criteria_present; +static int hf_ieee80211_fils_req_params_reserved; +static int hf_ieee80211_fils_req_params_max_channel_time; +static int hf_ieee80211_fils_req_params_fils_criteria; +static int hf_ieee80211_fils_req_params_fils_criteria_bss_delay; +static int hf_ieee80211_fils_req_params_fils_criteria_phy_support; +static int hf_ieee80211_fils_req_params_fils_criteria_reserved; +static int hf_ieee80211_fils_req_params_max_delay_limit; +static int hf_ieee80211_fils_req_params_minimum_data_rate; +static int hf_ieee80211_fils_req_params_rcpi_limit; +static int hf_ieee80211_fils_req_params_oui_response_criteria; + +static int hf_ieee80211_fils_session; +static int hf_ieee80211_fils_encrypted_data; +static int hf_ieee80211_fils_nonce; /* wfa 60g ie tree */ -static int hf_ieee80211_wfa_60g_attr = -1; -static int hf_ieee80211_wfa_60g_attr_id = -1; -static int hf_ieee80211_wfa_60g_attr_len = -1; +static int hf_ieee80211_wfa_60g_attr; +static int hf_ieee80211_wfa_60g_attr_id; +static int hf_ieee80211_wfa_60g_attr_len; -static int hf_ieee80211_wfa_60g_attr_cap_sta_mac_addr = -1; -static int hf_ieee80211_wfa_60g_attr_cap_recv_amsdu_frames = -1; -static int hf_ieee80211_wfa_60g_attr_cap_reserved = -1; +static int hf_ieee80211_wfa_60g_attr_cap_sta_mac_addr; +static int hf_ieee80211_wfa_60g_attr_cap_recv_amsdu_frames; +static int hf_ieee80211_wfa_60g_attr_cap_reserved; /* ************************************************************************* */ /* 802.11AX fields */ /* ************************************************************************* */ -static int hf_ieee80211_he_mac_capabilities = -1; -static int hf_ieee80211_he_htc_he_support = -1; -static int hf_ieee80211_he_twt_requester_support = -1; -static int hf_ieee80211_he_twt_responder_support = -1; -static int hf_ieee80211_he_dynamic_fragmentation_support = -1; -static int hf_ieee80211_he_max_number_fragmented_msdus = -1; -static int hf_ieee80211_he_min_fragment_size = -1; -static int hf_ieee80211_he_trigger_frame_mac_padding_dur = -1; -static int hf_ieee80211_he_multi_tid_aggregation_rx_support = -1; -static int hf_ieee80211_he_he_link_adaptation_support = -1; -static int hf_ieee80211_he_all_ack_support = -1; -static int hf_ieee80211_he_trs_support = -1; -static int hf_ieee80211_he_bsr_support = -1; -static int hf_ieee80211_he_broadcast_twt_support = -1; -static int hf_ieee80211_he_32_bit_ba_bitmap_support = -1; -static int hf_ieee80211_he_mu_cascading_support = -1; -static int hf_ieee80211_he_ack_enabled_aggregation_support = -1; -static int hf_ieee80211_he_reserved_b24 = -1; -static int hf_ieee80211_he_om_control_support = -1; -static int hf_ieee80211_he_ofdma_ra_support = -1; -static int hf_ieee80211_he_max_a_mpdu_length_exponent_ext = -1; -static int hf_ieee80211_he_a_msdu_fragmentation_support = -1; -static int hf_ieee80211_he_flexible_twt_schedule_support = -1; -static int hf_ieee80211_he_rx_control_frame_to_multibss = -1; -static int hf_ieee80211_he_bsrp_bqrp_a_mpdu_aggregation = -1; -static int hf_ieee80211_he_qtp_support = -1; -static int hf_ieee80211_he_bqr_support = -1; -static int hf_ieee80211_he_psr_responder = -1; -static int hf_ieee80211_he_ndp_feedback_report_support = -1; -static int hf_ieee80211_he_ops_support = -1; -static int hf_ieee80211_he_a_msdu_in_a_mpdu_support = -1; -static int hf_ieee80211_he_multi_tid_aggregation_tx_support = -1; -static int hf_ieee80211_he_subchannel_selective_trans_support = -1; -static int hf_ieee80211_he_2_996_tone_ru_support = -1; -static int hf_ieee80211_he_om_control_ul_mu_data_disable_rx_support = -1; -static int hf_ieee80211_he_dynamic_sm_power_save = -1; -static int hf_ieee80211_he_punctured_sounding_support = -1; -static int hf_ieee80211_he_ht_and_vht_trigger_frame_rx_support = -1; -static int hf_ieee80211_he_reserved_bit_18 = -1; -static int hf_ieee80211_he_reserved_bit_19 = -1; -static int hf_ieee80211_he_reserved_bit_25 = -1; -static int hf_ieee80211_he_reserved_bit_29 = -1; -static int hf_ieee80211_he_reserved_bit_34 = -1; -static int hf_ieee80211_he_reserved_bits_5_7 = -1; -static int hf_ieee80211_he_reserved_bits_8_9 = -1; -static int hf_ieee80211_he_reserved_bits_15_16 = -1; -static int hf_ieee80211_he_phy_reserved_b0 = -1; -static int hf_ieee80211_he_phy_cap_reserved_b0 = -1; -static int hf_ieee80211_he_phy_chan_width_set = -1; -static int hf_ieee80211_he_40mhz_channel_2_4ghz = -1; -static int hf_ieee80211_he_40_and_80_mhz_5ghz = -1; -static int hf_ieee80211_he_160_mhz_5ghz = -1; -static int hf_ieee80211_he_160_80_plus_80_mhz_5ghz = -1; -static int hf_ieee80211_he_242_tone_rus_in_2_4ghz = -1; -static int hf_ieee80211_he_242_tone_rus_in_5ghz = -1; -static int hf_ieee80211_he_5ghz_b0_reserved = -1; -static int hf_ieee80211_he_5ghz_b4_reserved = -1; -static int hf_ieee80211_he_24ghz_b1_reserved = -1; -static int hf_ieee80211_he_24ghz_b2_reserved = -1; -static int hf_ieee80211_he_24ghz_b3_reserved = -1; -static int hf_ieee80211_he_24ghz_b5_reserved = -1; -static int hf_ieee80211_he_chan_width_reserved = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_8_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_8_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_8_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_8_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_8_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_1_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_2_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_3_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_4_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_5_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_6_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_7_ss = -1; -static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_8_ss = -1; -static int hf_ieee80211_he_rx_he_mcs_map_lte_80 = -1; -static int hf_ieee80211_he_tx_he_mcs_map_lte_80 = -1; -static int hf_ieee80211_he_rx_he_mcs_map_160 = -1; -static int hf_ieee80211_he_tx_he_mcs_map_160 = -1; -static int hf_ieee80211_he_rx_he_mcs_map_80_80 = -1; -static int hf_ieee80211_he_tx_he_mcs_map_80_80 = -1; -static int hf_ieee80211_he_ppe_thresholds_nss = -1; -static int hf_ieee80211_he_ppe_thresholds_ru_index_bitmask = -1; -static int hf_ieee80211_he_ppe_ppet16 = -1; -static int hf_ieee80211_he_ppe_ppet8 = -1; -static int hf_ieee80211_he_phy_b8_to_b23 = -1; -static int hf_ieee80211_he_phy_cap_punctured_preamble_rx = -1; -static int hf_ieee80211_he_phy_cap_device_class = -1; -static int hf_ieee80211_he_phy_cap_ldpc_coding_in_payload = -1; -static int hf_ieee80211_he_phy_cap_he_su_ppdu_1x_he_ltf_08us = -1; -static int hf_ieee80211_he_phy_cap_midamble_tx_rx_max_nsts = -1; -static int hf_ieee80211_he_phy_cap_ndp_with_4x_he_ltf_32us = -1; -static int hf_ieee80211_he_phy_cap_stbc_tx_lt_80mhz = -1; -static int hf_ieee80211_he_phy_cap_stbc_rx_lt_80mhz = -1; -static int hf_ieee80211_he_phy_cap_doppler_tx = -1; -static int hf_ieee80211_he_phy_cap_doppler_rx = -1; -static int hf_ieee80211_he_phy_cap_full_bw_ul_mu_mimo = -1; -static int hf_ieee80211_he_phy_cap_partial_bw_ul_mu_mimo = -1; -static int hf_ieee80211_he_phy_b24_to_b39 = -1; -static int hf_ieee80211_he_phy_cap_dcm_max_constellation_tx = -1; -static int hf_ieee80211_he_phy_cap_dcm_max_nss_tx = -1; -static int hf_ieee80211_he_phy_cap_dcm_max_constellation_rx = -1; -static int hf_ieee80211_he_phy_cap_dcm_max_nss_rx = -1; -static int hf_ieee80211_he_phy_cap_rx_partial_bw_su_20mhz_he_mu_ppdu = -1; -static int hf_ieee80211_he_phy_cap_su_beamformer = -1; -static int hf_ieee80211_he_phy_cap_su_beamformee = -1; -static int hf_ieee80211_he_phy_cap_mu_beamformer = -1; -static int hf_ieee80211_he_phy_cap_beamformee_sts_lte_80mhz = -1; -static int hf_ieee80211_he_phy_cap_beamformee_sts_gt_80mhz = -1; -static int hf_ieee80211_he_phy_b40_to_b55 = -1; -static int hf_ieee80211_he_phy_cap_number_of_sounding_dims_lte_80 = -1; -static int hf_ieee80211_he_phy_cap_number_of_sounding_dims_gt_80 = -1; -static int hf_ieee80211_he_phy_cap_ng_eq_16_su_fb = -1; -static int hf_ieee80211_he_phy_cap_ng_eq_16_mu_fb = -1; -static int hf_ieee80211_he_phy_cap_codebook_size_eq_4_2_fb = -1; -static int hf_ieee80211_he_phy_cap_codebook_size_eq_7_5_fb = -1; -static int hf_ieee80211_he_phy_cap_triggered_su_beamforming_fb = -1; -static int hf_ieee80211_he_phy_cap_triggered_mu_beamforming_fb = -1; -static int hf_ieee80211_he_phy_cap_triggered_cqi_fb = -1; -static int hf_ieee80211_he_phy_cap_partial_bw_extended_range = -1; -static int hf_ieee80211_he_phy_cap_partial_bw_dl_mu_mimo = -1; -static int hf_ieee80211_he_phy_cap_ppe_threshold_present = -1; -static int hf_ieee80211_he_phy_b56_to_b71 = -1; -static int hf_ieee80211_he_phy_cap_psr_based_sr_support = -1; -static int hf_ieee80211_he_phy_cap_power_boost_factor_ar_support = -1; -static int hf_ieee80211_he_phy_cap_he_su_ppdu_etc_gi = -1; -static int hf_ieee80211_he_phy_cap_max_nc = -1; -static int hf_ieee80211_he_phy_cap_stbc_tx_gt_80_mhz = -1; -static int hf_ieee80211_he_phy_cap_stbc_rx_gt_80_mhz = -1; -static int hf_ieee80211_he_phy_cap_he_er_su_ppdu_4xxx_gi = -1; -static int hf_ieee80211_he_phy_cap_20mhz_in_40mhz_24ghz_band = -1; -static int hf_ieee80211_he_phy_cap_20mhz_in_160_80p80_ppdu = -1; -static int hf_ieee80211_he_phy_cap_80mgz_in_160_80p80_ppdu = -1; -static int hf_ieee80211_he_phy_cap_he_er_su_ppdu_1xxx_gi = -1; -static int hf_ieee80211_he_phy_cap_midamble_tx_rx_2x_xxx_ltf = -1; -static int hf_ieee80211_he_phy_b72_to_b87 = -1; -static int hf_ieee80211_he_phy_cap_dcm_max_ru = -1; -static int hf_ieee80211_he_phy_cap_longer_than_16_he_sigb_ofdm_symbol_support = -1; -static int hf_ieee80211_he_phy_cap_non_triggered_cqi_feedback = -1; -static int hf_ieee80211_he_phy_cap_tx_1024_qam_242_tone_ru_support = -1; -static int hf_ieee80211_he_phy_cap_rx_1024_qam_242_tone_ru_support = -1; -static int hf_ieee80211_he_phy_cap_rx_full_bw_su_using_he_muppdu_w_compressed_sigb = -1; -static int hf_ieee80211_he_phy_cap_rx_full_bw_su_using_he_muppdu_w_non_compressed_sigb = -1; -static int hf_ieee80211_he_phy_cap_nominal_packet_padding = -1; -static int hf_ieee80211_he_phy_cap_he_mu_ppdu_ru_rx_max = -1; -static int hf_ieee80211_he_phy_cap_b81_b87_reserved = -1; -static int hf_ieee80211_he_operation_parameter = -1; -static int hf_ieee80211_he_operation_default_pe_duration = -1; -static int hf_ieee80211_he_operation_twt_required = -1; -static int hf_ieee80211_he_operation_txop_duration_rts_threshold = -1; -static int hf_ieee80211_he_operation_vht_operation_information_present = -1; -static int hf_ieee80211_he_operation_co_hosted_bss = -1; -static int hf_ieee80211_he_operation_er_su_disable = -1; -static int hf_ieee80211_he_operation_6ghz_operation_information_present = -1; -static int hf_ieee80211_he_operation_reserved_b16_b23 = -1; -static int hf_ieee80211_he_bss_color_information = -1; -static int hf_ieee80211_he_bss_color_info_bss_color = -1; -static int hf_ieee80211_he_bss_color_partial_bss_color = -1; -static int hf_ieee80211_he_bss_color_bss_color_disabled = -1; -static int hf_ieee80211_he_operation_basic_mcs = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_1_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_2_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_3_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_4_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_5_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_6_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_7_ss = -1; -static int hf_ieee80211_he_oper_max_he_mcs_for_8_ss = -1; -static int hf_ieee80211_he_operation_channel_width = -1; -static int hf_ieee80211_he_operation_channel_center_freq_0 = -1; -static int hf_ieee80211_he_operation_channel_center_freq_1 = -1; -static int hf_ieee80211_he_operation_max_co_hosted_bssid_indicator = -1; -static int hf_ieee80211_he_operation_6ghz_primary_channel = -1; -static int hf_ieee80211_he_operation_6ghz_control = -1; -static int hf_ieee80211_he_operation_6ghz_control_channel_width = -1; -static int hf_ieee80211_he_operation_6ghz_control_duplicate_beacon = -1; -static int hf_ieee80211_he_operation_6ghz_control_regulatory_info = -1; -static int hf_ieee80211_he_operation_6ghz_control_reserved = -1; -static int hf_ieee80211_he_operation_6ghz_channel_center_freq_0 = -1; -static int hf_ieee80211_he_operation_6ghz_channel_center_freq_1 = -1; -static int hf_ieee80211_he_operation_6ghz_minimum_rate = -1; -static int hf_ieee80211_he_muac_aci_aifsn = -1; -static int hf_ieee80211_he_muac_aifsn = -1; -static int hf_ieee80211_he_muac_acm = -1; -static int hf_ieee80211_he_muac_aci = -1; -static int hf_ieee80211_he_muac_reserved = -1; -static int hf_ieee80211_he_mu_edca_timer = -1; -static int hf_ieee80211_he_muac_ecwmin_ecwmax = -1; -static int hf_ieee80211_he_srp_disallowed = -1; -static int hf_ieee80211_he_non_srg_obss_pd_sr_disallowed = -1; -static int hf_ieee80211_he_non_srg_offset_present = -1; -static int hf_ieee80211_he_srg_information_present = -1; -static int hf_ieee80211_he_hesiga_spatial_reuse_value15_allowed = -1; -static int hf_ieee80211_he_sr_control_reserved = -1; -static int hf_ieee80211_he_spatial_reuse_sr_control = -1; -static int hf_ieee80211_he_spatial_non_srg_obss_pd_max_offset = -1; -static int hf_ieee80211_he_spatial_srg_obss_pd_min_offset = -1; -static int hf_ieee80211_he_spatial_srg_obss_pd_max_offset = -1; -static int hf_ieee80211_he_spatial_srg_bss_color_bitmap = -1; -static int hf_ieee80211_he_spatial_srg_partial_bssid_bitmap = -1; -static int hf_ieee80211_he_ess_report_planned_ess = -1; -static int hf_ieee80211_he_ess_report_edge_of_ess = -1; -static int hf_ieee80211_he_resource_request_buffer_thresh = -1; -static int hf_ieee80211_he_bss_color_change_new_color_info = -1; -static int hf_ieee80211_he_new_bss_color_info_color = -1; -static int hf_ieee80211_he_new_bss_color_info_reserved = -1; -static int hf_ieee80211_he_bss_color_change_switch_countdown = -1; -static int hf_ieee80211_he_ess_report_info_field = -1; -static int hf_ieee80211_he_ess_report_recommend_transition_thresh = -1; -static int hf_ieee80211_he_ops_duration = -1; -static int hf_ieee80211_he_uora_field = -1; -static int hf_ieee80211_he_uora_eocwmin = -1; -static int hf_ieee80211_he_uora_owcwmax = -1; -static int hf_ieee80211_he_uora_reserved = -1; - -static int hf_ieee80211_max_channel_switch_time = -1; - -static int hf_ieee80211_oci_operating_class = -1; -static int hf_ieee80211_oci_primary_channel_number = -1; -static int hf_ieee80211_oci_frequency_segment_1 = -1; -static int hf_ieee80211_oci_oct_operating_class = -1; -static int hf_ieee80211_oci_oct_primary_channel_number = -1; -static int hf_ieee80211_oci_oct_frequency_segment_1 = -1; - -static int hf_ieee80211_multiple_bssid_configuration_bssid_count = -1; -static int hf_ieee80211_multiple_bssid_configuration_full_set_rx_periodicity = -1; -static int hf_ieee80211_known_bssid_bitmap = -1; -static int hf_ieee80211_short_ssid = -1; - -static int hf_ieee80211_non_inheritance_element_id_list_length = -1; -static int hf_ieee80211_non_inheritance_element_id_list_element_id = -1; -static int hf_ieee80211_non_inheritance_element_id_ext_list_length = -1; -static int hf_ieee80211_non_inheritance_element_id_ext_list_element_id_ext = -1; - -static int hf_ieee80211_rejected_groups_group = -1; - -static int hf_ieee80211_twt_bcast_flow = -1; -static int hf_ieee80211_twt_individual_flow = -1; -static int hf_ieee80211_twt_individual_flow_id = -1; -static int hf_ieee80211_twt_individual_reserved = -1; -static int hf_ieee80211_twt_bcast_id = -1; -static int hf_ieee80211_twt_neg_type = -1; -static int hf_ieee80211_twt_neg_type2_reserved1 = -1; -static int hf_ieee80211_twt_neg_type2_reserved2 = -1; -static int hf_ieee80211_twt_bcast_teardown_all = -1; -static int hf_ieee80211_twt_bcast_teardown_all_twt = -1; -static int hf_ieee80211_twt_bcast_twt_id_reserved = -1; -static int hf_ieee80211_twt_bcast_neg_type_reserved = -1; - -static int hf_ieee80211_tag_twt_control_field = -1; -static int hf_ieee80211_tag_twt_ndp_paging_indicator = -1; -static int hf_ieee80211_tag_twt_responder_pm_mode = -1; -static int hf_ieee80211_tag_twt_neg_type = -1; -static int hf_ieee80211_tag_twt_info_frame_disabled = -1; -static int hf_ieee80211_tag_twt_wake_duration_unit = -1; -static int hf_ieee80211_tag_twt_link_id_bitmap_present = -1; -static int hf_ieee80211_tag_twt_aligned_twt = -1; - -static int hf_ieee80211_tag_twt_req_type_field = -1; -static int hf_ieee80211_tag_twt_req_type_req = -1; -static int hf_ieee80211_tag_twt_req_type_setup_cmd = -1; -static int hf_ieee80211_tag_twt_req_type_trigger = -1; -static int hf_ieee80211_tag_twt_req_type_implicit = -1; -static int hf_ieee80211_tag_twt_req_type_flow_type = -1; -static int hf_ieee80211_tag_twt_req_type_flow_id = -1; -static int hf_ieee80211_tag_twt_req_type_wake_int_exp = -1; -static int hf_ieee80211_tag_twt_req_type_prot = -1; -static int hf_ieee80211_tag_twt_req_type_last_bcst_parm_set = -1; -static int hf_ieee80211_tag_twt_req_type_bcst_twt_recom = -1; -static int hf_ieee80211_tag_twt_req_type_aligned = -1; - -static int hf_ieee80211_tag_twt_ndp_paging_field = -1; -static int hf_ieee80211_tag_twt_ndp_paging_p_id = -1; -static int hf_ieee80211_tag_twt_ndp_max_ndp_paging_period = -1; -static int hf_ieee80211_tag_twt_ndp_partial_tsf_offset = -1; -static int hf_ieee80211_tag_twt_ndp_action = -1; -static int hf_ieee80211_tag_twt_ndp_min_sleep_duration = -1; -static int hf_ieee80211_tag_twt_ndp_reserved = -1; -static int hf_ieee80211_tag_twt_link_id_bitmap = -1; -static int hf_ieee80211_tag_twt_aligned_twt_link_bitmap = -1; -static int hf_ieee80211_tag_twt_broadcast_info = -1; -static int hf_ieee80211_tag_twt_bcast_info_persistence = -1; -static int hf_ieee80211_tag_twt_bcast_info_id = -1; -static int hf_ieee80211_tag_twt_bcast_info_rtwt_traffic_present = -1; -static int hf_ieee80211_tag_twt_bcast_info_rtwt_sche_info = -1; -static int hf_ieee80211_tag_twt_traffic_info_control = -1; -static int hf_ieee80211_tag_twt_traffic_info_dl_bitmap_valid = -1; -static int hf_ieee80211_tag_twt_traffic_info_ul_bitmap_valid = -1; -static int hf_ieee80211_tag_twt_traffic_info_reserved = -1; -static int hf_ieee80211_tag_twt_traffic_info_rtwt_dl_bitmap = -1; -static int hf_ieee80211_tag_twt_traffic_info_rtwt_ul_bitmap = -1; - -static int hf_ieee80211_tag_twt_target_wake_time = -1; -static int hf_ieee80211_tag_twt_target_wake_time_short = -1; -static int hf_ieee80211_tag_twt_nom_min_twt_wake_dur = -1; -static int hf_ieee80211_tag_twt_wake_interval_mantissa = -1; -static int hf_ieee80211_tag_twt_channel = -1; - -static int hf_ieee80211_tag_rsnx = -1; +static int hf_ieee80211_he_mac_capabilities; +static int hf_ieee80211_he_htc_he_support; +static int hf_ieee80211_he_twt_requester_support; +static int hf_ieee80211_he_twt_responder_support; +static int hf_ieee80211_he_dynamic_fragmentation_support; +static int hf_ieee80211_he_max_number_fragmented_msdus; +static int hf_ieee80211_he_min_fragment_size; +static int hf_ieee80211_he_trigger_frame_mac_padding_dur; +static int hf_ieee80211_he_multi_tid_aggregation_rx_support; +static int hf_ieee80211_he_he_link_adaptation_support; +static int hf_ieee80211_he_all_ack_support; +static int hf_ieee80211_he_trs_support; +static int hf_ieee80211_he_bsr_support; +static int hf_ieee80211_he_broadcast_twt_support; +static int hf_ieee80211_he_32_bit_ba_bitmap_support; +static int hf_ieee80211_he_mu_cascading_support; +static int hf_ieee80211_he_ack_enabled_aggregation_support; +static int hf_ieee80211_he_reserved_b24; +static int hf_ieee80211_he_om_control_support; +static int hf_ieee80211_he_ofdma_ra_support; +static int hf_ieee80211_he_max_a_mpdu_length_exponent_ext; +static int hf_ieee80211_he_a_msdu_fragmentation_support; +static int hf_ieee80211_he_flexible_twt_schedule_support; +static int hf_ieee80211_he_rx_control_frame_to_multibss; +static int hf_ieee80211_he_bsrp_bqrp_a_mpdu_aggregation; +static int hf_ieee80211_he_qtp_support; +static int hf_ieee80211_he_bqr_support; +static int hf_ieee80211_he_psr_responder; +static int hf_ieee80211_he_ndp_feedback_report_support; +static int hf_ieee80211_he_ops_support; +static int hf_ieee80211_he_a_msdu_in_a_mpdu_support; +static int hf_ieee80211_he_multi_tid_aggregation_tx_support; +static int hf_ieee80211_he_subchannel_selective_trans_support; +static int hf_ieee80211_he_2_996_tone_ru_support; +static int hf_ieee80211_he_om_control_ul_mu_data_disable_rx_support; +static int hf_ieee80211_he_dynamic_sm_power_save; +static int hf_ieee80211_he_punctured_sounding_support; +static int hf_ieee80211_he_ht_and_vht_trigger_frame_rx_support; +static int hf_ieee80211_he_reserved_bit_18; +static int hf_ieee80211_he_reserved_bit_19; +static int hf_ieee80211_he_reserved_bit_25; +static int hf_ieee80211_he_reserved_bit_29; +static int hf_ieee80211_he_reserved_bit_34; +static int hf_ieee80211_he_reserved_bits_5_7; +static int hf_ieee80211_he_reserved_bits_8_9; +static int hf_ieee80211_he_reserved_bits_15_16; +static int hf_ieee80211_he_phy_reserved_b0; +static int hf_ieee80211_he_phy_cap_reserved_b0; +static int hf_ieee80211_he_phy_chan_width_set; +static int hf_ieee80211_he_40mhz_channel_2_4ghz; +static int hf_ieee80211_he_40_and_80_mhz_5ghz; +static int hf_ieee80211_he_160_mhz_5ghz; +static int hf_ieee80211_he_160_80_plus_80_mhz_5ghz; +static int hf_ieee80211_he_242_tone_rus_in_2_4ghz; +static int hf_ieee80211_he_242_tone_rus_in_5ghz; +static int hf_ieee80211_he_5ghz_b0_reserved; +static int hf_ieee80211_he_5ghz_b4_reserved; +static int hf_ieee80211_he_24ghz_b1_reserved; +static int hf_ieee80211_he_24ghz_b2_reserved; +static int hf_ieee80211_he_24ghz_b3_reserved; +static int hf_ieee80211_he_24ghz_b5_reserved; +static int hf_ieee80211_he_chan_width_reserved; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_rx_8_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80_tx_8_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_rx_8_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_80p80_tx_8_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_rx_8_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_1_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_2_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_3_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_4_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_5_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_6_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_7_ss; +static int hf_ieee80211_he_mcs_max_he_mcs_160_tx_8_ss; +static int hf_ieee80211_he_rx_he_mcs_map_lte_80; +static int hf_ieee80211_he_tx_he_mcs_map_lte_80; +static int hf_ieee80211_he_rx_he_mcs_map_160; +static int hf_ieee80211_he_tx_he_mcs_map_160; +static int hf_ieee80211_he_rx_he_mcs_map_80_80; +static int hf_ieee80211_he_tx_he_mcs_map_80_80; +static int hf_ieee80211_he_ppe_thresholds_nss; +static int hf_ieee80211_he_ppe_thresholds_ru_index_bitmask; +static int hf_ieee80211_he_ppe_ppet16; +static int hf_ieee80211_he_ppe_ppet8; +static int hf_ieee80211_he_phy_b8_to_b23; +static int hf_ieee80211_he_phy_cap_punctured_preamble_rx; +static int hf_ieee80211_he_phy_cap_device_class; +static int hf_ieee80211_he_phy_cap_ldpc_coding_in_payload; +static int hf_ieee80211_he_phy_cap_he_su_ppdu_1x_he_ltf_08us; +static int hf_ieee80211_he_phy_cap_midamble_tx_rx_max_nsts; +static int hf_ieee80211_he_phy_cap_ndp_with_4x_he_ltf_32us; +static int hf_ieee80211_he_phy_cap_stbc_tx_lt_80mhz; +static int hf_ieee80211_he_phy_cap_stbc_rx_lt_80mhz; +static int hf_ieee80211_he_phy_cap_doppler_tx; +static int hf_ieee80211_he_phy_cap_doppler_rx; +static int hf_ieee80211_he_phy_cap_full_bw_ul_mu_mimo; +static int hf_ieee80211_he_phy_cap_partial_bw_ul_mu_mimo; +static int hf_ieee80211_he_phy_b24_to_b39; +static int hf_ieee80211_he_phy_cap_dcm_max_constellation_tx; +static int hf_ieee80211_he_phy_cap_dcm_max_nss_tx; +static int hf_ieee80211_he_phy_cap_dcm_max_constellation_rx; +static int hf_ieee80211_he_phy_cap_dcm_max_nss_rx; +static int hf_ieee80211_he_phy_cap_rx_partial_bw_su_20mhz_he_mu_ppdu; +static int hf_ieee80211_he_phy_cap_su_beamformer; +static int hf_ieee80211_he_phy_cap_su_beamformee; +static int hf_ieee80211_he_phy_cap_mu_beamformer; +static int hf_ieee80211_he_phy_cap_beamformee_sts_lte_80mhz; +static int hf_ieee80211_he_phy_cap_beamformee_sts_gt_80mhz; +static int hf_ieee80211_he_phy_b40_to_b55; +static int hf_ieee80211_he_phy_cap_number_of_sounding_dims_lte_80; +static int hf_ieee80211_he_phy_cap_number_of_sounding_dims_gt_80; +static int hf_ieee80211_he_phy_cap_ng_eq_16_su_fb; +static int hf_ieee80211_he_phy_cap_ng_eq_16_mu_fb; +static int hf_ieee80211_he_phy_cap_codebook_size_eq_4_2_fb; +static int hf_ieee80211_he_phy_cap_codebook_size_eq_7_5_fb; +static int hf_ieee80211_he_phy_cap_triggered_su_beamforming_fb; +static int hf_ieee80211_he_phy_cap_triggered_mu_beamforming_fb; +static int hf_ieee80211_he_phy_cap_triggered_cqi_fb; +static int hf_ieee80211_he_phy_cap_partial_bw_extended_range; +static int hf_ieee80211_he_phy_cap_partial_bw_dl_mu_mimo; +static int hf_ieee80211_he_phy_cap_ppe_threshold_present; +static int hf_ieee80211_he_phy_b56_to_b71; +static int hf_ieee80211_he_phy_cap_psr_based_sr_support; +static int hf_ieee80211_he_phy_cap_power_boost_factor_ar_support; +static int hf_ieee80211_he_phy_cap_he_su_ppdu_etc_gi; +static int hf_ieee80211_he_phy_cap_max_nc; +static int hf_ieee80211_he_phy_cap_stbc_tx_gt_80_mhz; +static int hf_ieee80211_he_phy_cap_stbc_rx_gt_80_mhz; +static int hf_ieee80211_he_phy_cap_he_er_su_ppdu_4xxx_gi; +static int hf_ieee80211_he_phy_cap_20mhz_in_40mhz_24ghz_band; +static int hf_ieee80211_he_phy_cap_20mhz_in_160_80p80_ppdu; +static int hf_ieee80211_he_phy_cap_80mgz_in_160_80p80_ppdu; +static int hf_ieee80211_he_phy_cap_he_er_su_ppdu_1xxx_gi; +static int hf_ieee80211_he_phy_cap_midamble_tx_rx_2x_xxx_ltf; +static int hf_ieee80211_he_phy_b72_to_b87; +static int hf_ieee80211_he_phy_cap_dcm_max_ru; +static int hf_ieee80211_he_phy_cap_longer_than_16_he_sigb_ofdm_symbol_support; +static int hf_ieee80211_he_phy_cap_non_triggered_cqi_feedback; +static int hf_ieee80211_he_phy_cap_tx_1024_qam_242_tone_ru_support; +static int hf_ieee80211_he_phy_cap_rx_1024_qam_242_tone_ru_support; +static int hf_ieee80211_he_phy_cap_rx_full_bw_su_using_he_muppdu_w_compressed_sigb; +static int hf_ieee80211_he_phy_cap_rx_full_bw_su_using_he_muppdu_w_non_compressed_sigb; +static int hf_ieee80211_he_phy_cap_nominal_packet_padding; +static int hf_ieee80211_he_phy_cap_he_mu_ppdu_ru_rx_max; +static int hf_ieee80211_he_phy_cap_b81_b87_reserved; +static int hf_ieee80211_he_operation_parameter; +static int hf_ieee80211_he_operation_default_pe_duration; +static int hf_ieee80211_he_operation_twt_required; +static int hf_ieee80211_he_operation_txop_duration_rts_threshold; +static int hf_ieee80211_he_operation_vht_operation_information_present; +static int hf_ieee80211_he_operation_co_hosted_bss; +static int hf_ieee80211_he_operation_er_su_disable; +static int hf_ieee80211_he_operation_6ghz_operation_information_present; +static int hf_ieee80211_he_operation_reserved_b16_b23; +static int hf_ieee80211_he_bss_color_information; +static int hf_ieee80211_he_bss_color_info_bss_color; +static int hf_ieee80211_he_bss_color_partial_bss_color; +static int hf_ieee80211_he_bss_color_bss_color_disabled; +static int hf_ieee80211_he_operation_basic_mcs; +static int hf_ieee80211_he_oper_max_he_mcs_for_1_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_2_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_3_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_4_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_5_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_6_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_7_ss; +static int hf_ieee80211_he_oper_max_he_mcs_for_8_ss; +static int hf_ieee80211_he_operation_channel_width; +static int hf_ieee80211_he_operation_channel_center_freq_0; +static int hf_ieee80211_he_operation_channel_center_freq_1; +static int hf_ieee80211_he_operation_max_co_hosted_bssid_indicator; +static int hf_ieee80211_he_operation_6ghz_primary_channel; +static int hf_ieee80211_he_operation_6ghz_control; +static int hf_ieee80211_he_operation_6ghz_control_channel_width; +static int hf_ieee80211_he_operation_6ghz_control_duplicate_beacon; +static int hf_ieee80211_he_operation_6ghz_control_regulatory_info; +static int hf_ieee80211_he_operation_6ghz_control_reserved; +static int hf_ieee80211_he_operation_6ghz_channel_center_freq_0; +static int hf_ieee80211_he_operation_6ghz_channel_center_freq_1; +static int hf_ieee80211_he_operation_6ghz_minimum_rate; +static int hf_ieee80211_he_muac_aci_aifsn; +static int hf_ieee80211_he_muac_aifsn; +static int hf_ieee80211_he_muac_acm; +static int hf_ieee80211_he_muac_aci; +static int hf_ieee80211_he_muac_reserved; +static int hf_ieee80211_he_mu_edca_timer; +static int hf_ieee80211_he_muac_ecwmin_ecwmax; +static int hf_ieee80211_he_srp_disallowed; +static int hf_ieee80211_he_non_srg_obss_pd_sr_disallowed; +static int hf_ieee80211_he_non_srg_offset_present; +static int hf_ieee80211_he_srg_information_present; +static int hf_ieee80211_he_hesiga_spatial_reuse_value15_allowed; +static int hf_ieee80211_he_sr_control_reserved; +static int hf_ieee80211_he_spatial_reuse_sr_control; +static int hf_ieee80211_he_spatial_non_srg_obss_pd_max_offset; +static int hf_ieee80211_he_spatial_srg_obss_pd_min_offset; +static int hf_ieee80211_he_spatial_srg_obss_pd_max_offset; +static int hf_ieee80211_he_spatial_srg_bss_color_bitmap; +static int hf_ieee80211_he_spatial_srg_partial_bssid_bitmap; +static int hf_ieee80211_he_ess_report_planned_ess; +static int hf_ieee80211_he_ess_report_edge_of_ess; +static int hf_ieee80211_he_resource_request_buffer_thresh; +static int hf_ieee80211_he_bss_color_change_new_color_info; +static int hf_ieee80211_he_new_bss_color_info_color; +static int hf_ieee80211_he_new_bss_color_info_reserved; +static int hf_ieee80211_he_bss_color_change_switch_countdown; +static int hf_ieee80211_he_ess_report_info_field; +static int hf_ieee80211_he_ess_report_recommend_transition_thresh; +static int hf_ieee80211_he_ops_duration; +static int hf_ieee80211_he_uora_field; +static int hf_ieee80211_he_uora_eocwmin; +static int hf_ieee80211_he_uora_owcwmax; +static int hf_ieee80211_he_uora_reserved; + +static int hf_ieee80211_max_channel_switch_time; + +static int hf_ieee80211_oci_operating_class; +static int hf_ieee80211_oci_primary_channel_number; +static int hf_ieee80211_oci_frequency_segment_1; +static int hf_ieee80211_oci_oct_operating_class; +static int hf_ieee80211_oci_oct_primary_channel_number; +static int hf_ieee80211_oci_oct_frequency_segment_1; + +static int hf_ieee80211_multiple_bssid_configuration_bssid_count; +static int hf_ieee80211_multiple_bssid_configuration_full_set_rx_periodicity; +static int hf_ieee80211_known_bssid_bitmap; +static int hf_ieee80211_short_ssid; + +static int hf_ieee80211_non_inheritance_element_id_list_length; +static int hf_ieee80211_non_inheritance_element_id_list_element_id; +static int hf_ieee80211_non_inheritance_element_id_ext_list_length; +static int hf_ieee80211_non_inheritance_element_id_ext_list_element_id_ext; + +static int hf_ieee80211_rejected_groups_group; + +static int hf_ieee80211_twt_bcast_flow; +static int hf_ieee80211_twt_individual_flow; +static int hf_ieee80211_twt_individual_flow_id; +static int hf_ieee80211_twt_individual_reserved; +static int hf_ieee80211_twt_bcast_id; +static int hf_ieee80211_twt_neg_type; +static int hf_ieee80211_twt_neg_type2_reserved1; +static int hf_ieee80211_twt_neg_type2_reserved2; +static int hf_ieee80211_twt_bcast_teardown_all; +static int hf_ieee80211_twt_bcast_teardown_all_twt; +static int hf_ieee80211_twt_bcast_twt_id_reserved; +static int hf_ieee80211_twt_bcast_neg_type_reserved; + +static int hf_ieee80211_tag_twt_control_field; +static int hf_ieee80211_tag_twt_ndp_paging_indicator; +static int hf_ieee80211_tag_twt_responder_pm_mode; +static int hf_ieee80211_tag_twt_neg_type; +static int hf_ieee80211_tag_twt_info_frame_disabled; +static int hf_ieee80211_tag_twt_wake_duration_unit; +static int hf_ieee80211_tag_twt_link_id_bitmap_present; +static int hf_ieee80211_tag_twt_aligned_twt; + +static int hf_ieee80211_tag_twt_req_type_field; +static int hf_ieee80211_tag_twt_req_type_req; +static int hf_ieee80211_tag_twt_req_type_setup_cmd; +static int hf_ieee80211_tag_twt_req_type_trigger; +static int hf_ieee80211_tag_twt_req_type_implicit; +static int hf_ieee80211_tag_twt_req_type_flow_type; +static int hf_ieee80211_tag_twt_req_type_flow_id; +static int hf_ieee80211_tag_twt_req_type_wake_int_exp; +static int hf_ieee80211_tag_twt_req_type_prot; +static int hf_ieee80211_tag_twt_req_type_last_bcst_parm_set; +static int hf_ieee80211_tag_twt_req_type_bcst_twt_recom; +static int hf_ieee80211_tag_twt_req_type_aligned; + +static int hf_ieee80211_tag_twt_ndp_paging_field; +static int hf_ieee80211_tag_twt_ndp_paging_p_id; +static int hf_ieee80211_tag_twt_ndp_max_ndp_paging_period; +static int hf_ieee80211_tag_twt_ndp_partial_tsf_offset; +static int hf_ieee80211_tag_twt_ndp_action; +static int hf_ieee80211_tag_twt_ndp_min_sleep_duration; +static int hf_ieee80211_tag_twt_ndp_reserved; +static int hf_ieee80211_tag_twt_link_id_bitmap; +static int hf_ieee80211_tag_twt_aligned_twt_link_bitmap; +static int hf_ieee80211_tag_twt_broadcast_info; +static int hf_ieee80211_tag_twt_bcast_info_persistence; +static int hf_ieee80211_tag_twt_bcast_info_id; +static int hf_ieee80211_tag_twt_bcast_info_rtwt_traffic_present; +static int hf_ieee80211_tag_twt_bcast_info_rtwt_sche_info; +static int hf_ieee80211_tag_twt_traffic_info_control; +static int hf_ieee80211_tag_twt_traffic_info_dl_bitmap_valid; +static int hf_ieee80211_tag_twt_traffic_info_ul_bitmap_valid; +static int hf_ieee80211_tag_twt_traffic_info_reserved; +static int hf_ieee80211_tag_twt_traffic_info_rtwt_dl_bitmap; +static int hf_ieee80211_tag_twt_traffic_info_rtwt_ul_bitmap; + +static int hf_ieee80211_tag_twt_target_wake_time; +static int hf_ieee80211_tag_twt_target_wake_time_short; +static int hf_ieee80211_tag_twt_nom_min_twt_wake_dur; +static int hf_ieee80211_tag_twt_wake_interval_mantissa; +static int hf_ieee80211_tag_twt_channel; + +static int hf_ieee80211_tag_rsnx; /* octet 1 */ -static int hf_ieee80211_tag_rsnx_length = -1; -static int hf_ieee80211_tag_rsnx_protected_twt_operations_support = -1; -static int hf_ieee80211_tag_rsnx_sae_hash_to_element = -1; -static int hf_ieee80211_tag_rsnx_reserved_b6b7 = -1; +static int hf_ieee80211_tag_rsnx_length; +static int hf_ieee80211_tag_rsnx_protected_twt_operations_support; +static int hf_ieee80211_tag_rsnx_sae_hash_to_element; +static int hf_ieee80211_tag_rsnx_sae_pk; +static int hf_ieee80211_tag_rsnx_protected_wur_frame_support; /* octet 2 */ -static int hf_ieee80211_tag_rsnx_secure_ltf_support = -1; -static int hf_ieee80211_tag_rsnx_secure_rtt_supported = -1; -static int hf_ieee80211_tag_rsnx_range_protection_required = -1; -static int hf_ieee80211_tag_rsnx_reserved_b11thru15 = -1; -static int hf_ieee80211_tag_rsnx_reserved = -1; +static int hf_ieee80211_tag_rsnx_secure_ltf_support; +static int hf_ieee80211_tag_rsnx_secure_rtt_supported; +static int hf_ieee80211_tag_rsnx_urnm_mfpr_x20; +static int hf_ieee80211_tag_rsnx_protected_announce_support; +static int hf_ieee80211_tag_rsnx_pbac; +static int hf_ieee80211_tag_rsnx_extended_s1g_action_protection; +static int hf_ieee80211_tag_rsnx_spp_amsdu_capable; +static int hf_ieee80211_tag_rsnx_urnm_mfpr; +static int hf_ieee80211_tag_rsnx_reserved; /* ************************************************************************* */ /* RFC 8110 fields */ /* ************************************************************************* */ -static int hf_ieee80211_owe_dh_parameter_group = -1; -static int hf_ieee80211_owe_dh_parameter_public_key = -1; +static int hf_ieee80211_owe_dh_parameter_group; +static int hf_ieee80211_owe_dh_parameter_public_key; /* ************************************************************************* */ /* Protocol trees */ /* ************************************************************************* */ -static gint ett_80211 = -1; -static gint ett_proto_flags = -1; -static gint ett_cap_tree = -1; -static gint ett_fc_tree = -1; -static gint ett_cntrl_wrapper_fc = -1; -static gint ett_cntrl_wrapper_payload = -1; -static gint ett_fragments = -1; -static gint ett_fragment = -1; -static gint ett_block_ack = -1; -static gint ett_block_ack_tid = -1; -static gint ett_block_ack_request_control = -1; -static gint ett_block_ack_bitmap = -1; -static gint ett_block_ack_request_multi_sta_aid_tid = -1; -static gint ett_multi_sta_block_ack = -1; -static gint ett_ath_cap_tree = -1; -static gint ett_extreme_mesh_services_tree = -1; - -static gint ett_80211_mgt = -1; -static gint ett_fixed_parameters = -1; -static gint ett_tagged_parameters = -1; -static gint ett_tag_bmapctl_tree = -1; -static gint ett_s1g_pvb_tree = -1; -static gint ett_s1g_pvb_eb_tree = -1; -static gint ett_s1g_pvb_block_control_byte = -1; -static gint ett_s1g_pvb_block_bitmap_tree = -1; -static gint ett_s1g_pvb_subblock_tree = -1; -static gint ett_s1g_pvb_olb_tree = -1; -static gint ett_s1g_pvb_olb_subblock = -1; -static gint ett_s1g_pvb_ade_tree = -1; -static gint ett_s1g_pvb_ade_control = -1; -static gint ett_tag_country_fnm_tree = -1; -static gint ett_tag_country_rcc_tree = -1; -static gint ett_qos_parameters = -1; -static gint ett_qos_ps_buf_state = -1; -static gint ett_wep_parameters = -1; -static gint ett_msh_control = -1; -static gint ett_hwmp_targ_flags_tree = -1; -static gint ett_mesh_chswitch_flag_tree = -1; -static gint ett_mesh_config_cap_tree = -1; -static gint ett_mesh_formation_info_tree = -1; -static gint ett_bcn_timing_rctrl_tree = -1; -static gint ett_bcn_timing_info_tree = -1; -static gint ett_gann_flags_tree = -1; -static gint ett_pxu_proxy_info_tree = -1; -static gint ett_pxu_proxy_info_flags_tree = -1; - -static gint ett_rsn_gcs_tree = -1; -static gint ett_rsn_pcs_tree = -1; -static gint ett_rsn_sub_pcs_tree = -1; -static gint ett_rsn_akms_tree = -1; -static gint ett_rsn_sub_akms_tree = -1; -static gint ett_rsn_cap_tree = -1; -static gint ett_rsn_pmkid_tree = -1; -static gint ett_rsn_gmcs_tree = -1; - -static gint ett_kde_mlo_link_info = -1; - -static gint ett_wpa_mcs_tree = -1; -static gint ett_wpa_ucs_tree = -1; -static gint ett_wpa_sub_ucs_tree = -1; -static gint ett_wpa_akms_tree = -1; -static gint ett_wpa_sub_akms_tree = -1; -static gint ett_wme_ac = -1; -static gint ett_wme_aci_aifsn = -1; -static gint ett_wme_ecw = -1; -static gint ett_wme_qos_info = -1; - -static gint ett_update_edca_info = -1; - -static gint ett_ht_cap_tree = -1; -static gint ett_ampduparam_tree = -1; -static gint ett_mcsset_tree = -1; -static gint ett_mcsbit_tree = -1; -static gint ett_htex_cap_tree = -1; -static gint ett_txbf_tree = -1; -static gint ett_antsel_tree = -1; -static gint ett_hta_cap_tree = -1; -static gint ett_hta_cap1_tree = -1; -static gint ett_hta_cap2_tree = -1; - -static gint ett_s1g_ndp = -1; -static gint ett_s1g_ndp_ack = -1; -static gint ett_s1g_ndp_cts = -1; -static gint ett_s1g_ndp_cf_end = -1; -static gint ett_s1g_ndp_ps_poll = -1; -static gint ett_s1g_ndp_ps_poll_ack = -1; -static gint ett_s1g_ndp_block_ack = -1; -static gint ett_s1g_ndp_beamforming_report_poll = -1; -static gint ett_s1g_ndp_paging = -1; -static gint ett_s1g_ndp_probe = -1; -static gint ett_pv1_sid = -1; -static gint ett_pv1_sid_field = -1; -static gint ett_pv1_seq_control = -1; -static gint ett_ieee80211_s1g_capabilities_info = -1; -static gint ett_ieee80211_s1g_capabilities = -1; -static gint ett_s1g_cap_byte1 = -1; -static gint ett_s1g_cap_byte2 = -1; -static gint ett_s1g_cap_byte3 = -1; -static gint ett_s1g_cap_byte4 = -1; -static gint ett_s1g_cap_byte5 = -1; -static gint ett_s1g_cap_byte6 = -1; -static gint ett_s1g_cap_byte7 = -1; -static gint ett_s1g_cap_byte8 = -1; -static gint ett_s1g_cap_byte9 = -1; -static gint ett_s1g_cap_byte10 = -1; -static gint ett_ieee80211_s1g_sup_mcs_and_nss_set = -1; -static gint ett_s1g_mcs_and_mcs_set = -1; -static gint ett_s1g_operation_info = -1; -static gint ett_s1g_channel_width = -1; -static gint ett_s1g_subchannel_selective_transmission = -1; -static gint ett_s1g_raw_assignment = -1; -static gint ett_s1g_raw_assn_tree = -1; -static gint ett_s1g_raw_control = -1; -static gint ett_s1g_raw_slot_def = -1; -static gint ett_s1g_raw_group_subfield = -1; -static gint ett_s1g_raw_channel_indication = -1; -static gint ett_s1g_page_slice_control = -1; -static gint ett_s1g_aid_request_mode = -1; -static gint ett_s1g_aid_characteristic = -1; -static gint ett_s1g_sector_operation = -1; -static gint ett_tack_info = -1; -static gint ett_ieee80211_s1g_auth_control = -1; -static gint ett_s1g_relay_control = -1; -static gint ett_s1g_relay_function = -1; -static gint ett_ieee80211_s1g_addr_list = -1; -static gint ett_ieee80211_s1g_reach_addr = -1; -static gint ett_s1g_relay_discovery_control = -1; -static gint ett_ieee80211_s1g_aid_entry = -1; -static gint ett_s1g_probe_resp_subfield_0 = -1; -static gint ett_s1g_header_comp_control = -1; -static gint ett_pv1_mgmt_action = -1; -static gint ett_pv1_mgmt_action_no_ack = -1; -static gint ett_pv1_cntl_stack = -1; -static gint ett_pv1_cntl_bat = -1; - -static gint ett_htc_tree = -1; -static gint ett_htc_he_a_control = -1; -static gint ett_mfb_subtree = -1; -static gint ett_lac_subtree = -1; -static gint ett_ieee80211_buffer_status_report = -1; -static gint ett_ieee80211_a_control_padding = -1; -static gint ett_ieee80211_a_control_ones = -1; -static gint ett_ieee80211_triggered_response_schedule = -1; -static gint ett_ieee80211_control_om = -1; -static gint ett_ieee80211_hla_control = -1; -static gint ett_ieee80211_control_uph = -1; -static gint ett_ieee80211_buffer_control_bqr = -1; -static gint ett_ieee80211_control_cci = -1; -static gint ett_ieee80211_control_eht_om = -1; -static gint ett_ieee80211_control_srs = -1; -static gint ett_ieee80211_control_aar = -1; - -static gint ett_vht_cap_tree = -1; -static gint ett_vht_mcsset_tree = -1; -static gint ett_vht_rx_mcsbit_tree = -1; -static gint ett_vht_tx_mcsbit_tree = -1; -static gint ett_vht_basic_mcsbit_tree = -1; -static gint ett_vht_op_tree = -1; -static gint ett_vht_tpe_info_tree = -1; -static gint ett_tpe_psd = -1; - -static gint ett_vht_ranging_annc = -1; -static gint ett_ndp_ranging_annc_sta_info = -1; - -static gint ett_ff_he_action = -1; -static gint ett_ff_protected_he_action = -1; -static gint ett_ff_protected_eht_action = -1; -static gint ett_ff_he_mimo_control = -1; -static gint ett_ff_he_mimo_beamforming_report_snr = -1; -static gint ett_ff_he_mimo_feedback_matrices = -1; - -static gint ett_ff_vhtmimo_cntrl = -1; -static gint ett_ff_vhtmimo_beamforming_report = -1; -static gint ett_ff_vhtmimo_beamforming_report_snr = -1; -static gint ett_ff_vhtmimo_beamforming_angle = -1; -static gint ett_ff_vhtmimo_beamforming_report_feedback_matrices = -1; -static gint ett_ff_vhtmu_exclusive_beamforming_report_matrices = -1; - -static gint ett_vht_grpidmgmt = -1; -static gint ett_vht_msa = -1; -static gint ett_vht_upa = -1; - -static gint ett_ht_info_delimiter1_tree = -1; -static gint ett_ht_info_delimiter2_tree = -1; -static gint ett_ht_info_delimiter3_tree = -1; - -static gint ett_ff_ftm_param_delim1 = -1; -static gint ett_ff_ftm_param_delim2 = -1; -static gint ett_ff_ftm_param_delim3 = -1; -static gint ett_ff_ftm_tod_err1 = -1; -static gint ett_ff_ftm_toa_err1 = -1; -static gint ett_tag_ranging = -1; -static gint ett_tag_ranging_ntb = -1; - -static gint ett_ranging_subelement_tree = -1; - -static gint ett_tag_direct_meas_results = -1; - -static gint ett_rsta_avail_header = -1; -static gint ett_rsta_avail_tree = -1; -static gint ett_rsta_avail_subfield = -1; - -static gint ett_pasn_parameters = -1; -static gint ett_pasn_comeback_tree = -1; - -static gint ett_pasn_auth_frame = -1; +static int ett_80211; +static int ett_proto_flags; +static int ett_cap_tree; +static int ett_fc_tree; +static int ett_cntrl_wrapper_fc; +static int ett_cntrl_wrapper_payload; +static int ett_fragments; +static int ett_fragment; +static int ett_block_ack; +static int ett_block_ack_tid; +static int ett_block_ack_request_control; +static int ett_block_ack_bitmap; +static int ett_block_ack_request_multi_sta_aid_tid; +static int ett_multi_sta_block_ack; +static int ett_ath_cap_tree; +static int ett_extreme_mesh_services_tree; +static int ett_addr; + +static int ett_80211_mgt; +static int ett_fixed_parameters; +static int ett_tagged_parameters; +static int ett_tag_bmapctl_tree; +static int ett_s1g_pvb_tree; +static int ett_s1g_pvb_eb_tree; +static int ett_s1g_pvb_block_control_byte; +static int ett_s1g_pvb_block_bitmap_tree; +static int ett_s1g_pvb_subblock_tree; +static int ett_s1g_pvb_olb_tree; +static int ett_s1g_pvb_olb_subblock; +static int ett_s1g_pvb_ade_tree; +static int ett_s1g_pvb_ade_control; +static int ett_tag_country_fnm_tree; +static int ett_tag_country_rcc_tree; +static int ett_qos_parameters; +static int ett_qos_ps_buf_state; +static int ett_wep_parameters; +static int ett_msh_control; +static int ett_hwmp_targ_flags_tree; +static int ett_mesh_chswitch_flag_tree; +static int ett_mesh_config_cap_tree; +static int ett_mesh_formation_info_tree; +static int ett_bcn_timing_rctrl_tree; +static int ett_bcn_timing_info_tree; +static int ett_gann_flags_tree; +static int ett_pxu_proxy_info_tree; +static int ett_pxu_proxy_info_flags_tree; + +static int ett_rsn_gcs_tree; +static int ett_rsn_pcs_tree; +static int ett_rsn_sub_pcs_tree; +static int ett_rsn_akms_tree; +static int ett_rsn_sub_akms_tree; +static int ett_rsn_cap_tree; +static int ett_rsn_pmkid_tree; +static int ett_rsn_gmcs_tree; + +static int ett_kde_mlo_link_info; + +static int ett_wpa_mcs_tree; +static int ett_wpa_ucs_tree; +static int ett_wpa_sub_ucs_tree; +static int ett_wpa_akms_tree; +static int ett_wpa_sub_akms_tree; +static int ett_wme_ac; +static int ett_wme_aci_aifsn; +static int ett_wme_ecw; +static int ett_wme_qos_info; + +static int ett_update_edca_info; + +static int ett_ht_cap_tree; +static int ett_ampduparam_tree; +static int ett_mcsset_tree; +static int ett_mcsbit_tree; +static int ett_htex_cap_tree; +static int ett_txbf_tree; +static int ett_antsel_tree; +static int ett_hta_cap_tree; +static int ett_hta_cap1_tree; +static int ett_hta_cap2_tree; + +static int ett_s1g_ndp; +static int ett_s1g_ndp_ack; +static int ett_s1g_ndp_cts; +static int ett_s1g_ndp_cf_end; +static int ett_s1g_ndp_ps_poll; +static int ett_s1g_ndp_ps_poll_ack; +static int ett_s1g_ndp_block_ack; +static int ett_s1g_ndp_beamforming_report_poll; +static int ett_s1g_ndp_paging; +static int ett_s1g_ndp_probe; +static int ett_pv1_sid; +static int ett_pv1_sid_field; +static int ett_pv1_seq_control; +static int ett_ieee80211_s1g_capabilities_info; +static int ett_ieee80211_s1g_capabilities; +static int ett_s1g_cap_byte1; +static int ett_s1g_cap_byte2; +static int ett_s1g_cap_byte3; +static int ett_s1g_cap_byte4; +static int ett_s1g_cap_byte5; +static int ett_s1g_cap_byte6; +static int ett_s1g_cap_byte7; +static int ett_s1g_cap_byte8; +static int ett_s1g_cap_byte9; +static int ett_s1g_cap_byte10; +static int ett_ieee80211_s1g_sup_mcs_and_nss_set; +static int ett_s1g_mcs_and_mcs_set; +static int ett_s1g_operation_info; +static int ett_s1g_channel_width; +static int ett_s1g_subchannel_selective_transmission; +static int ett_s1g_raw_assignment; +static int ett_s1g_raw_assn_tree; +static int ett_s1g_raw_control; +static int ett_s1g_raw_slot_def; +static int ett_s1g_raw_group_subfield; +static int ett_s1g_raw_channel_indication; +static int ett_s1g_page_slice_control; +static int ett_s1g_aid_request_mode; +static int ett_s1g_aid_characteristic; +static int ett_s1g_sector_operation; +static int ett_tack_info; +static int ett_ieee80211_s1g_auth_control; +static int ett_s1g_relay_control; +static int ett_s1g_relay_function; +static int ett_ieee80211_s1g_addr_list; +static int ett_ieee80211_s1g_reach_addr; +static int ett_s1g_relay_discovery_control; +static int ett_ieee80211_s1g_aid_entry; +static int ett_s1g_probe_resp_subfield_0; +static int ett_s1g_header_comp_control; +static int ett_pv1_mgmt_action; +static int ett_pv1_mgmt_action_no_ack; +static int ett_pv1_cntl_stack; +static int ett_pv1_cntl_bat; + +static int ett_htc_tree; +static int ett_htc_he_a_control; +static int ett_mfb_subtree; +static int ett_lac_subtree; +static int ett_ieee80211_buffer_status_report; +static int ett_ieee80211_a_control_padding; +static int ett_ieee80211_a_control_ones; +static int ett_ieee80211_triggered_response_schedule; +static int ett_ieee80211_control_om; +static int ett_ieee80211_hla_control; +static int ett_ieee80211_control_uph; +static int ett_ieee80211_buffer_control_bqr; +static int ett_ieee80211_control_cci; +static int ett_ieee80211_control_eht_om; +static int ett_ieee80211_control_srs; +static int ett_ieee80211_control_aar; + +static int ett_vht_cap_tree; +static int ett_vht_mcsset_tree; +static int ett_vht_rx_mcsbit_tree; +static int ett_vht_tx_mcsbit_tree; +static int ett_vht_basic_mcsbit_tree; +static int ett_vht_op_tree; +static int ett_vht_tpe_info_tree; +static int ett_tpe_psd; + +static int ett_vht_ranging_annc; +static int ett_ndp_ranging_annc_sta_info; + +static int ett_ff_he_action; +static int ett_ff_protected_he_action; +static int ett_ff_protected_eht_action; +static int ett_ff_he_mimo_control; +static int ett_ff_he_mimo_beamforming_report_snr; +static int ett_ff_he_mimo_feedback_matrices; + +static int ett_ff_vhtmimo_cntrl; +static int ett_ff_vhtmimo_beamforming_report; +static int ett_ff_vhtmimo_beamforming_report_snr; +static int ett_ff_vhtmimo_beamforming_angle; +static int ett_ff_vhtmimo_beamforming_report_feedback_matrices; +static int ett_ff_vhtmu_exclusive_beamforming_report_matrices; + +static int ett_vht_grpidmgmt; +static int ett_vht_msa; +static int ett_vht_upa; + +static int ett_ht_info_delimiter1_tree; +static int ett_ht_info_delimiter2_tree; +static int ett_ht_info_delimiter3_tree; + +static int ett_ff_ftm_param_delim1; +static int ett_ff_ftm_param_delim2; +static int ett_ff_ftm_param_delim3; +static int ett_ff_ftm_tod_err1; +static int ett_ff_ftm_toa_err1; +static int ett_tag_ranging; +static int ett_tag_ranging_ntb; + +static int ett_ranging_subelement_tree; + +static int ett_tag_direct_meas_results; + +static int ett_rsta_avail_header; +static int ett_rsta_avail_tree; +static int ett_rsta_avail_subfield; + +static int ett_pasn_parameters; +static int ett_pasn_comeback_tree; + +static int ett_pasn_auth_frame; /* 802.11be trees */ -static gint ett_eht_multi_link_control = -1; -static gint ett_eht_multi_link_common_info = -1; -static gint ett_eht_multi_link_common_info_link_id = -1; -static gint ett_eht_multi_link_common_info_medium_sync = -1; -static gint ett_eht_multi_link_common_info_eml_capa = -1; -static gint ett_eht_multi_link_common_info_mld_capa = -1; -static gint ett_eht_multi_link_common_info_ext_mld_capa = -1; -static gint ett_eht_multi_link_per_sta = -1; -static gint ett_eht_multi_link_subelt = -1; -static gint ett_eht_multi_link_sta_control = -1; -static gint ett_eht_multi_link_per_sta_info = -1; -static gint ett_eht_multi_link_sta_dtim = -1; -static gint ett_eht_multi_link_reconf_oper_param = -1; -static gint ett_eht_multi_link_reconfig_presence_indi = -1; -static gint ett_eht_multi_link_reconfig_operation_para_info = -1; -static gint ett_eht_operation_params = -1; -static gint ett_eht_operation_control = -1; -static gint ett_eht_mac_capa = -1; -static gint ett_eht_phy_capa = -1; -static gint ett_eht_phy_bits_0_15 = -1; -static gint ett_eht_phy_bits_16_31 = -1; -static gint ett_eht_phy_bits_32_39 = -1; -static gint ett_eht_phy_bits_40_63 = -1; -static gint ett_eht_phy_bits_64_71 = -1; -static gint ett_eht_phy_mcs_nss = -1; -static gint ett_eht_phy_mcs_nss_set = -1; -static gint ett_eht_ttl_mapping = -1; -static gint ett_eht_ttl_mapping_link_mapping = -1; -static gint ett_eht_eht_multi_link_tc = -1; -static gint ett_eht_qos_characteristics = -1; -static gint ett_eht_aid_bmapctl_tree = -1; -static gint ett_eht_bw_indication_param = -1; -static gint ett_eht_eml_control = -1; -static gint ett_eht_eml_control_link_map = -1; -static gint ett_eht_eml_control_mcs_map_count = -1; -static gint ett_eht_emlsr_para_update = -1; -static gint ett_eht_mimo_ctrl = -1; -static gint ett_eht_beamforming_rpt_ru_index = -1; -static gint ett_eht_beamforming_feedback_tree = -1; -static gint ett_ff_eht_mimo_beamforming_report_snr = -1; -static gint ett_ff_eht_mimo_mu_exclusive_report = -1; -static gint ett_eht_mu_exclusive_beamforming_rpt_ru_index = -1; - -static gint ett_tag_measure_request_mode_tree = -1; -static gint ett_tag_measure_request_type_tree = -1; -static gint ett_tag_measure_request_sub_element_tree = -1; -static gint ett_tag_measure_report_mode_tree = -1; -static gint ett_tag_measure_report_type_tree = -1; -static gint ett_tag_measure_report_basic_map_tree = -1; -static gint ett_tag_measure_report_rpi_tree = -1; -static gint ett_tag_measure_report_frame_tree = -1; -static gint ett_tag_measure_report_sub_element_tree = -1; -static gint ett_tag_measure_reported_frame_tree = -1; -static gint ett_tag_measure_reported_frame_frag_id_tree = -1; -static gint ett_tag_measure_reported_lci_z_tree = -1; -static gint ett_tag_measure_reported_lci_urp_tree = -1; -static gint ett_tag_bss_bitmask_tree = -1; -static gint ett_tag_dfs_map_tree = -1; -static gint ett_tag_dfs_map_flags_tree = -1; -static gint ett_tag_erp_info_tree = -1; -static gint ett_tag_ex_cap1 = -1; -static gint ett_tag_ex_cap2 = -1; -static gint ett_tag_ex_cap3 = -1; -static gint ett_tag_ex_cap4 = -1; -static gint ett_tag_ex_cap5 = -1; -static gint ett_tag_ex_cap6 = -1; -static gint ett_tag_ex_cap7 = -1; -static gint ett_tag_ex_cap8 = -1; -static gint ett_tag_ex_cap89 = -1; -static gint ett_tag_ex_cap10 = -1; -static gint ett_tag_ex_cap11 = -1; -static gint ett_tag_ex_cap12 = -1; -static gint ett_tag_ex_cap13 = -1; - -static gint ett_tag_rm_cap1 = -1; -static gint ett_tag_rm_cap2 = -1; -static gint ett_tag_rm_cap3 = -1; -static gint ett_tag_rm_cap4 = -1; -static gint ett_tag_rm_cap5 = -1; - -static gint ett_tag_rsnx_octet1 = -1; -static gint ett_tag_rsnx_octet2 = -1; - -static gint ett_tag_multiple_bssid_subelem_tree = -1; -static gint ett_tag_20_40_bc = -1; - -static gint ett_tag_intolerant_tree = -1; - -static gint ett_tag_tclas_mask_tree = -1; - -static gint ett_tag_supported_channels = -1; - -static gint ett_tag_neighbor_report_bssid_info_tree = -1; -static gint ett_tag_neighbor_report_bssid_info_capability_tree = -1; -static gint ett_tag_neighbor_report_subelement_tree = -1; -static gint ett_tag_neighbor_report_sub_tag_tree = -1; - -static gint ett_tag_wapi_param_set_akm_tree = -1; -static gint ett_tag_wapi_param_set_ucast_tree = -1; -static gint ett_tag_wapi_param_set_mcast_tree = -1; -static gint ett_tag_wapi_param_set_preauth_tree = -1; - -static gint ett_max_idle_period_options = -1; - -static gint ett_tag_time_adv_tree = -1; - -static gint ett_tag_he_6ghz_cap_inf_tree = -1; - -static gint ett_ff_ba_param_tree = -1; -static gint ett_ff_ba_ssc_tree = -1; -static gint ett_ff_delba_param_tree = -1; -static gint ett_ff_qos_info = -1; -static gint ett_ff_sm_pwr_save = -1; -static gint ett_ff_psmp_param_set = -1; -static gint ett_ff_mimo_cntrl = -1; -static gint ett_ff_ant_sel = -1; -static gint ett_mimo_report = -1; -static gint ett_ff_chan_switch_announce = -1; -static gint ett_ff_ht_info = -1; -static gint ett_ff_psmp_sta_info = -1; - -static gint ett_tpc = -1; - -static gint ett_msdu_aggregation_parent_tree = -1; -static gint ett_msdu_aggregation_subframe_tree = -1; - -static gint ett_80211_mgt_ie = -1; -static gint ett_tsinfo_tree = -1; -static gint ett_sched_tree = -1; - -static gint ett_fcs = -1; - -static gint ett_hs20_osu_providers_list = -1; -static gint ett_hs20_osu_provider_tree = -1; -static gint ett_hs20_friendly_names_list = -1; -static gint ett_hs20_friendly_name_tree = -1; -static gint ett_hs20_osu_provider_method_list = -1; -static gint ett_osu_icons_avail_list = -1; -static gint ett_hs20_osu_icon_tree = -1; -static gint ett_hs20_osu_service_desc_list = -1; -static gint ett_hs20_osu_service_desc_tree = -1; -static gint ett_hs20_venue_url = -1; -static gint ett_hs20_advice_of_charge = -1; -static gint ett_hs20_aoc_plan = -1; - -static gint ett_hs20_ofn_tree = -1; - -static gint ett_adv_proto = -1; -static gint ett_adv_proto_tuple = -1; -static gint ett_gas_query = -1; -static gint ett_gas_anqp = -1; -static gint ett_nai_realm = -1; -static gint ett_nai_realm_eap = -1; -static gint ett_tag_ric_data_desc_ie = -1; -static gint ett_anqp_vendor_capab = -1; - -static gint ett_osen_group_data_cipher_suite = -1; -static gint ett_osen_pairwise_cipher_suites = -1; -static gint ett_osen_pairwise_cipher_suite = -1; -static gint ett_osen_akm_cipher_suites = -1; -static gint ett_osen_akm_cipher_suite = -1; -static gint ett_osen_rsn_cap_tree = -1; -static gint ett_osen_pmkid_list = -1; -static gint ett_osen_pmkid_tree = -1; -static gint ett_osen_group_management_cipher_suite = -1; - -static gint ett_hs20_cc_proto_port_tuple = -1; - -static gint ett_tag_no_bssid_capability_dmg_bss_control_tree = -1; -static gint ett_ssid_list = -1; - -static gint ett_sgdsn = -1; -static gint ett_nintendo = -1; - -static gint ett_routerboard = -1; - -static gint ett_meru = -1; - -static gint ett_wisun_gtkl = -1; -static gint ett_wisun_lgtkl = -1; - -static gint ett_qos_map_set_exception = -1; -static gint ett_qos_map_set_range = -1; - -static gint ett_wnm_notif_subelt = -1; - -static gint ett_ieee80211_3gpp_plmn = -1; - -static gint ett_mbo_oce_attr = -1; -static gint ett_mbo_ap_cap = -1; -static gint ett_oce_cap = -1; -static gint ett_oce_metrics_cap = -1; - -static gint ett_tag_mobility_domain_ft_capab_tree = -1; - -static gint ett_tag_ft_mic_control_tree = -1; -static gint ett_tag_ft_subelem_tree = -1; - -static gint ett_qos_mgmt_pol_capa = -1; -static gint ett_qos_mgmt_attributes = -1; -static gint ett_qos_mgmt_dscp_policy_capabilities = -1; -static gint ett_qos_mgmt_dscp_policy = -1; -static gint ett_qos_mgmt_tclas = -1; -static gint ett_qos_mgmt_domain_name = -1; -static gint ett_qos_mgmt_unknown_attribute = -1; -static gint ett_dscp_policy_status_list = -1; -static gint ett_pol_rqst_cont_tree = -1; -static gint ett_pol_resp_cont_tree = -1; - -static expert_field ei_ieee80211_bad_length = EI_INIT; -static expert_field ei_ieee80211_inv_val = EI_INIT; -static expert_field ei_ieee80211_vht_tpe_pwr_info_count = EI_INIT; -static expert_field ei_ieee80211_ff_query_response_length = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_nai_realm_eap_len = EI_INIT; -static expert_field ei_hs20_anqp_nai_hrq_length = EI_INIT; -static expert_field ei_ieee80211_extra_data = EI_INIT; -static expert_field ei_ieee80211_tag_data = EI_INIT; -static expert_field ei_ieee80211_tdls_setup_confirm_malformed = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_nai_field_len = EI_INIT; -static expert_field ei_ieee80211_rsn_pcs_count = EI_INIT; -static expert_field ei_ieee80211_tag_measure_request_unknown = EI_INIT; -static expert_field ei_ieee80211_tag_measure_request_beacon_unknown = EI_INIT; -static expert_field ei_ieee80211_tag_measure_report_unknown = EI_INIT; -static expert_field ei_ieee80211_tag_measure_report_beacon_unknown = EI_INIT; -static expert_field ei_ieee80211_tag_measure_report_lci_unknown = EI_INIT; -static expert_field ei_ieee80211_tag_number = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_info_length = EI_INIT; -static expert_field ei_hs20_anqp_ofn_length = EI_INIT; -static expert_field ei_ieee80211_tdls_setup_response_malformed = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_capability = EI_INIT; -static expert_field ei_ieee80211_not_enough_room_for_anqp_header = EI_INIT; -static expert_field ei_ieee80211_ff_query_request_length = EI_INIT; -static expert_field ei_ieee80211_wfa_ie_wme_qos_info_bad_ftype = EI_INIT; -static expert_field ei_ieee80211_qos_info_bad_ftype = EI_INIT; -static expert_field ei_ieee80211_qos_bad_aifsn = EI_INIT; -static expert_field ei_ieee80211_pmkid_count_too_large = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_venue_length = EI_INIT; -static expert_field ei_ieee80211_ff_anqp_roaming_consortium_oi_len = EI_INIT; -static expert_field ei_ieee80211_tag_length = EI_INIT; -static expert_field ei_ieee80211_missing_data = EI_INIT; -static expert_field ei_ieee80211_rsn_pmkid_count = EI_INIT; -static expert_field ei_ieee80211_fc_retry = EI_INIT; -static expert_field ei_ieee80211_tag_wnm_sleep_mode_no_key_data = EI_INIT; -static expert_field ei_ieee80211_dmg_subtype = EI_INIT; -static expert_field ei_ieee80211_vht_action = EI_INIT; -static expert_field ei_ieee80211_mesh_peering_unexpected = EI_INIT; -static expert_field ei_ieee80211_fcs = EI_INIT; -static expert_field ei_ieee80211_mismatched_akm_suite = EI_INIT; -static expert_field ei_ieee80211_vs_routerboard_unexpected_len = EI_INIT; -static expert_field ei_ieee80211_vs_sgdsn_serialnumber_invalid_len_val = EI_INIT; -static expert_field ei_ieee80211_vs_sgdsn_serialnumber_unexpected_len_val = EI_INIT; -static expert_field ei_ieee80211_twt_tear_down_bad_neg_type = EI_INIT; -static expert_field ei_ieee80211_twt_setup_bad_command = EI_INIT; -static expert_field ei_ieee80211_twt_bcast_info_no_term = EI_INIT; -static expert_field ei_ieee80211_invalid_control_word = EI_INIT; -static expert_field ei_ieee80211_invalid_control_id = EI_INIT; -static expert_field ei_ieee80211_invalid_control_length = EI_INIT; -static expert_field ei_ieee80211_wfa_60g_attr_len_invalid = EI_INIT; -static expert_field ei_ieee80211_wfa_60g_unknown_attribute = EI_INIT; -static expert_field ei_ieee80211_htc_in_dmg_packet = EI_INIT; -static expert_field ei_ieee80211_eht_invalid_subelement = EI_INIT; -static expert_field ei_ieee80211_eht_invalid_action = EI_INIT; -static expert_field ei_ieee80211_eht_invalid_multi_link = EI_INIT; -static expert_field ei_ieee80211_eht_invalid_nc_nr = EI_INIT; +static int ett_eht_multi_link_control; +static int ett_eht_multi_link_common_info; +static int ett_eht_multi_link_common_info_link_id; +static int ett_eht_multi_link_common_info_medium_sync; +static int ett_eht_multi_link_common_info_eml_capa; +static int ett_eht_multi_link_common_info_mld_capa; +static int ett_eht_multi_link_common_info_ext_mld_capa; +static int ett_eht_multi_link_per_sta; +static int ett_eht_multi_link_subelt; +static int ett_eht_multi_link_sta_control; +static int ett_eht_multi_link_per_sta_info; +static int ett_eht_multi_link_sta_dtim; +static int ett_eht_multi_link_reconf_oper_param; +static int ett_eht_multi_link_reconfig_presence_indi; +static int ett_eht_multi_link_reconfig_operation_para_info; +static int ett_eht_operation_params; +static int ett_eht_operation_control; +static int ett_eht_mac_capa; +static int ett_eht_phy_capa; +static int ett_eht_phy_bits_0_15; +static int ett_eht_phy_bits_16_31; +static int ett_eht_phy_bits_32_39; +static int ett_eht_phy_bits_40_63; +static int ett_eht_phy_bits_64_71; +static int ett_eht_phy_mcs_nss; +static int ett_eht_phy_mcs_nss_set; +static int ett_eht_ttl_mapping; +static int ett_eht_ttl_mapping_link_mapping; +static int ett_eht_eht_multi_link_tc; +static int ett_eht_qos_characteristics; +static int ett_eht_aid_bmapctl_tree; +static int ett_eht_bw_indication_param; +static int ett_eht_eml_control; +static int ett_eht_eml_control_link_map; +static int ett_eht_eml_control_mcs_map_count; +static int ett_eht_emlsr_para_update; +static int ett_eht_mimo_ctrl; +static int ett_eht_beamforming_rpt_ru_index; +static int ett_eht_beamforming_feedback_tree; +static int ett_ff_eht_mimo_beamforming_report_snr; +static int ett_ff_eht_mimo_mu_exclusive_report; +static int ett_eht_mu_exclusive_beamforming_rpt_ru_index; + +static int ett_tag_measure_request_mode_tree; +static int ett_tag_measure_request_type_tree; +static int ett_tag_measure_request_sub_element_tree; +static int ett_tag_measure_report_mode_tree; +static int ett_tag_measure_report_type_tree; +static int ett_tag_measure_report_basic_map_tree; +static int ett_tag_measure_report_rpi_tree; +static int ett_tag_measure_report_frame_tree; +static int ett_tag_measure_report_sub_element_tree; +static int ett_tag_measure_reported_frame_tree; +static int ett_tag_measure_reported_frame_frag_id_tree; +static int ett_tag_measure_reported_lci_z_tree; +static int ett_tag_measure_reported_lci_urp_tree; +static int ett_tag_bss_bitmask_tree; +static int ett_tag_dfs_map_tree; +static int ett_tag_dfs_map_flags_tree; +static int ett_tag_erp_info_tree; +static int ett_tag_ex_cap1; +static int ett_tag_ex_cap2; +static int ett_tag_ex_cap3; +static int ett_tag_ex_cap4; +static int ett_tag_ex_cap5; +static int ett_tag_ex_cap6; +static int ett_tag_ex_cap7; +static int ett_tag_ex_cap8; +static int ett_tag_ex_cap89; +static int ett_tag_ex_cap10; +static int ett_tag_ex_cap11; +static int ett_tag_ex_cap12; +static int ett_tag_ex_cap13; + +static int ett_tag_rm_cap1; +static int ett_tag_rm_cap2; +static int ett_tag_rm_cap3; +static int ett_tag_rm_cap4; +static int ett_tag_rm_cap5; + +static int ett_tag_rsnx_octet1; +static int ett_tag_rsnx_octet2; + +static int ett_tag_multiple_bssid_subelem_tree; +static int ett_tag_20_40_bc; + +static int ett_tag_intolerant_tree; + +static int ett_tag_tclas_mask_tree; + +static int ett_tag_supported_channels; + +static int ett_tag_neighbor_report_bssid_info_tree; +static int ett_tag_neighbor_report_bssid_info_capability_tree; +static int ett_tag_neighbor_report_subelement_tree; +static int ett_tag_neighbor_report_sub_tag_tree; + +static int ett_tag_wapi_param_set_akm_tree; +static int ett_tag_wapi_param_set_ucast_tree; +static int ett_tag_wapi_param_set_mcast_tree; +static int ett_tag_wapi_param_set_preauth_tree; + +static int ett_max_idle_period_options; + +static int ett_tag_time_adv_tree; + +static int ett_tag_he_6ghz_cap_inf_tree; + +static int ett_ff_ba_param_tree; +static int ett_ff_ba_ssc_tree; +static int ett_ff_delba_param_tree; +static int ett_ff_qos_info; +static int ett_ff_sm_pwr_save; +static int ett_ff_psmp_param_set; +static int ett_ff_mimo_cntrl; +static int ett_ff_ant_sel; +static int ett_mimo_report; +static int ett_ff_chan_switch_announce; +static int ett_ff_ht_info; +static int ett_ff_psmp_sta_info; + +static int ett_tpc; + +static int ett_msdu_aggregation_parent_tree; +static int ett_msdu_aggregation_subframe_tree; + +static int ett_80211_mgt_ie; +static int ett_tsinfo_tree; +static int ett_sched_tree; + +static int ett_fcs; + +static int ett_hs20_osu_providers_list; +static int ett_hs20_osu_provider_tree; +static int ett_hs20_friendly_names_list; +static int ett_hs20_friendly_name_tree; +static int ett_hs20_osu_provider_method_list; +static int ett_osu_icons_avail_list; +static int ett_hs20_osu_icon_tree; +static int ett_hs20_osu_service_desc_list; +static int ett_hs20_osu_service_desc_tree; +static int ett_hs20_venue_url; +static int ett_hs20_advice_of_charge; +static int ett_hs20_aoc_plan; + +static int ett_hs20_ofn_tree; + +static int ett_adv_proto; +static int ett_adv_proto_tuple; +static int ett_gas_query; +static int ett_gas_anqp; +static int ett_nai_realm; +static int ett_nai_realm_eap; +static int ett_tag_ric_data_desc_ie; +static int ett_anqp_vendor_capab; + +static int ett_osen_group_data_cipher_suite; +static int ett_osen_pairwise_cipher_suites; +static int ett_osen_pairwise_cipher_suite; +static int ett_osen_akm_cipher_suites; +static int ett_osen_akm_cipher_suite; +static int ett_osen_rsn_cap_tree; +static int ett_osen_pmkid_list; +static int ett_osen_pmkid_tree; +static int ett_osen_group_management_cipher_suite; + +static int ett_hs20_cc_proto_port_tuple; + +static int ett_tag_no_bssid_capability_dmg_bss_control_tree; +static int ett_ssid_list; + +static int ett_sgdsn; +static int ett_nintendo; + +static int ett_routerboard; + +static int ett_meru; + +static int ett_wisun_gtkl; +static int ett_wisun_lgtkl; + +static int ett_qos_map_set_exception; +static int ett_qos_map_set_range; + +static int ett_wnm_notif_subelt; + +static int ett_ieee80211_3gpp_plmn; + +static int ett_mbo_oce_attr; +static int ett_mbo_ap_cap; +static int ett_oce_cap; +static int ett_oce_metrics_cap; + +static int ett_tag_mobility_domain_ft_capab_tree; + +static int ett_tag_ft_mic_control_tree; +static int ett_tag_ft_subelem_tree; + +static int ett_qos_mgmt_pol_capa; +static int ett_qos_mgmt_attributes; +static int ett_qos_mgmt_dscp_policy_capabilities; +static int ett_qos_mgmt_dscp_policy; +static int ett_qos_mgmt_tclas; +static int ett_qos_mgmt_domain_name; +static int ett_qos_mgmt_unknown_attribute; +static int ett_dscp_policy_status_list; +static int ett_pol_rqst_cont_tree; +static int ett_pol_resp_cont_tree; + +static expert_field ei_ieee80211_bad_length; +static expert_field ei_ieee80211_inv_val; +static expert_field ei_ieee80211_vht_tpe_pwr_info_count; +static expert_field ei_ieee80211_ff_query_response_length; +static expert_field ei_ieee80211_ff_anqp_nai_realm_eap_len; +static expert_field ei_hs20_anqp_nai_hrq_length; +static expert_field ei_ieee80211_extra_data; +static expert_field ei_ieee80211_tag_data; +static expert_field ei_ieee80211_tdls_setup_confirm_malformed; +static expert_field ei_ieee80211_ff_anqp_nai_field_len; +static expert_field ei_ieee80211_rsn_pcs_count; +static expert_field ei_ieee80211_tag_measure_request_unknown; +static expert_field ei_ieee80211_tag_measure_request_beacon_unknown; +static expert_field ei_ieee80211_tag_measure_report_unknown; +static expert_field ei_ieee80211_tag_measure_report_beacon_unknown; +static expert_field ei_ieee80211_tag_measure_report_lci_unknown; +static expert_field ei_ieee80211_tag_number; +static expert_field ei_ieee80211_ff_anqp_info_length; +static expert_field ei_hs20_anqp_ofn_length; +static expert_field ei_ieee80211_tdls_setup_response_malformed; +static expert_field ei_ieee80211_ff_anqp_capability; +static expert_field ei_ieee80211_not_enough_room_for_anqp_header; +static expert_field ei_ieee80211_ff_query_request_length; +static expert_field ei_ieee80211_wfa_ie_wme_qos_info_bad_ftype; +static expert_field ei_ieee80211_qos_info_bad_ftype; +static expert_field ei_ieee80211_qos_bad_aifsn; +static expert_field ei_ieee80211_pmkid_count_too_large; +static expert_field ei_ieee80211_ff_anqp_venue_length; +static expert_field ei_ieee80211_ff_anqp_roaming_consortium_oi_len; +static expert_field ei_ieee80211_tag_length; +static expert_field ei_ieee80211_missing_data; +static expert_field ei_ieee80211_rsn_pmkid_count; +static expert_field ei_ieee80211_fc_retry; +static expert_field ei_ieee80211_tag_wnm_sleep_mode_no_key_data; +static expert_field ei_ieee80211_dmg_subtype; +static expert_field ei_ieee80211_vht_action; +static expert_field ei_ieee80211_mesh_peering_unexpected; +static expert_field ei_ieee80211_fcs; +static expert_field ei_ieee80211_mismatched_akm_suite; +static expert_field ei_ieee80211_vs_routerboard_unexpected_len; +static expert_field ei_ieee80211_vs_sgdsn_serialnumber_invalid_len_val; +static expert_field ei_ieee80211_vs_sgdsn_serialnumber_unexpected_len_val; +static expert_field ei_ieee80211_twt_tear_down_bad_neg_type; +static expert_field ei_ieee80211_twt_setup_bad_command; +static expert_field ei_ieee80211_twt_bcast_info_no_term; +static expert_field ei_ieee80211_invalid_control_word; +static expert_field ei_ieee80211_invalid_control_id; +static expert_field ei_ieee80211_invalid_control_length; +static expert_field ei_ieee80211_wfa_60g_attr_len_invalid; +static expert_field ei_ieee80211_wfa_60g_unknown_attribute; +static expert_field ei_ieee80211_htc_in_dmg_packet; +static expert_field ei_ieee80211_eht_invalid_subelement; +static expert_field ei_ieee80211_eht_invalid_action; +static expert_field ei_ieee80211_eht_invalid_multi_link; +static expert_field ei_ieee80211_eht_invalid_nc_nr; /* 802.11ad trees */ -static gint ett_dynamic_alloc_tree = -1; -static gint ett_ssw_tree = -1; -static gint ett_bf_tree = -1; -static gint ett_sswf_tree = -1; -static gint ett_brp_tree = -1; -static gint ett_blm_tree = -1; -static gint ett_bic_tree = -1; -static gint ett_dmg_params_tree = -1; -static gint ett_cc_tree = -1; -static gint ett_rcsi_tree = -1; -static gint ett_80211_ext = -1; -static gint ett_allocation_tree = -1; -static gint ett_sta_info = -1; - -static gint ett_ieee80211_esp = -1; - -static gint ett_ieee80211_wfa_60g_attr = -1; -static gint ett_ieee80211_wfa_transition_disable_tree = -1; +static int ett_dynamic_alloc_tree; +static int ett_ssw_tree; +static int ett_bf_tree; +static int ett_sswf_tree; +static int ett_brp_tree; +static int ett_blm_tree; +static int ett_bic_tree; +static int ett_dmg_params_tree; +static int ett_cc_tree; +static int ett_rcsi_tree; +static int ett_80211_ext; +static int ett_allocation_tree; +static int ett_sta_info; + +static int ett_ieee80211_esp; + +static int ett_ieee80211_wfa_60g_attr; +static int ett_ieee80211_wfa_transition_disable_tree; /* 802.11ah trees */ -static gint ett_s1g_sync_control_tree = -1; -static gint ett_s1g_sector_id_index = -1; -static gint ett_s1g_twt_information_control = -1; -static gint ett_twt_tear_down_tree = -1; -static gint ett_twt_control_field_tree = -1; -static gint ett_twt_req_type_tree = -1; -static gint ett_twt_ndp_paging_field_tree = -1; -static gint ett_twt_broadcast_info_tree = -1; -static gint ett_twt_traffic_info_tree = -1; -static gint ett_twt_traffic_info_control_tree = -1; +static int ett_s1g_sync_control_tree; +static int ett_s1g_sector_id_index; +static int ett_s1g_twt_information_control; +static int ett_twt_tear_down_tree; +static int ett_twt_control_field_tree; +static int ett_twt_req_type_tree; +static int ett_twt_ndp_paging_field_tree; +static int ett_twt_broadcast_info_tree; +static int ett_twt_traffic_info_tree; +static int ett_twt_traffic_info_control_tree; /* 802.11ax trees */ -static gint ett_he_mac_capabilities = -1; -static gint ett_he_phy_capabilities = -1; -static gint ett_he_phy_cap_first_byte = -1; -static gint ett_he_phy_cap_chan_width_set = -1; -static gint ett_he_phy_cap_b8_to_b23 = -1; -static gint ett_he_phy_cap_b24_to_b39 = -1; -static gint ett_he_phy_cap_b40_to_b55 = -1; -static gint ett_he_phy_cap_b56_to_b71 = -1; -static gint ett_he_phy_cap_b72_to_b87 = -1; -static gint ett_he_mcs_and_nss_set = -1; -static gint ett_he_rx_tx_he_mcs_map_lte_80 = -1; -static gint ett_he_rx_mcs_map_lte_80 = -1; -static gint ett_he_tx_mcs_map_lte_80 = -1; -static gint ett_he_rx_tx_he_mcs_map_160 = -1; -static gint ett_he_rx_mcs_map_160 = -1; -static gint ett_he_tx_mcs_map_160 = -1; -static gint ett_he_rx_tx_he_mcs_map_80_80 = -1; -static gint ett_he_rx_mcs_map_80_80 = -1; -static gint ett_he_tx_mcs_map_80_80 = -1; -static gint ett_he_ppe_threshold = -1; -static gint ett_he_ppe_nss = -1; -static gint ett_he_ppe_ru_alloc = -1; -static gint ett_he_uora_tree = -1; -static gint ett_he_aic_aifsn = -1; -static gint ett_he_spatial_reuse_control = -1; -static gint ett_he_bss_new_color_info = -1; -static gint ett_he_ess_report_info_field = -1; -static gint ett_he_operation_params = -1; -static gint ett_he_bss_color_information = -1; -static gint ett_he_oper_basic_mcs = -1; -static gint ett_he_operation_vht_op_info = -1; -static gint ett_mscs_user_prio = -1; -static gint ett_ieee80211_user_prio_bitmap = -1; -static gint ett_ieee80211_intra_access_prio = -1; -static gint ett_he_operation_6ghz = -1; -static gint ett_he_operation_6ghz_control = -1; -static gint ett_he_mu_edca_param = -1; -static gint ett_he_trigger_common_info = -1; -static gint ett_he_trigger_ranging = -1; -static gint ett_he_trigger_ranging_poll = -1; -static gint ett_he_trigger_packet_extension = -1; -static gint ett_he_trigger_base_common_info = -1; -static gint ett_he_trigger_bar_ctrl = -1; -static gint ett_he_trigger_bar_info = -1; -static gint ett_he_trigger_user_info = -1; -static gint ett_he_trigger_base_user_info = -1; -static gint ett_he_trigger_dep_basic_user_info = -1; -static gint ett_he_trigger_dep_nfrp_user_info = -1; -static gint ett_ndp_annc = -1; -static gint ett_ndp_vht_annc_sta_list = -1; -static gint ett_ndp_vht_annc_sta_info_tree = -1; -static gint ett_ndp_he_annc_sta_list = -1; -static gint ett_ndp_he_annc_sta_item = -1; -static gint ett_ndp_he_annc_sta_info = -1; -static gint ett_ndp_ranging_annc_sta_list = -1; -static gint ett_ndp_eht_annc_sta_list = -1; -static gint ett_ndp_eht_annc_sta_info = -1; -static gint ett_non_inheritance_element_id_list = -1; -static gint ett_non_inheritance_element_id_ext_list = -1; +static int ett_he_mac_capabilities; +static int ett_he_phy_capabilities; +static int ett_he_phy_cap_first_byte; +static int ett_he_phy_cap_chan_width_set; +static int ett_he_phy_cap_b8_to_b23; +static int ett_he_phy_cap_b24_to_b39; +static int ett_he_phy_cap_b40_to_b55; +static int ett_he_phy_cap_b56_to_b71; +static int ett_he_phy_cap_b72_to_b87; +static int ett_he_mcs_and_nss_set; +static int ett_he_rx_tx_he_mcs_map_lte_80; +static int ett_he_rx_mcs_map_lte_80; +static int ett_he_tx_mcs_map_lte_80; +static int ett_he_rx_tx_he_mcs_map_160; +static int ett_he_rx_mcs_map_160; +static int ett_he_tx_mcs_map_160; +static int ett_he_rx_tx_he_mcs_map_80_80; +static int ett_he_rx_mcs_map_80_80; +static int ett_he_tx_mcs_map_80_80; +static int ett_he_ppe_threshold; +static int ett_he_ppe_nss; +static int ett_he_ppe_ru_alloc; +static int ett_he_uora_tree; +static int ett_he_aic_aifsn; +static int ett_he_spatial_reuse_control; +static int ett_he_bss_new_color_info; +static int ett_he_ess_report_info_field; +static int ett_he_operation_params; +static int ett_he_bss_color_information; +static int ett_he_oper_basic_mcs; +static int ett_he_operation_vht_op_info; +static int ett_mscs_user_prio; +static int ett_ieee80211_user_prio_bitmap; +static int ett_ieee80211_intra_access_prio; +static int ett_he_operation_6ghz; +static int ett_he_operation_6ghz_control; +static int ett_he_mu_edca_param; +static int ett_he_trigger_common_info; +static int ett_he_trigger_ranging; +static int ett_he_trigger_ranging_poll; +static int ett_he_trigger_packet_extension; +static int ett_he_trigger_base_common_info; +static int ett_he_trigger_bar_ctrl; +static int ett_he_trigger_bar_info; +static int ett_he_trigger_user_info; +static int ett_he_trigger_base_user_info; +static int ett_he_trigger_dep_basic_user_info; +static int ett_he_trigger_dep_nfrp_user_info; +static int ett_ndp_annc; +static int ett_ndp_vht_annc_sta_list; +static int ett_ndp_vht_annc_sta_info_tree; +static int ett_ndp_he_annc_sta_list; +static int ett_ndp_he_annc_sta_item; +static int ett_ndp_he_annc_sta_info; +static int ett_ndp_ranging_annc_sta_list; +static int ett_ndp_eht_annc_sta_list; +static int ett_ndp_eht_annc_sta_info; +static int ett_non_inheritance_element_id_list; +static int ett_non_inheritance_element_id_ext_list; /* 802.11ai trees */ -static gint ett_fils_indication_realm_list = -1; -static gint ett_fils_indication_public_key_list = -1; -static gint ett_ff_fils_discovery_frame_control = -1; -static gint ett_ff_fils_discovery_capability = -1; -static gint ett_neighbor_ap_info = -1; -static gint ett_tbtt_infos = -1; -static gint ett_rnr_bss_params_tree = -1; -static gint ett_rnr_mld_params_tree = -1; - -static gint ett_ff_fils_req_params = -1; -static gint ett_ff_fils_req_params_fils_criteria = -1; +static int ett_fils_indication_realm_list; +static int ett_fils_indication_public_key_list; +static int ett_ff_fils_discovery_frame_control; +static int ett_ff_fils_discovery_capability; +static int ett_neighbor_ap_info; +static int ett_tbtt_infos; +static int ett_rnr_bss_params_tree; +static int ett_rnr_mld_params_tree; + +static int ett_ff_fils_req_params; +static int ett_ff_fils_req_params_fils_criteria; + +/* Generic address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_addr = { + &hf_ieee80211_addr, + &hf_ieee80211_addr_resolved, + &hf_ieee80211_addr_oui, + &hf_ieee80211_addr_oui_resolved, + &hf_ieee80211_addr_lg, + &hf_ieee80211_addr_ig, +}; + +/* Generic address HF list for proto_tree_add_mac48_detail() -- + * no LG/IG bits */ +static const mac_hf_list_t mac_addr_hidden = { + &hf_ieee80211_addr, + &hf_ieee80211_addr_resolved, + &hf_ieee80211_addr_oui, + &hf_ieee80211_addr_oui_resolved, + NULL, + NULL, +}; + +/* Destination address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_da = { + &hf_ieee80211_addr_da, + &hf_ieee80211_addr_da_resolved, + &hf_ieee80211_addr_da_oui, + &hf_ieee80211_addr_da_oui_resolved, + &hf_ieee80211_addr_da_lg, + &hf_ieee80211_addr_da_ig, +}; + +/* Source address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_sa = { + &hf_ieee80211_addr_sa, + &hf_ieee80211_addr_sa_resolved, + &hf_ieee80211_addr_sa_oui, + &hf_ieee80211_addr_sa_oui_resolved, + &hf_ieee80211_addr_sa_lg, + &hf_ieee80211_addr_sa_ig, +}; + +/* Receiver address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_ra = { + &hf_ieee80211_addr_ra, + &hf_ieee80211_addr_ra_resolved, + &hf_ieee80211_addr_ra_oui, + &hf_ieee80211_addr_ra_oui_resolved, + &hf_ieee80211_addr_ra_lg, + &hf_ieee80211_addr_ra_ig, +}; + +/* Transmitter address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_ta = { + &hf_ieee80211_addr_ta, + &hf_ieee80211_addr_ta_resolved, + &hf_ieee80211_addr_ta_oui, + &hf_ieee80211_addr_ta_oui_resolved, + &hf_ieee80211_addr_ta_lg, + &hf_ieee80211_addr_ta_ig, +}; + +/* BSSID address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_bssid = { + &hf_ieee80211_addr_bssid, + &hf_ieee80211_addr_bssid_resolved, + &hf_ieee80211_addr_bssid_oui, + &hf_ieee80211_addr_bssid_oui_resolved, + &hf_ieee80211_addr_bssid_lg, + &hf_ieee80211_addr_bssid_ig, +}; + +/* Station address HF list for proto_tree_add_mac48_detail() */ +static const mac_hf_list_t mac_staa = { + &hf_ieee80211_addr_staa, + &hf_ieee80211_addr_staa_resolved, + &hf_ieee80211_addr_staa_oui, + &hf_ieee80211_addr_staa_oui_resolved, + &hf_ieee80211_addr_staa_lg, + &hf_ieee80211_addr_staa_ig, +}; static const fragment_items frag_items = { &ett_fragment, @@ -8589,19 +8783,21 @@ static const enum_val_t wlan_ignore_prot_options[] = { static int wlan_address_type = -1; static int wlan_bssid_address_type = -1; +static int wlan_ra_ta_address_type = -1; +static int wlan_aid_address_type = -1; -static int beacon_padding = 0; /* beacon padding bug */ +static int beacon_padding; /* beacon padding bug */ /* * Check if we have an S1G STA */ -static gboolean +static bool sta_is_s1g(packet_info *pinfo) { void * data_p; if (treat_as_s1g) - return TRUE; + return true; data_p = p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_S1G_KEY); return GPOINTER_TO_INT(data_p); @@ -8609,7 +8805,7 @@ sta_is_s1g(packet_info *pinfo) static const unsigned char bssid_broadcast_data[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; static address bssid_broadcast; -gboolean +bool is_broadcast_bssid(const address *bssid) { return addresses_equal(&bssid_broadcast, bssid); } @@ -8635,7 +8831,7 @@ static dissector_table_t wifi_alliance_anqp_info_table; static dissector_table_t wifi_alliance_ie_table; static dissector_table_t wifi_alliance_public_action_table; -static int wlan_tap = -1; +static int wlan_tap; static const value_string access_network_type_vals[] = { { 0, "Private network" }, @@ -8702,7 +8898,7 @@ static const val64_string number_of_taps_values[] = { {0, NULL} }; -DOT11DECRYPT_CONTEXT dot11decrypt_ctx = { 0 }; +DOT11DECRYPT_CONTEXT dot11decrypt_ctx; #define PSMP_STA_INFO_BROADCAST 0 #define PSMP_STA_INFO_MULTICAST 1 @@ -8783,12 +8979,12 @@ wlan_endpoint_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con packets are counted properly (even if address is sending to itself) XXX - this could probably be done more efficiently inside endpoint_table */ if (whdr->src.type != AT_NONE) { - add_endpoint_table_data(hash, &whdr->src, 0, TRUE, 1, pinfo->fd->pkt_len, &wlan_endpoint_dissector_info, ENDPOINT_NONE); + add_endpoint_table_data(hash, &whdr->src, 0, true, 1, pinfo->fd->pkt_len, &wlan_endpoint_dissector_info, ENDPOINT_NONE); status = TAP_PACKET_REDRAW; } if (whdr->dst.type != AT_NONE) { - add_endpoint_table_data(hash, &whdr->dst, 0, FALSE, 1, pinfo->fd->pkt_len, &wlan_endpoint_dissector_info, ENDPOINT_NONE); + add_endpoint_table_data(hash, &whdr->dst, 0, false, 1, pinfo->fd->pkt_len, &wlan_endpoint_dissector_info, ENDPOINT_NONE); status = TAP_PACKET_REDRAW; } @@ -8796,7 +8992,7 @@ wlan_endpoint_packet(void *pit, packet_info *pinfo, epan_dissect_t *edt _U_, con } static const char* -wlan_col_filter_str(const address* addr _U_, gboolean is_src) +wlan_col_filter_str(const address* addr _U_, bool is_src) { if (is_src) return "wlan.sa"; @@ -8805,14 +9001,28 @@ wlan_col_filter_str(const address* addr _U_, gboolean is_src) } static const char* -wlan_bssid_col_filter_str(const address* addr _U_, gboolean is_src _U_) +wlan_bssid_col_filter_str(const address* addr _U_, bool is_src _U_) { return "wlan.bssid"; } +static const char* +wlan_ra_ta_col_filter_str(const address* addr _U_, bool is_src) +{ + if (is_src) + return "wlan.ta"; + + return "wlan.ra"; +} + +static const char* +wlan_aid_col_filter_str(const address* addr _U_, bool is_src _U_) +{ + return "wlan.fc.sid.association_id"; +} static void -beacon_interval_base_custom(gchar *result, guint32 beacon_interval) +beacon_interval_base_custom(char *result, uint32_t beacon_interval) { double temp_double; @@ -8821,7 +9031,7 @@ beacon_interval_base_custom(gchar *result, guint32 beacon_interval) } static void -allocation_duration_base_custom(gchar *result, guint32 allocation_duration) +allocation_duration_base_custom(char *result, uint32_t allocation_duration) { double temp_double; @@ -8830,19 +9040,19 @@ allocation_duration_base_custom(gchar *result, guint32 allocation_duration) } static void -extra_one_base_custom(gchar *result, guint32 value) +extra_one_base_custom(char *result, uint32_t value) { snprintf(result, ITEM_LABEL_LENGTH, "%d", value+1); } static void -extra_one_mul_two_base_custom(gchar *result, guint32 value) +extra_one_mul_two_base_custom(char *result, uint32_t value) { snprintf(result, ITEM_LABEL_LENGTH, "%d", (value+1)*2); } static void -rcpi_and_power_level_custom(gchar *result, guint8 value) +rcpi_and_power_level_custom(char *result, uint8_t value) { /* 802.11-2016 section 9.4.2.38 RCPI = |2 x (P + 110)| in steps of 0.5 dB */ @@ -8860,27 +9070,27 @@ rcpi_and_power_level_custom(gchar *result, guint8 value) } static void -sts_custom(gchar *result, guint32 value) +sts_custom(char *result, uint32_t value) { snprintf(result, ITEM_LABEL_LENGTH, "%d STS", value + 1); } static void -rep_custom(gchar *result, guint32 value) +rep_custom(char *result, uint32_t value) { snprintf(result, ITEM_LABEL_LENGTH, "%u repetition%s (%u)", value + 1, plurality(value + 1, "", "s"), value); } static void -hundred_us_base_custom(gchar *result, guint32 value) +hundred_us_base_custom(char *result, uint32_t value) { snprintf(result, ITEM_LABEL_LENGTH, "%0.1f ms (%u)", ((double)value * 100 / 1000), value); } static void -partial_tsf_custom(gchar *result, guint32 value) +partial_tsf_custom(char *result, uint32_t value) { - guint32 shifted = value << 10; + uint32_t shifted = value << 10; snprintf(result, ITEM_LABEL_LENGTH, "%u %s (%u)", shifted, unit_name_string_get_value(shifted, &units_microseconds), value); } @@ -8888,12 +9098,12 @@ partial_tsf_custom(gchar *result, guint32 value) /* * We use this is displaying the ru allocation region. */ -static guint8 global_he_trigger_bw = 0; +static uint8_t global_he_trigger_bw; static void -he_ru_allocation_base_custom(gchar *result, guint32 ru_allocation) +he_ru_allocation_base_custom(char *result, uint32_t ru_allocation) { - guint32 tones = 0; + uint32_t tones = 0; switch (global_he_trigger_bw) { case 0: @@ -8981,9 +9191,9 @@ he_ru_allocation_base_custom(gchar *result, guint32 ru_allocation) } static void -eht_ru_allocation_base_custom(gchar *result, guint32 ru_allocation) +eht_ru_allocation_base_custom(char *result, uint32_t ru_allocation) { - gchar *ru_str; + char *ru_str; /* TODO: check with PS160, B0 of RU allocation, BW */ if (ru_allocation <= 36) { @@ -9029,7 +9239,7 @@ eht_ru_allocation_base_custom(gchar *result, guint32 ru_allocation) * We use this to display the ANSI/CTA-2063 Serial number length */ static void -vs_sgdsn_serialnumber_len_custom(gchar *result, guint32 val) +vs_sgdsn_serialnumber_len_custom(char *result, uint32_t val) { if (val >= 0x30 && val <= 0x39) { snprintf(result, ITEM_LABEL_LENGTH, "%d byte(s)", val-0x30); @@ -9065,7 +9275,7 @@ vs_sgdsn_serialnumber_len_custom(gchar *result, guint32 val) * use these facts to make our heuristics more reliable. * ************************************************************************* */ static int -has_mesh_control(guint16 fcf, guint16 qos_ctl, guint8 mesh_flags) +has_mesh_control(uint16_t fcf, uint16_t qos_ctl, uint8_t mesh_flags) { /* assume mesh control present if the QOS field's Mesh Control Present bit is * set, all reserved bits in the mesh_flags field are zero, and the address @@ -9085,7 +9295,7 @@ has_mesh_control(guint16 fcf, guint16 qos_ctl, guint8 mesh_flags) * ****************************************************************************** */ static int -has_mesh_control_local(guint16 fcf, guint8 mesh_flags, guint16 next_header) +has_mesh_control_local(uint16_t fcf, uint8_t mesh_flags, uint16_t next_header) { return (((FCF_ADDR_SELECTOR(fcf) == DATA_ADDR_T4) || (FCF_ADDR_SELECTOR(fcf) == DATA_ADDR_T2)) && ((mesh_flags & ~MESH_FLAGS_ADDRESS_EXTENSION) == 0) && @@ -9094,7 +9304,7 @@ has_mesh_control_local(guint16 fcf, guint8 mesh_flags, guint16 next_header) } static int -find_mesh_control_length(guint8 mesh_flags) +find_mesh_control_length(uint8_t mesh_flags) { return 6 + 6*(mesh_flags & MESH_FLAGS_ADDRESS_EXTENSION); } @@ -9102,7 +9312,7 @@ find_mesh_control_length(guint8 mesh_flags) static mimo_control_t get_mimo_control(tvbuff_t *tvb, int offset) { - guint16 mimo; + uint16_t mimo; mimo_control_t output; mimo = tvb_get_letohs(tvb, offset); @@ -9157,7 +9367,7 @@ get_mimo_control(tvbuff_t *tvb, int offset) } static int -get_mimo_na(guint8 nr, guint8 nc) +get_mimo_na(uint8_t nr, uint8_t nc) { if ((nr == 2) && (nc == 1)) { return 2; @@ -9183,7 +9393,7 @@ get_mimo_na(guint8 nr, guint8 nc) } static int -get_mimo_ns(gboolean chan_width, guint8 output_grouping) +get_mimo_ns(bool chan_width, uint8_t output_grouping) { int ns = 0; @@ -9242,9 +9452,9 @@ add_mimo_csi_matrices_report(proto_tree *tree, tvbuff_t *tvb, int offset, mimo_c for (i = 1; i <= mimo_cntrl.nr; i++) { - guint8 snr; + uint8_t snr; - snr = tvb_get_guint8(tvb, offset); + snr = tvb_get_uint8(tvb, offset); proto_tree_add_uint_format(snr_tree, hf_ieee80211_ff_mimo_csi_snr, tvb, offset, 1, snr, "Channel %d - Signal to Noise Ratio: 0x%02X", i, snr); offset += 1; @@ -9270,9 +9480,9 @@ add_mimo_beamforming_feedback_report(proto_tree *tree, tvbuff_t *tvb, int offset for (i = 1; i <= mimo_cntrl.nc; i++) { - guint8 snr; + uint8_t snr; - snr = tvb_get_guint8(tvb, offset); + snr = tvb_get_uint8(tvb, offset); proto_tree_add_uint_format(snr_tree, hf_ieee80211_ff_mimo_csi_snr, tvb, offset, 1, snr, "Stream %d - Signal to Noise Ratio: 0x%02X", i, snr); offset += 1; @@ -9299,10 +9509,10 @@ add_mimo_compressed_beamforming_feedback_report(proto_tree *tree, tvbuff_t *tvb, for (i = 1; i <= mimo_cntrl.nc; i++) { - gint8 snr; + int8_t snr; char edge_sign; - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); switch(snr) { case -128: @@ -9330,7 +9540,7 @@ add_mimo_compressed_beamforming_feedback_report(proto_tree *tree, tvbuff_t *tvb, } static void -mesh_active_window_base_custom(gchar *result, guint32 mesh_active_window) +mesh_active_window_base_custom(char *result, uint32_t mesh_active_window) { snprintf(result, ITEM_LABEL_LENGTH, "%f [Seconds]", (mesh_active_window * 1024.0 / 1000000)); } @@ -9338,19 +9548,19 @@ mesh_active_window_base_custom(gchar *result, guint32 mesh_active_window) /* ************************************************************************* */ /* This is the capture function used to update packet counts */ /* ************************************************************************* */ -static gboolean -capture_ieee80211_common(const guchar * pd, int offset, int len, - capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_, gboolean datapad) +static bool +capture_ieee80211_common(const unsigned char * pd, int offset, int len, + capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_, bool datapad) { - guint16 fcf, hdr_length; + uint16_t fcf, hdr_length; if (!BYTES_ARE_IN_FRAME(offset, len, 2)) - return FALSE; + return false; fcf = pletoh16(&pd[offset]); if (IS_PROTECTED(FCF_FLAGS(fcf)) && (wlan_ignore_prot == WLAN_IGNORE_PROT_NO)) - return FALSE; + return false; switch (COMPOSE_FRAME_TYPE (fcf)) { @@ -9368,8 +9578,8 @@ capture_ieee80211_common(const guchar * pd, int offset, int len, if (DATA_FRAME_IS_QOS(COMPOSE_FRAME_TYPE(fcf))) { /* QoS frame, so the header includes a QoS field */ - guint16 qosoff; /* Offset of the 2-byte QoS field */ - guint8 mesh_flags; + uint16_t qosoff; /* Offset of the 2-byte QoS field */ + uint8_t mesh_flags; qosoff = hdr_length; hdr_length += 2; /* Include the QoS field in the header length */ @@ -9397,7 +9607,7 @@ capture_ieee80211_common(const guchar * pd, int offset, int len, * purported mesh flag fields. */ if (!BYTES_ARE_IN_FRAME(offset, hdr_length, 1)) - return FALSE; + return false; mesh_flags = pd[hdr_length]; if (has_mesh_control(fcf, pletoh16(&pd[qosoff]), mesh_flags)) { @@ -9437,7 +9647,7 @@ capture_ieee80211_common(const guchar * pd, int offset, int len, packet starts with 0x00 0x00 and, if so, treat it as an OLPC frame. */ if (!BYTES_ARE_IN_FRAME(offset+hdr_length, len, 2)) - return FALSE; + return false; if ((pd[offset+hdr_length] != 0xaa) && (pd[offset+hdr_length+1] != 0xaa)) { #if 0 @@ -9463,26 +9673,26 @@ capture_ieee80211_common(const guchar * pd, int offset, int len, } } - return FALSE; + return false; } /* * Handle 802.11 with a variable-length link-layer header. */ -static gboolean -capture_ieee80211(const guchar * pd, int offset, int len, capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_) +static bool +capture_ieee80211(const unsigned char * pd, int offset, int len, capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_) { - return capture_ieee80211_common (pd, offset, len, cpinfo, pseudo_header, FALSE); + return capture_ieee80211_common (pd, offset, len, cpinfo, pseudo_header, false); } /* * Handle 802.11 with a variable-length link-layer header and data padding. */ -static gboolean -capture_ieee80211_datapad(const guchar * pd, int offset, int len, +static bool +capture_ieee80211_datapad(const unsigned char * pd, int offset, int len, capture_packet_info_t *cpinfo, const union wtap_pseudo_header *pseudo_header _U_) { - return capture_ieee80211_common (pd, offset, len, cpinfo, pseudo_header, TRUE); + return capture_ieee80211_common (pd, offset, len, cpinfo, pseudo_header, true); } @@ -9491,7 +9701,7 @@ capture_ieee80211_datapad(const guchar * pd, int offset, int len, /* ************************************************************************* */ static proto_tree * get_fixed_parameter_tree(proto_tree * tree, tvbuff_t *tvb, int start, int size, - gboolean no_append) + bool no_append) { proto_item *fixed_fields; @@ -9523,7 +9733,7 @@ add_ptk_analysis(tvbuff_t *tvb, proto_tree *tree, DOT11DECRYPT_KEY_ITEM *used_ke if (!used_key) { return; } - const guint8 *key = NULL; + const uint8_t *key = NULL; proto_item *ti; char buf[SHORT_STR]; int len = Dot11DecryptGetKCK(used_key, &key); @@ -9542,16 +9752,16 @@ add_ptk_analysis(tvbuff_t *tvb, proto_tree *tree, DOT11DECRYPT_KEY_ITEM *used_ke static int dissect_vendor_action_marvell(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_) { - guint8 octet; + uint8_t octet; int offset = 0; - octet = tvb_get_guint8(tvb, offset); + octet = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_marvell_action_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; switch (octet) { case MRVL_ACTION_MESH_MANAGEMENT: - octet = tvb_get_guint8(tvb, offset); + octet = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_marvell_mesh_mgt_action_code, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; switch (octet) @@ -9680,7 +9890,7 @@ dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) { int start_offset = offset; - guint8 count; + uint8_t count; wmem_strbuf_t *status_buf = wmem_strbuf_create(pinfo->pool); int i; @@ -9690,16 +9900,16 @@ dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo, ENC_NA); offset += 1; - count = tvb_get_guint8(tvb, offset); + count = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_oui_qos_mgmt_count, tvb, offset, 1, ENC_NA); offset += 1; for (i = 0; i < count; i++) { proto_tree *status_tree = NULL; - guint8 scsid, status; + uint8_t scsid, status; - scsid = tvb_get_guint8(tvb, offset); + scsid = tvb_get_uint8(tvb, offset); status_tree = proto_tree_add_subtree_format(tree, tvb, offset, 2, ett_dscp_policy_status_list, NULL, "Status list item %d", @@ -9713,7 +9923,7 @@ dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo, } offset += 1; - status = tvb_get_guint8(tvb, offset); + status = tvb_get_uint8(tvb, offset); proto_tree_add_item(status_tree, hf_ieee80211_dscp_policy_status, tvb, offset, 1, ENC_NA); wmem_strbuf_append_printf(status_buf, "%u", status); @@ -9730,7 +9940,7 @@ dissect_vendor_action_wfa_qos_mgmt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { int offset = 0; - guint8 subtype = tvb_get_guint8(tvb, offset); + uint8_t subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_oui_qos_subtype, tvb, offset, 1, ENC_NA); @@ -9758,18 +9968,18 @@ dissect_vendor_action_wfa_qos_mgmt(tvbuff_t *tvb, packet_info *pinfo, static int dissect_vendor_action_wifi_alliance(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { - guint8 subtype; + uint8_t subtype; int offset = 0; int dissected; tvbuff_t *subtvb; - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_oui_wfa_action_type, tvb, offset, 1, ENC_NA); offset += 1; subtvb = tvb_new_subset_remaining(tvb, offset); - dissected = dissector_try_uint_new(wifi_alliance_action_subtype_table, subtype, subtvb, pinfo, tree, FALSE, NULL); + dissected = dissector_try_uint_new(wifi_alliance_action_subtype_table, subtype, subtvb, pinfo, tree, false, NULL); if (dissected <= 0) { call_data_dissector(subtvb, pinfo, tree); @@ -9787,12 +9997,12 @@ dissect_vendor_action_wifi_alliance(tvbuff_t *tvb, packet_info *pinfo, proto_tre * is asked to return the type and subtype. We know the difference because * type and subtype will be NULL in the first case. */ -static guint +static unsigned dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, - tvbuff_t *tvb, int offset, guint *type, - guint *subtype) + tvbuff_t *tvb, int offset, unsigned *type, + unsigned *subtype) { - guint8 tag_no = 0, tag_len, left; + uint8_t tag_no = 0, tag_len, left; proto_item *item = NULL, *adv_item; proto_tree *adv_tree, *adv_tuple_tree; @@ -9800,7 +10010,7 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, *type = 0xff; // Last reserved value if (subtype) *subtype = 0xff; - tag_no = tvb_get_guint8(tvb, offset); + tag_no = tvb_get_uint8(tvb, offset); if (type) item = proto_tree_add_item(tree, hf_ieee80211_tag_number, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -9809,7 +10019,7 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, * for the length of the tvb. */ if (type) - tag_len = tvb_get_guint8(tvb, offset + 1); + tag_len = tvb_get_uint8(tvb, offset + 1); else tag_len = tvb_reported_length_remaining(tvb, 0); @@ -9837,9 +10047,9 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, ett_adv_proto, &adv_item, "Advertisement Protocol element"); while (left >= 2) { - guint8 id; + uint8_t id; - id = tvb_get_guint8(tvb, offset + 1); + id = tvb_get_uint8(tvb, offset + 1); if (id == 0) proto_item_append_text(adv_item, ": ANQP"); adv_tuple_tree = proto_tree_add_subtree_format(adv_tree, tvb, offset, 2, ett_adv_proto_tuple, &item, @@ -9865,9 +10075,9 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, if (id == 221) { /* Vendor specific */ - guint8 len = tvb_get_guint8(tvb, offset); - guint oui; - guint8 wfa_subtype; + uint8_t len = tvb_get_uint8(tvb, offset); + unsigned oui; + uint8_t wfa_subtype; proto_tree_add_item(adv_tuple_tree, hf_ieee80211_tag_adv_vs_len, tvb, offset, 1, ENC_NA); offset += 1; left -= 1; @@ -9881,7 +10091,7 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, proto_tree_add_item_ret_uint(adv_tuple_tree, hf_ieee80211_tag_oui, tvb, offset, 3, ENC_BIG_ENDIAN, &oui); offset += 3; left -= 3; - wfa_subtype = tvb_get_guint8(tvb, offset); + wfa_subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(adv_tuple_tree, hf_ieee80211_anqp_wfa_subtype, tvb, offset, 1, ENC_NA); offset += 1; @@ -9890,7 +10100,7 @@ dissect_advertisement_protocol_common(packet_info *pinfo, proto_tree *tree, proto_tree_add_item(adv_tuple_tree, hf_ieee80211_dpp_subtype, tvb, offset, 1, ENC_NA); if (subtype && wfa_subtype == WFA_SUBTYPE_DPP) { *subtype = WFA_SUBTYPE_DPP; - *subtype |= (tvb_get_guint8(tvb, offset) << 8); + *subtype |= (tvb_get_uint8(tvb, offset) << 8); } offset++; left--; @@ -9939,11 +10149,11 @@ dissect_hs20_anqp_hs_capability_list(proto_tree *tree, tvbuff_t *tvb, int offset static void dissect_anqp_capab_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int end) { - guint16 id, len; + uint16_t id, len; proto_item *item; proto_tree *vtree; - guint32 oui; - guint8 subtype; + uint32_t oui; + uint8_t subtype; while (offset + 2 <= end) { id = tvb_get_letohs(tvb, offset); @@ -9968,7 +10178,7 @@ dissect_anqp_capab_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int case OUI_WFA: if (len == 0) break; - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_item_append_text(vtree, " - WFA - %s", val_to_str(subtype, wfa_anqp_subtype_vals, "Unknown (%u)")); @@ -10039,7 +10249,7 @@ dissect_venue_name_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int dissect_venue_info(tree, tvb, offset); offset += 2; while (offset + 4 <= end) { - guint8 vlen = tvb_get_guint8(tvb, offset); + uint8_t vlen = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_anqp_venue_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -10067,7 +10277,7 @@ static void dissect_network_auth_type(proto_tree *tree, tvbuff_t *tvb, int offset, int end) { while (offset + 3 <= end) { - guint16 len; + uint16_t len; proto_tree_add_item(tree, hf_ieee80211_ff_anqp_nw_auth_type_indicator, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -10086,10 +10296,10 @@ static void dissect_anqp_network_auth_type_timestamp(proto_tree *tree, tvbuff_t *tvb, int offset, int end) { while (offset + 2 <= end) { - guint8 len; + uint8_t len; proto_tree_add_item(tree, hf_ieee80211_ff_anqp_nw_auth_type_ts_indicator, tvb, offset, 1, ENC_NA); - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); proto_tree_add_item(tree, hf_ieee80211_ff_anqp_nw_auth_type_ts_url_len, tvb, offset, 1, ENC_NA); offset += 2; @@ -10134,7 +10344,7 @@ dissect_anqp_network_auth_type_timestamp(proto_tree *tree, tvbuff_t *tvb, int of static void add_manuf(proto_item *item, tvbuff_t *tvb, int offset) { - const gchar *manuf_name; + const char *manuf_name; manuf_name = tvb_get_manuf_name_if_known(tvb, offset); if (manuf_name == NULL) @@ -10147,10 +10357,10 @@ dissect_roaming_consortium_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pi int end) { proto_item *item; - guint8 len; + uint8_t len; while (offset < end) { - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_anqp_roaming_consortium_oi_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -10262,13 +10472,13 @@ static const value_string nai_realm_auth_param_id_vals[] = { static void dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int end) { - guint16 count, len; + uint16_t count, len; proto_item *item, *r_item; int f_end, eap_end; - guint8 nai_len, eap_count, eap_len, auth_param_count, auth_param_len; - guint8 auth_param_id; + uint8_t nai_len, eap_count, eap_len, auth_param_count, auth_param_len; + uint8_t auth_param_id; proto_tree *realm_tree, *eap_tree; - const guint8 *realm; + const uint8_t *realm; count = tvb_get_letohs(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_anqp_nai_realm_count, @@ -10290,7 +10500,7 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int proto_tree_add_item(realm_tree, hf_ieee80211_ff_anqp_nai_realm_encoding, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - nai_len = tvb_get_guint8(tvb, offset); + nai_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(realm_tree, hf_ieee80211_ff_anqp_nai_realm_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -10300,18 +10510,18 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int break; } proto_tree_add_item_ret_string(realm_tree, hf_ieee80211_ff_anqp_nai_realm, - tvb, offset, nai_len, ENC_ASCII|ENC_NA, wmem_packet_scope(), &realm); + tvb, offset, nai_len, ENC_ASCII|ENC_NA, pinfo->pool, &realm); if (realm) { proto_item_append_text(r_item, " (%s)", realm); } offset += nai_len; - eap_count = tvb_get_guint8(tvb, offset); + eap_count = tvb_get_uint8(tvb, offset); proto_tree_add_item(realm_tree, hf_ieee80211_ff_anqp_nai_realm_eap_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; while (eap_count > 0) { - eap_len = tvb_get_guint8(tvb, offset); + eap_len = tvb_get_uint8(tvb, offset); eap_end = offset + 1 + eap_len; eap_tree = proto_tree_add_subtree(realm_tree, tvb, offset, 1 + eap_len, ett_nai_realm_eap, NULL, "EAP Method"); @@ -10326,24 +10536,24 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int } proto_item_append_text(eap_tree, ": %s", - val_to_str_ext(tvb_get_guint8(tvb, offset), + val_to_str_ext(tvb_get_uint8(tvb, offset), &eap_type_vals_ext, "Unknown (%d)")); proto_tree_add_item(eap_tree, hf_ieee80211_ff_anqp_nai_realm_eap_method, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - auth_param_count = tvb_get_guint8(tvb, offset); + auth_param_count = tvb_get_uint8(tvb, offset); proto_tree_add_item(eap_tree, hf_ieee80211_ff_anqp_nai_realm_auth_param_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; while (auth_param_count > 0) { - auth_param_id = tvb_get_guint8(tvb, offset); + auth_param_id = tvb_get_uint8(tvb, offset); proto_tree_add_item(eap_tree, hf_ieee80211_ff_anqp_nai_realm_auth_param_id, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - auth_param_len = tvb_get_guint8(tvb, offset); + auth_param_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(eap_tree, hf_ieee80211_ff_anqp_nai_realm_auth_param_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -10352,7 +10562,7 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int eap_tree, hf_ieee80211_ff_anqp_nai_realm_auth_param_value, tvb, offset, auth_param_len, ENC_NA); if ((auth_param_id == 3) && (auth_param_len == 1)) { - guint8 inner_method = tvb_get_guint8(tvb, offset); + uint8_t inner_method = tvb_get_uint8(tvb, offset); const char *str; str = val_to_str_ext(inner_method, &eap_type_vals_ext, "Unknown (%d)"); @@ -10376,7 +10586,7 @@ dissect_nai_realm_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int static void dissect_3gpp_cellular_network_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 iei, num, plmn_idx = 0; + uint8_t iei, num, plmn_idx = 0; proto_item *item; /* See Annex A of 3GPP TS 24.234 v8.1.0 for description */ @@ -10384,7 +10594,7 @@ dissect_3gpp_cellular_network_info(proto_tree *tree, tvbuff_t *tvb, packet_info offset += 1; proto_tree_add_item(tree, hf_ieee80211_3gpp_gc_udhl, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - iei = tvb_get_guint8(tvb, offset); + iei = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_3gpp_gc_iei, tvb, offset, 1, ENC_LITTLE_ENDIAN); if (iei == 0) proto_item_append_text(item, " (PLMN List)"); @@ -10393,13 +10603,13 @@ dissect_3gpp_cellular_network_info(proto_tree *tree, tvbuff_t *tvb, packet_info offset += 1; proto_tree_add_item(tree, hf_ieee80211_3gpp_gc_plmn_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - num = tvb_get_guint8(tvb, offset); + num = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_3gpp_gc_num_plmns, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; while (num > 0) { proto_item *plmn_item = NULL; proto_tree *plmn_tree = NULL; - guint plmn_val = 0; + unsigned plmn_val = 0; if (tvb_reported_length_remaining(tvb, offset) < 3) break; @@ -10408,7 +10618,7 @@ dissect_3gpp_cellular_network_info(proto_tree *tree, tvbuff_t *tvb, packet_info tvb, offset, 3, plmn_val, "PLMN %d (0x%x)", plmn_idx++, plmn_val); plmn_tree = proto_item_add_subtree(plmn_item, ett_ieee80211_3gpp_plmn); - dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, plmn_tree, offset, E212_NONE, TRUE); + dissect_e212_mcc_mnc_wmem_packet_str(tvb, pinfo, plmn_tree, offset, E212_NONE, true); num--; offset += 3; } @@ -10417,10 +10627,10 @@ dissect_3gpp_cellular_network_info(proto_tree *tree, tvbuff_t *tvb, packet_info static void dissect_domain_name_list(proto_tree *tree, tvbuff_t *tvb, int offset, int end) { - guint8 len; + uint8_t len; while (offset < end) { - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_anqp_domain_name_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -10435,7 +10645,7 @@ dissect_hs20_subscription_remediation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_) { int offset = 0; - guint8 url_len = tvb_get_guint8(tvb, offset); + uint8_t url_len = tvb_get_uint8(tvb, offset); proto_item *pi = NULL; proto_tree_add_item(tree, hf_ieee80211_hs20_subscription_remediation_url_len, tvb, offset, @@ -10459,7 +10669,7 @@ dissect_hs20_deauthentication_imminent(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_) { int offset = 0; - guint8 url_len = 0; + uint8_t url_len = 0; proto_item *pi = NULL; proto_tree_add_item(tree, hf_ieee80211_hs20_deauth_reason_code, tvb, offset, 1, ENC_NA); @@ -10469,7 +10679,7 @@ dissect_hs20_deauthentication_imminent(tvbuff_t *tvb, packet_info *pinfo _U_, ENC_LITTLE_ENDIAN); offset += 2; - url_len = tvb_get_guint8(tvb, offset); + url_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_hs20_deauth_reason_url_len, tvb, offset, 1, ENC_NA); offset++; @@ -10528,12 +10738,12 @@ static void dissect_hs20_anqp_operator_friendly_name(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int end, int hf_array[], - gint ett_val) + int ett_val) { int ofn_index = 0; while (offset + 4 <= end) { - guint8 vlen = tvb_get_guint8(tvb, offset); + uint8_t vlen = tvb_get_uint8(tvb, offset); proto_tree *ofn_tree = NULL; proto_item *item = NULL, *pi = NULL; int start_offset = offset; @@ -10568,7 +10778,7 @@ static const value_string hs20_wm_link_status_vals[] = { }; static void -dissect_hs20_anqp_wan_metrics(proto_tree *tree, tvbuff_t *tvb, int offset, gboolean request) +dissect_hs20_anqp_wan_metrics(proto_tree *tree, tvbuff_t *tvb, int offset, bool request) { if (request) return; @@ -10640,12 +10850,12 @@ dissect_hs20_anqp_connection_capability(proto_tree *tree, tvbuff_t *tvb, { proto_tree *tuple; while (offset + 4 <= end) { - guint8 ip_proto, status; - guint16 port_num; + uint8_t ip_proto, status; + uint16_t port_num; - ip_proto = tvb_get_guint8(tvb, offset); + ip_proto = tvb_get_uint8(tvb, offset); port_num = tvb_get_letohs(tvb, offset + 1); - status = tvb_get_guint8(tvb, offset + 3); + status = tvb_get_uint8(tvb, offset + 3); tuple = proto_tree_add_subtree_format(tree, tvb, offset, 4, ett_hs20_cc_proto_port_tuple, NULL, "ProtoPort Tuple - ip_proto=%s port_num=%s status=%s", @@ -10668,7 +10878,7 @@ static void dissect_hs20_anqp_nai_home_realm_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int end) { - guint8 len; + uint8_t len; proto_item *item; proto_tree_add_item(tree, hf_ieee80211_hs20_anqp_nai_hrq_count, @@ -10679,7 +10889,7 @@ dissect_hs20_anqp_nai_home_realm_query(proto_tree *tree, tvbuff_t *tvb, packet_i proto_tree_add_item(tree, hf_ieee80211_hs20_anqp_nai_hrq_encoding_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_hs20_anqp_nai_hrq_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; @@ -10710,7 +10920,7 @@ dissect_hs20_osu_friendly_names(proto_tree *tree, tvbuff_t *tvb, int osu_fn_hf_array[3] = {hf_ieee80211_hs20_osu_friendly_name_length, hf_ieee80211_hs20_osu_friendly_name_language, hf_ieee80211_hs20_osu_friendly_name_name }; - guint16 osu_fn_count = tvb_get_letohs(tvb, offset); + uint16_t osu_fn_count = tvb_get_letohs(tvb, offset); proto_tree *fn_tree = NULL; proto_tree_add_item(tree, hf_ieee80211_hs20_osu_friendly_names_len, tvb, offset, 2, @@ -10730,12 +10940,12 @@ dissect_hs20_osu_friendly_names(proto_tree *tree, tvbuff_t *tvb, static int dissect_hs20_osu_icon_available(proto_tree *tree, tvbuff_t *tvb, - packet_info *pinfo _U_, int offset, int end _U_, guint16 icon_index) + packet_info *pinfo _U_, int offset, int end _U_, uint16_t icon_index) { proto_tree *icon_avail = NULL; proto_item *pi = NULL; int start_offset = offset; - guint8 icon_type_len = 0, icon_filename_len = 0; + uint8_t icon_type_len = 0, icon_filename_len = 0; icon_avail = proto_tree_add_subtree_format(tree, tvb, offset, -1, ett_hs20_osu_icon_tree, &pi, @@ -10753,7 +10963,7 @@ dissect_hs20_osu_icon_available(proto_tree *tree, tvbuff_t *tvb, ENC_ASCII); offset += 3; - icon_type_len = tvb_get_guint8(tvb, offset); + icon_type_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(icon_avail, hf_ieee80211_osu_icon_avail_icon_type_len, tvb, offset, 1, ENC_NA); offset++; @@ -10762,7 +10972,7 @@ dissect_hs20_osu_icon_available(proto_tree *tree, tvbuff_t *tvb, icon_type_len, ENC_ASCII); offset += icon_type_len; - icon_filename_len = tvb_get_guint8(tvb, offset); + icon_filename_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(icon_avail, hf_ieee80211_osu_icon_avail_filename_len, tvb, offset, 1, ENC_NA); offset++; @@ -10784,16 +10994,16 @@ static const value_string osu_method_vals[] = { static int dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, - packet_info *pinfo, int offset, int end, guint8 provider_index) + packet_info *pinfo, int offset, int end, uint8_t provider_index) { proto_tree *prov_tree = NULL; proto_item *osupi = NULL, *uri_pi = NULL; int start_offset = offset; - guint8 osu_server_uri_len = 0; - guint8 osu_method_list_len = 0; - guint16 icons_avail = 0, icons_index = 0; - guint8 osu_nai_len = 0; - guint16 osu_service_desc_len = 0; + uint8_t osu_server_uri_len = 0; + uint8_t osu_method_list_len = 0; + uint16_t icons_avail = 0, icons_index = 0; + uint8_t osu_nai_len = 0; + uint16_t osu_service_desc_len = 0; prov_tree = proto_tree_add_subtree_format(tree, tvb, offset, -1, ett_hs20_osu_provider_tree, &osupi, @@ -10807,7 +11017,7 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, proto_item_set_len(osupi, offset - start_offset); - osu_server_uri_len = tvb_get_guint8(tvb, offset); + osu_server_uri_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(prov_tree, hf_ieee80211_hs20_osu_server_uri_len, tvb, offset, 1, ENC_NA); offset++; @@ -10817,14 +11027,14 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, offset += osu_server_uri_len; proto_item_set_url(uri_pi); - osu_method_list_len = tvb_get_guint8(tvb, offset); + osu_method_list_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(prov_tree, hf_ieee80211_hs20_osu_method_list_len, tvb, offset, 1, ENC_NA); offset++; if (osu_method_list_len > 0) { proto_tree *osu_method_list = NULL; - guint8 osu_method_list_index = 0; + uint8_t osu_method_list_index = 0; osu_method_list = proto_tree_add_subtree(prov_tree, tvb, offset, osu_method_list_len, @@ -10832,7 +11042,7 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, NULL, "OSU Method List"); while (osu_method_list_len > osu_method_list_index) { proto_item *pi = NULL; - guint8 method = tvb_get_guint8(tvb, offset); + uint8_t method = tvb_get_uint8(tvb, offset); pi = proto_tree_add_item(osu_method_list, hf_ieee80211_hs20_osu_method_val, tvb, offset, 1, ENC_NA); @@ -10868,7 +11078,7 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, proto_item_set_len(pi, offset - start_offset); } - osu_nai_len = tvb_get_guint8(tvb, offset); + osu_nai_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(prov_tree, hf_ieee80211_hs20_osu_nai_len, tvb, offset, 1, ENC_NA); offset++; @@ -10886,7 +11096,7 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, if (osu_service_desc_len > 0) { proto_tree *desc_tree = NULL; proto_item *pi = NULL; - guint8 service_desc_index = 0; + uint8_t service_desc_index = 0; start_offset = offset; desc_tree = proto_tree_add_subtree(prov_tree, tvb, offset, -1, @@ -10895,7 +11105,7 @@ dissect_hs20_osu_provider(proto_tree *tree, tvbuff_t *tvb, while ((offset - start_offset) < osu_service_desc_len) { proto_tree *desc_duple = NULL; - guint8 serv_desc_len = tvb_get_guint8(tvb, offset); + uint8_t serv_desc_len = tvb_get_uint8(tvb, offset); desc_duple = proto_tree_add_subtree_format(desc_tree, tvb, offset, 1 + serv_desc_len, @@ -10928,8 +11138,8 @@ static void dissect_hs20_anqp_osu_providers_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int end) { - guint8 ssid_len = tvb_get_guint8(tvb, offset); - guint8 osu_prov_count = 0, osu_prov_index = 0; + uint8_t ssid_len = tvb_get_uint8(tvb, offset); + uint8_t osu_prov_count = 0, osu_prov_index = 0; proto_tree_add_item(tree, hf_ieee80211_hs20_osu_providers_list_ssid_len, tvb, offset, 1, ENC_NA); @@ -10939,7 +11149,7 @@ dissect_hs20_anqp_osu_providers_list(proto_tree *tree, tvbuff_t *tvb, ENC_UTF_8); offset += ssid_len; - osu_prov_count = tvb_get_guint8(tvb, offset); + osu_prov_count = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_hs20_osu_providers_count, tvb, offset, 1, ENC_NA); offset++; @@ -10981,10 +11191,10 @@ static void dissect_hs20_anqp_icon_binary_file(proto_tree *tree, tvbuff_t *tvb, int offset, int end _U_) { - guint8 icon_download_status = tvb_get_guint8(tvb, offset); + uint8_t icon_download_status = tvb_get_uint8(tvb, offset); proto_item *pi = NULL; - guint8 icon_type_len = 0; - guint16 icon_binary_data_len = 0; + uint8_t icon_type_len = 0; + uint16_t icon_binary_data_len = 0; pi = proto_tree_add_item(tree, hf_ieee80211_hs20_icon_binary_file_status, tvb, offset, 1, ENC_NA); @@ -10994,7 +11204,7 @@ dissect_hs20_anqp_icon_binary_file(proto_tree *tree, tvbuff_t *tvb, int offset, hs20_icon_download_status_vals, "Reserved (%u)")); - icon_type_len = tvb_get_guint8(tvb, offset); + icon_type_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_hs20_icon_type_length, tvb, offset, 1, ENC_NA); offset++; @@ -11017,7 +11227,7 @@ dissect_hs20_anqp_operator_icon_metadata(proto_tree *tree, tvbuff_t *tvb, { proto_item *pi = NULL; int start_offset = offset; - guint8 icon_type_len = 0, icon_filename_len = 0; + uint8_t icon_type_len = 0, icon_filename_len = 0; proto_tree_add_item(tree, hf_ieee80211_osu_icon_avail_width, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -11031,7 +11241,7 @@ dissect_hs20_anqp_operator_icon_metadata(proto_tree *tree, tvbuff_t *tvb, ENC_ASCII); offset += 3; - icon_type_len = tvb_get_guint8(tvb, offset); + icon_type_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_osu_icon_avail_icon_type_len, tvb, offset, 1, ENC_NA); offset++; @@ -11040,7 +11250,7 @@ dissect_hs20_anqp_operator_icon_metadata(proto_tree *tree, tvbuff_t *tvb, icon_type_len, ENC_ASCII); offset += icon_type_len; - icon_filename_len = tvb_get_guint8(tvb, offset); + icon_filename_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_osu_icon_avail_filename_len, tvb, offset, 1, ENC_NA); offset++; @@ -11055,12 +11265,12 @@ dissect_hs20_anqp_operator_icon_metadata(proto_tree *tree, tvbuff_t *tvb, static void dissect_anqp_venue_url(proto_tree *tree, tvbuff_t *tvb, int offset, int end) { - guint16 url_duple_index = 0; + uint16_t url_duple_index = 0; while (offset < end) { proto_tree *venue_url = NULL; proto_item *url_pi = NULL; - guint8 url_duple_len = tvb_get_guint8(tvb, offset); + uint8_t url_duple_len = tvb_get_uint8(tvb, offset); venue_url = proto_tree_add_subtree_format(tree, tvb, offset, url_duple_len + 1, ett_hs20_venue_url, NULL, @@ -11096,17 +11306,17 @@ static void dissect_hs20_anqp_advice_of_charge(proto_tree *tree, tvbuff_t *tvb, int offset, int end _U_) { - guint16 toc_index = 0; + uint16_t toc_index = 0; while (offset < end) { - guint16 adv_charge_len = tvb_get_letohs(tvb, offset); + uint16_t adv_charge_len = tvb_get_letohs(tvb, offset); proto_tree *aoc_tree = NULL; proto_tree *plan_info_tree = NULL; proto_item *pi = NULL, *tpi = NULL; int start_offset = offset; - guint8 aoc_type = 0, nai_realm_len = 0; - guint8 plan_index = 0; - guint16 plan_tot_len = 0; + uint8_t aoc_type = 0, nai_realm_len = 0; + uint8_t plan_index = 0; + uint16_t plan_tot_len = 0; int plan_offset = 0; aoc_tree = proto_tree_add_subtree_format(tree, tvb, offset, -1, @@ -11116,7 +11326,7 @@ dissect_hs20_anqp_advice_of_charge(proto_tree *tree, tvbuff_t *tvb, int offset, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; - aoc_type = tvb_get_guint8(tvb, offset); + aoc_type = tvb_get_uint8(tvb, offset); tpi = proto_tree_add_item(aoc_tree, hf_ieee80211_hs20_anqp_advice_of_charge_type, tvb, offset, 1, ENC_NA); offset++; @@ -11129,7 +11339,7 @@ dissect_hs20_anqp_advice_of_charge(proto_tree *tree, tvbuff_t *tvb, int offset, offset, 1, ENC_NA); offset++; - nai_realm_len = tvb_get_guint8(tvb, offset); + nai_realm_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(aoc_tree, hf_ieee80211_hs20_anqp_aoc_nai_realm_len, tvb, offset, 1, ENC_NA); offset++; @@ -11142,7 +11352,7 @@ dissect_hs20_anqp_advice_of_charge(proto_tree *tree, tvbuff_t *tvb, int offset, plan_offset = offset; while (offset < (plan_offset + plan_tot_len)) { - guint16 plan_len = tvb_get_letohs(tvb, offset); + uint16_t plan_len = tvb_get_letohs(tvb, offset); plan_info_tree = proto_tree_add_subtree_format(aoc_tree, tvb, offset, plan_len + 2, ett_hs20_aoc_plan, NULL, @@ -11176,7 +11386,7 @@ dissect_hs20_anqp_advice_of_charge(proto_tree *tree, tvbuff_t *tvb, int offset, static int dissect_hs20_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { - guint8 subtype; + uint8_t subtype; int ofn_hf_array[3] = {hf_ieee80211_hs20_anqp_ofn_length, hf_ieee80211_hs20_anqp_ofn_language, hf_ieee80211_hs20_anqp_ofn_name }; @@ -11187,7 +11397,7 @@ dissect_hs20_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat DISSECTOR_ASSERT(anqp_data); - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_item_append_text(tree, " - HS 2.0 %s", val_to_str(subtype, hs20_anqp_subtype_vals, "Reserved (%u)")); @@ -11268,7 +11478,7 @@ static const value_string mbo_anqp_subtype_vals[] = { static int dissect_mbo_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { - guint8 subtype; + uint8_t subtype; int len = tvb_reported_length(tvb); int offset = 0; @@ -11277,7 +11487,7 @@ dissect_mbo_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data return offset; } - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_wfa_anqp_mbo_subtype, tvb, offset, 1, ENC_NA); offset++; len--; @@ -11306,16 +11516,16 @@ dissect_mbo_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data static int dissect_vendor_wifi_alliance_anqp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { - guint8 subtype; + uint8_t subtype; int offset = 0; tvbuff_t *subtvb; - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_anqp_wfa_subtype, tvb, offset, 1, ENC_NA); offset += 1; subtvb = tvb_new_subset_remaining(tvb, offset); - if (!dissector_try_uint_new(wifi_alliance_anqp_info_table, subtype, subtvb, pinfo, tree, FALSE, data)) + if (!dissector_try_uint_new(wifi_alliance_anqp_info_table, subtype, subtvb, pinfo, tree, false, data)) call_data_dissector(subtvb, pinfo, tree); return tvb_captured_length(tvb); @@ -11327,10 +11537,10 @@ dissect_neighbor_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi static int dissect_anqp_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - gboolean request, int idx) + bool request, int idx) { - guint16 id, len; - guint32 oui; + uint16_t id, len; + uint32_t oui; proto_item *item, *item_len; tvbuff_t *vendor_tvb; anqp_info_dissector_data_t anqp_info; @@ -11406,7 +11616,7 @@ dissect_anqp_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse anqp_info.request = request; anqp_info.idx = idx; - if (!dissector_try_uint_new(vendor_specific_anqp_info_table, oui, vendor_tvb, pinfo, tree, FALSE, &anqp_info)) + if (!dissector_try_uint_new(vendor_specific_anqp_info_table, oui, vendor_tvb, pinfo, tree, false, &anqp_info)) { proto_tree_add_item(tree, hf_ieee80211_ff_anqp_info, tvb, offset, len, ENC_NA); } @@ -11430,7 +11640,7 @@ dissect_anqp_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse } static void -dissect_anqp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, gboolean request) +dissect_anqp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, bool request) { int idx = 0; @@ -11449,11 +11659,11 @@ dissect_anqp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, gb } } -static guint +static unsigned dissect_gas_initial_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - guint type, guint subtype) + unsigned type, unsigned subtype) { - guint16 req_len; + uint16_t req_len; int start = offset; proto_item *item; proto_tree *query; @@ -11476,7 +11686,7 @@ dissect_gas_initial_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, */ switch (type) { case ADV_PROTO_ID_ANQP: - dissect_anqp(query, tvb, pinfo, offset, TRUE); + dissect_anqp(query, tvb, pinfo, offset, true); break; case ADV_PROTO_ID_VS: if (subtype == ((DPP_CONFIGURATION_PROTOCOL << 8) | WFA_SUBTYPE_DPP)) { @@ -11494,11 +11704,11 @@ dissect_gas_initial_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start; } -static guint +static unsigned dissect_gas_initial_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - guint type, guint subtype) + unsigned type, unsigned subtype) { - guint16 resp_len; + uint16_t resp_len; int start = offset; proto_item *item; proto_tree *query; @@ -11520,7 +11730,7 @@ dissect_gas_initial_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo if (resp_len) { switch (type) { case ADV_PROTO_ID_ANQP: - dissect_anqp(query, tvb, pinfo, offset, FALSE); + dissect_anqp(query, tvb, pinfo, offset, false); break; case ADV_PROTO_ID_VS: if (subtype == ((DPP_CONFIGURATION_PROTOCOL << 8) | WFA_SUBTYPE_DPP)) { @@ -11541,19 +11751,19 @@ dissect_gas_initial_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo static reassembly_table gas_reassembly_table; -static gint ett_gas_resp_fragment = -1; -static gint ett_gas_resp_fragments = -1; +static int ett_gas_resp_fragment; +static int ett_gas_resp_fragments; -static int hf_ieee80211_gas_resp_fragments = -1; -static int hf_ieee80211_gas_resp_fragment = -1; -static int hf_ieee80211_gas_resp_fragment_overlap = -1; -static int hf_ieee80211_gas_resp_fragment_overlap_conflict = -1; -static int hf_ieee80211_gas_resp_fragment_multiple_tails = -1; -static int hf_ieee80211_gas_resp_fragment_too_long_fragment = -1; -static int hf_ieee80211_gas_resp_fragment_error = -1; -static int hf_ieee80211_gas_resp_fragment_count = -1; -static int hf_ieee80211_gas_resp_reassembled_in = -1; -static int hf_ieee80211_gas_resp_reassembled_length = -1; +static int hf_ieee80211_gas_resp_fragments; +static int hf_ieee80211_gas_resp_fragment; +static int hf_ieee80211_gas_resp_fragment_overlap; +static int hf_ieee80211_gas_resp_fragment_overlap_conflict; +static int hf_ieee80211_gas_resp_fragment_multiple_tails; +static int hf_ieee80211_gas_resp_fragment_too_long_fragment; +static int hf_ieee80211_gas_resp_fragment_error; +static int hf_ieee80211_gas_resp_fragment_count; +static int hf_ieee80211_gas_resp_reassembled_in; +static int hf_ieee80211_gas_resp_reassembled_length; static const fragment_items gas_resp_frag_items = { &ett_gas_resp_fragment, @@ -11573,12 +11783,12 @@ static const fragment_items gas_resp_frag_items = { "GAS Response fragments" }; -static guint +static unsigned dissect_gas_comeback_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - guint type, guint subtype _U_, guint8 frag, gboolean more, - guint8 dialog_token) + unsigned type, unsigned subtype _U_, uint8_t frag, bool more, + uint8_t dialog_token) { - guint16 resp_len; + uint16_t resp_len; int start = offset; proto_item *item; proto_tree *query; @@ -11599,14 +11809,14 @@ dissect_gas_comeback_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf /* Query Response (optional) */ if (resp_len) { if (type == ADV_PROTO_ID_ANQP && (frag == 0) && !more) - dissect_anqp(query, tvb, pinfo, offset, FALSE); + dissect_anqp(query, tvb, pinfo, offset, false); else { fragment_head *frag_msg; - gboolean save_fragmented; + bool save_fragmented; tvbuff_t *new_tvb; save_fragmented = pinfo->fragmented; - pinfo->fragmented = TRUE; + pinfo->fragmented = true; frag_msg = fragment_add_seq_check(&gas_reassembly_table, tvb, offset, pinfo, dialog_token, NULL, frag, resp_len, more); @@ -11617,7 +11827,7 @@ dissect_gas_comeback_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf if (new_tvb) { switch (type) { case ADV_PROTO_ID_ANQP: - dissect_anqp(query, new_tvb, pinfo, 0, FALSE); + dissect_anqp(query, new_tvb, pinfo, 0, false); break; case ADV_PROTO_ID_VS: if (subtype == ((DPP_CONFIGURATION_PROTOCOL << 8) | @@ -11642,7 +11852,7 @@ dissect_gas_comeback_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf } /* The old tvb cannot be used anymore */ - ieee80211_tvb_invalid = TRUE; + ieee80211_tvb_invalid = true; pinfo->fragmented = save_fragmented; } @@ -11656,9 +11866,9 @@ dissect_gas_comeback_response(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf /* Dissect and add fixed mgmt fields to protocol tree */ /* ************************************************************************* */ -static guint64 last_timestamp; +static uint64_t last_timestamp; -static guint +static unsigned add_ff_timestamp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { last_timestamp = tvb_get_letoh64(tvb, offset); @@ -11667,7 +11877,7 @@ add_ff_timestamp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int of return 8; } -static guint +static unsigned add_ff_beacon_interval(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_beacon_interval, tvb, offset, 2, @@ -11677,10 +11887,10 @@ add_ff_beacon_interval(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return 2; } -static guint +static unsigned add_ff_dmg_params(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset); -static guint +static unsigned add_ff_cap_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_cap_info_fields[] = { @@ -11706,7 +11916,7 @@ add_ff_cap_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off /* The capability information includes DMG parameters whenever it is transmitted by a DMG STA/AP (802.11ad-2012, 8.4.1.4) */ - gboolean isDMG = GPOINTER_TO_INT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_DMG_KEY)); + bool isDMG = GPOINTER_TO_INT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_DMG_KEY)); if (isDMG) { proto_item *cap_item; @@ -11720,13 +11930,13 @@ add_ff_cap_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off * We can only interpret the ESS and IBSS fields to be an AP if the * frame is a BEACON or PROBE_RESPONSE */ - guint32 l_frame_type = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), + uint32_t l_frame_type = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, FRAME_TYPE_KEY)); if (((tvb_get_letohs(tvb, offset) & 0x0003) == 0x1 && (l_frame_type == MGT_BEACON || l_frame_type == MGT_PROBE_RESP)) || l_frame_type == MGT_ASSOC_RESP || l_frame_type == MGT_REASSOC_RESP) { - p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_AP_KEY, GINT_TO_POINTER(TRUE)); + p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_AP_KEY, GINT_TO_POINTER(true)); } proto_tree_add_bitmask_with_flags(tree, tvb, offset, @@ -11737,7 +11947,7 @@ add_ff_cap_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off return 2; } -static guint +static unsigned add_ff_auth_alg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_auth_alg, tvb, offset, 2, @@ -11745,7 +11955,7 @@ add_ff_auth_alg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off return 2; } -static guint +static unsigned add_ff_auth_trans_seq(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_auth_seq, tvb, offset, 2, @@ -11753,7 +11963,7 @@ add_ff_auth_trans_seq(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 2; } -static guint +static unsigned add_ff_current_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_current_ap, tvb, offset, 6, @@ -11761,7 +11971,7 @@ add_ff_current_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 6; } -static guint +static unsigned add_ff_listen_ival(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_listen_ival, tvb, offset, 2, @@ -11769,7 +11979,7 @@ add_ff_listen_ival(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_reason_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_reason, tvb, offset, 2, @@ -11777,7 +11987,7 @@ add_ff_reason_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_assoc_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_assoc_id, tvb, offset, 2, @@ -11785,7 +11995,7 @@ add_ff_assoc_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int off return 2; } -static guint +static unsigned add_ff_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_status_code, tvb, offset, 2, @@ -11793,7 +12003,7 @@ add_ff_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_category_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_category_code, tvb, offset, 1, @@ -11801,7 +12011,7 @@ add_ff_category_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 1; } -static guint +static unsigned add_ff_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_action_code, tvb, offset, 1, @@ -11809,10 +12019,10 @@ add_ff_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_trigger(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint8 trigger = tvb_get_guint8(tvb, offset); + uint8_t trigger = tvb_get_uint8(tvb, offset); col_append_fstr(pinfo->cinfo, COL_INFO, ", Trigger=%d (%s)", trigger, val_to_str_const(trigger, ftm_trigger_vals, "Unknown")); proto_tree_add_item(tree, hf_ieee80211_ff_trigger, tvb, offset, 1, @@ -11820,7 +12030,7 @@ add_ff_trigger(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offs return 1; } -static guint +static unsigned add_ff_ftm_tod(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_tod, tvb, offset, 6, @@ -11828,7 +12038,7 @@ add_ff_ftm_tod(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offs return 6; } -static guint +static unsigned add_ff_ftm_toa(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_toa, tvb, offset, 6, @@ -11836,7 +12046,7 @@ add_ff_ftm_toa(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offs return 6; } -static guint +static unsigned add_ff_ftm_tod_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_tod_err, tvb, offset, 2, @@ -11844,7 +12054,7 @@ add_ff_ftm_tod_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_ftm_toa_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_toa_err, tvb, offset, 2, @@ -11852,7 +12062,7 @@ add_ff_ftm_toa_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_ftm_tod_err1(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const fields[] = { @@ -11868,7 +12078,7 @@ add_ff_ftm_tod_err1(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_ftm_toa_err1(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const fields[] = { @@ -11885,7 +12095,7 @@ add_ff_ftm_toa_err1(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_ftm_cfo_parameter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_cfo, tvb, offset, 2, @@ -11893,7 +12103,7 @@ add_ff_ftm_cfo_parameter(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_ return 2; } -static guint +static unsigned add_ff_ftm_r2i_ndp_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_r2i_ndp_tx_power, tvb, offset, 1, @@ -11901,7 +12111,7 @@ add_ff_ftm_r2i_ndp_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_ftm_i2r_ndp_target_rssi(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ftm_i2r_ndp_target_rssi, tvb, offset, 1, @@ -11958,17 +12168,17 @@ dissect_ftm_params(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void return offset; } -static guint +static unsigned add_ff_dialog_token(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint8 value = tvb_get_guint8(tvb, offset); + uint8_t value = tvb_get_uint8(tvb, offset); col_append_fstr(pinfo->cinfo, COL_INFO, ", Dialog Token=%d", value); proto_tree_add_item(tree, hf_ieee80211_ff_dialog_token, tvb, offset, 1, ENC_LITTLE_ENDIAN); return 1; } -static guint +static unsigned add_ff_followup_dialog_token(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_followup_dialog_token, tvb, offset, 1, @@ -11976,7 +12186,7 @@ add_ff_followup_dialog_token(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_wme_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_wme_action_code, tvb, offset, 1, @@ -11984,7 +12194,7 @@ add_ff_wme_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_wme_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_wme_status_code, tvb, offset, 1, @@ -11992,7 +12202,7 @@ add_ff_wme_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_qos_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_qos_action_code, tvb, offset, 1, @@ -12000,7 +12210,7 @@ add_ff_qos_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_block_ack_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ba_action, tvb, offset, 1, @@ -12008,7 +12218,7 @@ add_ff_block_ack_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_block_ack_param(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_block_ack_params, @@ -12018,7 +12228,7 @@ add_ff_block_ack_param(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 2; } -static guint +static unsigned add_ff_block_ack_timeout(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_block_ack_timeout, tvb, offset, 2, @@ -12026,7 +12236,7 @@ add_ff_block_ack_timeout(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_ return 2; } -static guint +static unsigned add_ff_block_ack_ssc(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_block_ack_ssc, @@ -12035,7 +12245,7 @@ add_ff_block_ack_ssc(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 2; } -static guint +static unsigned add_ff_qos_ts_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_tsinfo, @@ -12044,7 +12254,7 @@ add_ff_qos_ts_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 3; } -static guint +static unsigned add_ff_mesh_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_mesh_action, tvb, offset, 1, @@ -12052,7 +12262,7 @@ add_ff_mesh_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_multihop_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_multihop_action, tvb, offset, 1, @@ -12060,15 +12270,15 @@ add_ff_multihop_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_mesh_control(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { int start = offset; - guint8 flags; + uint8_t flags; proto_tree_add_item(tree, hf_ieee80211_ff_mesh_flags, tvb, offset, 1, ENC_LITTLE_ENDIAN); - flags = tvb_get_guint8(tvb, offset); + flags = tvb_get_uint8(tvb, offset); offset += 1; proto_tree_add_item(tree, hf_ieee80211_ff_mesh_ttl, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -12102,7 +12312,7 @@ add_ff_mesh_control(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return offset - start; } -static guint +static unsigned add_ff_selfprot_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_selfprot_action, tvb, offset, 1, @@ -12110,7 +12320,7 @@ add_ff_selfprot_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_dls_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_dls_action_code, tvb, offset, 1, @@ -12118,7 +12328,7 @@ add_ff_dls_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_dst_mac_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_dst_mac_addr, tvb, offset, 6, @@ -12126,7 +12336,7 @@ add_ff_dst_mac_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 6; } -static guint +static unsigned add_ff_src_mac_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_src_mac_addr, tvb, offset, 6, @@ -12134,7 +12344,7 @@ add_ff_src_mac_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 6; } -static guint +static unsigned add_ff_req_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_req_ap_addr, tvb, offset, 6, @@ -12142,7 +12352,7 @@ add_ff_req_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 6; } -static guint +static unsigned add_ff_res_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_res_ap_addr, tvb, offset, 6, @@ -12150,7 +12360,7 @@ add_ff_res_ap_addr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 6; } -static guint +static unsigned add_ff_check_beacon(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_check_beacon, tvb, offset, 1, @@ -12158,7 +12368,7 @@ add_ff_check_beacon(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_tod(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_tod, tvb, offset, 4, @@ -12166,7 +12376,7 @@ add_ff_tod(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) return 4; } -static guint +static unsigned add_ff_toa(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_toa, tvb, offset, 4, @@ -12174,7 +12384,7 @@ add_ff_toa(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) return 4; } -static guint +static unsigned add_ff_max_tod_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_max_tod_err, tvb, offset, 1, @@ -12182,7 +12392,7 @@ add_ff_max_tod_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_max_toa_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_max_toa_err, tvb, offset, 1, @@ -12190,7 +12400,7 @@ add_ff_max_toa_err(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_dls_timeout(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_dls_timeout, tvb, offset, 2, @@ -12198,7 +12408,7 @@ add_ff_dls_timeout(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_delba_param_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_delba_param, @@ -12207,7 +12417,7 @@ add_ff_delba_param_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 2; } -static guint +static unsigned add_ff_max_reg_pwr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_max_reg_pwr, tvb, offset, 2, @@ -12215,7 +12425,7 @@ add_ff_max_reg_pwr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 2; } -static guint +static unsigned add_ff_measurement_pilot_int(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_measurement_pilot_int, tvb, offset, @@ -12223,7 +12433,7 @@ add_ff_measurement_pilot_int(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_country_str(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_country_str, tvb, offset, 3, @@ -12231,7 +12441,7 @@ add_ff_country_str(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 3; } -static guint +static unsigned add_ff_max_tx_pwr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_max_tx_pwr, tvb, offset, 1, @@ -12239,7 +12449,7 @@ add_ff_max_tx_pwr(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int o return 1; } -static guint +static unsigned add_ff_tx_pwr_used(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_tx_pwr_used, tvb, offset, 1, @@ -12247,7 +12457,7 @@ add_ff_tx_pwr_used(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_transceiver_noise_floor(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_transceiver_noise_floor, tvb, @@ -12255,7 +12465,7 @@ add_ff_transceiver_noise_floor(proto_tree *tree, tvbuff_t *tvb, packet_info *pin return 1; } -static guint +static unsigned add_ff_channel_width(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_channel_width, tvb, offset, 1, @@ -12264,7 +12474,7 @@ add_ff_channel_width(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in } /* QoS Info: 802.11-2012 8.4.1.17 */ -static guint +static unsigned add_ff_qos_info_ap(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* From AP so decode as AP: Figure 8-51-QoS Info field when sent by a AP */ @@ -12276,7 +12486,7 @@ add_ff_qos_info_ap(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int /* QoS Info: 802.11-2012 8.4.1.17 */ -static guint +static unsigned add_ff_qos_info_sta(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* To AP so decode as STA: Figure 8-52-QoS Info field when set by a non-AP STA */ @@ -12286,7 +12496,7 @@ add_ff_qos_info_sta(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_sm_pwr_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_sm_pwr_save, @@ -12295,7 +12505,7 @@ add_ff_sm_pwr_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_pco_phase_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_pco_phase_cntrl, tvb, offset, 1, @@ -12303,7 +12513,7 @@ add_ff_pco_phase_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_psmp_param_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_psmp_param_set, @@ -12313,7 +12523,7 @@ add_ff_psmp_param_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 2; } -static guint +static unsigned add_ff_mimo_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_item *mimo_item; @@ -12342,7 +12552,7 @@ add_ff_mimo_cntrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int o return 6; } -static guint +static unsigned add_ff_ant_selection(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_ant_selection, @@ -12351,7 +12561,7 @@ add_ff_ant_selection(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 1; } -static guint +static unsigned add_ff_extended_channel_switch_announcement(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { @@ -12363,7 +12573,7 @@ add_ff_extended_channel_switch_announcement(proto_tree *tree, tvbuff_t *tvb, return 4; } -static guint +static unsigned add_ff_ht_information(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ff_ht_info, @@ -12371,7 +12581,7 @@ add_ff_ht_information(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i ENC_LITTLE_ENDIAN); return 1; } -static guint +static unsigned add_ff_lmr_report(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { @@ -12388,20 +12598,20 @@ add_ff_lmr_report(proto_tree *tree, tvbuff_t *tvb, return offset; } -static guint +static unsigned add_ff_ftm_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { return add_ff_trigger(tree, tvb, pinfo, offset); } -static guint +static unsigned add_ff_ftm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint start = offset; - guint8 dialog_token = tvb_get_guint8(tvb, offset); + unsigned start = offset; + uint8_t dialog_token = tvb_get_uint8(tvb, offset); offset += add_ff_dialog_token(tree, tvb, pinfo, offset); if (dialog_token == 0) { - col_append_fstr(pinfo->cinfo, COL_INFO, " (Termination)"); + col_append_str(pinfo->cinfo, COL_INFO, " (Termination)"); } offset += add_ff_followup_dialog_token(tree, tvb, pinfo, offset); offset += add_ff_ftm_tod(tree, tvb, pinfo, offset); @@ -12411,7 +12621,7 @@ add_ff_ftm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) return offset - start; } -static guint +static unsigned add_ff_ht_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ht_action, tvb, offset, 1, @@ -12419,7 +12629,7 @@ add_ff_ht_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 1; } -static guint +static unsigned add_ff_dmg_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_dmg_action_code, tvb, offset, 1, @@ -12427,7 +12637,7 @@ add_ff_dmg_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_dmg_pwr_mgmt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_dmg_pwr_mgmt, tvb, offset, 1, @@ -12435,7 +12645,7 @@ add_ff_dmg_pwr_mgmt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_psmp_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_item *psmp_item; @@ -12460,7 +12670,7 @@ add_ff_psmp_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in hf_ieee80211_ff_psmp_sta_info_reserved_large, tvb, offset, 8, (tvb_get_letoh64(tvb, offset) & - G_GUINT64_CONSTANT(0xFFFFFFFFFFE00000)) >> 21); + UINT64_C(0xFFFFFFFFFFE00000)) >> 21); break; case PSMP_STA_INFO_MULTICAST: proto_tree_add_item(psmp_tree, @@ -12473,7 +12683,7 @@ add_ff_psmp_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in hf_ieee80211_ff_psmp_sta_info_psmp_multicast_id, tvb, offset, 6, (tvb_get_letoh64(tvb, offset) & - G_GUINT64_CONSTANT(0xFFFFFFFFFFE00000)) >> 21); + UINT64_C(0xFFFFFFFFFFE00000)) >> 21); break; case PSMP_STA_INFO_INDIVIDUALLY_ADDRESSED: proto_tree_add_item(psmp_tree, @@ -12500,7 +12710,7 @@ add_ff_psmp_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 8; } -static guint +static unsigned add_ff_schedule_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_schedule_info_fields1[] = { @@ -12527,7 +12737,7 @@ add_ff_schedule_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 2; } -static guint +static unsigned add_ff_pa_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_public_action, tvb, offset, 1, @@ -12535,7 +12745,7 @@ add_ff_pa_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 1; } -static guint +static unsigned add_ff_ppa_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_protected_public_action, tvb, offset, 1, @@ -12543,7 +12753,7 @@ add_ff_ppa_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_ft_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_ft_action_code, tvb, offset, 1, @@ -12551,7 +12761,7 @@ add_ff_ft_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 1; } -static guint +static unsigned add_ff_sta_address(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_sta_address, tvb, offset, 6, @@ -12559,7 +12769,7 @@ add_ff_sta_address(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 6; } -static guint +static unsigned add_ff_target_ap_address(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_target_ap_address, tvb, offset, 6, @@ -12567,7 +12777,7 @@ add_ff_target_ap_address(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_ return 6; } -static guint +static unsigned add_ff_gas_comeback_delay(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_gas_comeback_delay, tvb, offset, 2, @@ -12575,7 +12785,7 @@ add_ff_gas_comeback_delay(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U return 2; } -static guint +static unsigned add_ff_gas_fragment_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_gas_fragment_id, tvb, offset, 1, @@ -12585,7 +12795,7 @@ add_ff_gas_fragment_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_sa_query_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_sa_query_action_code, tvb, offset, @@ -12593,7 +12803,7 @@ add_ff_sa_query_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_transaction_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_transaction_id, tvb, offset, 2, @@ -12601,11 +12811,11 @@ add_ff_transaction_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 2; } -static guint +static unsigned add_ff_tdls_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - code = tvb_get_guint8(tvb, offset); + uint8_t code; + code = tvb_get_uint8(tvb, offset); col_set_str(pinfo->cinfo, COL_INFO, val_to_str_ext_const(code, &tdls_action_codes_ext, "Unknown TDLS Action")); @@ -12614,7 +12824,7 @@ add_ff_tdls_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return 1; } -static guint +static unsigned add_ff_target_channel(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_target_channel, tvb, offset, 1, @@ -12622,7 +12832,7 @@ add_ff_target_channel(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i return 1; } -static guint +static unsigned add_ff_operating_class(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_operating_class, tvb, offset, 1, @@ -12630,38 +12840,38 @@ add_ff_operating_class(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_wnm_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; + uint8_t code; - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); col_set_str(pinfo->cinfo, COL_INFO, val_to_str_ext_const(code, &wnm_action_codes_ext, "Unknown WNM Action")); proto_tree_add_item(tree, hf_ieee80211_ff_wnm_action_code, tvb, offset, 1, ENC_LITTLE_ENDIAN); return 1; } -static guint +static unsigned add_ff_unprotected_wnm_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; + uint8_t code; - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); col_set_str(pinfo->cinfo, COL_INFO, val_to_str_ext_const(code, &unprotected_wnm_action_codes_ext, "Unknown Unprotected WNM Action")); proto_tree_add_item(tree, hf_ieee80211_ff_unprotected_wnm_action_code, tvb, offset, 1, ENC_LITTLE_ENDIAN); return 1; } -static guint +static unsigned add_ff_unprotected_dmg_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_unprotected_dmg_action_code, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_key_data_length(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_key_data_length, tvb, offset, 2, @@ -12669,7 +12879,7 @@ add_ff_key_data_length(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 2; } -static guint +static unsigned add_ff_wnm_notification_type(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_wnm_notification_type, @@ -12678,14 +12888,14 @@ add_ff_wnm_notification_type(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo } /* Action frame: Radio Measurement actions */ -static guint +static unsigned add_ff_rm_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_rm_action_code, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_rm_dialog_token(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_rm_dialog_token, tvb, offset, 1, ENC_NA); @@ -12693,7 +12903,7 @@ add_ff_rm_dialog_token(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, } /* Radio Measurement Request frame, Action fields */ -static guint +static unsigned add_ff_rm_repetitions(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* Note: 65535 means repeated until cancelled or superseded */ @@ -12703,7 +12913,7 @@ add_ff_rm_repetitions(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, i } /* Link Measurement Request frame, Action fields*/ -static guint +static unsigned add_ff_rm_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* In dBm, see 8.4.1.20 */ @@ -12711,7 +12921,7 @@ add_ff_rm_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 1; } -static guint +static unsigned add_ff_rm_max_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* In dBm, see 8.4.1.19 */ @@ -12720,13 +12930,17 @@ add_ff_rm_max_tx_power(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, } /* Link Measurement Report frame, Action fields */ -static guint +static unsigned add_ff_rm_tpc_report(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree *tpc_tree; proto_item *tpc_item; /* 8.4.2.19 TPC Report element */ + /* XXX - The TPC Report element is exactly the same as that dissected + * by ieee80211_tag_tpc_report(), so some of these fixed fields duplicate + * tagged fields. + */ tpc_item = proto_tree_add_item(tree, hf_ieee80211_ff_tpc, tvb, offset, 4, ENC_NA); tpc_tree = proto_item_add_subtree(tpc_item, ett_tpc); proto_tree_add_item(tpc_tree, hf_ieee80211_ff_tpc_element_id, tvb, offset, 1, ENC_NA); @@ -12736,7 +12950,7 @@ add_ff_rm_tpc_report(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 4; } -static guint +static unsigned add_ff_rm_rx_antenna_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* 8.4.2.42: 0 means unknown, 1-254 is valid, 255 means multiple antennas */ @@ -12744,7 +12958,7 @@ add_ff_rm_rx_antenna_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_rm_tx_antenna_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* 8.4.2.42: 0 means unknown, 1-254 is valid, 255 means multiple antennas */ @@ -12752,7 +12966,7 @@ add_ff_rm_tx_antenna_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_rm_rcpi(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* 8.4.2.40: RCPI as specified for certain PHYs */ @@ -12760,7 +12974,7 @@ add_ff_rm_rcpi(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offs return 1; } -static guint +static unsigned add_ff_rm_rsni(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { /* 8.4.2.43: RSNI in steps of 0.5 dB, calculated as: @@ -12769,7 +12983,7 @@ add_ff_rm_rsni(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offs return 1; } -static guint +static unsigned add_ff_bss_transition_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_bss_transition_status_code, tvb, offset, 1, @@ -12777,7 +12991,7 @@ add_ff_bss_transition_status_code(proto_tree *tree, tvbuff_t *tvb, packet_info * return 1; } -static guint +static unsigned add_ff_bss_termination_delay(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_bss_termination_delay, tvb, offset, 1, @@ -12785,12 +12999,12 @@ add_ff_bss_termination_delay(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 1; } -static guint +static unsigned add_ff_fils_discovery(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint16 fc, ssid_length; + uint16_t fc, ssid_length; static int * const ieee80211_ff_fils_discovery_frame_control[] = { &hf_ieee80211_ff_fils_discovery_frame_control_ssid_length, &hf_ieee80211_ff_fils_discovery_frame_control_capability, @@ -12837,7 +13051,7 @@ add_ff_fils_discovery(proto_tree *tree, tvbuff_t *tvb, if(fc & PA_FILS_FC_CAPABILITY) { proto_tree *fdc_tree; proto_item *fdc_item; - guint32 fdc; + uint32_t fdc; fdc_item = proto_tree_add_item_ret_uint(tree, hf_ieee80211_ff_fils_discovery_capability, tvb, offset, 2, ENC_LITTLE_ENDIAN, &fdc); fdc_tree = proto_item_add_subtree(fdc_item, ett_ff_fils_discovery_capability); proto_tree_add_item(fdc_tree, hf_ieee80211_ff_fils_discovery_capability_ess, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -12906,10 +13120,10 @@ add_ff_fils_discovery(proto_tree *tree, tvbuff_t *tvb, } -static guint +static unsigned add_ff_action_spectrum_mgmt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - switch (tvb_get_guint8(tvb, offset + 1)) { + switch (tvb_get_uint8(tvb, offset + 1)) { case SM_ACTION_MEASUREMENT_REQUEST: case SM_ACTION_MEASUREMENT_REPORT: case SM_ACTION_TPC_REQUEST: @@ -12930,10 +13144,10 @@ add_ff_action_spectrum_mgmt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, } } -static guint +static unsigned add_ff_action_qos(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - switch (tvb_get_guint8(tvb, offset + 1)) { + switch (tvb_get_uint8(tvb, offset + 1)) { case QOS_ACTION_ADDTS_REQUEST: add_ff_category_code(tree, tvb, pinfo, offset); add_ff_qos_action_code(tree, tvb, pinfo, offset + 1); @@ -12965,10 +13179,10 @@ add_ff_action_qos(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse } } -static guint +static unsigned add_ff_action_dls(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - switch (tvb_get_guint8(tvb, offset + 1)) { + switch (tvb_get_uint8(tvb, offset + 1)) { case DLS_ACTION_REQUEST: add_ff_category_code(tree, tvb, pinfo, offset); add_ff_dls_action_code(tree, tvb, pinfo, offset + 1); @@ -13000,12 +13214,12 @@ add_ff_action_dls(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse } } -static guint +static unsigned add_ff_action_block_ack(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; + unsigned start = offset; - switch (tvb_get_guint8(tvb, offset + 1)) { + switch (tvb_get_uint8(tvb, offset + 1)) { case BA_ADD_BLOCK_ACK_REQUEST: case BA_NDP_ADD_BLOCK_ACK_REQUEST: case BA_BAT_ADD_BLOCK_ACK_REQUEST: @@ -13039,19 +13253,19 @@ add_ff_action_block_ack(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return offset - start; /* Size of fixed fields */ } -guint -add_ff_action_public_fields(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, guint8 code) +unsigned +add_ff_action_public_fields(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, uint8_t code) { - guint32 oui; - guint type; - guint subtype; - guint8 dialog_token; - guint8 frag; - gboolean more; + uint32_t oui; + unsigned type; + unsigned subtype; + uint8_t dialog_token; + uint8_t frag; + bool more; tvbuff_t *vendor_tvb; int dissected; - guint start = offset; + unsigned start = offset; switch (code) { case PA_EXT_CHANNEL_SWITCH_ANNOUNCEMENT: @@ -13062,11 +13276,11 @@ add_ff_action_public_fields(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, offset += 3; switch (oui) { case OUI_WFA: - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_oui_wfa_subtype, tvb, offset, 1, ENC_NA); offset += 1; vendor_tvb = tvb_new_subset_remaining(tvb, offset); - dissected = dissector_try_uint_new(wifi_alliance_public_action_table, subtype, vendor_tvb, pinfo, tree, FALSE, NULL); + dissected = dissector_try_uint_new(wifi_alliance_public_action_table, subtype, vendor_tvb, pinfo, tree, false, NULL); offset += dissected; break; default: @@ -13094,11 +13308,11 @@ add_ff_action_public_fields(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, offset += add_ff_dialog_token(tree, tvb, pinfo, offset); break; case PA_GAS_COMEBACK_RESPONSE: - dialog_token = tvb_get_guint8(tvb, offset); + dialog_token = tvb_get_uint8(tvb, offset); offset += add_ff_dialog_token(tree, tvb, pinfo, offset); offset += add_ff_status_code(tree, tvb, pinfo, offset); - frag = tvb_get_guint8(tvb, offset) & 0x7f; - more = (tvb_get_guint8(tvb, offset) & 0x80) != 0; + frag = tvb_get_uint8(tvb, offset) & 0x7f; + more = (tvb_get_uint8(tvb, offset) & 0x80) != 0; offset += add_ff_gas_fragment_id(tree, tvb, pinfo, offset); offset += add_ff_gas_comeback_delay(tree, tvb, pinfo, offset); offset += dissect_advertisement_protocol_common(pinfo, tree, tvb, offset, @@ -13139,38 +13353,38 @@ add_ff_action_public_fields(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_public(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_pa_action_code(tree, tvb, pinfo, offset); offset += add_ff_action_public_fields(tree, tvb, pinfo, offset, code); return offset - start; } -static guint +static unsigned add_ff_action_protected_public(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_ppa_action_code(tree, tvb, pinfo, offset); offset += add_ff_action_public_fields(tree, tvb, pinfo, offset, code); return offset - start; } -static guint +static unsigned add_ff_action_radio_measurement(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 code; + unsigned start = offset; + uint8_t code; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_rm_action_code(tree, tvb, pinfo, offset); switch (code) { @@ -13211,14 +13425,14 @@ add_ff_action_radio_measurement(proto_tree *tree, tvbuff_t *tvb, packet_info *pi return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_fast_bss_transition(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 code; + unsigned start = offset; + uint8_t code; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_ft_action_code(tree, tvb, pinfo, offset); switch (code) { @@ -13249,14 +13463,14 @@ add_ff_action_fast_bss_transition(proto_tree *tree, tvbuff_t *tvb, packet_info * return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_sa_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 code; + unsigned start = offset; + uint8_t code; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_sa_query_action_code(tree, tvb, pinfo, offset); switch (code) { @@ -13271,17 +13485,17 @@ add_ff_action_sa_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_mesh(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint length; + unsigned length; offset += add_ff_category_code(tree, tvb, pinfo, offset); offset += add_ff_mesh_action(tree, tvb, pinfo, offset); /* The only fixed fields are the category and mesh action. The rest are IEs. */ length = 2; - if (tvb_get_guint8(tvb, 1) == MESH_ACTION_TBTT_ADJ_RESPONSE) { + if (tvb_get_uint8(tvb, 1) == MESH_ACTION_TBTT_ADJ_RESPONSE) { /* ..except for the TBTT Adjustment Response, which has a status code field */ length += add_ff_status_code(tree, tvb, pinfo, offset); @@ -13289,10 +13503,10 @@ add_ff_action_mesh(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offs return length; } -static guint +static unsigned add_ff_action_multihop(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); offset += add_ff_multihop_action(tree, tvb, pinfo, offset); @@ -13300,12 +13514,12 @@ add_ff_action_multihop(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return offset - start; } -static guint +static unsigned add_ff_action_self_protected(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, association_sanity_check_t *association_sanity_check) { - guint start = offset; - guint8 self_protected_action = tvb_get_guint8(tvb, start + 1); + unsigned start = offset; + uint8_t self_protected_action = tvb_get_uint8(tvb, start + 1); offset += add_ff_category_code(tree, tvb, pinfo, offset); offset += add_ff_selfprot_action(tree, tvb, pinfo, offset); @@ -13331,7 +13545,7 @@ add_ff_action_self_protected(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return offset - start; } -static guint +static unsigned add_ff_vht_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_vht_action, tvb, offset, 1, @@ -13339,7 +13553,7 @@ add_ff_vht_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int o return 1; } -static guint +static unsigned add_ff_s1g_timestamp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_timestamp, tvb, offset, @@ -13347,7 +13561,7 @@ add_ff_s1g_timestamp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, in return 4; } -static guint +static unsigned add_ff_change_sequence(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_change_sequence, tvb, offset, @@ -13355,7 +13569,7 @@ add_ff_change_sequence(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_next_tbtt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_next_tbtt, tvb, offset, @@ -13363,7 +13577,7 @@ add_ff_next_tbtt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int of return 3; } -static guint +static unsigned add_ff_compressed_ssid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_compressed_ssid, tvb, offset, @@ -13372,7 +13586,7 @@ add_ff_compressed_ssid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, } /* This should not be S1G specific because 802.11-2016 defines it as well. */ -static guint +static unsigned add_ff_access_network_options(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_access_network_options, tvb, @@ -13380,7 +13594,7 @@ add_ff_access_network_options(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf return 1; } -static guint +static unsigned add_ff_s1g_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_s1g_action, tvb, offset, 1, @@ -13388,7 +13602,15 @@ add_ff_s1g_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int o return 1; } -static guint get_group_element_len(guint group) { +static unsigned +add_ff_prot_s1g_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) +{ + proto_tree_add_item(tree, hf_ieee80211_ff_prot_s1g_action, tvb, offset, 1, + ENC_LITTLE_ENDIAN); + return 1; +} + +static unsigned get_group_element_len(unsigned group) { switch (group) { /* Diffie-Hellman groups */ case 1: @@ -13430,7 +13652,7 @@ static guint get_group_element_len(guint group) { } } -static guint get_scalar_len(guint group) { +static unsigned get_scalar_len(unsigned group) { switch (group) { /* Diffie-Hellman groups */ case 1: @@ -13475,26 +13697,26 @@ static guint get_scalar_len(guint group) { } } -static guint -find_fixed_field_len(tvbuff_t *tvb, guint offset) +static unsigned +find_fixed_field_len(tvbuff_t *tvb, unsigned offset) { - guint start_offset = offset; - guint len = tvb_reported_length(tvb); + unsigned start_offset = offset; + unsigned len = tvb_reported_length(tvb); if (offset >= len) { return 0; } while (offset < len) { - if (tvb_get_guint8(tvb, offset) == 0xFF) { + if (tvb_get_uint8(tvb, offset) == 0xFF) { /* * Check if we have a len followed by either ETAG_REJECTED_GROUPS * or ETAG_PASSWORD_IDENTIFIER or ETAG_ANTI_CLOGGING_TOKEN */ /* The length of SAE Confirm or Scalar Fixed parameter >= 32 */ if ((offset < len - 3) && (offset - start_offset >= 32)) { - guint8 etag_len = tvb_get_guint8(tvb, offset + 1); - guint8 check_byte = tvb_get_guint8(tvb, offset + 2); + uint8_t etag_len = tvb_get_uint8(tvb, offset + 1); + uint8_t check_byte = tvb_get_uint8(tvb, offset + 2); if (check_byte == ETAG_REJECTED_GROUPS || check_byte == ETAG_PASSWORD_IDENTIFIER || check_byte == ETAG_ANTI_CLOGGING_TOKEN || @@ -13523,11 +13745,11 @@ static const value_string ff_sae_message_type_vals[] = { * We have to deal with the issue that an anti-clogging token may be in this * thing. */ -static guint +static unsigned add_ff_auth_sae(proto_tree *tree, tvbuff_t *tvb, - packet_info *pinfo _U_, guint offset) + packet_info *pinfo _U_, unsigned offset) { - guint alg, seq, status_code, len; + unsigned alg, seq, status_code, len; alg = tvb_get_letohs(tvb, 0); if (alg != AUTH_ALG_SAE) @@ -13540,8 +13762,8 @@ add_ff_auth_sae(proto_tree *tree, tvbuff_t *tvb, if (seq == 1) { - guint16 group; - guint sc_len, elt_len; + uint16_t group; + unsigned sc_len, elt_len; /* * Order is: Status code, @@ -13588,7 +13810,7 @@ add_ff_auth_sae(proto_tree *tree, tvbuff_t *tvb, ((len > (sc_len + elt_len)))) || ((status_code == 76) && (len > 0) && (len < (sc_len + elt_len))) || ((status_code == 0) && (len > (sc_len + elt_len)))) { - guint anti_clogging_len; + unsigned anti_clogging_len; /* * Handle the anti-clogging field. There is an anti-clogging token * before the other two. @@ -13644,11 +13866,11 @@ add_ff_auth_sae(proto_tree *tree, tvbuff_t *tvb, return offset; } -static guint +static unsigned add_ff_auth_fils(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - guint offset) + unsigned offset) { - guint alg, seq, status_code; + unsigned alg, seq, status_code; alg = tvb_get_letohs(tvb, 0); if ((alg != AUTH_ALG_FILS_SK_WITH_PFS) && (alg != AUTH_ALG_FILS_PK)) @@ -13658,8 +13880,8 @@ add_ff_auth_fils(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, status_code = tvb_get_letohs(tvb, 4); if ((seq == 1) || (seq == 2 && status_code == 0)) { - guint group = tvb_get_letohs(tvb, 6); - guint elt_len; + unsigned group = tvb_get_letohs(tvb, 6); + unsigned elt_len; proto_tree_add_item(tree, hf_ieee80211_ff_finite_cyclic_group, tvb, 6, 2, ENC_LITTLE_ENDIAN); offset = 8; @@ -13681,12 +13903,12 @@ add_ff_auth_fils(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, * 1, 2 or 3. */ typedef struct ieee80211_pasn_data { - guint pasn_seq; - guint pasn_status_code; + unsigned pasn_seq; + unsigned pasn_status_code; } ieee80211_pasn_data_t; static ieee80211_pasn_data_t* -create_pasn_data(packet_info *pinfo, guint seq, guint status) +create_pasn_data(packet_info *pinfo, unsigned seq, unsigned status) { ieee80211_pasn_data_t *pasn_data = NULL; @@ -13701,11 +13923,11 @@ create_pasn_data(packet_info *pinfo, guint seq, guint status) return pasn_data; } -static guint +static unsigned add_ff_auth_pasn(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - guint offset) + unsigned offset) { - guint seq, status_code; + unsigned seq, status_code; ieee80211_pasn_data_t *pasn_data = NULL; seq = tvb_get_letohs(tvb, 2); @@ -13770,7 +13992,7 @@ static int dissect_auth_frame(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb) { int offset = 0; - guint16 auth_algorithm = tvb_get_letohs(tvb, offset); + uint16_t auth_algorithm = tvb_get_letohs(tvb, offset); add_ff_auth_alg(tree, tvb, pinfo, offset); offset += 2; @@ -13803,7 +14025,7 @@ dissect_auth_frame(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb) */ static void dissect_wrapped_data(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, - int offset, guint8 ext_tag_len _U_) + int offset, uint8_t ext_tag_len _U_) { ieee80211_pasn_data_t *pasn_data = (ieee80211_pasn_data_t*)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, @@ -13812,7 +14034,7 @@ dissect_wrapped_data(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, if (pasn_data) { proto_tree *auth_tree = NULL; proto_item *ai = NULL; - guint16 frame_len = 0; + uint16_t frame_len = 0; tvbuff_t *new_tvb = NULL; switch (pasn_data->pasn_seq) { @@ -13874,9 +14096,9 @@ dissect_wrapped_data(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb, static void dissect_fils_req_params(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, - int offset, guint8 ext_tag_len _U_) + int offset, uint8_t ext_tag_len _U_) { - guint8 bitmap; + uint8_t bitmap; static int * const ieee80211_fils_req_params_paramter_control_bitmap[] = { &hf_ieee80211_fils_req_params_fils_criteria_present, @@ -13895,7 +14117,7 @@ dissect_fils_req_params(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, NULL }; - bitmap = tvb_get_guint8(tvb, offset); + bitmap = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_fils_req_params_parameter_control_bitmap, ett_ff_fils_req_params, ieee80211_fils_req_params_paramter_control_bitmap, ENC_LITTLE_ENDIAN); offset += 1; @@ -13936,13 +14158,13 @@ dissect_fils_req_params(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, } -static guint +static unsigned wnm_bss_trans_mgmt_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; - gint left; + int left; int tmp_sublen; - const guint8 ids[] = { TAG_NEIGHBOR_REPORT }; + const uint8_t ids[] = { TAG_NEIGHBOR_REPORT }; offset += add_ff_dialog_token(tree, tvb, pinfo, offset); @@ -13957,7 +14179,7 @@ wnm_bss_trans_mgmt_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in tvb, offset, left, ENC_NA); while (left > 0){ - tmp_sublen = tvb_get_guint8(tvb, offset + 1); + tmp_sublen = tvb_get_uint8(tvb, offset + 1); if(add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL) == 0){ break; } @@ -13970,14 +14192,14 @@ wnm_bss_trans_mgmt_query(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in } -static guint +static unsigned wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; - guint8 mode; - gint left = tvb_reported_length_remaining(tvb, offset); + uint8_t mode; + int left = tvb_reported_length_remaining(tvb, offset); int tmp_sublen; - const guint8 ids[] = { TAG_NEIGHBOR_REPORT, TAG_VENDOR_SPECIFIC_IE}; + const uint8_t ids[] = { TAG_NEIGHBOR_REPORT, TAG_VENDOR_SPECIFIC_IE}; static int * const ieee80211_ff_request_flags[] = { &hf_ieee80211_ff_request_mode_pref_cand, @@ -13997,7 +14219,7 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset += add_ff_dialog_token(tree, tvb, pinfo, offset); - mode = tvb_get_guint8(tvb, offset); + mode = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_list(tree, tvb, offset, 1, ieee80211_ff_request_flags, ENC_LITTLE_ENDIAN); offset += 1; @@ -14013,7 +14235,7 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int if (mode & 0x08) { proto_item *item; proto_tree *sub_tree; - guint8 sub_id, sub_len; + uint8_t sub_id, sub_len; // BSS termination Duration sub element is the same as the neighbor report sub element if (left < 12) { @@ -14024,7 +14246,7 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int sub_tree = proto_tree_add_subtree(tree, tvb, offset, 12, ett_tag_neighbor_report_subelement_tree, NULL, "BSS Termination Duration"); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_neighbor_report_subelement_id, tvb, offset, 1, ENC_NA); offset += 1; @@ -14033,7 +14255,7 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int "Incorrect BSS Termination Duration subelement ID"); } - sub_len = tvb_get_guint8(tvb, offset); + sub_len = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_neighbor_report_subelement_length, tvb, offset, 1, ENC_NA); offset += 1; @@ -14052,9 +14274,9 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int } if (mode & 0x10) { - guint8 url_len; + uint8_t url_len; - url_len = tvb_get_guint8(tvb, offset); + url_len = tvb_get_uint8(tvb, offset); if (left < url_len) { expert_add_info(pinfo, tree, &ei_ieee80211_bad_length); return offset - start; @@ -14074,7 +14296,7 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int tvb, offset, left, ENC_NA); while (left > 0){ - tmp_sublen = tvb_get_guint8(tvb, offset + 1); + tmp_sublen = tvb_get_uint8(tvb, offset + 1); if(add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL) == 0){ break; } @@ -14087,17 +14309,17 @@ wnm_bss_trans_mgmt_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int } -static guint +static unsigned wnm_bss_trans_mgmt_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; - guint8 code; - gint left; + uint8_t code; + int left; int tmp_sublen; - const guint8 ids[] = { TAG_NEIGHBOR_REPORT, TAG_VENDOR_SPECIFIC_IE }; + const uint8_t ids[] = { TAG_NEIGHBOR_REPORT, TAG_VENDOR_SPECIFIC_IE }; offset += add_ff_dialog_token(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_bss_transition_status_code(tree, tvb, pinfo, offset); offset += add_ff_bss_termination_delay(tree, tvb, pinfo, offset); if (!code) { @@ -14110,7 +14332,7 @@ wnm_bss_trans_mgmt_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int proto_tree_add_item(tree, hf_ieee80211_ff_bss_transition_candidate_list_entries, tvb, offset, left, ENC_NA); while (left > 0){ - tmp_sublen = tvb_get_guint8(tvb, offset + 1); + tmp_sublen = tvb_get_uint8(tvb, offset + 1); if(add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL) == 0){ break; } @@ -14122,7 +14344,7 @@ wnm_bss_trans_mgmt_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return offset - start; } -static guint +static unsigned wnm_sleep_mode_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; @@ -14130,12 +14352,12 @@ wnm_sleep_mode_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offs return offset - start; } -static guint +static unsigned wnm_sleep_mode_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; - guint16 key_data_len; - gint left; + uint16_t key_data_len; + int left; offset += add_ff_dialog_token(tree, tvb, pinfo, offset); key_data_len = tvb_get_letohs(tvb, offset); @@ -14151,7 +14373,7 @@ wnm_sleep_mode_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int off return offset - start; } -static guint +static unsigned wnm_tfs_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; @@ -14159,7 +14381,7 @@ wnm_tfs_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) return offset - start; } -static guint +static unsigned wnm_tfs_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; @@ -14171,11 +14393,11 @@ wnm_tfs_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) #define FIRMWARE_VERSION_CURRENT 1 #define FIRMWARE_VERSION_NEW 2 -static guint +static unsigned dissect_wnm_subelements(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint sub_elt_id = tvb_get_guint8(tvb, offset); - guint sub_elt_len = tvb_get_guint8(tvb, offset + 1); + unsigned sub_elt_id = tvb_get_uint8(tvb, offset); + unsigned sub_elt_len = tvb_get_uint8(tvb, offset + 1); proto_tree_add_item(tree, hf_ieee80211_wnm_sub_elt_id, tvb, offset, 1, ENC_NA); offset++; @@ -14201,16 +14423,16 @@ dissect_wnm_subelements(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return offset; } -static guint +static unsigned wnm_notification_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; int len = 0; - guint8 wnm_type = 0; - guint8 wnm_sub_elt = 0; + uint8_t wnm_type = 0; + uint8_t wnm_sub_elt = 0; offset += add_ff_dialog_token(tree, tvb, pinfo, offset); - wnm_type = tvb_get_guint8(tvb, offset); + wnm_type = tvb_get_uint8(tvb, offset); offset += add_ff_wnm_notification_type(tree, tvb, pinfo, offset); len = tvb_reported_length_remaining(tvb, offset); @@ -14230,7 +14452,7 @@ wnm_notification_req(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int of return offset - start; } -static guint +static unsigned wnm_notification_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int start = offset; @@ -14243,16 +14465,28 @@ wnm_notification_resp(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int o return offset - start; } -static guint +static unsigned add_ff_action_wnm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_wnm_action_code(tree, tvb, pinfo, offset); switch (code) { + case WNM_EVENT_REQ: + case WNM_EVENT_REPORT: + case WNM_DIAGNOSTIC_REQ: + case WNM_DIAGNOSTIC_REPORT: + case WNM_LOCATION_CFG_REQ: + case WNM_LOCATION_CFG_RESP: + case WNM_FMS_REQ: + case WNM_FMS_RESP: + case WNM_DMS_REQ: + case WNM_DMS_RESP: + offset += add_ff_dialog_token(tree, tvb, pinfo, offset); + break; case WNM_BSS_TRANS_MGMT_QUERY: offset += wnm_bss_trans_mgmt_query(tree, tvb, pinfo, offset); break; @@ -14285,14 +14519,14 @@ add_ff_action_wnm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_unprotected_wnm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_unprotected_wnm_action_code(tree, tvb, pinfo, offset); switch (code) { @@ -14313,15 +14547,15 @@ add_ff_action_unprotected_wnm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_tdls(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint16 status; - guint start = offset; + uint8_t code; + uint16_t status; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); /* Extract keys for dot11decrypt engine */ try_scan_tdls_keys(tvb, pinfo, offset); @@ -14386,10 +14620,10 @@ add_ff_action_tdls(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offs return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_mgmt_notification(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); offset += add_ff_wme_action_code(tree, tvb, pinfo, offset); @@ -14399,11 +14633,11 @@ add_ff_action_mgmt_notification(proto_tree *tree, tvbuff_t *tvb, packet_info *pi return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_vendor_specific(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint32 oui; + unsigned start = offset; + uint32_t oui; tvbuff_t *vendor_tvb; int dissected; @@ -14412,7 +14646,7 @@ add_ff_action_vendor_specific(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf offset += 3; vendor_tvb = tvb_new_subset_remaining(tvb, offset); - dissected = dissector_try_uint_new(vendor_specific_action_table, oui, vendor_tvb, pinfo, tree, FALSE, NULL); + dissected = dissector_try_uint_new(vendor_specific_action_table, oui, vendor_tvb, pinfo, tree, false, NULL); if (dissected <= 0) { call_data_dissector(vendor_tvb, pinfo, tree); @@ -14425,17 +14659,17 @@ add_ff_action_vendor_specific(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf return offset - start; /* Size of fixed fields */ } -static guint +static unsigned add_ff_action_ht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 n_sta, i; + unsigned start = offset; + uint8_t n_sta, i; mimo_control_t mimo_cntrl; offset += add_ff_category_code(tree, tvb, pinfo, offset); offset += add_ff_ht_action_code(tree, tvb, pinfo, offset); - switch (tvb_get_guint8(tvb, offset - 1)) { + switch (tvb_get_uint8(tvb, offset - 1)) { case HT_ACTION_NOTIFY_CHAN_WIDTH: offset += add_ff_channel_width(tree, tvb, pinfo, offset); break; @@ -14443,7 +14677,7 @@ add_ff_action_ht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset offset += add_ff_sm_pwr_cntrl(tree, tvb, pinfo, offset); break; case HT_ACTION_PSMP_ACTION: - n_sta = tvb_get_guint8(tvb, offset); + n_sta = tvb_get_uint8(tvb, offset); offset += add_ff_psmp_param_set(tree, tvb, pinfo, offset); for (i = 0; i < (n_sta & 0x0F); i++) { offset += add_ff_psmp_sta_info(tree, tvb, pinfo, offset); @@ -14481,7 +14715,7 @@ add_ff_action_ht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset return offset - start; } -static guint +static unsigned add_ff_beacon_interval_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_ff_bic, @@ -14491,12 +14725,12 @@ add_ff_beacon_interval_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo return 6; } -static guint -add_ff_beamforming_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset, gboolean isGrant) +static unsigned +add_ff_beamforming_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset, bool isGrant) { - guint16 bf_field = tvb_get_letohs(tvb, offset); - gboolean isInit = (bf_field & 0x2) >> 1; - gboolean isResp = (bf_field & 0x4) >> 2; + uint16_t bf_field = tvb_get_letohs(tvb, offset); + bool isInit = (bf_field & 0x2) >> 1; + bool isResp = (bf_field & 0x4) >> 2; static int * const ieee80211_ff_beamforming_ctrl[] = { &hf_ieee80211_ff_bf_train, &hf_ieee80211_ff_bf_is_init, @@ -14517,7 +14751,7 @@ add_ff_beamforming_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, NULL }; - if((isInit==TRUE) && (isResp==TRUE) && isGrant) { + if((isInit==true) && (isResp==true) && isGrant) { proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_ff_bf, ett_bf_tree, ieee80211_ff_beamforming_ctrl_grant, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); @@ -14529,7 +14763,7 @@ add_ff_beamforming_ctrl(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 2; } -static guint +static unsigned add_ff_dynamic_allocation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_dynamic_allocation[] = { @@ -14549,7 +14783,7 @@ add_ff_dynamic_allocation(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U return 5; } -static guint +static unsigned add_ff_beamformed_link(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_beamformed_link[] = { @@ -14565,7 +14799,7 @@ add_ff_beamformed_link(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return 1; } -static guint +static unsigned add_ff_BRP_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_BRP_request[] = { @@ -14589,7 +14823,7 @@ add_ff_BRP_request(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 4; } -static guint +static unsigned add_ff_sector_sweep_feedback_from_iss(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_sector_sweep_feedback_from_iss[] = { @@ -14607,7 +14841,7 @@ add_ff_sector_sweep_feedback_from_iss(proto_tree *tree, tvbuff_t *tvb, packet_in return 3; } -static guint +static unsigned add_ff_sector_sweep_feedback_to_iss(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_sector_sweep_feedback_to_iss[] = { @@ -14625,7 +14859,7 @@ add_ff_sector_sweep_feedback_to_iss(proto_tree *tree, tvbuff_t *tvb, packet_info return 3; } -static guint +static unsigned add_ff_sector_sweep(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_sector_sweep[] = { @@ -14643,7 +14877,7 @@ add_ff_sector_sweep(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int return 3; } -static guint +static unsigned add_ff_dmg_params(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { static int * const ieee80211_ff_dmg_params[] = { @@ -14663,125 +14897,125 @@ add_ff_dmg_params(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int o return 1; } -static guint -add_ff_cc_field(proto_tree *tree, tvbuff_t *tvb, int offset, gboolean dis) +static unsigned +add_ff_cc_field(proto_tree *tree, tvbuff_t *tvb, int offset, bool dis) { proto_item *cc_item = proto_tree_add_item(tree, hf_ieee80211_ff_cc, tvb, offset, 8, ENC_LITTLE_ENDIAN); proto_tree *cc_tree = proto_item_add_subtree(cc_item, ett_cc_tree); - guint64 cc_field; + uint64_t cc_field; if(dis) { proto_tree_add_item(cc_tree, hf_ieee80211_ff_cc_abft_resp_addr, tvb, offset, 6, ENC_NA); } else { cc_field = tvb_get_letoh64(tvb, offset); /*TODO : Add support of bitmask for FT_(U)INT64 */ - proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_sp_duration, tvb, offset, 1, (guint32)(cc_field & 0xff)); - proto_tree_add_uint64(cc_tree, hf_ieee80211_ff_cc_cluster_id, tvb, offset+1, 6, (guint64)((cc_field & G_GUINT64_CONSTANT(0x00ffffffffffff00)) >> 8)); - proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_role, tvb, offset+7, 1, (guint32)((cc_field & G_GUINT64_CONSTANT(0x0300000000000000)) >> 56)); - proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_max_mem, tvb, offset+7, 1, (guint32)((cc_field & G_GUINT64_CONSTANT(0x7c00000000000000)) >> 58)); + proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_sp_duration, tvb, offset, 1, (uint32_t)(cc_field & 0xff)); + proto_tree_add_uint64(cc_tree, hf_ieee80211_ff_cc_cluster_id, tvb, offset+1, 6, (uint64_t)((cc_field & UINT64_C(0x00ffffffffffff00)) >> 8)); + proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_role, tvb, offset+7, 1, (uint32_t)((cc_field & UINT64_C(0x0300000000000000)) >> 56)); + proto_tree_add_uint(cc_tree, hf_ieee80211_ff_cc_max_mem, tvb, offset+7, 1, (uint32_t)((cc_field & UINT64_C(0x7c00000000000000)) >> 58)); } return 8; } -static guint +static unsigned add_ff_band_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_band_id, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_subject_address(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_subject_address, tvb, offset, 6, ENC_NA); return 6; } -static guint +static unsigned add_ff_handover_reason(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_handover_reason, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_handover_remaining_bi(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_handover_remaining_bi, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_handover_result(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_handover_result, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_handover_reject_reason(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_handover_reject_reason, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_destination_reds_aid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_destination_reds_aid, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_destination_aid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_destination_aid, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_relay_aid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_relay_aid, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_source_aid(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_source_aid, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_timing_offset(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_timing_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_sampling_frequency_offset(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_sampling_frequency_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN); return 2; } -static guint +static unsigned add_ff_relay_operation_type(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_relay_operation_type, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_fst_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_fst_action_code, tvb, offset, 1, ENC_NA); return 1; } -static guint +static unsigned add_ff_robust_av_streaming_action_code(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { @@ -14790,25 +15024,25 @@ add_ff_robust_av_streaming_action_code(proto_tree *tree, tvbuff_t *tvb, return 1; } -static guint +static unsigned add_ff_llt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_llt, tvb, offset, 4, ENC_LITTLE_ENDIAN); return 4; } -static guint +static unsigned add_ff_fsts_id(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_tree_add_item(tree, hf_ieee80211_ff_fsts_id, tvb, offset, 4, ENC_LITTLE_ENDIAN); return 4; } -static guint +static unsigned add_ff_oct_mmpdu(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint start = offset; - guint len = tvb_get_letohs(tvb, offset); + unsigned start = offset; + unsigned len = tvb_get_letohs(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_mmpdu_len, tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; proto_tree_add_item(tree, hf_ieee80211_ff_mmpdu_ctrl, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -14877,16 +15111,16 @@ static int * const eht_320_mcs_map_hdrs[] = { NULL }; -static guint +static unsigned dissect_eht_eml_control_field(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint start = offset; - guint len = tvb_captured_length_remaining(tvb, offset); - guint8 mode = tvb_get_guint8(tvb, offset); - guint8 mcs_map_count; + unsigned start = offset; + unsigned len = tvb_captured_length_remaining(tvb, offset); + uint8_t mode = tvb_get_uint8(tvb, offset); + uint8_t mcs_map_count; proto_item *link_map_item; proto_tree *link_map_tree; - guint16 bmap, f; + uint16_t bmap, f; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_eht_eml_control_field, @@ -14920,7 +15154,7 @@ dissect_eht_eml_control_field(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf expert_add_info_format(pinfo, tree, &ei_ieee80211_eht_invalid_action, "EMLMR length %u is wrong", len); return len; } - mcs_map_count = tvb_get_guint8(tvb, offset) & 0x03; + mcs_map_count = tvb_get_uint8(tvb, offset) & 0x03; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_eht_eml_control_mcs_map_count, ett_eht_eml_control_mcs_map_count, @@ -14990,7 +15224,7 @@ add_tag_relay_capabilities(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } #if 0 -static guint +static unsigned add_ff_relay_capable_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { proto_item *rcsi_item = proto_tree_add_item(tree, hf_ieee80211_ff_rcsi, tvb, offset, 3, ENC_LITTLE_ENDIAN); @@ -15007,8 +15241,8 @@ add_ff_relay_capable_sta_info(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf #define ANO_PRESENT 0x04 static void -dissect_ieee80211_extension(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, - proto_tree *tree, guint16 flags) +dissect_ieee80211_extension(uint16_t fcf, tvbuff_t *tvb, packet_info *pinfo, + proto_tree *tree, uint16_t flags) { proto_item *ti; proto_tree *ext_tree; @@ -15025,9 +15259,9 @@ dissect_ieee80211_extension(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, { case EXTENSION_DMG_BEACON: { - gboolean cc, dis; - guint16 bic_field; - fixed_tree = get_fixed_parameter_tree(ext_tree, tvb, offset, 20, FALSE); + bool cc, dis; + uint16_t bic_field; + fixed_tree = get_fixed_parameter_tree(ext_tree, tvb, offset, 20, false); offset += add_ff_timestamp(fixed_tree, tvb, pinfo, offset); offset += add_ff_sector_sweep(fixed_tree, tvb, pinfo, offset); offset += add_ff_beacon_interval(fixed_tree, tvb, pinfo, offset); @@ -15059,7 +15293,7 @@ dissect_ieee80211_extension(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, if (flags & COMPRESSED_SSID_PRESENT) params_size += 4; if (flags & ANO_PRESENT) params_size += 1; - fixed_tree = get_fixed_parameter_tree( ext_tree, tvb, offset, params_size, FALSE); + fixed_tree = get_fixed_parameter_tree( ext_tree, tvb, offset, params_size, false); offset += add_ff_s1g_timestamp(fixed_tree, tvb, pinfo, offset); offset += add_ff_change_sequence(fixed_tree, tvb, pinfo, offset); if (flags & NEXT_TBTT_PRESENT) @@ -15079,14 +15313,14 @@ dissect_ieee80211_extension(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, } } -static guint +static unsigned add_ff_action_unprotected_dmg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_unprotected_dmg_action_code(tree, tvb, pinfo, offset); switch (code) { case UNPROTECTED_DMG_ANNOUNCE: @@ -15106,10 +15340,10 @@ add_ff_action_unprotected_dmg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinf * Table 8-53g IEEE Std 802.11ac-2013 amendment. * * The irregular use of case statements in this function is to improve - * readability in what is otherwise a large funtion that does very little. + * readability in what is otherwise a large function that does very little. */ static inline int -vht_compressed_skip_scidx(guint8 nchan_width, guint8 ng, int scidx) +vht_compressed_skip_scidx(uint8_t nchan_width, uint8_t ng, int scidx) { switch(nchan_width) { /* 20 MHz */ @@ -15211,7 +15445,7 @@ vht_compressed_skip_scidx(guint8 nchan_width, guint8 ng, int scidx) return scidx; } -static inline int vht_exclusive_skip_scidx(guint8 nchan_width, guint8 ng, int scidx) +static inline int vht_exclusive_skip_scidx(uint8_t nchan_width, uint8_t ng, int scidx) { switch (nchan_width) { /* 20 MHz */ @@ -15339,20 +15573,20 @@ dissect_he_feedback_matrix(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int phi_bits, int psi_bits, int hf); -static guint +static unsigned add_ff_vht_compressed_beamforming_report(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint32 vht_mimo; - guint8 nc; - guint8 nr; - guint8 chan_width; - guint8 grouping; - gboolean codebook_info; - gboolean feedback_type; + uint32_t vht_mimo; + uint8_t nc; + uint8_t nr; + uint8_t chan_width; + uint8_t grouping; + bool codebook_info; + bool feedback_type; proto_item *vht_beam_item, *vht_excl_beam_item; proto_tree *vht_beam_tree, *subtree, *vht_excl_beam_tree; int i, len, pos, ns, scidx = 0; - guint8 phi, psi, carry; + uint8_t phi, psi, carry; int j, ic, off_len = 0, sscidx = 0, xnsc; int bit_offset = 0; int start_offset = 0; @@ -15408,10 +15642,10 @@ add_ff_vht_compressed_beamforming_report(proto_tree *tree, tvbuff_t *tvb, packet for (i = 1; i <= nc; i++) { - gint8 snr; + int8_t snr; char edge_sign; - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); switch(snr) { case -128: @@ -15522,13 +15756,13 @@ add_ff_vht_compressed_beamforming_report(proto_tree *tree, tvbuff_t *tvb, packet return offset; } -static guint +static unsigned add_ff_action_vht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 vht_action, field_val; - guint64 msa_value; - guint64 upa_value; + unsigned start = offset; + uint8_t vht_action, field_val; + uint64_t msa_value; + uint64_t upa_value; int m; proto_item *ti; proto_tree *ti_tree; @@ -15537,7 +15771,7 @@ add_ff_action_vht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse offset += add_ff_category_code(tree, tvb, pinfo, offset); - vht_action = tvb_get_guint8(tvb, offset); + vht_action = tvb_get_uint8(tvb, offset); offset += add_ff_vht_action(tree, tvb, pinfo, offset); switch(vht_action){ @@ -15556,7 +15790,7 @@ add_ff_action_vht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse offset, 8, ENC_NA); msa_tree = proto_item_add_subtree(msa, ett_vht_msa); for (m = 0; m < 64; m++) { - if (msa_value & (G_GINT64_CONSTANT(1) << m)) + if (msa_value & (INT64_C(1) << m)) proto_tree_add_uint_format(msa_tree, hf_ieee80211_vht_membership_status_field, tvb, offset + (m/8), 1, 1, "Membership Status in Group ID %d: 1", m); } @@ -15568,16 +15802,16 @@ add_ff_action_vht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse upa_value = tvb_get_letoh64(tvb, offset); for (m = 0; m < 32; m++) { - if (msa_value & (G_GINT64_CONSTANT(1) << m)) { - field_val = (guint8) ((upa_value >> m*2) & 0x3); + if (msa_value & (INT64_C(1) << m)) { + field_val = (uint8_t) ((upa_value >> m*2) & 0x3); proto_tree_add_uint_format(upa_tree, hf_ieee80211_vht_user_position_field, tvb, offset + (m/4), 1, field_val, "User Position in Group ID %d: %u", m, field_val); } } upa_value = tvb_get_letoh64(tvb, offset+8); for (m = 0; m < 32; m++) { - if (msa_value & (G_GINT64_CONSTANT(1) << (32+m))) { - field_val = (guint8) ((upa_value >> m*2) & 0x3); + if (msa_value & (INT64_C(1) << (32+m))) { + field_val = (uint8_t) ((upa_value >> m*2) & 0x3); proto_tree_add_uint_format(upa_tree, hf_ieee80211_vht_user_position_field, tvb, (offset + 8) + (m/4), 1, field_val, "User Position in Group ID %d: %u", m, field_val); } @@ -15630,7 +15864,7 @@ static int * const s1g_sector_id_index_headers[] = { }; static void -s1g_sector_id_index_snr_custom(gchar *result, guint16 snr) +s1g_sector_id_index_snr_custom(char *result, uint16_t snr) { switch (snr) { case 0: @@ -15675,7 +15909,7 @@ static int add_ff_twt_information(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { int start = offset; - guint8 control = tvb_get_guint8(tvb, offset); + uint8_t control = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_twt_information_control, @@ -15715,11 +15949,11 @@ add_ff_twt_information(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, return offset - start; } -static guint +static unsigned add_ff_s1g_twt_setup(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - const guint8 ids[] = { TAG_TWT }; - guint start = offset; + const uint8_t ids[] = { TAG_TWT }; + unsigned start = offset; offset += add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL); @@ -15752,10 +15986,10 @@ static int * const ieee80211_twt_teardown_all[] = { NULL, }; -static guint +static unsigned add_ff_s1g_twt_teardown(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 twt_flow_id = tvb_get_guint8(tvb, offset); + uint8_t twt_flow_id = tvb_get_uint8(tvb, offset); // Bit 7 is means Teardown All TWT, and the other fields are reserved if (twt_flow_id & 0x80) { @@ -15800,15 +16034,15 @@ add_ff_s1g_twt_teardown(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int return 1; } -static guint +static unsigned add_ff_action_s1g(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 s1g_action; + unsigned start = offset; + uint8_t s1g_action; offset += add_ff_category_code(tree, tvb, pinfo, offset); - s1g_action = tvb_get_guint8(tvb, offset); + s1g_action = tvb_get_uint8(tvb, offset); offset += add_ff_s1g_action(tree, tvb, pinfo, offset); switch(s1g_action) { @@ -15856,6 +16090,68 @@ add_ff_action_s1g(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse return offset - start; } +static unsigned +add_ff_action_protected_s1g(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) +{ + unsigned start = offset; + uint8_t s1g_action; + + offset += add_ff_category_code(tree, tvb, pinfo, offset); + + s1g_action = tvb_get_uint8(tvb, offset); + offset += add_ff_prot_s1g_action(tree, tvb, pinfo, offset); + + switch(s1g_action) { + case PROT_S1G_ACT_REACH_ADDR_UPDATE: + case PROT_S1G_ACT_RELAY_ACTIVATE_REQ: + case PROT_S1G_ACT_RELAY_ACTIVATE_RESP: + case PROT_S1G_ACT_HEADER_COMPRESSION: + // TODO + break; + case PROT_S1G_ACT_TWT_SETUP: + offset += add_ff_dialog_token(tree, tvb, pinfo, offset); + offset += add_ff_s1g_twt_setup(tree, tvb, pinfo, offset); + break; + case PROT_S1G_ACT_TWT_TEARDOWN: + offset += add_ff_s1g_twt_teardown(tree, tvb, pinfo, offset); + break; + case PROT_S1G_ACT_TWT_INFORMATION: + offset += add_ff_twt_information(tree, tvb, pinfo, offset); + break; + case PROT_S1G_ACT_AID_SWITCH_REQUEST: + offset += add_ff_dialog_token(tree, tvb, pinfo, offset); + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_AID_SWITCH_RESPONSE: + offset += add_ff_dialog_token(tree, tvb, pinfo, offset); + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_SYNC_CONTROL: + offset += add_ff_dialog_token(tree, tvb, pinfo, offset); + offset += add_ff_sync_control(tree, tvb, pinfo, offset); + break; + case PROT_S1G_ACT_STA_INFO_ANNOUNCE: + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_EDCA_PARAM_SET: + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_EL_OPERATION: + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_SECT_GROUP_ID_LIST: + offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); + break; + case PROT_S1G_ACT_SECT_ID_FEEDBACK: + offset += add_ff_sector_id_index(tree, tvb, pinfo, offset); + break; + default: + break; + } + + return offset - start; +} + #define HE_COMPRESSED_BEAMFORMING_AND_CQI 0 #define HE_QUIET_TIME_PERIOD 1 @@ -16222,10 +16518,10 @@ next_he_scidx(int scidx, int bw _U_, int grouping _U_, int feedback _U_, * This might have a problem if there are not enough bits in the TVB. * Will only handle a limited number of bits. */ -static guint16 +static uint16_t he_get_bits(tvbuff_t *tvb, int bit_offset, int bit_len) { - guint32 bits; + uint32_t bits; int byte_offset = bit_offset / 8; int bit_start = bit_offset % 8; int bit_mask = (1 << bit_len) - 1; /* Select that many bits */ @@ -16236,7 +16532,7 @@ he_get_bits(tvbuff_t *tvb, int bit_offset, int bit_len) else if (remaining_length == 2) bits = tvb_get_letohs(tvb, byte_offset); else - bits = tvb_get_guint8(tvb, byte_offset); + bits = tvb_get_uint8(tvb, byte_offset); bits = bits >> bit_start; @@ -16301,11 +16597,11 @@ static int * const he_mimo_control_headers[] = { /* * Handle compressed beamforming matrices and CQI */ -static guint +static unsigned dissect_compressed_beamforming_and_cqi(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { int byte_count = 0; - guint64 mimo_cntl = tvb_get_letoh40(tvb, offset); + uint64_t mimo_cntl = tvb_get_letoh40(tvb, offset); int nc = 0, nr = 0, i; int bw, grouping, codebook, feedback, bit_offset, scidx; int phi_bits = 0, psi_bits = 0; @@ -16333,14 +16629,14 @@ dissect_compressed_beamforming_and_cqi(proto_tree *tree, tvbuff_t *tvb, packet_i "Average Signal to Noise Ratio"); for (i = 0; i < nc; i++) { - gint8 snr = tvb_get_gint8(tvb, offset); + int8_t snr = tvb_get_int8(tvb, offset); proto_tree_add_int_format(snr_tree, hf_ieee80211_he_compressed_beamforming_report_snr, tvb, offset, 1, snr, "Stream %d: %s%0.2fdB (0x%02x)", i, (snr == 127 ? ">=" : (snr == -128 ? "<=" : "")), (float)((float)88 + snr)/4, - (guint8)snr); + (uint8_t)snr); offset++; } @@ -16421,11 +16717,11 @@ static void dissect_bss_color_change(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_); -static guint +static unsigned dissect_quiet_time_period(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 control = tvb_get_guint8(tvb, offset); + uint8_t control = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_he_qtp_control, tvb, offset, 1, ENC_NA); offset += 1; @@ -16494,20 +16790,20 @@ proto_tree *tree, int offset, int len _U_) return offset; } -static guint +static unsigned add_ff_action_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 he_action; - guint8 length; - //guint8 elem_id, elem_id_extension; + unsigned start = offset; + uint8_t he_action; + uint8_t length; + //uint8_t elem_id, elem_id_extension; proto_item *item; proto_tree *subtree; unsigned int len = tvb_reported_length_remaining(tvb, offset); offset += add_ff_category_code(tree, tvb, pinfo, offset); - he_action = tvb_get_guint8(tvb, offset); + he_action = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_he_action, tvb, offset, 1, ENC_NA); offset += 1; @@ -16523,9 +16819,9 @@ add_ff_action_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset break; case HE_QUIET_TIME_PERIOD: - //elem_id = tvb_get_guint8(tvb, offset); - length = tvb_get_guint8(tvb, offset + 1); - //elem_id_extension = tvb_get_guint8(tvb, offset + 2); + //elem_id = tvb_get_uint8(tvb, offset); + length = tvb_get_uint8(tvb, offset + 1); + //elem_id_extension = tvb_get_uint8(tvb, offset + 2); /* Should check following condition? * elem_id == TAG_ELEMENT_ID_EXTENSION && elem_id_extension == ETAG_QUIET_TIME_PERIOD */ @@ -16538,19 +16834,19 @@ add_ff_action_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset return offset - start; } -static guint +static unsigned add_ff_action_protected_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 protected_he_action; - guint8 length; - //guint8 elem_id, elem_id_extension; + unsigned start = offset; + uint8_t protected_he_action; + uint8_t length; + //uint8_t elem_id, elem_id_extension; proto_item *item; proto_tree *subtree; offset += add_ff_category_code(tree, tvb, pinfo, offset); - protected_he_action = tvb_get_guint8(tvb, offset); + protected_he_action = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_protected_he_action, tvb, offset, 1, ENC_NA); @@ -16561,9 +16857,9 @@ add_ff_action_protected_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, switch (protected_he_action) { case HE_BSS_COLOR_CHANGE_ANNOUNCEMENT: - //elem_id = tvb_get_guint8(tvb, offset); - length = tvb_get_guint8(tvb, offset + 1); - //elem_id_extension = tvb_get_guint8(tvb, offset + 2); + //elem_id = tvb_get_uint8(tvb, offset); + length = tvb_get_uint8(tvb, offset + 1); + //elem_id_extension = tvb_get_uint8(tvb, offset + 2); /* Should check following condition? * elem_id == TAG_ELEMENT_ID_EXTENSION && elem_id_extension == ETAG_BSS_COLOR_CHANGE_ANNOUNCEMENT */ @@ -16578,14 +16874,14 @@ add_ff_action_protected_he(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start; } -static guint +static unsigned add_ff_action_protected_ftm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 action; + unsigned start = offset; + uint8_t action; offset += add_ff_category_code(tree, tvb, pinfo, offset); - action = tvb_get_guint8(tvb, offset); + action = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_protected_ftm_action, tvb, offset, 1, ENC_NA); offset += 1; @@ -16608,21 +16904,21 @@ add_ff_action_protected_ftm(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start; } -static guint +static unsigned add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 protected_eht_action; + unsigned start = offset; + uint8_t protected_eht_action; proto_item *item; int len = 0; - guint16 status; - gboolean invalid = FALSE; + uint16_t status; + bool invalid = false; /* Default Extension Element is Multi-Link */ - guint8 ext_ids[1] = {ETAG_MULTI_LINK}; + uint8_t ext_ids[1] = {ETAG_MULTI_LINK}; offset += add_ff_category_code(tree, tvb, pinfo, offset); - protected_eht_action = tvb_get_guint8(tvb, offset); + protected_eht_action = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_protected_eht_action, tvb, offset, 1, ENC_NA); @@ -16639,16 +16935,16 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, * element and there might be other IEs after us. */ if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } else { - invalid = TRUE; + invalid = true; } if (!invalid && (len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } else { - invalid = TRUE; + invalid = true; } if (invalid) { expert_add_info_format(pinfo, item, &ei_ieee80211_eht_invalid_action, @@ -16660,11 +16956,11 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, len = 0; if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } if ((len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } break; @@ -16677,16 +16973,16 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, if (status == 134) { /* There should be one or two TID-To-Link mappings. */ if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } else { - invalid = TRUE; + invalid = true; } if (!invalid && (len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } else { - invalid = TRUE; + invalid = true; } if (invalid) { expert_add_info_format(pinfo, item, &ei_ieee80211_eht_invalid_action, @@ -16698,11 +16994,11 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, len = 0; if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } if ((len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } } @@ -16713,9 +17009,9 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, case EHT_EPCS_PRIO_ACCESS_REQ: offset += add_ff_dialog_token(tree, tvb, pinfo, offset); if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); if (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0) { offset += len + 2; } } @@ -16724,9 +17020,9 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, offset += add_ff_dialog_token(tree, tvb, pinfo, offset); offset += add_ff_status_code(tree, tvb, pinfo, offset); if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); if (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0) { offset += len + 2; } } @@ -16740,17 +17036,17 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, case EHT_LINK_RECOMMENDATION: offset += add_ff_reason_code(tree, tvb, pinfo, offset); if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } else { - invalid = TRUE; + invalid = true; } ext_ids[0] = ETAG_AID_BITMAP; if (!invalid && (len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } else { - invalid = TRUE; + invalid = true; } if (invalid) { expert_add_info_format(pinfo, item, &ei_ieee80211_eht_invalid_action, @@ -16760,19 +17056,19 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, break; } - invalid = FALSE; + invalid = false; if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } else { - invalid = TRUE; + invalid = true; } ext_ids[0] = ETAG_MULTI_LINK_TRAFFIC; if (!invalid && (len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } else { - invalid = TRUE; + invalid = true; } if (invalid) { expert_add_info_format(pinfo, item, &ei_ieee80211_eht_invalid_action, @@ -16785,16 +17081,16 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, case EHT_MULTI_LINK_OP_UPDATE_REQ: offset += add_ff_dialog_token(tree, tvb, pinfo, offset); if (tvb_captured_length_remaining(tvb, offset) >= 2) { - len = tvb_get_guint8(tvb, offset + 1); + len = tvb_get_uint8(tvb, offset + 1); } else { - invalid = TRUE; + invalid = true; } if (!invalid && (len >= 1) && (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, NULL, - 0, FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) > 0)) { + 0, false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) > 0)) { offset += len + 2; } else { - invalid = TRUE; + invalid = true; } if (invalid) { expert_add_info_format(pinfo, item, &ei_ieee80211_eht_invalid_action, @@ -16824,184 +17120,184 @@ add_ff_action_protected_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, * representation. */ struct scidx_part { - guint start_val; /* What we start at */ - gboolean use_ng; /* Should we use Ng or the inc next */ - guint inc; /* The increment when not using Ng */ - guint stop_val; /* When we should stop */ - gboolean last_ent; /* This is the last one in the list */ + unsigned start_val; /* What we start at */ + bool use_ng; /* Should we use Ng or the inc next */ + unsigned inc; /* The increment when not using Ng */ + unsigned stop_val; /* When we should stop */ + bool last_ent; /* This is the last one in the list */ }; struct scidx_ctx { - guint8 ru_index; + uint8_t ru_index; struct scidx_part *scidx_array; - guint8 ng; - gboolean just_inited; - guint last_val; + uint8_t ng; + bool just_inited; + unsigned last_val; }; static struct scidx_part ru_242_tone_1_20MHz_ng4[] = { - { -122, FALSE, 2, -120, FALSE }, - { -120, TRUE, 0, -4, FALSE }, - { -2, FALSE, 4, 2, FALSE }, - { 4, TRUE, 0, 120, FALSE }, - { 120, FALSE, 2, 122, TRUE } + { -122, false, 2, -120, false }, + { -120, true, 0, -4, false }, + { -2, false, 4, 2, false }, + { 4, true, 0, 120, false }, + { 120, false, 2, 122, true } }; static struct scidx_part ru_242_tone_1_20MHz_ng16[] = { - { -122, FALSE, 6, -116, FALSE }, - { -116, TRUE, 0, -4, FALSE }, - { -2, FALSE, 4, 2, FALSE }, - { 4, TRUE, 0, 116, FALSE }, - { 116, FALSE, 6, 122, TRUE } + { -122, false, 6, -116, false }, + { -116, true, 0, -4, false }, + { -2, false, 4, 2, false }, + { 4, true, 0, 116, false }, + { 116, false, 6, 122, true } }; /* Here, there is one per RU index */ /*Start, UseNg, Inc,End, last */ static struct scidx_part ru_242_tone_40MHz[] = { - { -244, TRUE, 0, -4, TRUE }, - { 4, TRUE, 0, 244, TRUE } + { -244, true, 0, -4, true }, + { 4, true, 0, 244, true } }; static struct scidx_part ru_242_tone_80MHz[] = { - { -500, TRUE, 0, -260, TRUE }, - { -252, TRUE, 0, -12, TRUE }, - { 12, TRUE, 0, 252, TRUE }, - { 260, TRUE, 0, 500, TRUE } + { -500, true, 0, -260, true }, + { -252, true, 0, -12, true }, + { 12, true, 0, 252, true }, + { 260, true, 0, 500, true } }; static struct scidx_part ru_242_tone_160MHz[] = { - { -1012, TRUE, 0, -772, TRUE }, - { -764, TRUE, 0, -524, TRUE }, - { -500, TRUE, 0, -260, TRUE }, - { -252, TRUE, 0, -12, TRUE }, - { 12, TRUE, 0, 252, TRUE }, - { 260, TRUE, 0, 500, TRUE }, - { 524, TRUE, 0, 764, TRUE }, - { 772, TRUE, 0, 1012, TRUE } + { -1012, true, 0, -772, true }, + { -764, true, 0, -524, true }, + { -500, true, 0, -260, true }, + { -252, true, 0, -12, true }, + { 12, true, 0, 252, true }, + { 260, true, 0, 500, true }, + { 524, true, 0, 764, true }, + { 772, true, 0, 1012, true } }; static struct scidx_part ru_242_tone_320MHz[] = { - { -2036, TRUE, 0, -1796, TRUE }, - { -1788, TRUE, 0, -1548, TRUE }, - { -1524, TRUE, 0, -1284, TRUE }, - { -1276, TRUE, 0, -1036, TRUE }, - { -1012, TRUE, 0, -772, TRUE }, - { -764, TRUE, 0, -524, TRUE }, - { -500, TRUE, 0, -260, TRUE }, - { -252, TRUE, 0, -12, TRUE }, - { 12, TRUE, 0, 252, TRUE }, - { 260, TRUE, 0, 500, TRUE }, - { 524, TRUE, 0, 764, TRUE }, - { 772, TRUE, 0, 1012, TRUE }, - { 1036, TRUE, 0, 1276, TRUE }, - { 1284, TRUE, 0, 1524, TRUE }, - { 1548, TRUE, 0, 1788, TRUE }, - { 1796, TRUE, 0, 2036, TRUE } + { -2036, true, 0, -1796, true }, + { -1788, true, 0, -1548, true }, + { -1524, true, 0, -1284, true }, + { -1276, true, 0, -1036, true }, + { -1012, true, 0, -772, true }, + { -764, true, 0, -524, true }, + { -500, true, 0, -260, true }, + { -252, true, 0, -12, true }, + { 12, true, 0, 252, true }, + { 260, true, 0, 500, true }, + { 524, true, 0, 764, true }, + { 772, true, 0, 1012, true }, + { 1036, true, 0, 1276, true }, + { 1284, true, 0, 1524, true }, + { 1548, true, 0, 1788, true }, + { 1796, true, 0, 2036, true } }; /* All these ru_96 tone sets for NG=4 go in pairs. */ static struct scidx_part ru_996_tone_80MHz_ng4[] = { - { -500, FALSE, 4, -4, FALSE }, - { 4, FALSE, 4, 500, TRUE } + { -500, false, 4, -4, false }, + { 4, false, 4, 500, true } }; static struct scidx_part ru_996_tone_80MHz_ng16[] = { - { -500, TRUE, 0, -260, FALSE }, - { -252, TRUE, 0, -12, FALSE }, - { -4, FALSE, 8, 4, FALSE }, - { 12, TRUE, 0, 252, FALSE }, - { 260, TRUE, 0, 500, TRUE } + { -500, true, 0, -260, false }, + { -252, true, 0, -12, false }, + { -4, false, 8, 4, false }, + { 12, true, 0, 252, false }, + { 260, true, 0, 500, true } }; static struct scidx_part ru_996_tone_160MHz_ng4[] = { - { -1012, TRUE, 0, -516, FALSE }, - { -508, TRUE, 0, -12, TRUE }, + { -1012, true, 0, -516, false }, + { -508, true, 0, -12, true }, - { 12, TRUE, 0, 508, FALSE }, - { 516, TRUE, 0, 1012, TRUE } + { 12, true, 0, 508, false }, + { 516, true, 0, 1012, true } }; static struct scidx_part ru_996_tone_160MHz_ng16[] = { - { -1012, TRUE, 0, -772, FALSE }, - { -764, TRUE, 0, -524, FALSE }, - { -516, FALSE, 8, -508, FALSE }, - { -500, TRUE, 0, -260, FALSE }, - { -252, TRUE, 0, -12 , TRUE }, + { -1012, true, 0, -772, false }, + { -764, true, 0, -524, false }, + { -516, false, 8, -508, false }, + { -500, true, 0, -260, false }, + { -252, true, 0, -12 , true }, - { 12, TRUE, 0, 252, FALSE }, - { 260, TRUE, 0, 500, FALSE }, - { 508, FALSE, 8, 516, FALSE }, - { 524, TRUE, 0, 764, FALSE }, - { 772, TRUE, 0, 1012, TRUE } + { 12, true, 0, 252, false }, + { 260, true, 0, 500, false }, + { 508, false, 8, 516, false }, + { 524, true, 0, 764, false }, + { 772, true, 0, 1012, true } }; static struct scidx_part ru_996_tone_320MHz_ng4[] = { - { -2036, TRUE, 0, -1540, FALSE }, - { -1532, TRUE, 0, -1036, TRUE }, + { -2036, true, 0, -1540, false }, + { -1532, true, 0, -1036, true }, - { -1012, TRUE, 0, -516, FALSE }, - { -508, TRUE, 0, -12, TRUE }, + { -1012, true, 0, -516, false }, + { -508, true, 0, -12, true }, - { 12, TRUE, 0, 508, FALSE }, - { 516, TRUE, 0, 1012, TRUE }, + { 12, true, 0, 508, false }, + { 516, true, 0, 1012, true }, - { 1036, TRUE, 0, 1532, FALSE }, - { 1540, TRUE, 0, 2036, TRUE } + { 1036, true, 0, 1532, false }, + { 1540, true, 0, 2036, true } }; static struct scidx_part ru_996_tone_320MHz_ng16[] = { - { -2036, TRUE, 0, -1796, FALSE }, - { -1788, TRUE, 0, -1548, FALSE }, - { -1540, FALSE, 8, -1532, FALSE }, - { -1524, TRUE, 0, -1284, FALSE }, - { -1276, TRUE, 0, -1036, TRUE }, + { -2036, true, 0, -1796, false }, + { -1788, true, 0, -1548, false }, + { -1540, false, 8, -1532, false }, + { -1524, true, 0, -1284, false }, + { -1276, true, 0, -1036, true }, - { -1012, TRUE, 0, -772, FALSE }, - { -764, TRUE, 0, -524, FALSE }, - { -516, FALSE, 8, -508, FALSE }, - { -500, TRUE, 0, -260, FALSE }, - { -252, TRUE, 0, -12, TRUE }, + { -1012, true, 0, -772, false }, + { -764, true, 0, -524, false }, + { -516, false, 8, -508, false }, + { -500, true, 0, -260, false }, + { -252, true, 0, -12, true }, - { 12, TRUE, 0, 252, FALSE }, - { 260, TRUE, 0, 500, FALSE }, - { 508, FALSE, 8, 516, FALSE }, - { 524, TRUE, 0, 764, FALSE }, - { 772, TRUE, 0, 1012, TRUE }, + { 12, true, 0, 252, false }, + { 260, true, 0, 500, false }, + { 508, false, 8, 516, false }, + { 524, true, 0, 764, false }, + { 772, true, 0, 1012, true }, - { 1036, TRUE, 0, 1276, FALSE }, - { 1284, TRUE, 0, 1524, FALSE }, - { 1532, FALSE, 8, 1540, FALSE }, - { 1548, TRUE, 0, 1788, FALSE }, - { 1796, TRUE, 0, 2036, TRUE } + { 1036, true, 0, 1276, false }, + { 1284, true, 0, 1524, false }, + { 1532, false, 8, 1540, false }, + { 1548, true, 0, 1788, false }, + { 1796, true, 0, 2036, true } }; static void -init_eht_scidx(struct scidx_ctx *ctx, guint8 ru_index, - struct scidx_part *scidx_array, guint8 ng) +init_eht_scidx(struct scidx_ctx *ctx, uint8_t ru_index, + struct scidx_part *scidx_array, uint8_t ng) { ctx->ru_index = ru_index; ctx->scidx_array = scidx_array; ctx->ng = ng; - ctx->just_inited = TRUE; + ctx->just_inited = true; } /* What about the special 20MHz ones? */ /* Figure out the next SCIDX */ -static gboolean +static bool next_eht_scidx(struct scidx_ctx *ctx, int *scidx) { if (ctx->just_inited) { ctx->last_val = ctx->scidx_array->start_val; - ctx->just_inited = FALSE; + ctx->just_inited = false; *scidx = ctx->last_val; - return TRUE; + return true; } /* Move to the next val ... but check if it is a short seg first */ if (ctx->last_val == ctx->scidx_array->stop_val) { if (ctx->scidx_array->last_ent) { - return FALSE; + return false; } else { /* Pretend like we just started again */ /* Also, note that the arrays need to be set up correctly */ @@ -17016,7 +17312,7 @@ next_eht_scidx(struct scidx_ctx *ctx, int *scidx) ctx->last_val = ctx->scidx_array->start_val; } *scidx = ctx->last_val; - return TRUE; + return true; } } @@ -17030,22 +17326,22 @@ next_eht_scidx(struct scidx_ctx *ctx, int *scidx) } *scidx = ctx->last_val; - return TRUE; + return true; } static int add_ff_eht_mu_exclusive_20MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - int offset, guint8 nc_index, - guint8 grouping, guint16 partial_bw_info _U_) + int offset, uint8_t nc_index, + uint8_t grouping, uint16_t partial_bw_info _U_) { int start_offset = offset; - guint scidx; + unsigned scidx; struct scidx_ctx scidx_ctx; - guint8 ng = grouping == 0 ? 4 : 16; + uint8_t ng = grouping == 0 ? 4 : 16; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; - guint ss = 0, get_snr = 1; - gint8 snr, value; + unsigned ss = 0, get_snr = 1; + int8_t snr = 0, value; if (ng == 4) { init_eht_scidx(&scidx_ctx, 1, &ru_242_tone_1_20MHz_ng4[0], ng); @@ -17061,7 +17357,7 @@ add_ff_eht_mu_exclusive_20MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17080,18 +17376,18 @@ add_ff_eht_mu_exclusive_20MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * static int add_ff_eht_mu_exclusive_40MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - int offset, guint8 nc_index, - guint8 grouping, guint16 partial_bw_info) + int offset, uint8_t nc_index, + uint8_t grouping, uint16_t partial_bw_info) { int start_offset = offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; - guint ss = 0, get_snr = 1; - gint8 snr, value; + unsigned ss = 0, get_snr = 1; + int8_t snr = 0, value; /* Add each of the RU index groups set */ for (i = 1; i <= 2; i++) { @@ -17109,7 +17405,7 @@ add_ff_eht_mu_exclusive_40MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17130,18 +17426,18 @@ add_ff_eht_mu_exclusive_40MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * static int add_ff_eht_mu_exclusive_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - int offset, guint8 nc_index, - guint8 grouping, guint16 partial_bw_info) + int offset, uint8_t nc_index, + uint8_t grouping, uint16_t partial_bw_info) { int start_offset = offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; - guint ss = 0, get_snr = 1; - gint8 snr, value; + unsigned ss = 0, get_snr = 1; + int8_t snr = 0, value; if (partial_bw_info == 0x1E) { /* Uses 996-tone RU indices */ if (ng == 4) { @@ -17156,7 +17452,7 @@ add_ff_eht_mu_exclusive_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17190,7 +17486,7 @@ add_ff_eht_mu_exclusive_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17211,19 +17507,19 @@ add_ff_eht_mu_exclusive_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info * static int add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - int offset, guint8 nc_index, - guint8 grouping, guint16 partial_bw_info) + int offset, uint8_t nc_index, + uint8_t grouping, uint16_t partial_bw_info) { int start_offset = offset; int tree_offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; - guint ss = 0, get_snr = 1; - gint8 snr, value; + unsigned ss = 0, get_snr = 1; + int8_t snr = 0, value; /* Is the first lot a 996-tone RU? */ if ((partial_bw_info & 0x1E) == 0x1E) { /* Uses 996-tone RU indices */ @@ -17240,7 +17536,7 @@ add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17271,7 +17567,7 @@ add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17304,7 +17600,7 @@ add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17335,7 +17631,7 @@ add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17357,19 +17653,19 @@ add_ff_eht_mu_exclusive_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info static int add_ff_eht_mu_exclusive_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, - int offset, guint8 nc_index, - guint8 grouping, guint16 partial_bw_info) + int offset, uint8_t nc_index, + uint8_t grouping, uint16_t partial_bw_info) { int start_offset = offset; int tree_offset = offset; int i = 0, j = 0, k = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; - guint ss = 0, get_snr = 1; - gint8 snr, value; + unsigned ss = 0, get_snr = 1; + int8_t snr = 0, value; for ( i = 0; i < 4; i++) { if (((partial_bw_info >> (2*i+1)) & 0x03) == 0x03) { /* Uses 996-tone RU indices */ @@ -17387,7 +17683,7 @@ add_ff_eht_mu_exclusive_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17418,7 +17714,7 @@ add_ff_eht_mu_exclusive_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info while (next_eht_scidx(&scidx_ctx, &scidx)) { for (ss = 1; ss <= nc_index; ss++) { if (get_snr) { - snr = tvb_get_gint8(tvb, offset); + snr = tvb_get_int8(tvb, offset); offset += 1; value = snr & 0x0f; get_snr = 0; @@ -17440,19 +17736,19 @@ add_ff_eht_mu_exclusive_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info return offset - start_offset; } -static guint +static unsigned add_ff_eht_mu_exclusive_beamforming_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - guint64 mimo_control) + uint64_t mimo_control) { - guint8 nc_index = mimo_control & 0x0F; - guint8 bw = (mimo_control >> 8) & 0x07; - guint8 grouping = (mimo_control >> 11) & 0x01; - guint16 partial_bw_info = (mimo_control >> 21) & 0x01FF; + uint8_t nc_index = mimo_control & 0x0F; + uint8_t bw = (mimo_control >> 8) & 0x07; + uint8_t grouping = (mimo_control >> 11) & 0x01; + uint16_t partial_bw_info = (mimo_control >> 21) & 0x01FF; proto_tree *exclusive_tree = NULL; proto_item *fti = NULL; - guint start_offset = offset; - guint tree_len = 0, byte_count = 0; + unsigned start_offset = offset; + unsigned tree_len = 0, byte_count = 0; exclusive_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ff_eht_mimo_mu_exclusive_report, &fti, @@ -17503,15 +17799,15 @@ add_ff_eht_mu_exclusive_beamforming_rpt(proto_tree *tree, tvbuff_t *tvb, static int add_ff_eht_su_20MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, - int offset, guint8 nc_index, guint8 nr_index, - guint8 grouping, guint16 partial_bw_info _U_, - guint8 phi_bits, guint8 psi_bits) + int offset, uint8_t nc_index, uint8_t nr_index, + uint8_t grouping, uint16_t partial_bw_info _U_, + uint8_t phi_bits, uint8_t psi_bits) { int start_offset = offset; - guint scidx; + unsigned scidx; struct scidx_ctx scidx_ctx; - guint8 ng = grouping == 0 ? 4 : 16; - guint bit_offset = offset * 8; + uint8_t ng = grouping == 0 ? 4 : 16; + unsigned bit_offset = offset * 8; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; @@ -17540,16 +17836,16 @@ add_ff_eht_su_20MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, static int add_ff_eht_su_40MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, - int offset, guint8 nc_index, guint8 nr_index, - guint8 grouping, guint16 partial_bw_info, - guint8 phi_bits, guint8 psi_bits) + int offset, uint8_t nc_index, uint8_t nr_index, + uint8_t grouping, uint16_t partial_bw_info, + uint8_t phi_bits, uint8_t psi_bits) { int start_offset = offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; - guint bit_offset = offset * 8; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; + unsigned bit_offset = offset * 8; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; @@ -17581,16 +17877,16 @@ add_ff_eht_su_40MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, static int add_ff_eht_su_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, - int offset, guint8 nc_index, guint8 nr_index, - guint8 grouping, guint16 partial_bw_info, - guint8 phi_bits, guint8 psi_bits) + int offset, uint8_t nc_index, uint8_t nr_index, + uint8_t grouping, uint16_t partial_bw_info, + uint8_t phi_bits, uint8_t psi_bits) { int start_offset = offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; - guint bit_offset = offset * 8; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; + unsigned bit_offset = offset * 8; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; @@ -17644,17 +17940,17 @@ add_ff_eht_su_80MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, static int add_ff_eht_su_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, - int offset, guint8 nc_index, guint8 nr_index, - guint8 grouping, guint16 partial_bw_info, - guint8 phi_bits, guint8 psi_bits) + int offset, uint8_t nc_index, uint8_t nr_index, + uint8_t grouping, uint16_t partial_bw_info, + uint8_t phi_bits, uint8_t psi_bits) { int start_offset = offset; int tree_offset; int i = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; - guint bit_offset = offset * 8; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; + unsigned bit_offset = offset * 8; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; @@ -17755,17 +18051,17 @@ add_ff_eht_su_160MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, static int add_ff_eht_su_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, - int offset, guint8 nc_index, guint8 nr_index, - guint8 grouping, guint16 partial_bw_info, - guint8 phi_bits, guint8 psi_bits) + int offset, uint8_t nc_index, uint8_t nr_index, + uint8_t grouping, uint16_t partial_bw_info, + uint8_t phi_bits, uint8_t psi_bits) { int start_offset = offset; int tree_offset = offset; int i = 0, j = 0, k = 0; struct scidx_ctx scidx_ctx; - guint scidx; - guint8 ng = grouping == 0 ? 4 : 16; - guint bit_offset = offset * 8; + unsigned scidx; + uint8_t ng = grouping == 0 ? 4 : 16; + unsigned bit_offset = offset * 8; proto_tree *ru_index_tree = NULL; proto_item *ruii = NULL; @@ -17822,35 +18118,35 @@ add_ff_eht_su_320MHz_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start_offset; } -static guint +static unsigned add_ff_eht_su_beamforming_rpt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, - guint64 mimo_control) -{ - guint8 nc_index = mimo_control & 0x0F; - guint8 nr_index = (mimo_control >> 4) & 0x0F; - guint8 bw = (mimo_control >> 8) & 0x07; - guint8 grouping = (mimo_control >> 11) & 0x01; - guint16 partial_bw_info = (mimo_control >> 21) & 0x01FF; - guint8 codebook_info = (mimo_control >> 36) & 0x01; + uint64_t mimo_control) +{ + uint8_t nc_index = mimo_control & 0x0F; + uint8_t nr_index = (mimo_control >> 4) & 0x0F; + uint8_t bw = (mimo_control >> 8) & 0x07; + uint8_t grouping = (mimo_control >> 11) & 0x01; + uint16_t partial_bw_info = (mimo_control >> 21) & 0x01FF; + uint8_t codebook_info = (mimo_control >> 36) & 0x01; proto_tree *snr_tree = NULL, *feedback_tree = NULL; proto_item *fti = NULL; - guint8 i = 0, phi_bits, psi_bits; - guint start_offset = offset; - guint tree_len = 0, byte_count = 0; + uint8_t i = 0, phi_bits, psi_bits; + unsigned start_offset = offset; + unsigned tree_len = 0, byte_count = 0; snr_tree = proto_tree_add_subtree(tree, tvb, offset, nc_index + 1, ett_ff_eht_mimo_beamforming_report_snr, NULL, "Average Signal to Noise Ratio"); for (i = 0; i < nc_index + 1; i++) { - gint8 snr = tvb_get_gint8(tvb, offset); + int8_t snr = tvb_get_int8(tvb, offset); proto_tree_add_int_format(snr_tree, hf_ieee80211_eht_compressed_beamforming_report_snr, tvb, offset, 1, snr, "Stream %d: %s%0.2fdB (0x%02x)", i, (snr == 127 ? ">=" : (snr == -128 ? "<=" : "")), - (float)((float)88 + snr)/4, (guint8)snr); + (float)((float)88 + snr)/4, (uint8_t)snr); offset++; } @@ -17955,16 +18251,16 @@ static int * const eht_mimo_ctrl_hdrs[] = { NULL }; -static guint +static unsigned add_ff_eht_mimo_control_etc(proto_tree *tree _U_, tvbuff_t *tvb _U_, packet_info *pinfo _U_, int offset _U_) { - guint start = offset; - guint64 mimo_control = tvb_get_guint40(tvb, offset, ENC_LITTLE_ENDIAN); - guint8 feedback_type = (mimo_control >> 12) & 0x03; - guint8 nc_index = mimo_control & 0x0F; - guint8 nr_index = (mimo_control >> 4) & 0x0F; + unsigned start = offset; + uint64_t mimo_control = tvb_get_uint40(tvb, offset, ENC_LITTLE_ENDIAN); + uint8_t feedback_type = (mimo_control >> 12) & 0x03; + uint8_t nc_index = mimo_control & 0x0F; + uint8_t nr_index = (mimo_control >> 4) & 0x0F; proto_item *mci = NULL; mci = proto_tree_add_bitmask_with_flags(tree, tvb, offset, @@ -17985,7 +18281,7 @@ add_ff_eht_mimo_control_etc(proto_tree *tree _U_, tvbuff_t *tvb _U_, } if (nr_index == 0 || nr_index > 7) { expert_add_info_format(pinfo, mci, &ei_ieee80211_eht_invalid_nc_nr, - "Nr indices (%d) 0 and > 7 are resered", nr_index); + "Nr indices (%d) 0 and > 7 are reserved", nr_index); return offset; } offset += 5; @@ -18017,17 +18313,17 @@ static const range_string eht_action_rvals[] = { { 0, 0, NULL } }; -static guint +static unsigned add_ff_action_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint start = offset; - guint8 eht_action; + unsigned start = offset; + uint8_t eht_action; proto_item *item = NULL; offset += add_ff_category_code(tree, tvb, pinfo, offset); - eht_action = tvb_get_guint8(tvb, offset); + eht_action = tvb_get_uint8(tvb, offset); item = proto_tree_add_item(tree, hf_ieee80211_ff_eht_action, tvb, offset, 1, ENC_NA); @@ -18045,14 +18341,14 @@ add_ff_action_eht(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, return offset - start; } -static guint +static unsigned add_ff_action_fst(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_fst_action_code(tree, tvb, pinfo, offset); switch (code) { case FST_SETUP_REQUEST: @@ -18085,7 +18381,7 @@ static int add_ff_scs_descriptor_list(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint start = offset; + unsigned start = offset; /* * This is could be a list, so it needs change. @@ -18106,9 +18402,9 @@ add_ff_scs_response_count(proto_tree *tree, tvbuff_t *tvb, static int add_ff_scs_status_list(proto_tree *tree, tvbuff_t *tvb, - packet_info *pinfo _U_, int offset, guint8 count) + packet_info *pinfo _U_, int offset, uint8_t count) { - guint start = offset; + unsigned start = offset; while (count > 0) { if (tvb_reported_length_remaining(tvb, offset) >= 3) { @@ -18130,21 +18426,21 @@ static int add_ff_mscs_descriptor_elt(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo _U_, int offset) { - guint start = offset; + unsigned start = offset; offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); return offset - start; } -static guint +static unsigned add_ff_action_robust_av_streaming(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code, count; - guint start = offset; + uint8_t code, count; + unsigned start = offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_robust_av_streaming_action_code(tree, tvb, pinfo, offset); switch (code) { @@ -18154,7 +18450,7 @@ add_ff_action_robust_av_streaming(proto_tree *tree, tvbuff_t *tvb, break; case ROBUST_AV_STREAMING_SCS_RESPONSE: offset += add_ff_dialog_token(tree, tvb, pinfo, offset); - count = tvb_get_guint8(tvb, offset); + count = tvb_get_uint8(tvb, offset); offset += add_ff_scs_response_count(tree, tvb, pinfo, offset); offset += add_ff_scs_status_list(tree, tvb, pinfo, offset, count); break; @@ -18173,15 +18469,15 @@ add_ff_action_robust_av_streaming(proto_tree *tree, tvbuff_t *tvb, return offset - start; } -static guint +static unsigned add_ff_action_dmg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 code; - guint start = offset; + uint8_t code; + unsigned start = offset; int left_offset; offset += add_ff_category_code(tree, tvb, pinfo, offset); - code = tvb_get_guint8(tvb, offset); + code = tvb_get_uint8(tvb, offset); offset += add_ff_dmg_action_code(tree, tvb, pinfo, offset); switch (code) { case DMG_ACTION_PWR_SAVE_CONFIG_REQ: @@ -18284,11 +18580,11 @@ add_ff_action_dmg(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offse return offset - start; } -guint +unsigned add_ff_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, association_sanity_check_t *association_sanity_check) { - switch (tvb_get_guint8(tvb, offset) & 0x7f) { + switch (tvb_get_uint8(tvb, offset) & 0x7f) { case CAT_SPECTRUM_MGMT: /* 0 */ return add_ff_action_spectrum_mgmt(tree, tvb, pinfo, offset); case CAT_QOS: /* 1 */ @@ -18335,6 +18631,8 @@ add_ff_action(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, return add_ff_action_vht(tree, tvb, pinfo, offset); case CAT_S1G: /* 22 */ return add_ff_action_s1g(tree, tvb, pinfo, offset); + case CAT_PROTECTED_S1G: /* 23 */ + return add_ff_action_protected_s1g(tree, tvb, pinfo, offset); case CAT_HE: return add_ff_action_he(tree, tvb, pinfo, offset); case CAT_PROTECTED_HE: @@ -18423,10 +18721,10 @@ static const value_string ieee80211_rsn_keymgmt_vals[] = { }; static void -oui_base_custom(gchar *result, guint32 oui) +oui_base_custom(char *result, uint32_t oui) { - guint8 p_oui[3]; - const gchar *manuf_name; + uint8_t p_oui[3]; + const char *manuf_name; p_oui[0] = oui >> 16 & 0xFF; p_oui[1] = oui >> 8 & 0xFF; @@ -18445,10 +18743,10 @@ oui_base_custom(gchar *result, guint32 oui) } static void -rsn_gcs_base_custom(gchar *result, guint32 gcs) +rsn_gcs_base_custom(char *result, uint32_t gcs) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, gcs >> 8); @@ -18458,10 +18756,10 @@ rsn_gcs_base_custom(gchar *result, guint32 gcs) } static void -rsn_pcs_base_custom(gchar *result, guint32 pcs) +rsn_pcs_base_custom(char *result, uint32_t pcs) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, pcs >> 8); @@ -18471,10 +18769,10 @@ rsn_pcs_base_custom(gchar *result, guint32 pcs) } static void -rsn_akms_base_custom(gchar *result, guint32 akms) +rsn_akms_base_custom(char *result, uint32_t akms) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, akms >> 8); @@ -18483,24 +18781,24 @@ rsn_akms_base_custom(gchar *result, guint32 akms) wmem_free(NULL, tmp_str); } -static gchar * -rsn_pcs_return(guint32 pcs) +static char * +rsn_pcs_return(wmem_allocator_t *scope, uint32_t pcs) { - gchar *result; + char *result; - result = (gchar *)wmem_alloc(wmem_packet_scope(), SHORT_STR); + result = (char *)wmem_alloc(scope, SHORT_STR); result[0] = '\0'; rsn_pcs_base_custom(result, pcs); return result; } -static gchar * -rsn_akms_return(guint32 akms) +static char * +rsn_akms_return(wmem_allocator_t *scope, uint32_t akms) { - gchar *result; + char *result; - result = (gchar *)wmem_alloc(wmem_packet_scope(), SHORT_STR); + result = (char *)wmem_alloc(scope, SHORT_STR); result[0] = '\0'; rsn_akms_base_custom(result, akms); @@ -18508,10 +18806,10 @@ rsn_akms_return(guint32 akms) } static void -rsn_gmcs_base_custom(gchar *result, guint32 gmcs) +rsn_gmcs_base_custom(char *result, uint32_t gmcs) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, gmcs >> 8); @@ -18521,7 +18819,7 @@ rsn_gmcs_base_custom(gchar *result, guint32 gmcs) } static void -rsni_base_custom(gchar *result, guint8 rsni) +rsni_base_custom(char *result, uint8_t rsni) { double temp_double; @@ -18533,20 +18831,20 @@ rsni_base_custom(gchar *result, guint8 rsni) } static void -vht_tpe_custom(gchar *result, guint8 txpwr) +vht_tpe_custom(char *result, uint8_t txpwr) { - gint8 txpwr_db; + int8_t txpwr_db; - txpwr_db = (gint8)(txpwr); + txpwr_db = (int8_t)(txpwr); snprintf(result, ITEM_LABEL_LENGTH, "%3.1f dBm", (txpwr_db/2.0)); } static void -tpe_psd_custom(gchar *result, guint8 txpwr) +tpe_psd_custom(char *result, uint8_t txpwr) { - gint8 txpwr_db; + int8_t txpwr_db; - txpwr_db = (gint8)(txpwr); + txpwr_db = (int8_t)(txpwr); if (txpwr_db == -128) { snprintf(result, ITEM_LABEL_LENGTH, "Channel cannot be used for transmission"); } else if (txpwr_db == 127) { @@ -18557,7 +18855,7 @@ tpe_psd_custom(gchar *result, guint8 txpwr) } static void -channel_number_custom(gchar *result, guint8 channel_number) +channel_number_custom(char *result, uint8_t channel_number) { switch(channel_number){ case 0: @@ -18679,10 +18977,10 @@ static const val64_string ieee80211_ranging_ltf_total_vals[] = { }; static void -wpa_mcs_base_custom(gchar *result, guint32 mcs) +wpa_mcs_base_custom(char *result, uint32_t mcs) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, mcs >> 8); @@ -18692,10 +18990,10 @@ wpa_mcs_base_custom(gchar *result, guint32 mcs) } static void -wpa_ucs_base_custom(gchar *result, guint32 ucs) +wpa_ucs_base_custom(char *result, uint32_t ucs) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, ucs >> 8); @@ -18704,10 +19002,10 @@ wpa_ucs_base_custom(gchar *result, guint32 ucs) wmem_free(NULL, tmp_str); } static void -wpa_akms_base_custom(gchar *result, guint32 akms) +wpa_akms_base_custom(char *result, uint32_t akms) { - gchar oui_result[SHORT_STR]; - gchar *tmp_str; + char oui_result[SHORT_STR]; + char *tmp_str; oui_result[0] = '\0'; oui_base_custom(oui_result, akms >> 8); @@ -18716,24 +19014,24 @@ wpa_akms_base_custom(gchar *result, guint32 akms) wmem_free(NULL, tmp_str); } -static gchar * -wpa_ucs_return(guint32 ucs) +static char * +wpa_ucs_return(wmem_allocator_t *scope, uint32_t ucs) { - gchar *result; + char *result; - result = (gchar *)wmem_alloc(wmem_packet_scope(), SHORT_STR); + result = (char *)wmem_alloc(scope, SHORT_STR); result[0] = '\0'; wpa_ucs_base_custom(result, ucs); return result; } -static gchar * -wpa_akms_return(guint32 akms) +static char * +wpa_akms_return(wmem_allocator_t *scope, uint32_t akms) { - gchar *result; + char *result; - result = (gchar *)wmem_alloc(wmem_packet_scope(), SHORT_STR); + result = (char *)wmem_alloc(scope, SHORT_STR); result[0] = '\0'; wpa_akms_base_custom(result, akms); @@ -18859,7 +19157,7 @@ static int decode_qos_parameter_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, int ftype) { int i; - gboolean is_s1g = sta_is_s1g(pinfo); + bool is_s1g = sta_is_s1g(pinfo); /* WME QoS Info Field */ offset = dissect_wme_qos_info(tree, tvb, pinfo, offset, ftype); /* WME Reserved Field or EDCA Update */ @@ -18877,26 +19175,78 @@ decode_qos_parameter_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in /* AC Parameters */ for (i = 0; i < 4; i++) { - proto_item *ac_item, *aci_aifsn_item, *ecw_item; + proto_item *ac_item, *aci_aifsn_item, *ecw_item, *cw_item; proto_tree *ac_tree, *ecw_tree; - guint8 aci_aifsn, ecw, ecwmin, ecwmax; - guint16 cwmin, cwmax; - static int * const ieee80211_wfa_ie_wme[] = { - &hf_ieee80211_wfa_ie_wme_acp_aifsn, - &hf_ieee80211_wfa_ie_wme_acp_acm, - &hf_ieee80211_wfa_ie_wme_acp_aci, - &hf_ieee80211_wfa_ie_wme_acp_reserved, + uint8_t aci_aifsn, ecw, ecwmin, ecwmax; + uint16_t cwmin, cwmax; + static int * const ieee80211_wfa_ie_wme_be[] = { + &hf_ieee80211_wfa_ie_wme_acp_aci_be, + &hf_ieee80211_wfa_ie_wme_acp_acm_be, + &hf_ieee80211_wfa_ie_wme_acp_aifsn_be, + &hf_ieee80211_wfa_ie_wme_acp_reserved_be, NULL }; + static int * const ieee80211_wfa_ie_wme_bk[] = { + &hf_ieee80211_wfa_ie_wme_acp_aci_bk, + &hf_ieee80211_wfa_ie_wme_acp_acm_bk, + &hf_ieee80211_wfa_ie_wme_acp_aifsn_bk, + &hf_ieee80211_wfa_ie_wme_acp_reserved_bk, + NULL + }; + + static int * const ieee80211_wfa_ie_wme_vi[] = { + &hf_ieee80211_wfa_ie_wme_acp_aci_vi, + &hf_ieee80211_wfa_ie_wme_acp_acm_vi, + &hf_ieee80211_wfa_ie_wme_acp_aifsn_vi, + &hf_ieee80211_wfa_ie_wme_acp_reserved_vi, + NULL + }; + + static int * const ieee80211_wfa_ie_wme_vo[] = { + &hf_ieee80211_wfa_ie_wme_acp_aci_vo, + &hf_ieee80211_wfa_ie_wme_acp_acm_vo, + &hf_ieee80211_wfa_ie_wme_acp_aifsn_vo, + &hf_ieee80211_wfa_ie_wme_acp_reserved_vo, + NULL + }; + + static int * const * ie_wme_hdrs[] = { + ieee80211_wfa_ie_wme_be, + ieee80211_wfa_ie_wme_bk, + ieee80211_wfa_ie_wme_vi, + ieee80211_wfa_ie_wme_vo + }; + + static int * const ecw_max_hf[] = { + &hf_ieee80211_wfa_ie_wme_acp_ecw_max_be, + &hf_ieee80211_wfa_ie_wme_acp_ecw_max_bk, + &hf_ieee80211_wfa_ie_wme_acp_ecw_max_vi, + &hf_ieee80211_wfa_ie_wme_acp_ecw_max_vo + }; + + static int * const ecw_min_hf[] = { + &hf_ieee80211_wfa_ie_wme_acp_ecw_min_be, + &hf_ieee80211_wfa_ie_wme_acp_ecw_min_bk, + &hf_ieee80211_wfa_ie_wme_acp_ecw_min_vi, + &hf_ieee80211_wfa_ie_wme_acp_ecw_min_vo + }; + + static int * const txop_limit_hf[] = { + &hf_ieee80211_wfa_ie_wme_acp_txop_limit_be, + &hf_ieee80211_wfa_ie_wme_acp_txop_limit_bk, + &hf_ieee80211_wfa_ie_wme_acp_txop_limit_vi, + &hf_ieee80211_wfa_ie_wme_acp_txop_limit_vo + }; + ac_item = proto_tree_add_item(tree, hf_ieee80211_wfa_ie_wme_ac_parameters, tvb, offset, 4, ENC_NA); ac_tree = proto_item_add_subtree(ac_item, ett_wme_ac); /* ACI/AIFSN Field */ aci_aifsn_item = proto_tree_add_bitmask_with_flags(ac_tree, tvb, offset, hf_ieee80211_wfa_ie_wme_acp_aci_aifsn, - ett_wme_aci_aifsn, ieee80211_wfa_ie_wme, + ett_wme_aci_aifsn, ie_wme_hdrs[i], ENC_LITTLE_ENDIAN, BMT_NO_APPEND); - aci_aifsn = tvb_get_guint8(tvb, offset); + aci_aifsn = tvb_get_uint8(tvb, offset); /* 802.11-2012, 8.4.2.31 EDCA Parameter Set element */ if (aci_aifsn < 2) { expert_add_info_format(pinfo, aci_aifsn_item, &ei_ieee80211_qos_bad_aifsn, @@ -18910,20 +19260,20 @@ decode_qos_parameter_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in /* ECWmin/ECWmax field */ ecw_item = proto_tree_add_item(ac_tree, hf_ieee80211_wfa_ie_wme_acp_ecw, tvb, offset, 1, ENC_NA); ecw_tree = proto_item_add_subtree(ecw_item, ett_wme_ecw); - ecw = tvb_get_guint8(tvb, offset); + ecw = tvb_get_uint8(tvb, offset); ecwmin = ecw & 0x0f; ecwmax = (ecw & 0xf0) >> 4; cwmin= (1 << ecwmin) - 1; cwmax= (1 << ecwmax) - 1; - proto_tree_add_item(ecw_tree, hf_ieee80211_wfa_ie_wme_acp_ecw_max, tvb, offset, 1, ENC_NA); - proto_tree_add_item(ecw_tree, hf_ieee80211_wfa_ie_wme_acp_ecw_min, tvb, offset, 1, ENC_NA); - proto_tree_add_uint(ecw_tree, hf_ieee80211_wfa_ie_wme_acp_cw_max, tvb, offset, 1, cwmax); - proto_tree_add_uint(ecw_tree, hf_ieee80211_wfa_ie_wme_acp_cw_min, tvb, offset, 1, cwmin); + cw_item = proto_tree_add_item(ecw_tree, *ecw_max_hf[i], tvb, offset, 1, ENC_NA); + proto_item_append_text(cw_item, " (CW Max: %u)", cwmax); + cw_item = proto_tree_add_item(ecw_tree, *ecw_min_hf[i], tvb, offset, 1, ENC_NA); + proto_item_append_text(cw_item, " (CW Min: %u)", cwmin); proto_item_append_text(ac_item, ", ECWmin/max %u/%u (CWmin/max %u/%u)", ecwmin, ecwmax, cwmin, cwmax); offset += 1; /* TXOP Limit */ - proto_tree_add_item(ac_tree, hf_ieee80211_wfa_ie_wme_acp_txop_limit, tvb, offset, 2, ENC_LITTLE_ENDIAN); + proto_tree_add_item(ac_tree, *txop_limit_hf[i], tvb, offset, 2, ENC_LITTLE_ENDIAN); proto_item_append_text(ac_item, ", TXOP %u", tvb_get_letohs(tvb, offset)); offset += 2; } @@ -18932,12 +19282,12 @@ decode_qos_parameter_set(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in } static int -dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, guint32 tag_len, int ftype) +dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, int offset, uint32_t tag_len, int ftype) { - guint8 type; + uint8_t type; proto_tree_add_item(tree, hf_ieee80211_wfa_ie_type, tvb, offset, 1, ENC_NA); - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_item_append_text(tree, ": %s", val_to_str(type, ieee802111_wfa_ie_type_vals, "Unknown %d")); offset += 1; @@ -18948,8 +19298,8 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in proto_item *wpa_sub_ucs_item, *wpa_sub_akms_item; proto_tree *wpa_mcs_tree, *wpa_ucs_tree, *wpa_akms_tree; proto_tree *wpa_sub_ucs_tree, *wpa_sub_akms_tree; - guint16 ucs_count, akms_count; - guint ii; + uint16_t ucs_count, akms_count; + unsigned ii; proto_tree_add_item(tree, hf_ieee80211_wfa_ie_wpa_version, tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; @@ -18963,7 +19313,7 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in if (tvb_get_ntoh24(tvb, offset) == OUI_WPAWME) { proto_tree_add_item(wpa_mcs_tree, hf_ieee80211_wfa_ie_wpa_mcs_wfa_type, tvb, offset + 3, 1, ENC_LITTLE_ENDIAN); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), GROUP_CIPHER_KEY); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), GROUP_CIPHER_KEY); } else { proto_tree_add_item(wpa_mcs_tree, hf_ieee80211_wfa_ie_wpa_mcs_type, tvb, offset + 3, 1, ENC_LITTLE_ENDIAN); } @@ -18986,8 +19336,8 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in if (tvb_get_ntoh24(tvb, offset) == OUI_WPAWME) { proto_tree_add_item(wpa_sub_ucs_tree, hf_ieee80211_wfa_ie_wpa_ucs_wfa_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(wpa_ucs_item, " %s", wpa_ucs_return(tvb_get_ntohl(tvb, offset))); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), CIPHER_KEY); + proto_item_append_text(wpa_ucs_item, " %s", wpa_ucs_return(pinfo->pool, tvb_get_ntohl(tvb, offset))); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), CIPHER_KEY); } else { proto_tree_add_item(wpa_sub_ucs_tree, hf_ieee80211_wfa_ie_wpa_ucs_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); } @@ -19011,8 +19361,8 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in if (tvb_get_ntoh24(tvb, offset) == OUI_WPAWME) { proto_tree_add_item(wpa_sub_akms_tree, hf_ieee80211_wfa_ie_wpa_akms_wfa_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(wpa_akms_item, " %s", wpa_akms_return(tvb_get_ntohl(tvb, offset))); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), AKM_KEY); + proto_item_append_text(wpa_akms_item, " %s", wpa_akms_return(pinfo->pool, tvb_get_ntohl(tvb, offset))); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), AKM_KEY); } else { proto_tree_add_item(wpa_sub_akms_tree, hf_ieee80211_wfa_ie_wpa_akms_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); } @@ -19022,10 +19372,10 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in } case 2: /* Wireless Multimedia Enhancements (WME) */ { - guint8 subtype; + uint8_t subtype; proto_tree_add_item(tree, hf_ieee80211_wfa_ie_wme_subtype, tvb, offset, 1, ENC_NA); - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); proto_item_append_text(tree, ": %s", val_to_str(subtype, ieee802111_wfa_ie_wme_type, "Unknown %d")); offset += 1; proto_tree_add_item(tree, hf_ieee80211_wfa_ie_wme_version, tvb, offset, 1, ENC_NA); @@ -19131,7 +19481,7 @@ dissect_vendor_ie_wpawme(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, in * Accepts a two entry array of header fields so we can use this elsewhere. */ static int dissect_group_data_cipher_suite(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, int *hf_array, gint ett_val, char *label) + proto_tree *tree, int offset, int *hf_array, int ett_val, char *label) { proto_tree *gdcs_tree = NULL; @@ -19163,14 +19513,14 @@ static int dissect_qos_mgmt(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 attr_id; - guint8 attr_len; - guint8 attr_num = 0; + uint8_t attr_id; + uint8_t attr_len; + uint8_t attr_num = 0; proto_tree *sub_tree = NULL; while (tvb_captured_length_remaining(tvb, offset)) { - attr_id = tvb_get_guint8(tvb, offset); - attr_len = tvb_get_guint8(tvb, offset + 1); + attr_id = tvb_get_uint8(tvb, offset); + attr_len = tvb_get_uint8(tvb, offset + 1); proto_tree *attr = NULL; attr = proto_tree_add_subtree_format(tree, tvb, offset, attr_len + 2, @@ -19257,8 +19607,8 @@ dissect_hs20_osen(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* hf_ieee80211_group_data_cipher_suite_type }; proto_tree *pwc_list = NULL; proto_item *pwcsi = NULL; - guint16 pwc_count = 0, pwc_index = 0; - guint16 akms_count = 0, akms_index = 0; + uint16_t pwc_count = 0, pwc_index = 0; + uint16_t akms_count = 0, akms_index = 0; static int * const osen_rsn_cap[] = { &hf_ieee80211_osen_rsn_cap_preauth, &hf_ieee80211_osen_rsn_cap_no_pairwise, @@ -19275,7 +19625,7 @@ dissect_hs20_osen(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* &hf_ieee80211_osen_reserved, NULL }; - guint16 pmkid_count = 0, pmkid_index = 0; + uint16_t pmkid_count = 0, pmkid_index = 0; int gmcs_array[2] = { hf_ieee80211_osen_group_management_cipher_suite_oui, hf_ieee80211_osen_group_management_cipher_suite_type }; @@ -19422,7 +19772,7 @@ dissect_hs20_indication(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, }; int len = tvb_captured_length(tvb); int offset = 0; - guint8 indic = tvb_get_guint8(tvb, offset); + uint8_t indic = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_list(tree, tvb, offset, 1, ieee80211_hs20_indication, ENC_NA); @@ -19457,10 +19807,10 @@ static const value_string ieee80211_wfa_60g_attr_ids[] = { static int dissect_wfa_60g_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { - gint end = tvb_reported_length(tvb); + int end = tvb_reported_length(tvb); int offset = 0; - guint8 id; - guint16 len; + uint8_t id; + uint16_t len; proto_tree *wf60g_tree; proto_item *attrs; @@ -19470,7 +19820,7 @@ dissect_wfa_60g_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *da break; } - id = tvb_get_guint8(tvb, offset); + id = tvb_get_uint8(tvb, offset); len = tvb_get_ntohs(tvb, offset + 1); attrs = proto_tree_add_item(tree, hf_ieee80211_wfa_60g_attr, tvb, offset, 0, ENC_NA); proto_item_append_text(attrs, ": %s", val_to_str(id, ieee80211_wfa_60g_attr_ids, @@ -19508,7 +19858,7 @@ dissect_wfa_60g_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *da static int dissect_owe_transition_mode(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) { - guint8 ssid_len; + uint8_t ssid_len; int len = tvb_captured_length(tvb); int offset = 0; @@ -19517,7 +19867,7 @@ dissect_owe_transition_mode(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 6; len -= 6; - ssid_len = tvb_get_guint8(tvb, offset); + ssid_len = tvb_get_uint8(tvb, offset); proto_tree_add_uint(tree, hf_ieee80211_wfa_ie_owe_ssid_length, tvb, offset, 1, ssid_len); offset += 1; @@ -19584,8 +19934,8 @@ dissect_mbo_oce(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data while (len >= 2) { proto_item *attr_item; proto_tree *attr_tree; - guint8 attr_id = tvb_get_guint8(tvb, offset); - guint8 attr_len = tvb_get_guint8(tvb, offset + 1); + uint8_t attr_id = tvb_get_uint8(tvb, offset); + uint8_t attr_len = tvb_get_uint8(tvb, offset + 1); if (len < (attr_len + 2)) { expert_add_info(pinfo, tree, &ei_ieee80211_bad_length); @@ -19722,7 +20072,7 @@ dissect_mbo_oce(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data { proto_item *cap_item; proto_tree *cap_tree; - guint8 capacity; + uint8_t capacity; if (attr_len != 1) { expert_add_info(pinfo, attr_tree, &ei_ieee80211_bad_length); @@ -19732,7 +20082,7 @@ dissect_mbo_oce(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data tvb, offset, 1, ENC_NA); cap_tree = proto_item_add_subtree(cap_item, ett_oce_metrics_cap); - capacity = tvb_get_guint8(tvb, offset); + capacity = tvb_get_uint8(tvb, offset); cap_item = proto_tree_add_item(cap_tree, hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap_downlink, tvb, offset, 1, ENC_NA); proto_item_append_text(cap_item, " (%d kbit/s)", (1 << (capacity & 0xF)) * 100); @@ -19835,18 +20185,18 @@ dissect_wfa_wnm_cell_cap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo static void dissect_vendor_ie_wfa(packet_info *pinfo, proto_item *item, tvbuff_t *tag_tvb) { - gint tag_len = tvb_reported_length(tag_tvb); - guint8 subtype; + int tag_len = tvb_reported_length(tag_tvb); + uint8_t subtype; int offset = 0; tvbuff_t *vendor_tvb; if (tag_len < 4) return; - subtype = tvb_get_guint8(tag_tvb, 3); + subtype = tvb_get_uint8(tag_tvb, 3); proto_item_append_text(item, ": %s", val_to_str_const(subtype, wfa_subtype_vals, "Unknown")); vendor_tvb = tvb_new_subset_length(tag_tvb, offset + 4, tag_len - 4); - dissector_try_uint_new(wifi_alliance_ie_table, subtype, vendor_tvb, pinfo, item, FALSE, NULL); + dissector_try_uint_new(wifi_alliance_ie_table, subtype, vendor_tvb, pinfo, item, false, NULL); } static const range_string kde_selectors_rvals[] = { @@ -19889,9 +20239,9 @@ static int * const mlo_kde_link_hdrs[] = { static void dissect_rsn_ie_mlo_link(proto_item *item, proto_tree *tree, tvbuff_t *tvb, - int offset, guint32 tag_len _U_, packet_info *pinfo) + int offset, uint32_t tag_len _U_, packet_info *pinfo) { - guint8 info = tvb_get_guint8(tvb, offset); + uint8_t info = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_rsn_ie_mlo_link_info, @@ -19915,9 +20265,9 @@ dissect_rsn_ie_mlo_link(proto_item *item, proto_tree *tree, tvbuff_t *tvb, static void dissect_vendor_ie_rsn(proto_item * item, proto_tree * tree, tvbuff_t * tvb, - int offset, guint32 tag_len, packet_info *pinfo) + int offset, uint32_t tag_len, packet_info *pinfo) { - guint8 data_type = tvb_get_guint8(tvb, offset); + uint8_t data_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_rsn_ie_gtk_kde_data_type, tvb, offset, 1, ENC_NA); offset += 1; @@ -20099,11 +20449,11 @@ typedef enum { static void dissect_vendor_ie_marvell(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len) { - guint8 type; + uint8_t type; - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(ietree, hf_ieee80211_marvell_ie_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -20197,17 +20547,17 @@ static const value_string extreme_mesh_ie_type_vals[] = { static void dissect_vendor_ie_extreme_mesh(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint tag_len, + tvbuff_t *tvb, int offset, unsigned tag_len, packet_info *pinfo, proto_item *ti_len) { - guint8 type; + uint8_t type; if (tag_len <= 3) { expert_add_info_format(pinfo, ti_len, &ei_ieee80211_tag_length, "Tag length %u too short, must be >= 6", tag_len+3); /* Add length of OUI to tag_length */ return; } - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(ietree, hf_ieee80211_extreme_mesh_ie_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(item, ": %s", val_to_str_const(type, extreme_mesh_ie_type_vals, "Unknown")); offset += 1; @@ -20249,30 +20599,30 @@ dissect_vendor_ie_extreme_mesh(proto_item *item _U_, proto_tree *ietree, static void dissect_vendor_ie_atheros(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint tag_len, + tvbuff_t *tvb, int offset, unsigned tag_len, packet_info *pinfo, proto_item *ti_len) { - guint8 type; - guint8 subtype; - guint8 version; + uint8_t type; + uint8_t subtype; + uint8_t version; if (tag_len <= 3) { expert_add_info_format(pinfo, ti_len, &ei_ieee80211_tag_length, "Tag length %u too short, must be >= 6", tag_len+3); /* Add length of OUI to tag_length */ return; } proto_tree_add_item(ietree, hf_ieee80211_atheros_ie_type, tvb, offset, 1, ENC_NA); - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_item_append_text(item, ": %s", val_to_str_const(type, atheros_ie_type_vals, "Unknown")); offset += 1; tag_len -= 1; proto_tree_add_item(ietree, hf_ieee80211_atheros_ie_subtype, tvb, offset, 1, ENC_NA); - subtype = tvb_get_guint8(tvb, offset); + subtype = tvb_get_uint8(tvb, offset); offset += 1; tag_len -= 1; proto_tree_add_item(ietree, hf_ieee80211_atheros_ie_version, tvb, offset, 1, ENC_NA); - version = tvb_get_guint8(tvb, offset); + version = tvb_get_uint8(tvb, offset); offset += 1; tag_len -= 1; @@ -20381,28 +20731,28 @@ static const value_string aironet_mfp_vals[] = { static void dissect_vendor_ie_aironet(proto_item *aironet_item, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len) { - guint8 type; + uint8_t type; int i; - gboolean dont_change = FALSE; /* Don't change the IE item text to default */ + bool dont_change = false; /* Don't change the IE item text to default */ - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; switch (type) { case AIRONET_IE_DTPC: proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_dtpc, tvb, offset, 1, ENC_NA); - proto_item_append_text(aironet_item, ": Aironet DTPC Powerlevel %ddBm", tvb_get_guint8(tvb, offset)); + proto_item_append_text(aironet_item, ": Aironet DTPC Powerlevel %ddBm", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_dtpc_unknown, tvb, offset, 1, ENC_NA); - dont_change = TRUE; + dont_change = true; break; case AIRONET_IE_VERSION: proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_version, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(aironet_item, ": Aironet CCX version = %d", tvb_get_guint8(tvb, offset)); - dont_change = TRUE; + proto_item_append_text(aironet_item, ": Aironet CCX version = %d", tvb_get_uint8(tvb, offset)); + dont_change = true; break; case AIRONET_IE_QOS: proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_qos_reserved, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -20414,10 +20764,10 @@ dissect_vendor_ie_aironet(proto_item *aironet_item, proto_tree *ietree, * need to be swapped. Also, the "TXOP" may be TXOP - or not. */ for (i = 0; i < 4; i++) { - guint8 byte1, byte2; - guint16 txop; - byte1 = tvb_get_guint8(tvb, offset); - byte2 = tvb_get_guint8(tvb, offset + 1); + uint8_t byte1, byte2; + uint16_t txop; + byte1 = tvb_get_uint8(tvb, offset); + byte2 = tvb_get_uint8(tvb, offset + 1); txop = tvb_get_letohs(tvb, offset + 2); proto_tree_add_bytes_format(ietree, hf_ieee80211_aironet_ie_qos_val, tvb, offset, 4, NULL, "CCX QoS Parameters: ACI %u (%s), Admission Control %sMandatory, AIFSN %u, ECWmin %u, ECWmax %u, TXOP %u", @@ -20438,8 +20788,8 @@ dissect_vendor_ie_aironet(proto_item *aironet_item, proto_tree *ietree, case AIRONET_IE_CLIENT_MFP: proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_clientmfp, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(aironet_item, ": Aironet Client MFP %s", - val_to_str_const(1 & tvb_get_guint8(tvb, offset), aironet_mfp_vals, "Unknown")); - dont_change = TRUE; + val_to_str_const(1 & tvb_get_uint8(tvb, offset), aironet_mfp_vals, "Unknown")); + dont_change = true; break; default: proto_tree_add_item(ietree, hf_ieee80211_aironet_ie_data, tvb, offset, @@ -20459,15 +20809,15 @@ static const value_string ieee80211_vs_aruba_subtype_vals[] = { }; static void dissect_vendor_ie_aruba(proto_item *item, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint8 type; - const guint8* name; + uint8_t type; + const uint8_t* name; offset += 1; /* VS OUI Type */ tag_len -= 1; - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(ietree, hf_ieee80211_vs_aruba_subtype, tvb, offset, 1, ENC_NA); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_aruba_subtype_vals, "Unknown")); offset += 1; @@ -20479,7 +20829,7 @@ dissect_vendor_ie_aruba(proto_item *item, proto_tree *ietree, tag_len -= 1; proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_aruba_apname, tvb, - offset, tag_len, ENC_ASCII|ENC_NA, wmem_packet_scope(), &name); + offset, tag_len, ENC_ASCII|ENC_NA, pinfo->pool, &name); proto_item_append_text(item, " (%s)", name); break; @@ -20487,16 +20837,16 @@ dissect_vendor_ie_aruba(proto_item *item, proto_tree *ietree, proto_tree_add_item(ietree, hf_ieee80211_vs_aruba_data, tvb, offset, tag_len, ENC_NA); if (tag_len > 0) - proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(wmem_packet_scope(), tvb, offset, tag_len)); + proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(pinfo->pool, tvb, offset, tag_len)); break; } } static void dissect_vendor_ie_routerboard(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len, packet_info *pinfo) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint8 type, length; + uint8_t type, length; proto_item *subitem; proto_tree *subtree; @@ -20509,8 +20859,8 @@ dissect_vendor_ie_routerboard(proto_item *item _U_, proto_tree *ietree, tag_len -= 2; while (tag_len >= 2) { - type = tvb_get_guint8(tvb, offset); - length = tvb_get_guint8(tvb, offset+1); + type = tvb_get_uint8(tvb, offset); + length = tvb_get_uint8(tvb, offset+1); subitem = proto_tree_add_item(ietree, hf_ieee80211_vs_routerboard_subitem, tvb, offset, length+2, ENC_NA); subtree = proto_item_add_subtree(subitem, ett_routerboard); proto_item_set_text(subitem, "Sub IE (T/L: %d/%d)", type, length); @@ -20553,14 +20903,14 @@ static const value_string ieee80211_vs_aerohive_type_vals[] = { }; static void dissect_vendor_ie_aerohive(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len, packet_info *pinfo) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; - const guint8* hostname; + uint32_t type, length; + const uint8_t* hostname; proto_item *ti_len; /* VS OUI Type */ - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); offset += 1; tag_len -= 1; @@ -20585,7 +20935,7 @@ dissect_vendor_ie_aerohive(proto_item *item _U_, proto_tree *ietree, length = tag_len; } - proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_aerohive_hostname, tvb, offset, length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &hostname); + proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_aerohive_hostname, tvb, offset, length, ENC_ASCII|ENC_NA, pinfo->pool, &hostname); proto_item_append_text(item, " (%s)", hostname); break; @@ -20603,13 +20953,13 @@ static const value_string ieee80211_vs_mist_type_vals[] = { }; static void dissect_vendor_ie_mist(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; - const guint8* apname; + uint32_t type, length; + const uint8_t* apname; /* VS OUI Type */ - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_mist_type_vals, "Unknown")); offset += 1; tag_len -= 1; @@ -20617,7 +20967,7 @@ dissect_vendor_ie_mist(proto_item *item _U_, proto_tree *ietree, switch(type){ case MIST_APNAME: length = tag_len; - proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_mist_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &apname); + proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_mist_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, pinfo->pool, &apname); proto_item_append_text(item, " (%s)", apname); break; @@ -20634,13 +20984,13 @@ static const value_string ieee80211_vs_ruckus_type_vals[] = { }; static void dissect_vendor_ie_ruckus(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; - const guint8* apname; + uint32_t type, length; + const uint8_t* apname; /* VS OUI Type */ - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_ruckus_type_vals, "Unknown")); offset += 1; tag_len -= 1; @@ -20648,7 +20998,7 @@ dissect_vendor_ie_ruckus(proto_item *item _U_, proto_tree *ietree, switch(type){ case RUCKUS_APNAME: length = tag_len; - proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_ruckus_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &apname); + proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_ruckus_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, pinfo->pool, &apname); proto_item_append_text(item, " (%s)", apname); break; @@ -20665,13 +21015,13 @@ static const value_string ieee80211_vs_alcatel_type_vals[] = { }; static void dissect_vendor_ie_alcatel(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; - const guint8* apname; + uint32_t type, length; + const uint8_t* apname; /* VS OUI Type */ - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_alcatel_type_vals, "Unknown")); offset += 1; tag_len -= 1; @@ -20679,7 +21029,7 @@ dissect_vendor_ie_alcatel(proto_item *item _U_, proto_tree *ietree, switch(type){ case ALCATEL_APNAME: length = tag_len; - proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_alcatel_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &apname); + proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_alcatel_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, pinfo->pool, &apname); proto_item_append_text(item, " (%s)", apname); break; @@ -20720,13 +21070,13 @@ static const value_string ieee80211_vs_sgdsn_type_vals[] = { static void dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len, + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { // Technical specification defined in French law "NOR: ECOI1934044A" // https://www.legifrance.gouv.fr/eli/arrete/2019/12/27/ECOI1934044A/jo/texte - guint8 type = tvb_get_guint8(tvb, offset); + uint8_t type = tvb_get_uint8(tvb, offset); offset += 1; tag_len -= 1; @@ -20734,8 +21084,8 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, while (tag_len > 2) { - guint8 tlv_type = tvb_get_guint8(tvb, offset); - guint8 tlv_len = tvb_get_guint8(tvb, offset+1); + uint8_t tlv_type = tvb_get_uint8(tvb, offset); + uint8_t tlv_len = tvb_get_uint8(tvb, offset+1); if (tag_len < tlv_len) { break; @@ -20755,7 +21105,7 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, switch(tlv_type) { case SGDSN_VERSION: if (tlv_len == 1) { - guint32 value; + uint32_t value; proto_tree_add_item_ret_uint(tree, hf_ieee80211_vs_sgdsn_version, tvb, offset, 1, ENC_NA, &value); proto_item_append_text(tree, ": %d", value); } else { @@ -20764,12 +21114,12 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, break; case SGDSN_IDFR: if (tlv_len == 30) { - const guint8* string1; - const guint8* string2; - const guint8* string3; - proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_manufacturer, tvb, offset, 3, ENC_ASCII|ENC_NA, wmem_packet_scope(), &string1); - proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_model, tvb, offset+3, 3, ENC_ASCII|ENC_NA, wmem_packet_scope(), &string2); - proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_serialnumber, tvb, offset+6, tlv_len-6, ENC_ASCII|ENC_NA, wmem_packet_scope(), &string3); + const uint8_t* string1; + const uint8_t* string2; + const uint8_t* string3; + proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_manufacturer, tvb, offset, 3, ENC_ASCII|ENC_NA, pinfo->pool, &string1); + proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_model, tvb, offset+3, 3, ENC_ASCII|ENC_NA, pinfo->pool, &string2); + proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_serialnumber, tvb, offset+6, tlv_len-6, ENC_ASCII|ENC_NA, pinfo->pool, &string3); proto_item_append_text(tree, ": %s %s %s", string1, string2, string3); } else { expert_add_info_format(pinfo, tree, &ei_ieee80211_tag_length, "Value length must be 30"); @@ -20779,19 +21129,19 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, if (tlv_len >= 6 && tlv_len <= 20) { // ANSI/CTA-2063 Small UAS Serial Number. // Doc (free): https://shop.cta.tech/products/small-unmanned-aerial-systems-serial-numbers - const guint8* icao_mfr_code; - guint32 sn_len; - const guint8* serial_number; - proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_icaomfrcode, tvb, offset, 4, ENC_ASCII|ENC_NA, wmem_packet_scope(), &icao_mfr_code); + const uint8_t* icao_mfr_code; + uint32_t sn_len; + const uint8_t* serial_number; + proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_icaomfrcode, tvb, offset, 4, ENC_ASCII|ENC_NA, pinfo->pool, &icao_mfr_code); proto_tree_add_item_ret_uint(tree, hf_ieee80211_vs_sgdsn_serialnumber_len, tvb, offset+4, 1, ENC_NA, &sn_len); if(sn_len < 0x30 || (sn_len > 0x39 && sn_len < 0x41) || sn_len > 0x46) { expert_add_info_format(pinfo, tree, &ei_ieee80211_vs_sgdsn_serialnumber_invalid_len_val, "Serial Number Length must be '0' to '9', or 'A' to 'F'"); - } else if (sn_len != (guint32)tlv_len+(sn_len>0x39 ? 0x32 : 0x2A)) { + } else if (sn_len != (uint32_t)tlv_len+(sn_len>0x39 ? 0x32 : 0x2A)) { // Check that sn_len equals tlv_len - 5 + ( 0x37 if sn_len is 'A' to 'F', 0x30 otherwise). // We suppressed the minus 5 in the check above to avoid a compilation warning expert_add_info_format(pinfo, tree, &ei_ieee80211_vs_sgdsn_serialnumber_unexpected_len_val, "Expected %d byte(s), got %d byte(s)", tlv_len-5, (sn_len>0x39?sn_len-0x37:sn_len-0x30)); } - proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_serialnumber, tvb, offset+5, tlv_len-5, ENC_ASCII|ENC_NA, wmem_packet_scope(), &serial_number); + proto_tree_add_item_ret_string(tree, hf_ieee80211_vs_sgdsn_serialnumber, tvb, offset+5, tlv_len-5, ENC_ASCII|ENC_NA, pinfo->pool, &serial_number); proto_item_append_text(tree, ": %s %s", icao_mfr_code, serial_number); } else { expert_add_info_format(pinfo, tree, &ei_ieee80211_tag_length, "Value length must be between 6 and 20"); @@ -20802,7 +21152,7 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, case SGDSN_LONGITUDE_TAKEOFF: case SGDSN_LONGITUDE: if (tlv_len == 4) { - gint32 value; + int32_t value; proto_tree_add_item_ret_int(tree, hf_ieee80211_vs_sgdsn_gpscoord, tvb, offset, 4, ENC_NA, &value); proto_item_append_text(tree, ": %.5f", value / 100000.0); } else { @@ -20812,7 +21162,7 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, case SGDSN_ALTITUDE_ABS: case SGDSN_ALTITUDE_REL: if (tlv_len == 2) { - guint32 value; + uint32_t value; proto_tree_add_item_ret_uint(tree, hf_ieee80211_vs_sgdsn_altitude, tvb, offset, 2, ENC_NA, &value); proto_item_append_text(tree, ": %d m", value); } else { @@ -20821,7 +21171,7 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, break; case SGDSN_H_SPEED: if (tlv_len == 1) { - guint32 value; + uint32_t value; proto_tree_add_item_ret_uint(tree, hf_ieee80211_vs_sgdsn_speed, tvb, offset, 1, ENC_NA, &value); proto_item_append_text(tree, ": %d m/s", value); } else { @@ -20830,7 +21180,7 @@ dissect_vendor_ie_sgdsn(proto_item *item _U_, proto_tree *ietree, break; case SGDSN_HEADING: if (tlv_len == 2) { - guint32 value; + uint32_t value; proto_tree_add_item_ret_uint(tree, hf_ieee80211_vs_sgdsn_heading, tvb, offset, 2, ENC_NA, &value); proto_item_append_text(tree, ": %d deg", value); } else { @@ -20865,7 +21215,7 @@ static const value_string ieee80211_vs_nintendo_type_vals[] = { static proto_tree* dissect_vendor_ie_nintendo_tlv(const int hfindex, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 sublen) + tvbuff_t *tvb, int offset, uint32_t sublen) { proto_item *nintendo_item; proto_tree *nintendo_tree; @@ -20881,13 +21231,13 @@ dissect_vendor_ie_nintendo_tlv(const int hfindex, proto_tree *ietree, static void dissect_vendor_ie_nintendo(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len) { proto_tree *nintendo_tree; - guint8 subtype; - guint8 sublength; - guint32 length = tag_len; + uint8_t subtype; + uint8_t sublength; + uint32_t length = tag_len; /* Skip OUI type for now - the code is for type 1 (StreetPass) only */ /* http://3dbrew.org/wiki/StreetPass */ @@ -20895,8 +21245,8 @@ dissect_vendor_ie_nintendo(proto_item *item _U_, proto_tree *ietree, length -= 1; while(length > 0 && length < 256) { /* otherwise we are < 0 but on unsigned */ - subtype = tvb_get_guint8(tvb, offset); - sublength = tvb_get_guint8(tvb, offset + 1); + subtype = tvb_get_uint8(tvb, offset); + sublength = tvb_get_uint8(tvb, offset + 1); switch(subtype) { case NINTENDO_SERVICES: @@ -20936,10 +21286,10 @@ dissect_vendor_ie_nintendo(proto_item *item _U_, proto_tree *ietree, static void dissect_vendor_ie_meru(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len, + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; + uint32_t type, length; proto_item *subitem, *ti_len; proto_tree *subtree; @@ -20977,10 +21327,10 @@ static const value_string ieee80211_vs_extreme_subtype_vals[] = { static void dissect_vendor_ie_extreme(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len, + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type, length; + uint32_t type, length; proto_item *ti_len; proto_tree_add_item_ret_uint(ietree, hf_ieee80211_vs_extreme_subtype, tvb, offset, 1, ENC_NA, &type); @@ -21032,9 +21382,9 @@ static const value_string ieee80211_vs_fortinet_system_type_vals[] = { static void dissect_vendor_ie_fortinet(proto_item *item, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type; + uint32_t type; proto_tree_add_item_ret_uint(ietree, hf_ieee80211_vs_fortinet_subtype, tvb, offset, 2, ENC_LITTLE_ENDIAN, &type); @@ -21045,7 +21395,7 @@ dissect_vendor_ie_fortinet(proto_item *item, proto_tree *ietree, switch (type) { case FORTINET_SYSTEM: while (tag_len > 2) { - guint32 system_type, system_length; + uint32_t system_type, system_length; proto_tree_add_item_ret_uint(ietree, hf_ieee80211_vs_fortinet_system_type, tvb, offset, 1, ENC_NA, &system_type); proto_item_append_text(item, " - %s:", val_to_str_const(system_type, ieee80211_vs_fortinet_system_type_vals, "Unknown")); @@ -21058,23 +21408,23 @@ dissect_vendor_ie_fortinet(proto_item *item, proto_tree *ietree, switch (system_type) { case FORTINET_SYSTEM_APNAME:{ - const guint8* name; + const uint8_t* name; proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_fortinet_system_apname, tvb, - offset, system_length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &name); + offset, system_length, ENC_ASCII|ENC_NA, pinfo->pool, &name); proto_item_append_text(item, " %s", name); } break; case FORTINET_SYSTEM_APMODEL:{ - const guint8* model; + const uint8_t* model; proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_fortinet_system_apmodel, tvb, - offset, system_length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &model); + offset, system_length, ENC_ASCII|ENC_NA, pinfo->pool, &model); proto_item_append_text(item, " %s", model); } break; case FORTINET_SYSTEM_APSERIAL:{ - const guint8* serial; + const uint8_t* serial; proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_fortinet_system_apserial, tvb, - offset, system_length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &serial); + offset, system_length, ENC_ASCII|ENC_NA, pinfo->pool, &serial); proto_item_append_text(item, " %s", serial); } break; @@ -21088,7 +21438,7 @@ dissect_vendor_ie_fortinet(proto_item *item, proto_tree *ietree, proto_tree_add_item(ietree, hf_ieee80211_vs_fortinet_data, tvb, offset, tag_len, ENC_NA); if (tag_len > 0) - proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(wmem_packet_scope(), tvb, offset, tag_len)); + proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(pinfo->pool, tvb, offset, tag_len)); break; } } @@ -21100,15 +21450,15 @@ static const value_string ieee80211_vs_arista_subtype_vals[] = { }; static void dissect_vendor_ie_arista(proto_item *item, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint8 type; - const guint8* name; + uint8_t type; + const uint8_t* name; offset += 1; /* VS OUI Type */ tag_len -= 1; - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(ietree, hf_ieee80211_vs_arista_subtype, tvb, offset, 1, ENC_NA); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_arista_subtype_vals, "Unknown")); offset += 1; @@ -21120,7 +21470,7 @@ dissect_vendor_ie_arista(proto_item *item, proto_tree *ietree, tag_len -= 1; proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_arista_apname, tvb, - offset, tag_len, ENC_ASCII|ENC_NA, wmem_packet_scope(), &name); + offset, tag_len, ENC_ASCII|ENC_NA, pinfo->pool, &name); proto_item_append_text(item, " (%s)", name); break; @@ -21128,7 +21478,7 @@ dissect_vendor_ie_arista(proto_item *item, proto_tree *ietree, proto_tree_add_item(ietree, hf_ieee80211_vs_arista_data, tvb, offset, tag_len, ENC_NA); if (tag_len > 0) - proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(wmem_packet_scope(), tvb, offset, tag_len)); + proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(pinfo->pool, tvb, offset, tag_len)); break; } } @@ -21170,9 +21520,9 @@ static const value_string ieee80211_vs_wisun_nr_vals[] = { static void dissect_vendor_ie_wisun(proto_item *item, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len) + tvbuff_t *tvb, int offset, uint32_t tag_len, packet_info *pinfo) { - guint32 type; + uint32_t type; proto_tree_add_item_ret_uint(ietree, hf_ieee80211_vs_wisun_type, tvb, offset, 1, ENC_LITTLE_ENDIAN, &type); proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_wisun_type_vals, "Unknown")); @@ -21223,7 +21573,7 @@ dissect_vendor_ie_wisun(proto_item *item, proto_tree *ietree, default: proto_tree_add_item(ietree, hf_ieee80211_vs_wisun_data, tvb, offset, tag_len, ENC_NA); if (tag_len > 0) - proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(wmem_packet_scope(), tvb, offset, tag_len)); + proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(pinfo->pool, tvb, offset, tag_len)); break; } } @@ -21273,7 +21623,7 @@ static ieee80211_packet_data_t* get_or_create_packet_data(packet_info *pinfo) { } /* See ieee80211_rsn_keymgmt_vals */ -static gboolean is_ft_akm_suite(guint32 akm_suite) +static bool is_ft_akm_suite(uint32_t akm_suite) { switch (akm_suite) { case AKMS_FT_IEEE802_1X: @@ -21282,27 +21632,27 @@ static gboolean is_ft_akm_suite(guint32 akm_suite) case AKMS_FT_IEEE802_1X_SHA384: case AKMS_FT_FILS_SHA256: case AKMS_FT_FILS_SHA384: - return TRUE; + return true; default: - return FALSE; + return false; } } static void save_proto_data(tvbuff_t *tvb, packet_info *pinfo, int offset, size_t size, int key) { - guint8 *data; + uint8_t *data; if (!enable_decryption) { return; } - data = (guint8 *)wmem_alloc(pinfo->pool, size); + data = (uint8_t *)wmem_alloc(pinfo->pool, size); tvb_memcpy(tvb, data, offset, size); p_add_proto_data(pinfo->pool, pinfo, proto_wlan, key, data); } static void -save_proto_data_value(packet_info *pinfo, guint value, int key) +save_proto_data_value(packet_info *pinfo, unsigned value, int key) { if (!enable_decryption) { return; @@ -21313,14 +21663,14 @@ save_proto_data_value(packet_info *pinfo, guint value, int key) static void save_tag_for_dot11decrypt(tvbuff_t *tvb, packet_info *pinfo, int offset) { - guint8 tag_no; - guint8 tag_len; + uint8_t tag_no; + uint8_t tag_len; if (!enable_decryption) { return; } - tag_no = tvb_get_guint8(tvb, offset); - tag_len = tvb_get_guint8(tvb, offset + 1); + tag_no = tvb_get_uint8(tvb, offset); + tag_len = tvb_get_uint8(tvb, offset + 1); switch (tag_no) { case TAG_MOBILITY_DOMAIN: @@ -21342,17 +21692,17 @@ save_tag_for_dot11decrypt(tvbuff_t *tvb, packet_info *pinfo, int offset) static void set_packet_data_last_akm_suite(ieee80211_packet_data_t *packet_data, - guint32 last_akm_suite) + uint32_t last_akm_suite) { - packet_data->last_akm_suite_set = TRUE; + packet_data->last_akm_suite_set = true; packet_data->last_akm_suite = last_akm_suite; } static void set_conversation_last_akm_suite(ieee80211_conversation_data_t *conv, - guint32 last_akm_suite) + uint32_t last_akm_suite) { - conv->last_akm_suite_set = TRUE; + conv->last_akm_suite_set = true; conv->last_akm_suite = last_akm_suite; } @@ -21362,15 +21712,15 @@ set_conversation_last_akm_suite(ieee80211_conversation_data_t *conv, */ static int dissect_rsn_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, - int offset, guint32 tag_len, association_sanity_check_t *association_sanity_check) + int offset, uint32_t tag_len, association_sanity_check_t *association_sanity_check) { proto_item *rsn_gcs_item, *rsn_pcs_item, *rsn_akms_item, *rsn_pmkid_item, *rsn_gmcs_item; proto_item *rsn_sub_pcs_item, *rsn_sub_akms_item; proto_item *rsn_pcs_count, *rsn_akms_count, *rsn_pmkid_count; proto_tree *rsn_gcs_tree, *rsn_pcs_tree, *rsn_akms_tree, *rsn_pmkid_tree, *rsn_gmcs_tree; proto_tree *rsn_sub_pcs_tree, *rsn_sub_akms_tree; - guint16 pcs_count, akms_count, pmkid_count; - guint ii; + uint16_t pcs_count, akms_count, pmkid_count; + unsigned ii; int tag_end = offset + tag_len; static int * const ieee80211_rsn_cap[] = { &hf_ieee80211_rsn_cap_preauth, @@ -21401,7 +21751,7 @@ dissect_rsn_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, if (tvb_get_ntoh24(tvb, offset) == OUI_RSN) { proto_tree_add_item(rsn_gcs_tree, hf_ieee80211_rsn_gcs_80211_type, tvb, offset + 3, 1, ENC_LITTLE_ENDIAN); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), GROUP_CIPHER_KEY); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), GROUP_CIPHER_KEY); } else { proto_tree_add_item(rsn_gcs_tree, hf_ieee80211_rsn_gcs_type, tvb, offset + 3, 1, ENC_LITTLE_ENDIAN); } @@ -21434,8 +21784,8 @@ dissect_rsn_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, if (tvb_get_ntoh24(tvb, offset) == OUI_RSN) { proto_tree_add_item(rsn_sub_pcs_tree, hf_ieee80211_rsn_pcs_80211_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(rsn_pcs_item, " %s", rsn_pcs_return(tvb_get_ntohl(tvb, offset))); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), CIPHER_KEY); + proto_item_append_text(rsn_pcs_item, " %s", rsn_pcs_return(pinfo->pool, tvb_get_ntohl(tvb, offset))); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), CIPHER_KEY); } else { proto_tree_add_item(rsn_sub_pcs_tree, hf_ieee80211_rsn_pcs_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); } @@ -21474,23 +21824,23 @@ dissect_rsn_ie(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, if (tvb_get_ntoh24(tvb, offset) == OUI_RSN) { proto_tree_add_item(rsn_sub_akms_tree, hf_ieee80211_rsn_akms_80211_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(rsn_akms_item, " %s", rsn_akms_return(tvb_get_ntohl(tvb, offset))); - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset + 3), AKM_KEY); + proto_item_append_text(rsn_akms_item, " %s", rsn_akms_return(pinfo->pool, tvb_get_ntohl(tvb, offset))); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset + 3), AKM_KEY); set_packet_data_last_akm_suite(packet_data, tvb_get_ntohl(tvb, offset)); if (association_sanity_check) { - guint32 akm_suite = tvb_get_ntohl(tvb, offset); + uint32_t akm_suite = tvb_get_ntohl(tvb, offset); association_sanity_check->last_akm_suite = akm_suite; if (is_ft_akm_suite(akm_suite)) { /* This is an FT AKM suite */ - association_sanity_check->has_ft_akm_suite = TRUE; + association_sanity_check->has_ft_akm_suite = true; if (association_sanity_check->rsn_first_ft_akm_suite == NULL && rsn_sub_akms_tree != NULL) { association_sanity_check->rsn_first_ft_akm_suite = rsn_sub_akms_tree->last_child; } } else { /* This is a non-FT AKM suite */ - association_sanity_check->has_non_ft_akm_suite = TRUE; + association_sanity_check->has_non_ft_akm_suite = true; if (association_sanity_check->rsn_first_non_ft_akm_suite == NULL && rsn_sub_akms_tree != NULL) { association_sanity_check->rsn_first_non_ft_akm_suite = rsn_sub_akms_tree->last_child; } @@ -21823,17 +22173,17 @@ dissect_extended_capabilities_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree * /* Extended Capability octet 11 */ #if 0 /* Added for SAE support */ - sae_byte = tvb_get_guint8(tvb, offset); + sae_byte = tvb_get_uint8(tvb, offset); /* * If one of the SAE bits is set, assume we will see Password identifiers */ if (sae_byte & 0x6) { - gboolean sae_val = TRUE; - guint64 *key = NULL; + bool sae_val = true; + uint64_t *key = NULL; /* Must be for the source of the request */ - key = (guint64 *)wmem_new(wmem_file_scope(), guint64); - *key = *(guint64 *)pinfo->src.data; + key = (uint64_t *)wmem_new(wmem_file_scope(), uint64_t); + *key = *(uint64_t *)pinfo->src.data; wmem_map_insert(sae_prop_hash, key, GINT_TO_POINTER(sae_val)); } #endif @@ -22037,9 +22387,9 @@ dissect_vht_tx_pwr_envelope(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset = 0; proto_item *tx_pwr_item, *ti; proto_tree *tx_pwr_info_tree; - guint8 opt_ie_cnt=0; - guint8 i; - guint mtpi; + uint8_t opt_ie_cnt=0; + uint8_t i; + unsigned mtpi; if (tag_len < 2 || tag_len > 9) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, @@ -22047,7 +22397,7 @@ dissect_vht_tx_pwr_envelope(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, return 1; } - mtpi = (tvb_get_guint8(tvb, offset) >> 3) & 0x7; + mtpi = (tvb_get_uint8(tvb, offset) >> 3) & 0x7; tx_pwr_item = proto_tree_add_item(tree, hf_ieee80211_vht_tpe_pwr_info, tvb, offset, 1, ENC_NA); tx_pwr_info_tree = proto_item_add_subtree(tx_pwr_item, ett_vht_tpe_info_tree); @@ -22055,7 +22405,7 @@ dissect_vht_tx_pwr_envelope(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_item(tx_pwr_info_tree, hf_ieee80211_vht_tpe_pwr_info_unit, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_tree_add_item(tx_pwr_info_tree, hf_ieee80211_vht_tpe_pwr_info_category, tvb, offset, 1, ENC_LITTLE_ENDIAN); - opt_ie_cnt = tvb_get_guint8(tvb, offset) & 0x07; + opt_ie_cnt = tvb_get_uint8(tvb, offset) & 0x07; offset += 1; @@ -22137,7 +22487,7 @@ dissect_mobility_domain(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi int offset = 0; if (field_data->sanity_check != NULL) { - field_data->sanity_check->association_has_mobility_domain_element = TRUE; + field_data->sanity_check->association_has_mobility_domain_element = true; } if (tag_len < 3) { @@ -22157,7 +22507,7 @@ dissect_mobility_domain(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi return tvb_captured_length(tvb); } -static guint16 get_mic_len_owe(guint16 group) { +static uint16_t get_mic_len_owe(uint16_t group) { switch(group) { // FFC, len(p) <= 2048 case 1: @@ -22201,7 +22551,7 @@ static guint16 get_mic_len_owe(guint16 group) { } } -static guint16 get_mic_len(guint32 akm_suite) { +static uint16_t get_mic_len(uint32_t akm_suite) { switch(akm_suite) { case AKMS_WPA_SHA384_SUITEB: case AKMS_FT_IEEE802_1X_SHA384: @@ -22229,18 +22579,18 @@ static conversation_t *find_wlan_conversation_pinfo(packet_info *pinfo) return find_conversation_pinfo(pinfo, 0); } -static gboolean determine_nonce_is_set(tvbuff_t *tvb) { +static bool determine_nonce_is_set(tvbuff_t *tvb) { int offset; for (offset = 12; offset < 12 + 32; offset++) - if (tvb_get_guint8(tvb, offset)) - return TRUE; - return FALSE; + if (tvb_get_uint8(tvb, offset)) + return true; + return false; } -static guint16 determine_mic_len(packet_info *pinfo, gboolean assoc_frame, - gboolean *defaulted) { - guint16 eapol_key_mic_len = 16; /* Default MIC length */ +static uint16_t determine_mic_len(packet_info *pinfo, bool assoc_frame, + bool *defaulted) { + uint16_t eapol_key_mic_len = 16; /* Default MIC length */ conversation_t *conversation = find_wlan_conversation_pinfo(pinfo); ieee80211_conversation_data_t *conversation_data = NULL; ieee80211_packet_data_t *packet_data = @@ -22270,7 +22620,7 @@ static guint16 determine_mic_len(packet_info *pinfo, gboolean assoc_frame, eapol_key_mic_len = get_mic_len_owe(conversation_data->owe_group); } else if (conversation_data->last_akm_suite == AKMS_SAE_GROUP_DEPEND || conversation_data->last_akm_suite == AKMS_FT_SAE_GROUP_DEPEND) { - *defaulted = TRUE; + *defaulted = true; } else { eapol_key_mic_len = get_mic_len(conversation_data->last_akm_suite); @@ -22283,7 +22633,7 @@ static guint16 determine_mic_len(packet_info *pinfo, gboolean assoc_frame, eapol_key_mic_len = get_mic_len_owe(packet_data->owe_group); } else if (packet_data->last_akm_suite == AKMS_SAE_GROUP_DEPEND || packet_data->last_akm_suite == AKMS_FT_SAE_GROUP_DEPEND) { - *defaulted = TRUE; + *defaulted = true; } else { eapol_key_mic_len = get_mic_len(packet_data->last_akm_suite); @@ -22292,7 +22642,7 @@ static guint16 determine_mic_len(packet_info *pinfo, gboolean assoc_frame, /* * We used the default so say so. */ - *defaulted = TRUE; + *defaulted = true; } return eapol_key_mic_len; } @@ -22302,7 +22652,7 @@ dissect_fast_bss_transition(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, { int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; - gboolean assoc_frame = field_data->sanity_check != NULL; + bool assoc_frame = field_data->sanity_check != NULL; int offset = 0; if (tag_len < 82) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, @@ -22316,7 +22666,7 @@ dissect_fast_bss_transition(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 2; - gboolean defaulted_mic_len = FALSE; + bool defaulted_mic_len = false; int mic_len = determine_mic_len(pinfo, assoc_frame, &defaulted_mic_len); save_proto_data(tvb, pinfo, offset, mic_len, FTE_MIC_KEY); save_proto_data_value(pinfo, mic_len, FTE_MIC_LEN_KEY); @@ -22335,15 +22685,15 @@ dissect_fast_bss_transition(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 32; while (offset + 2 <= tag_len) { - guint8 id, len; + uint8_t id, len; int s_end; proto_item *ti; proto_tree *subtree; - const gchar *subtree_name; + const char *subtree_name; proto_keydata_t *proto; - id = tvb_get_guint8(tvb, offset); - len = tvb_get_guint8(tvb, offset + 1); + id = tvb_get_uint8(tvb, offset); + len = tvb_get_uint8(tvb, offset + 1); subtree_name = val_to_str_const(id, ft_subelem_id_vals, "Unknown"); subtree = proto_tree_add_subtree_format(tree, tvb, offset, len + 2, ett_tag_ft_subelem_tree, NULL, @@ -22379,7 +22729,7 @@ dissect_fast_bss_transition(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 2; if (offset > s_end) break; - save_proto_data_value(pinfo, tvb_get_guint8(tvb, offset), GTK_SUBELEM_KEY_LEN_KEY); + save_proto_data_value(pinfo, tvb_get_uint8(tvb, offset), GTK_SUBELEM_KEY_LEN_KEY); proto_tree_add_item(subtree, hf_ieee80211_tag_ft_subelem_gtk_key_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -22396,7 +22746,7 @@ dissect_fast_bss_transition(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto = (proto_keydata_t *) p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, DECRYPTED_GTK_KEY); if (proto) { - guint keydata_len = proto->keydata_len; + unsigned keydata_len = proto->keydata_len; tvbuff_t *next_tvb = tvb_new_child_real_data(tvb, proto->keydata, keydata_len, keydata_len); add_new_data_source(pinfo, next_tvb, "Decrypted GTK"); @@ -22628,18 +22978,18 @@ dissect_ssid_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* int tag_len = tvb_reported_length(tvb); int offset = 0; proto_tree *entry; - gboolean first = TRUE; + bool first = true; while (offset + 1 <= tag_len) { - guint8 len = tvb_get_guint8(tvb, offset + 1); - guint8 *str; + uint8_t len = tvb_get_uint8(tvb, offset + 1); + uint8_t *str; if (offset + 2 + len > tag_len) break; str = tvb_format_text(pinfo->pool, tvb, offset + 2, len); proto_item_append_text(tree, "%c %s", (first ? ':' : ','), str); - first = FALSE; + first = false; entry = proto_tree_add_subtree_format(tree, tvb, offset, 2 + len, ett_ssid_list, NULL, "SSID: %s", str); proto_tree_add_item(entry, hf_ieee80211_tag_number, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -22834,10 +23184,10 @@ dissect_ric_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; proto_tree *sub_tree; - guint8 desc_cnt = 0; - guint32 next_ie; + uint8_t desc_cnt = 0; + uint32_t next_ie; int offset_r = 0; - const guint8 ids[] = { TAG_RIC_DESCRIPTOR }; + const uint8_t ids[] = { TAG_RIC_DESCRIPTOR }; if (tag_len != 4) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, @@ -22849,7 +23199,7 @@ dissect_ric_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - desc_cnt = tvb_get_guint8(tvb, offset); + desc_cnt = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_ric_data_desc_cnt, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -22871,7 +23221,7 @@ dissect_ric_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data while ( desc_cnt != 0 ) { - next_ie = tvb_get_guint8(tvb, offset); + next_ie = tvb_get_uint8(tvb, offset); proto_item_append_text(field_data->item_tag, " :(%d:%s)", desc_cnt, val_to_str_ext(next_ie, &tag_num_vals_ext, "Reserved (%d)")); /* Recursive call to avoid duplication of code*/ offset_r = add_tagged_field(pinfo, sub_tree, tvb, offset, field_data->ftype, ids, G_N_ELEMENTS(ids), NULL); @@ -22932,7 +23282,7 @@ dissect_ric_descriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void int offset = 0; ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int tag_len = tvb_reported_length(tvb); - guint8 rsrc_type = 0; + uint8_t rsrc_type = 0; if (tag_len < 1) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, @@ -22940,7 +23290,7 @@ dissect_ric_descriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void return 1; } - rsrc_type = tvb_get_guint8(tvb, offset); + rsrc_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_ric_desc_rsrc_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -23006,9 +23356,9 @@ dissect_channel_switch_wrapper(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree int tag_len = tvb_reported_length(tvb); int offset = 0; int tmp_sublen; - const guint8 ids[] = { TAG_COUNTRY_INFO, TAG_WIDE_BW_CHANNEL_SWITCH, + const uint8_t ids[] = { TAG_COUNTRY_INFO, TAG_WIDE_BW_CHANNEL_SWITCH, TAG_TX_PWR_ENVELOPE }; - const guint8 ext_ids[] = {ETAG_BANDWIDTH_INDICATION}; + const uint8_t ext_ids[] = {ETAG_BANDWIDTH_INDICATION}; /* Decode three subelement in IE-196(Channel Switch Wrapper element): @@ -23018,9 +23368,9 @@ dissect_channel_switch_wrapper(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree (4) Bandwidth Indication subelement */ while (tag_len > 0){ - tmp_sublen = tvb_get_guint8(tvb, offset + 1); + tmp_sublen = tvb_get_uint8(tvb, offset + 1); if (add_tagged_field_with_validation(pinfo, tree, tvb, offset, 0, ids, - G_N_ELEMENTS(ids), FALSE, ext_ids, G_N_ELEMENTS(ext_ids), FALSE, NULL) == 0) { + G_N_ELEMENTS(ids), false, ext_ids, G_N_ELEMENTS(ext_ids), false, NULL) == 0) { break; } tag_len -= (tmp_sublen + 2); @@ -23095,96 +23445,96 @@ static int dissect_neighbor_ap_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset) { - guint16 tbtt_info_h; - guint16 tbtt_info_len; - guint16 tbtt_info_count; - guint16 len_remain = 0; + uint16_t tbtt_info_h; + uint16_t tbtt_info_len; + uint16_t tbtt_info_count; + uint16_t len_remain = 0; int i = 0; - gboolean display_tbtt_offset = FALSE; - gboolean display_bssid_subfield = FALSE; - gboolean display_short_bssid_subfield = FALSE; - gboolean display_bss_parameters_subfield = FALSE; - gboolean display_20mhz_psd_subfield = FALSE; - gboolean display_mld_params_subfield = FALSE; - gboolean display_reserved = FALSE; + bool display_tbtt_offset = false; + bool display_bssid_subfield = false; + bool display_short_bssid_subfield = false; + bool display_bss_parameters_subfield = false; + bool display_20mhz_psd_subfield = false; + bool display_mld_params_subfield = false; + bool display_reserved = false; proto_item *item; proto_tree *query; - tbtt_info_h = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + tbtt_info_h = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); tbtt_info_len = TBTT_INFO_LENGTH(tbtt_info_h); tbtt_info_count = TBTT_INFO_COUNT(tbtt_info_h); switch(tbtt_info_len) { case 0: case 3: case 4: case 10: case 14: case 15: /* Reserved cases */ - display_reserved = TRUE; + display_reserved = true; len_remain = tbtt_info_len; break; case 1: - display_tbtt_offset = TRUE; + display_tbtt_offset = true; break; case 2: - display_tbtt_offset = TRUE; - display_bss_parameters_subfield = TRUE; + display_tbtt_offset = true; + display_bss_parameters_subfield = true; break; case 5: - display_tbtt_offset = TRUE; - display_short_bssid_subfield = TRUE; + display_tbtt_offset = true; + display_short_bssid_subfield = true; break; case 6: - display_tbtt_offset = TRUE; - display_short_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; + display_tbtt_offset = true; + display_short_bssid_subfield = true; + display_bss_parameters_subfield = true; break; case 7: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; break; case 8: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_bss_parameters_subfield = true; break; case 9: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; - display_20mhz_psd_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_bss_parameters_subfield = true; + display_20mhz_psd_subfield = true; break; case 11: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_short_bssid_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_short_bssid_subfield = true; break; case 12: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_short_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_short_bssid_subfield = true; + display_bss_parameters_subfield = true; break; case 13: - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_short_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; - display_20mhz_psd_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_short_bssid_subfield = true; + display_bss_parameters_subfield = true; + display_20mhz_psd_subfield = true; break; case 16: /* EHT stuff */ - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_short_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; - display_20mhz_psd_subfield = TRUE; - display_mld_params_subfield = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_short_bssid_subfield = true; + display_bss_parameters_subfield = true; + display_20mhz_psd_subfield = true; + display_mld_params_subfield = true; break; default: /* 17- 255: Same as 16 but the remaining bytes are reserved. */ - display_tbtt_offset = TRUE; - display_bssid_subfield = TRUE; - display_short_bssid_subfield = TRUE; - display_bss_parameters_subfield = TRUE; - display_20mhz_psd_subfield = TRUE; - display_mld_params_subfield = TRUE; - display_reserved = TRUE; + display_tbtt_offset = true; + display_bssid_subfield = true; + display_short_bssid_subfield = true; + display_bss_parameters_subfield = true; + display_20mhz_psd_subfield = true; + display_mld_params_subfield = true; + display_reserved = true; len_remain = tbtt_info_len - 16; break; } @@ -23577,7 +23927,7 @@ static int dissect_subchannel_selective_transmission(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 control = tvb_get_guint8(tvb, offset); + uint8_t control = tvb_get_uint8(tvb, offset); /* Different if sounding option is 0 or 1 */ if ((control & 0x01) == 0x00) { @@ -23588,7 +23938,7 @@ dissect_subchannel_selective_transmission(tvbuff_t *tvb, packet_info *pinfo _U_, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 4; } else { - guint8 control2 = tvb_get_guint8(tvb, offset + 1); + uint8_t control2 = tvb_get_uint8(tvb, offset + 1); proto_item *pi = NULL; proto_tree *chan_tree = NULL; @@ -23621,7 +23971,7 @@ dissect_subchannel_selective_transmission(tvbuff_t *tvb, packet_info *pinfo _U_, } static void -s1g_open_loop_link_margin_custom(gchar *result, guint8 ollm_index) +s1g_open_loop_link_margin_custom(char *result, uint8_t ollm_index) { snprintf(result, ITEM_LABEL_LENGTH, "%3.1f dB", (-128.0 + ollm_index * 0.5)); @@ -23652,10 +24002,10 @@ static const value_string s1g_raw_control_raw_type[] = { { 0, NULL } }; -static guint8 global_s1g_raw_type = 0; +static uint8_t global_s1g_raw_type; static void -s1g_raw_type_options_custom(gchar *result, guint8 raw_type) +s1g_raw_type_options_custom(char *result, uint8_t raw_type) { switch (global_s1g_raw_type) { case 0x00: @@ -23712,7 +24062,7 @@ s1g_raw_type_options_custom(gchar *result, guint8 raw_type) } } -static void s1g_raw_slot_duration_custom(gchar *result, guint16 slot_def) +static void s1g_raw_slot_duration_custom(char *result, uint16_t slot_def) { snprintf(result, ITEM_LABEL_LENGTH, "%u (%u uS)", slot_def, (500 + slot_def * 120)); } @@ -23767,7 +24117,7 @@ dissect_rps(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data proto_item *rati; int offset = 0; int idx = 0; - guint8 rps_len = tvb_reported_length_remaining(tvb, offset); + uint8_t rps_len = tvb_reported_length_remaining(tvb, offset); raw_assignment_tree = proto_tree_add_subtree(tree, tvb, offset, rps_len, ett_s1g_raw_assignment, NULL, @@ -23779,8 +24129,8 @@ dissect_rps(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data ett_s1g_raw_assn_tree, &rati, "Assignment %d", idx); - guint8 raw_control = tvb_get_guint8(tvb, offset); - guint8 raw_slot_def = tvb_get_guint8(tvb, offset + 1); + uint8_t raw_control = tvb_get_uint8(tvb, offset); + uint8_t raw_slot_def = tvb_get_uint8(tvb, offset + 1); global_s1g_raw_type = raw_control & 0x03; @@ -23814,7 +24164,7 @@ dissect_rps(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data } if (raw_control & RAW_GROUP_INDICATION) { - guint32 raw_group = tvb_get_letoh24(tvb, offset); + uint32_t raw_group = tvb_get_letoh24(tvb, offset); if (raw_group == 0) { proto_item *it = NULL; @@ -23924,7 +24274,7 @@ static int dissect_aid_request(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 mode = tvb_get_guint8(tvb, offset); + uint8_t mode = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_aid_request_mode, @@ -24014,7 +24364,7 @@ dissect_s1g_sector_operation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * { int offset = 0; int len = 0; - guint8 control = tvb_get_guint8(tvb, offset); + uint8_t control = tvb_get_uint8(tvb, offset); if (control & 0x01) { proto_tree_add_bitmask_with_flags(tree, tvb, offset, @@ -24090,7 +24440,7 @@ static int dissect_authentication_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint16 control_params = tvb_get_letohs(tvb, offset); + uint16_t control_params = tvb_get_letohs(tvb, offset); proto_tree *auth_tree = NULL; if ((control_params & 0x0001) == 0) { @@ -24169,7 +24519,7 @@ static int dissect_s1g_relay(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 relay_control = tvb_get_guint8(tvb, offset); + uint8_t relay_control = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_relay_control, @@ -24196,10 +24546,10 @@ static const true_false_string relay_direction_tfs = { "Sent by a non-AP STA" }; -static guint relay_function_field = 0; +static unsigned relay_function_field; static void -enable_relay_function_custom(gchar *result, guint8 enable_relay_function) +enable_relay_function_custom(char *result, uint8_t enable_relay_function) { switch (relay_function_field & 0x03) { case 0x00: /* Relay Activation Mode == 0 && Direction == 0 */ @@ -24235,7 +24585,7 @@ dissect_s1g_relay_activation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * int offset = 0; proto_tree *relay_activ = NULL; - relay_function_field = tvb_get_guint8(tvb, offset); + relay_function_field = tvb_get_uint8(tvb, offset); relay_activ = proto_tree_add_subtree_format(tree, tvb, offset, 1, ett_s1g_relay_function, @@ -24276,13 +24626,13 @@ dissect_reachable_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre { int offset = 0; proto_tree *reach_list = NULL; - guint8 addr_count = 0, addr_num = 0; + uint8_t addr_count = 0, addr_num = 0; proto_tree_add_item(tree, hf_ieee80211_s1g_initiator_mac_address, tvb, offset, 6, ENC_NA); offset += 6; - addr_count = tvb_get_guint8(tvb, offset); + addr_count = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_s1g_address_count, tvb, offset, 1, ENC_NA); offset++; @@ -24329,7 +24679,7 @@ static int dissect_s1g_relay_discovery(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 relay_discovery_control = tvb_get_guint8(tvb, offset); + uint8_t relay_discovery_control = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_relay_discovery_control, @@ -24439,7 +24789,7 @@ dissect_pv1_probe_response_option(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 1; } else if (tvb_reported_length_remaining(tvb, offset) > 1) { - guint8 opt_bitmaps = tvb_get_guint8(tvb, offset); + uint8_t opt_bitmaps = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_s1g_probe_response_group_bitmap, tvb, offset, 1, ENC_NA); @@ -24458,7 +24808,7 @@ dissect_pv1_probe_response_option(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t } static void -s1g_max_awake_duration_custom(gchar *result, guint16 duration) +s1g_max_awake_duration_custom(char *result, uint16_t duration) { if (duration == 0) snprintf(result, ITEM_LABEL_LENGTH, "%s", "No limit applies"); @@ -24467,7 +24817,7 @@ s1g_max_awake_duration_custom(gchar *result, guint16 duration) } static void -s1g_recovery_time_duration_custom(gchar *result, guint16 duration) +s1g_recovery_time_duration_custom(char *result, uint16_t duration) { snprintf(result, ITEM_LABEL_LENGTH, "%d uS", (int)duration * 40); } @@ -24552,13 +24902,13 @@ dissect_s1g_operation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, v int offset = 0; proto_tree *s1g_op_info = NULL; proto_item *cw_item = NULL; - guint8 chan_width = 0; + uint8_t chan_width = 0; s1g_op_info = proto_tree_add_subtree(tree, tvb, offset, 4, ett_s1g_operation_info, NULL, "S1G Operation Information"); - chan_width = tvb_get_guint8(tvb, offset); + chan_width = tvb_get_uint8(tvb, offset); cw_item = proto_tree_add_bitmask_with_flags(s1g_op_info, tvb, offset, hf_ieee80211_s1g_channel_width, ett_s1g_channel_width, @@ -24614,7 +24964,7 @@ static int dissect_header_compression(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 control = tvb_get_guint8(tvb, offset); + uint8_t control = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_header_comp_control, @@ -24684,13 +25034,13 @@ dissect_max_away_duration(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre } static int -dissect_mcs_set(proto_tree *tree, tvbuff_t *tvb, int offset, gboolean basic, gboolean vendorspecific) +dissect_mcs_set(proto_tree *tree, tvbuff_t *tvb, int offset, bool basic, bool vendorspecific) { proto_item *ti; proto_tree *mcs_tree, *bit_tree; - guint8 rx_nss, tx_nss; /* 0-4 for HT and 0-8 for VHT*/ - guint32 value_mcs_0_31, value_mcs_32_52, value_mcs_53_76; - guint16 tx_mcs_set; + uint8_t rx_nss, tx_nss; /* 0-4 for HT and 0-8 for VHT*/ + uint32_t value_mcs_0_31, value_mcs_32_52, value_mcs_53_76; + uint16_t tx_mcs_set; rx_nss = tx_nss = 8; /* 16 byte Supported MCS set */ if (vendorspecific) @@ -24890,21 +25240,21 @@ dissect_ht_info_ie_1_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 2; - offset = dissect_mcs_set(tree, tvb, offset, TRUE, FALSE); + offset = dissect_mcs_set(tree, tvb, offset, true, false); return offset; } static int dissect_wapi_param_set(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *tree, int offset, guint32 tag_len, proto_item *ti_len, + proto_tree *tree, int offset, uint32_t tag_len, proto_item *ti_len, proto_item *ti, int ftype) { /* Parse the WAPI Parameter Set IE Here*/ proto_item *item; proto_tree *subtree; - guint16 loop_cnt, version, akm_cnt = 1, ucast_cnt = 1, bkid_cnt = 1; - guint8 akm_suite_type = 0, ucast_cipher_type = 0, mcast_cipher_type = 0; + uint16_t loop_cnt, version, akm_cnt = 1, ucast_cnt = 1, bkid_cnt = 1; + uint8_t akm_suite_type = 0, ucast_cipher_type = 0, mcast_cipher_type = 0; static int * const ieee80211_tag_wapi_param_set[] = { &hf_ieee80211_tag_wapi_param_set_capab_preauth, &hf_ieee80211_tag_wapi_param_set_capab_rsvd, @@ -24938,7 +25288,7 @@ dissect_wapi_param_set(tvbuff_t *tvb, packet_info *pinfo, subtree = proto_item_add_subtree(item, ett_tag_wapi_param_set_akm_tree); proto_tree_add_item(subtree, hf_ieee80211_tag_wapi_param_set_akm_suite_oui, tvb, offset, 3, ENC_NA); offset += 3; - akm_suite_type = tvb_get_guint8(tvb, offset); + akm_suite_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_wapi_param_set_akm_suite_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; proto_item_append_text(ti, " (%d,%s)", loop_cnt+1, val_to_str(akm_suite_type, @@ -24961,7 +25311,7 @@ dissect_wapi_param_set(tvbuff_t *tvb, packet_info *pinfo, subtree = proto_item_add_subtree(item, ett_tag_wapi_param_set_ucast_tree); proto_tree_add_item(subtree, hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_oui, tvb, offset, 3, ENC_BIG_ENDIAN); offset += 3; - ucast_cipher_type = tvb_get_guint8(tvb, offset); + ucast_cipher_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_wapi_param_set_ucast_cipher_suite_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; proto_item_append_text(ti, " (%d,%s)", loop_cnt+1, val_to_str(ucast_cipher_type, ieee80211_wapi_cipher_type, "Reserved: %d")); @@ -24976,7 +25326,7 @@ dissect_wapi_param_set(tvbuff_t *tvb, packet_info *pinfo, /* Multicast Cipher Suites*/ proto_tree_add_item(tree, hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_oui, tvb, offset, 3, ENC_NA); offset += 3; - mcast_cipher_type = tvb_get_guint8(tvb, offset); + mcast_cipher_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_wapi_param_set_mcast_cipher_suite_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; proto_item_append_text(ti, " Multicast Cipher: %s", val_to_str(mcast_cipher_type, ieee80211_wapi_cipher_type, "Reserved: %d")); @@ -25046,7 +25396,7 @@ dissect_tfs_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - const guint8 ids[] = { + const uint8_t ids[] = { 1, /* TFS Subelement */ TAG_VENDOR_SPECIFIC_IE }; @@ -25066,14 +25416,14 @@ dissect_tfs_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d } while (offset + 1 < tag_len) { - guint8 id, len; + uint8_t id, len; int s_offset, s_end; - id = tvb_get_guint8(tvb, offset); + id = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_tfs_request_subelem_id, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_tfs_request_subelem_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; @@ -25129,21 +25479,21 @@ dissect_tfs_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - const guint8 ids[] = { + const uint8_t ids[] = { 1, /* TFS Status subelement*/ 2, /* TFS subelement */ TAG_VENDOR_SPECIFIC_IE }; while (offset + 3 <= tag_len) { - guint8 id, len; + uint8_t id, len; int s_offset, s_end; - id = tvb_get_guint8(tvb, offset); + id = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_tfs_response_subelem_id, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_tfs_response_subelem_len, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset++; @@ -25233,13 +25583,13 @@ static int dissect_time_adv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 capab; + uint8_t capab; proto_item *item; proto_tree *subtree; struct tm tm, *now; time_t t; - capab = tvb_get_guint8(tvb, offset); + capab = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_time_adv_timing_capab, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -25263,23 +25613,23 @@ dissect_time_adv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void* proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_year, tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; - tm.tm_mon = tvb_get_guint8(tvb, offset) - 1; + tm.tm_mon = tvb_get_uint8(tvb, offset) - 1; proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_month, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - tm.tm_mday = tvb_get_guint8(tvb, offset); + tm.tm_mday = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_day, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - tm.tm_hour = tvb_get_guint8(tvb, offset); + tm.tm_hour = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_hours, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - tm.tm_min = tvb_get_guint8(tvb, offset); + tm.tm_min = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_minutes, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - tm.tm_sec = tvb_get_guint8(tvb, offset); + tm.tm_sec = tvb_get_uint8(tvb, offset); proto_tree_add_item(subtree, hf_ieee80211_tag_time_adv_time_value_seconds, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -25343,13 +25693,13 @@ dissect_ap_channel_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v proto_tree_add_item(tree, hf_ieee80211_tag_ap_channel_report_operating_class, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ": Operating Class %u, Channel List :", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ": Operating Class %u, Channel List :", tvb_get_uint8(tvb, offset)); offset += 1; while (offset < tag_len) { proto_tree_add_item(tree, hf_ieee80211_tag_ap_channel_report_channel_list, tvb, offset, 1, ENC_NA); - proto_item_append_text(field_data->item_tag, " %u,", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " %u,", tvb_get_uint8(tvb, offset)); offset += 1; } return tvb_captured_length(tvb); @@ -25454,7 +25804,7 @@ dissect_measurement_pilot_trans_ie(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ { int tag_len = tvb_reported_length(tvb); int offset = 0; - const guint8 ids[] = { TAG_VENDOR_SPECIFIC_IE }; + const uint8_t ids[] = { TAG_VENDOR_SPECIFIC_IE }; /* The tag len can be 1 or more if there are sub-elements */ @@ -25468,7 +25818,7 @@ dissect_measurement_pilot_trans_ie(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ if (tag_len > 0) { while (tag_len > 0) { - guint8 elt_len; + uint8_t elt_len; if (tvb_reported_length_remaining(tvb, offset) < 2) { proto_tree_add_expert_format(tree, pinfo, &ei_ieee80211_bad_length, @@ -25476,7 +25826,7 @@ dissect_measurement_pilot_trans_ie(tvbuff_t *tvb, packet_info *pinfo _U_, proto_ "Remaining data does not include the tag length"); break; } - elt_len = tvb_get_guint8(tvb, offset + 1); + elt_len = tvb_get_uint8(tvb, offset + 1); if(add_tagged_field(pinfo, tree, tvb, offset + 2, 0, ids, G_N_ELEMENTS(ids), NULL) == 0){ /* TODO: Add an expert info here and skip the field. */ @@ -25497,7 +25847,7 @@ dissect_bss_available_admission_capacity_ie(tvbuff_t *tvb, packet_info *pinfo, p int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint16 bitmask; + uint16_t bitmask; static int * const ieee80211_tag_bss_avb_adm_cap_bitmask[] = { &hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up0, &hf_ieee80211_tag_bss_avb_adm_cap_bitmask_up1, @@ -25592,7 +25942,7 @@ dissect_bss_available_admission_capacity_ie(tvbuff_t *tvb, packet_info *pinfo, p static int dissect_bss_ac_access_delay_ie(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *tree, int offset, guint32 tag_len, proto_item *ti_len) + proto_tree *tree, int offset, uint32_t tag_len, proto_item *ti_len) { if (tag_len != 4) { @@ -25736,22 +26086,22 @@ static const value_string multiple_bssid_subelem_ids[] = { static int dissect_multiple_bssid_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data) { - guint tag_len = tvb_reported_length(tvb); + unsigned tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; - guint offset = 0; - guint8 sub_tag_id, sub_tag_len; - const gchar *sub_tag_name; + unsigned offset = 0; + uint8_t sub_tag_id, sub_tag_len; + const char *sub_tag_name; proto_tree *sub_tag_tree; - const guint8 valid_ids[] = { TAG_VENDOR_SPECIFIC_IE }; - const guint8 invalid_ids[] = { TAG_TIM, TAG_DS_PARAMETER, TAG_IBSS_PARAMETER, + const uint8_t valid_ids[] = { TAG_VENDOR_SPECIFIC_IE }; + const uint8_t invalid_ids[] = { TAG_TIM, TAG_DS_PARAMETER, TAG_IBSS_PARAMETER, TAG_COUNTRY_INFO, TAG_CHANNEL_SWITCH_ANN, TAG_EXTENDED_CHANNEL_SWITCH_ANNOUNCEMENT, TAG_WIDE_BW_CHANNEL_SWITCH, TAG_TX_PWR_ENVELOPE, TAG_SUPPORTED_OPERATING_CLASSES, TAG_IBSS_DFS, TAG_ERP_INFO, TAG_ERP_INFO_OLD, TAG_HT_CAPABILITY, TAG_HT_INFO, TAG_VHT_CAPABILITY, TAG_VHT_OPERATION, TAG_S1G_BEACON_COMPATIBILITY, TAG_SHORT_BEACON_INTERVAL, TAG_S1G_CAPABILITIES, TAG_S1G_OPERATION }; - const guint8 invalid_ext_ids[] = { ETAG_HE_CAPABILITIES, ETAG_HE_OPERATION, + const uint8_t invalid_ext_ids[] = { ETAG_HE_CAPABILITIES, ETAG_HE_OPERATION, ETAG_HE_6GHZ_BAND_CAPABILITIES, ETAG_BSS_COLOR_CHANGE_ANNOUNCEMENT, ETAG_SPATIAL_REUSE_PARAMETER_SET }; - guint32 s_offset, s_end; + uint32_t s_offset, s_end; if (tag_len < 1) { @@ -25765,8 +26115,8 @@ dissect_multiple_bssid_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v /* Optional sub-elements */ while (offset + 1 < tag_len) { - sub_tag_id = tvb_get_guint8(tvb, offset); - sub_tag_len = tvb_get_guint8(tvb, offset + 1); + sub_tag_id = tvb_get_uint8(tvb, offset); + sub_tag_len = tvb_get_uint8(tvb, offset + 1); sub_tag_name = val_to_str_const(sub_tag_id, multiple_bssid_subelem_ids, "Unknown"); sub_tag_tree = proto_tree_add_subtree_format(tree, tvb, offset, sub_tag_len + 2, ett_tag_multiple_bssid_subelem_tree, NULL, "Subelement: %s", sub_tag_name); @@ -25792,8 +26142,8 @@ dissect_multiple_bssid_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v beacon_padding = 0; /* this is for the beacon padding confused with ssid fix */ while (s_offset < s_end) { int tlen = add_tagged_field_with_validation(pinfo, sub_tag_tree, tvb, s_offset, 0, - invalid_ids, G_N_ELEMENTS(invalid_ids), TRUE, - invalid_ext_ids, G_N_ELEMENTS(invalid_ext_ids), TRUE, NULL); + invalid_ids, G_N_ELEMENTS(invalid_ids), true, + invalid_ext_ids, G_N_ELEMENTS(invalid_ext_ids), true, NULL); if (tlen==0) break; s_offset += tlen; @@ -25892,7 +26242,7 @@ dissect_20_40_bss_intolerant(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree static int dissect_ht_capability_ie_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, - guint32 tag_len, proto_item *ti_len, gboolean vendorspecific) + uint32_t tag_len, proto_item *ti_len, bool vendorspecific) { proto_item *cap_item, *ti; proto_tree *cap_tree; @@ -25993,13 +26343,13 @@ dissect_ht_capability_ie_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t } cap_tree = proto_item_add_subtree(cap_item, ett_ampduparam_tree); ti = proto_tree_add_item(cap_tree, hf_ieee80211_ampduparam_mpdu, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(ti, " (%04.0f[Bytes])", pow(2, 13+(tvb_get_guint8(tvb, offset) & 0x3))-1); + proto_item_append_text(ti, " (%04.0f[Bytes])", pow(2, 13+(tvb_get_uint8(tvb, offset) & 0x3))-1); proto_tree_add_item(cap_tree, hf_ieee80211_ampduparam_mpdu_start_spacing, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_tree_add_item(cap_tree, hf_ieee80211_ampduparam_reserved, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; /* 16 byte MCS set */ - offset = dissect_mcs_set(tree, tvb, offset, FALSE, vendorspecific); + offset = dissect_mcs_set(tree, tvb, offset, false, vendorspecific); /* 2 byte HT Extended Capabilities */ @@ -26053,12 +26403,12 @@ dissect_ht_capability_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; return dissect_ht_capability_ie_common(tvb, pinfo, tree, 0, tvb_reported_length(tvb), - field_data->item_tag_length, FALSE); + field_data->item_tag_length, false); } static int dissect_ht_info_ie_1_0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, - guint32 tag_len, proto_item *ti_len) + uint32_t tag_len, proto_item *ti_len) { static int * const ieee80211_hta1[] = { &hf_ieee80211_hta_ext_chan_offset, @@ -26117,7 +26467,7 @@ dissect_ht_info_ie_1_0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset += 2; /* 16 byte Supported MCS set */ - offset = dissect_mcs_set(tree, tvb, offset, FALSE, TRUE); + offset = dissect_mcs_set(tree, tvb, offset, false, true); return offset; } @@ -26173,7 +26523,7 @@ static const value_string a_control_control_id_vals[] = { * 31 maps to Max ransmit power */ static void -ul_target_rssi_base_custom(gchar *result, guint32 target_rssi) +ul_target_rssi_base_custom(char *result, uint32_t target_rssi) { if (target_rssi <= 30) { snprintf(result, ITEM_LABEL_LENGTH, "%ddBm", -90 + (2 * target_rssi)); @@ -26184,11 +26534,11 @@ ul_target_rssi_base_custom(gchar *result, guint32 target_rssi) static void dissect_a_control_padding(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *trs_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; - guint offset_in_bits = (offset << 3) + start_bit; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; + unsigned offset_in_bits = (offset << 3) + start_bit; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26203,10 +26553,10 @@ dissect_a_control_padding(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_ones(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *trs_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26221,10 +26571,10 @@ dissect_a_control_ones(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_trs(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *trs_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26249,10 +26599,10 @@ dissect_a_control_trs(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_om(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *om_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x0000003FF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x0000003FF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26284,10 +26634,10 @@ static const true_false_string he_hla_tx_bf_tfs = { static void dissect_a_control_hla(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *hla_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26320,10 +26670,10 @@ dissect_a_control_hla(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_bsr(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *bsr_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FFFFFF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26348,10 +26698,10 @@ dissect_a_control_bsr(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_uph(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *uph_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000000FF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000000FF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26370,10 +26720,10 @@ dissect_a_control_uph(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_bqr(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *bqr_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x03FF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26390,10 +26740,10 @@ dissect_a_control_bqr(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_cci(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *cci_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000000FF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000000FF; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26414,10 +26764,10 @@ dissect_a_control_cci(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_eht_om(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *eht_om_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x0000003F; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x0000003F; /* * We isolated the bits and moved them to the bottom ... so display them @@ -26438,10 +26788,10 @@ dissect_a_control_eht_om(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_srs(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *srs_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000003FF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000003FF; srs_tree = proto_tree_add_subtree_format(tree, tvb, offset, 4, ett_ieee80211_control_srs, @@ -26455,10 +26805,10 @@ dissect_a_control_srs(proto_tree *tree, tvbuff_t *tvb, int offset, static void dissect_a_control_aar(proto_tree *tree, tvbuff_t *tvb, int offset, - guint32 bits _U_, guint32 start_bit) + uint32_t bits _U_, uint32_t start_bit) { proto_tree *aar_tree = NULL; - guint the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000FFFFF; + unsigned the_bits = (tvb_get_letohl(tvb, offset) >> start_bit) & 0x000FFFFF; aar_tree = proto_tree_add_subtree_format(tree, tvb, offset, 4, ett_ieee80211_control_aar, @@ -26475,7 +26825,7 @@ dissect_ht_control(packet_info* pinfo, proto_tree *tree, tvbuff_t *tvb, int offs { proto_item *ti; proto_tree *htc_tree, *lac_subtree, *mfb_subtree; - guint32 htc; + uint32_t htc; htc = tvb_get_letohl(tvb, offset); @@ -26494,7 +26844,7 @@ dissect_ht_control(packet_info* pinfo, proto_tree *tree, tvbuff_t *tvb, int offs */ proto_tree *a_control_tree = NULL; proto_item *pi = NULL; - guint8 start_bit_offset = 2; + uint8_t start_bit_offset = 2; a_control_tree = proto_tree_add_subtree_format(htc_tree, tvb, offset, 4, ett_htc_he_a_control, NULL, @@ -26506,7 +26856,7 @@ dissect_ht_control(packet_info* pinfo, proto_tree *tree, tvbuff_t *tvb, int offs start_bit_offset); break; } - guint8 control_id = (htc >> start_bit_offset) & 0x0F; + uint8_t control_id = (htc >> start_bit_offset) & 0x0F; start_bit_offset += 4; if (control_id != 0 || start_bit_offset == 6) { pi = proto_tree_add_uint(a_control_tree, hf_ieee80211_htc_he_ctrl_id, @@ -26679,13 +27029,13 @@ dissect_ht_control(packet_info* pinfo, proto_tree *tree, tvbuff_t *tvb, int offs #define IEEE80211_COMMON_OPT_NORMAL_QOS 0x00000004 static void -dissect_frame_control(proto_tree *tree, tvbuff_t *tvb, guint32 option_flags, - guint32 offset, packet_info *pinfo, gboolean isDMG) +dissect_frame_control(proto_tree *tree, tvbuff_t *tvb, uint32_t option_flags, + uint32_t offset, packet_info *pinfo, bool isDMG) { - guint16 fcf, flags, frame_type_subtype; + uint16_t fcf, flags, frame_type_subtype; proto_tree *fc_tree, *flag_tree; proto_item *fc_item, *flag_item, *hidden_item, *ti; - guint32 swap_offset = 0; + uint32_t swap_offset = 0; fcf = FETCH_FCF(offset); @@ -26820,9 +27170,9 @@ dissect_frame_control(proto_tree *tree, tvbuff_t *tvb, guint32 option_flags, } static void -dissect_durid(proto_tree *hdr_tree, tvbuff_t *tvb, guint16 fts, gint offset) +dissect_durid(proto_tree *hdr_tree, tvbuff_t *tvb, uint16_t fts, int offset) { - guint16 durid = tvb_get_letohs(tvb, offset); + uint16_t durid = tvb_get_letohs(tvb, offset); if (durid < 0x8000) { proto_tree_add_uint_format_value(hdr_tree, hf_ieee80211_did_duration, tvb, @@ -26844,20 +27194,20 @@ dissect_durid(proto_tree *hdr_tree, tvbuff_t *tvb, guint16 fts, gint offset) static void dissect_vendor_ie_ht(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, - guint offset, proto_item *item, proto_item *ti_len, gint tag_len) + unsigned offset, proto_item *item, proto_item *ti_len, int tag_len) { - guint8 type; + uint8_t type; proto_tree_add_item(tree, hf_ieee80211_ht_pren_type, tvb, offset, 1, ENC_NA); - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); offset += 1; tag_len -= 1; switch(type){ case 51: - dissect_ht_capability_ie_common(tvb, pinfo, tree, offset, tag_len, ti_len, TRUE); + dissect_ht_capability_ie_common(tvb, pinfo, tree, offset, tag_len, ti_len, true); proto_item_append_text(item, ": HT Capabilities (802.11n D1.10)"); break; @@ -26916,8 +27266,8 @@ dissect_qos_map_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint8 left; - guint8 val, val2; + uint8_t left; + uint8_t val, val2; int i; proto_item *dscp_item, *item; proto_tree *dscp_tree; @@ -26937,7 +27287,7 @@ dissect_qos_map_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d item = proto_tree_add_item(dscp_tree, hf_ieee80211_tag_qos_map_set_dscp_exc_val, tvb, offset, 1, ENC_NA); - val = tvb_get_guint8(tvb, offset); + val = tvb_get_uint8(tvb, offset); if (val > 63 && val != 255) { expert_add_info_format(pinfo, item, &ei_ieee80211_inv_val, "Invalid DSCP Value"); @@ -26947,7 +27297,7 @@ dissect_qos_map_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d item = proto_tree_add_item(dscp_tree, hf_ieee80211_tag_qos_map_set_dscp_exc_up, tvb, offset, 1, ENC_NA); - val2 = tvb_get_guint8(tvb, offset); + val2 = tvb_get_uint8(tvb, offset); if (val2 > 7) { expert_add_info_format(pinfo, item, &ei_ieee80211_inv_val, "Invalid User Priority"); @@ -26966,7 +27316,7 @@ dissect_qos_map_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d item = proto_tree_add_item(dscp_tree, hf_ieee80211_tag_qos_map_set_low, tvb, offset, 1, ENC_NA); - val = tvb_get_guint8(tvb, offset); + val = tvb_get_uint8(tvb, offset); if (val > 63 && val != 255) { expert_add_info_format(pinfo, item, &ei_ieee80211_inv_val, "Invalid DSCP Value"); @@ -26975,7 +27325,7 @@ dissect_qos_map_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d item = proto_tree_add_item(dscp_tree, hf_ieee80211_tag_qos_map_set_high, tvb, offset, 1, ENC_NA); - val2 = tvb_get_guint8(tvb, offset); + val2 = tvb_get_uint8(tvb, offset); if ((val2 > 63 && val2 != 255) || val2 < val || (val == 255 && val2 != 255) || (val != 255 && val2 == 255)) { expert_add_info_format(pinfo, item, &ei_ieee80211_inv_val, @@ -27001,13 +27351,13 @@ dissect_roaming_consortium(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; proto_item* item; - guint8 oi_lens, oi1_len, oi2_len; + uint8_t oi_lens, oi1_len, oi2_len; proto_tree_add_item(tree, hf_ieee80211_tag_roaming_consortium_num_anqp_oi, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - oi_lens = tvb_get_guint8(tvb, offset); + oi_lens = tvb_get_uint8(tvb, offset); oi1_len = oi_lens & 0x0f; oi2_len = (oi_lens & 0xf0) >> 4; proto_tree_add_item(tree, hf_ieee80211_tag_roaming_consortium_oi1_len, @@ -27105,12 +27455,12 @@ dissect_secure_ltf_parameters(tvbuff_t *tvb, packet_info *pinfo _U_, static void dissect_ista_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len) { - guint16 count = tvb_get_letohs(tvb, offset) & 0x1FF; + uint16_t count = tvb_get_letohs(tvb, offset) & 0x1FF; char avail_string[513]; char pad_string[8]; int i = 0, j; int avail_bits_offset; - gint8 bits; + int8_t bits; memset(avail_string, 0x0, sizeof(avail_string)); memset(pad_string, 0x0, sizeof(pad_string)); @@ -27126,7 +27476,7 @@ dissect_ista_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr /* Now, extract count bits and set up the string 8-bits at a time */ for (i = 1; i <= (count / 8); i++) { - bits = tvb_get_guint8(tvb, offset); + bits = tvb_get_uint8(tvb, offset); for (j = 0; j < 8; j++) { avail_string[(i - 1) * 8 + j] = (bits & 0x01) ? '1' : '0'; @@ -27140,7 +27490,7 @@ dissect_ista_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr if (count % 8) { /* Deal with the remaining bits */ - bits = tvb_get_guint8(tvb, offset); + bits = tvb_get_uint8(tvb, offset); for (j = (i - 1) * 8; j < count; j++) { avail_string[j] = (bits & 0x01) ? '1' : '0'; @@ -27195,7 +27545,7 @@ static void dissect_rsta_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 count = tvb_get_guint8(tvb, offset) &0x7F; + uint8_t count = tvb_get_uint8(tvb, offset) &0x7F; int i; proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_ftm_rsta_header, @@ -27205,7 +27555,7 @@ dissect_rsta_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, for (i = 0; i < count; i++) { proto_tree *subfield_tree = NULL; - gboolean has_passive_ranging_params = + bool has_passive_ranging_params = (tvb_get_letohl(tvb, offset) >> 23) & 1; subfield_tree = proto_tree_add_subtree_format(tree, tvb, offset, @@ -27240,11 +27590,11 @@ dissect_rsta_availability_window(tvbuff_t *tvb, packet_info *pinfo _U_, #define PASN_COMEBACK_INFO_PRESENT 0x01 #define PASN_GROUP_KEY_PRESENT 0x02 -static gboolean -has_comeback_after(guint8 flags, tvbuff_t *tvb, int offset, int len _U_) +static bool +has_comeback_after(uint8_t flags, tvbuff_t *tvb, int offset, int len _U_) { int tvb_left = tvb_captured_length_remaining(tvb, offset); - gboolean comeback_after = FALSE; + bool comeback_after = false; //int cookie_len = 0; int fixed_len = 0; @@ -27258,7 +27608,7 @@ has_comeback_after(guint8 flags, tvbuff_t *tvb, int offset, int len _U_) if (flags & 0x01) { /* Check if the comeback_after field is there? */ if (tvb_get_letohs(tvb, offset) <= (tvb_left - fixed_len)) { - comeback_after = TRUE; + comeback_after = true; } } @@ -27285,7 +27635,7 @@ static void dissect_pasn_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int len) { int public_key_len = 0; - guint pasn_control = tvb_get_guint8(tvb, offset); + unsigned pasn_control = tvb_get_uint8(tvb, offset); if (len < 2) { expert_add_info_format(pinfo, tree, &ei_ieee80211_tag_length, @@ -27311,7 +27661,7 @@ dissect_pasn_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int if (pasn_control & PASN_COMEBACK_INFO_PRESENT) { proto_tree *comeback_tree = NULL; proto_item *cbi = NULL; - guint8 cookie_len; + uint8_t cookie_len; comeback_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_pasn_comeback_tree, &cbi, "Comeback field"); @@ -27322,7 +27672,7 @@ dissect_pasn_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset += 2; } - cookie_len = tvb_get_guint8(tvb, offset); + cookie_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(comeback_tree, hf_ieee80211_tag_pasn_cookie_length, tvb, offset, 1, ENC_NA); @@ -27336,7 +27686,7 @@ dissect_pasn_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int } if (pasn_control & PASN_GROUP_KEY_PRESENT) { - public_key_len = tvb_get_guint8(tvb, offset + 2); + public_key_len = tvb_get_uint8(tvb, offset + 2); proto_tree_add_item(tree, hf_ieee80211_tag_pasn_finite_cyclic_group_id, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -27458,16 +27808,16 @@ static int * const reconfig_operation_para_info_hdrs[] = { static int dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, - guint8 multi_link_type, + uint8_t multi_link_type, int *found_link_id) { proto_tree *subelt_tree = NULL, *sta_info_tree = NULL; int offset = 0; int len = tvb_captured_length_remaining(tvb, offset); - guint16 sta_control = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); - guint8 sta_info_len = 0; + uint16_t sta_control = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); + uint8_t sta_info_len = 0; int start_offset = offset, tree_offset; - guint8 link_id; + uint8_t link_id; subelt_tree = proto_tree_add_subtree(tree, tvb, offset, len, ett_eht_multi_link_per_sta, @@ -27475,7 +27825,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, switch (multi_link_type) { case BASIC_MULTI_LINK: - link_id = tvb_get_guint8(tvb, offset) & 0x0F; + link_id = tvb_get_uint8(tvb, offset) & 0x0F; *found_link_id = link_id; proto_item_append_text(subelt_tree, ", Link-ID = %d", link_id); @@ -27490,7 +27840,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, return len; } - sta_info_len = tvb_get_guint8(tvb, offset); + sta_info_len = tvb_get_uint8(tvb, offset); sta_info_tree = proto_tree_add_subtree(subelt_tree, tvb, offset, sta_info_len, ett_eht_multi_link_per_sta_info, @@ -27553,7 +27903,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, } break; case PROBE_MULTI_LINK: - link_id = tvb_get_guint8(tvb, offset) & 0x0F; + link_id = tvb_get_uint8(tvb, offset) & 0x0F; *found_link_id = link_id; proto_tree_add_bitmask(subelt_tree, tvb, offset, @@ -27569,11 +27919,11 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, * one of both. */ if ((sta_control & STA_CTRL_COMPLETE_PROFILE) == 0) { - gboolean seen_request = FALSE, seen_ext_request = FALSE; + bool seen_request = false, seen_ext_request = false; while (tvb_captured_length_remaining(tvb, offset) >= 2) { - const guint8 ids[] = { TAG_TSPEC }; - guint8 elt_type = 0; + static const uint8_t ids[] = { TAG_TSPEC }; + uint8_t elt_type = 0; if (tvb_captured_length_remaining(tvb, offset) < 2) { expert_add_info_format(pinfo, subelt_tree, @@ -27586,12 +27936,12 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, return len; } - elt_type = tvb_get_guint8(tvb, offset); + elt_type = tvb_get_uint8(tvb, offset); if ((elt_type != TAG_REQUEST && elt_type != TAG_ELEMENT_ID_EXTENSION) || (elt_type == TAG_ELEMENT_ID_EXTENSION && - (tvb_get_guint8(tvb, offset + 1) < 3 || - tvb_get_guint8(tvb, offset + 2) != ETAG_EXTENDED_REQUEST))) { + (tvb_get_uint8(tvb, offset + 1) < 3 || + tvb_get_uint8(tvb, offset + 2) != ETAG_EXTENDED_REQUEST))) { /* Add an expert Info */ expert_add_info_format(pinfo, subelt_tree, @@ -27608,7 +27958,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, if (!seen_request) { offset += add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL); - seen_request = TRUE; + seen_request = true; } else { expert_add_info_format(pinfo, subelt_tree, &ei_ieee80211_eht_invalid_multi_link, @@ -27620,13 +27970,13 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, } } else { /* It can only be a ETAG_EXTENDED_REQUEST */ if (!seen_ext_request) { - guint8 ext_tag_len = tvb_get_guint8(tvb, offset + 1); + uint8_t ext_tag_len = tvb_get_uint8(tvb, offset + 1); offset += 3; dissect_extended_request(tvb, pinfo, tree, offset, ext_tag_len); offset += ext_tag_len; - seen_ext_request = TRUE; + seen_ext_request = true; } else { expert_add_info_format(pinfo, subelt_tree, &ei_ieee80211_eht_invalid_multi_link, @@ -27641,7 +27991,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, } break; case RECONFIGURATION_MULTI_LINK: - link_id = tvb_get_guint8(tvb, offset) & 0x0F; + link_id = tvb_get_uint8(tvb, offset) & 0x0F; *found_link_id = link_id; proto_tree_add_bitmask(subelt_tree, tvb, offset, @@ -27655,7 +28005,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, return len; } - sta_info_len = tvb_get_guint8(tvb, offset); + sta_info_len = tvb_get_uint8(tvb, offset); sta_info_tree = proto_tree_add_subtree(subelt_tree, tvb, offset, sta_info_len, ett_eht_multi_link_per_sta_info, NULL, "STA Info"); @@ -27682,7 +28032,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree * oper_tree; oper_tree = proto_tree_add_subtree(sta_info_tree, tvb, offset, 3, - ett_eht_multi_link_reconf_oper_param, NULL, "Operation Paramters"); + ett_eht_multi_link_reconf_oper_param, NULL, "Operation Parameters"); proto_tree_add_bitmask_with_flags(oper_tree, tvb, offset, hf_ieee80211_eht_sta_profile_presence_indi, @@ -27716,7 +28066,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, break; case PRIORITY_ACCESS_MULTI_LINK: - link_id = tvb_get_guint8(tvb, offset) & 0x0F; + link_id = tvb_get_uint8(tvb, offset) & 0x0F; *found_link_id = link_id; proto_tree_add_bitmask(subelt_tree, tvb, offset, hf_ieee80211_eht_profile_sta_control, @@ -27740,22 +28090,22 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, // Sta Profile // Save HE capa settings { - guint *p_channel_width_set = - (guint *)p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, + unsigned *p_channel_width_set = + (unsigned *)p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, HE_CHANNEL_WIDTH_KEY); - guint channel_width_set = GPOINTER_TO_INT(p_channel_width_set); - guint32 ftype = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), + unsigned channel_width_set = GPOINTER_TO_INT(p_channel_width_set); + uint32_t ftype = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, FRAME_TYPE_KEY)); int end_offset = start_offset + len; if (offset < end_offset) { /* Check CSA, EX CSA or MAX CST elements to skip parsing cap info */ - guint8 elem = tvb_get_guint8(tvb, offset); - guint8 elem_len = tvb_get_guint8(tvb, offset+1); - guint8 ext_elem = 0; + uint8_t elem = tvb_get_uint8(tvb, offset); + uint8_t elem_len = tvb_get_uint8(tvb, offset+1); + uint8_t ext_elem = 0; if (elem == TAG_ELEMENT_ID_EXTENSION) { - ext_elem = tvb_get_guint8(tvb, offset+2); + ext_elem = tvb_get_uint8(tvb, offset+2); } if (multi_link_type == PRIORITY_ACCESS_MULTI_LINK) { } else if ((elem == TAG_CHANNEL_SWITCH_ANN && elem_len == 3) || @@ -27774,7 +28124,7 @@ dissect_multi_link_per_sta(tvbuff_t *tvb, packet_info *pinfo _U_, } } while (offset < end_offset) { - int tag_len = tvb_get_guint8(tvb, offset+1); + int tag_len = tvb_get_uint8(tvb, offset+1); if (offset + 1 + tag_len >= end_offset) { /* Detect wrong format to avoid from corrupting default_context */ expert_add_info_format(pinfo, subelt_tree, &ei_ieee80211_eht_invalid_subelement, @@ -27863,21 +28213,21 @@ static int * const eht_ext_mld_capabilities_hdrs[] = { static tvbuff_t * get_subelt_tvb(tvbuff_t *tvb, packet_info *pinfo, int offset, int *overhead) { - guint8 subelt_len = tvb_get_guint8(tvb, offset + 1); + uint8_t subelt_len = tvb_get_uint8(tvb, offset + 1); tvbuff_t *tmp_tvb; int ohead = 0; if (subelt_len == 255 && tvb_captured_length_remaining(tvb, offset) > 259 && - tvb_get_guint8(tvb, offset + 255 + 2) == 0xfe) { + tvb_get_uint8(tvb, offset + 255 + 2) == 0xfe) { tvbuff_t *tvb_comp; - guint8 frag_len; + uint8_t frag_len; tvb_comp = tvb_new_composite(); do { offset += 1; - frag_len = tvb_get_guint8(tvb, offset); + frag_len = tvb_get_uint8(tvb, offset); offset += 1; tmp_tvb = tvb_new_subset_length(tvb, offset, frag_len); /* Insert this fragment ... */ @@ -27886,7 +28236,7 @@ get_subelt_tvb(tvbuff_t *tvb, packet_info *pinfo, int offset, int *overhead) ohead += 2; } while (frag_len == 255 && tvb_captured_length_remaining(tvb, offset) > 2 && - tvb_get_guint8(tvb, offset) == 0xfe); + tvb_get_uint8(tvb, offset) == 0xfe); tvb_composite_finalize(tvb_comp); @@ -27905,10 +28255,10 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, { proto_item *control = NULL, *type = NULL; proto_tree *ctl_tree = NULL, *common_tree = NULL, *subelt_tree = NULL; - guint8 common_info_len = 0; - guint16 multi_link_control = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); - guint8 multi_link_type = multi_link_control & 0x0007; - guint16 present = multi_link_control >> 4; + uint8_t common_info_len = 0; + uint16_t multi_link_control = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); + uint8_t multi_link_type = multi_link_control & 0x0007; + uint16_t present = multi_link_control >> 4; int elt = 0, hf_index; int local_link_ids[16]; @@ -27955,7 +28305,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, hf_ieee80211_eht_multi_link_control_probe_mld_id_present, tvb, offset, 2, ENC_LITTLE_ENDIAN); proto_tree_add_item(ctl_tree, - hf_ieee80211_eht_multi_link_control_probe_bm_reserved, + hf_ieee80211_eht_multi_link_control_probe_reserved, tvb, offset, 2, ENC_LITTLE_ENDIAN); hf_index = hf_ieee80211_eht_multi_link_type_1_link_count; } else if (multi_link_type == RECONFIGURATION_MULTI_LINK) { @@ -27964,6 +28314,12 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, hf_ieee80211_eht_multi_link_control_reconfig_mld_mac, tvb, offset, 2, ENC_LITTLE_ENDIAN); proto_tree_add_item(ctl_tree, + hf_ieee80211_eht_multi_link_control_reconfig_eml_capa, + tvb, offset, 2, ENC_LITTLE_ENDIAN); + proto_tree_add_item(ctl_tree, + hf_ieee80211_eht_multi_link_control_reconfig_mld_capa_oper, + tvb, offset, 2, ENC_LITTLE_ENDIAN); + proto_tree_add_item(ctl_tree, hf_ieee80211_eht_multi_link_control_reconfig_reserved, tvb, offset, 2, ENC_LITTLE_ENDIAN); hf_index = hf_ieee80211_eht_multi_link_type_2_link_count; @@ -27991,7 +28347,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, switch (multi_link_type) { case BASIC_MULTI_LINK: /* Handle common info for basic element */ - common_info_len = tvb_get_guint8(tvb, offset); + common_info_len = tvb_get_uint8(tvb, offset); common_tree = proto_tree_add_subtree(tree, tvb, offset, common_info_len, ett_eht_multi_link_common_info, NULL, "Common Info"); @@ -28058,7 +28414,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, break; case PROBE_MULTI_LINK: /* Handle common info for probe request element */ - common_info_len = tvb_get_guint8(tvb, offset); + common_info_len = tvb_get_uint8(tvb, offset); common_tree = proto_tree_add_subtree(tree, tvb, offset, common_info_len, ett_eht_multi_link_common_info, NULL, "Common Info"); @@ -28073,7 +28429,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, } break; case RECONFIGURATION_MULTI_LINK: - common_info_len = tvb_get_guint8(tvb, offset); + common_info_len = tvb_get_uint8(tvb, offset); common_tree = proto_tree_add_subtree(tree, tvb, offset, common_info_len, ett_eht_multi_link_common_info, NULL, "Common Info"); @@ -28104,7 +28460,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, } break; case TDLS_MULTI_LINK: - common_info_len = tvb_get_guint8(tvb, offset); + common_info_len = tvb_get_uint8(tvb, offset); common_tree = proto_tree_add_subtree(tree, tvb, offset, common_info_len, ett_eht_multi_link_common_info, NULL, "Common Info"); @@ -28116,7 +28472,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, offset += 6; break; case PRIORITY_ACCESS_MULTI_LINK: - common_info_len = tvb_get_guint8(tvb, offset); + common_info_len = tvb_get_uint8(tvb, offset); common_tree = proto_tree_add_subtree(tree, tvb, offset, common_info_len, ett_eht_multi_link_common_info, NULL, "Common Info"); @@ -28125,7 +28481,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, offset += 1; proto_tree_add_item(common_tree, - hf_ieee80211_eht_common_info_ap_mld_mac_addr, tvb, + hf_ieee80211_eht_common_field_ap_mld_mac, tvb, offset, 6, ENC_NA); offset += 6; break; @@ -28136,7 +28492,7 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, /* Handle the link info. It is 0 or more subelements */ while (tvb_reported_length_remaining(tvb, offset)) { - guint8 tag, subelt_len; + uint8_t tag, subelt_len; int link_id = -1; if (tvb_reported_length_remaining(tvb, offset) < 2) { @@ -28145,8 +28501,8 @@ dissect_multi_link(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, return; } - tag = tvb_get_guint8(tvb, offset); - subelt_len = tvb_get_guint8(tvb, offset + 1); + tag = tvb_get_uint8(tvb, offset); + subelt_len = tvb_get_uint8(tvb, offset + 1); tvbuff_t *new_tvb; int overhead = 0; @@ -28258,7 +28614,7 @@ static void dissect_eht_operation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 params = tvb_get_guint8(tvb, offset); + uint8_t params = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_eht_operation_parameters, @@ -28407,15 +28763,15 @@ dissect_eht_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { proto_tree *eht_phy_capa = NULL, *eht_mcs_nss = NULL; - gboolean ch_320mhz_in_6ghz = FALSE; - gboolean ppe_thresholds_present = FALSE; + bool ch_320mhz_in_6ghz = false; + bool ppe_thresholds_present = false; proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_eht_mac_capabilities, ett_eht_mac_capa, eht_mac_capa_hdrs, ENC_LITTLE_ENDIAN); offset += 2; - ch_320mhz_in_6ghz = tvb_get_guint8(tvb, offset) & 0x02; + ch_320mhz_in_6ghz = tvb_get_uint8(tvb, offset) & 0x02; eht_phy_capa = proto_tree_add_subtree(tree, tvb, offset, 9, ett_eht_phy_capa, NULL, @@ -28438,7 +28794,7 @@ dissect_eht_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 1; - ppe_thresholds_present = tvb_get_guint8(tvb, offset) & 0x08; + ppe_thresholds_present = tvb_get_uint8(tvb, offset) & 0x08; proto_tree_add_bitmask_with_flags(eht_phy_capa, tvb, offset, hf_ieee80211_eht_phy_bits_40_63, ett_eht_phy_bits_40_63, eht_phy_bits_40_63, @@ -28463,17 +28819,17 @@ dissect_eht_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, "Supported EHT-MCS and NSS Set"); if (pinfo->pseudo_header->ieee_802_11.has_frequency) { - guint *p_channel_width_set = - (guint *)p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, + unsigned *p_channel_width_set = + (unsigned *)p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, HE_CHANNEL_WIDTH_KEY); - guint channel_width_set = 0; + unsigned channel_width_set = 0; /* * If we got it, we can handle the rest, otherwise not. Note, * we can determine if it was ever set by checking for non-zero because * we set at least one bit when saving it.. */ if (p_channel_width_set) { - gboolean is_ap = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), + bool is_ap = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_AP_KEY)); channel_width_set = GPOINTER_TO_UINT(p_channel_width_set); @@ -28637,9 +28993,9 @@ dissect_tid_to_link_mapping(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { proto_item *control = NULL; - guint8 presence; - guint8 control_byte = tvb_get_guint8(tvb, offset); - guint8 map_size = 2; + uint8_t presence; + uint8_t control_byte = tvb_get_uint8(tvb, offset); + uint8_t map_size = 2; int hf_array[8] = {hf_ieee80211_eht_ttl_mapping_tid_0_link_mapping, hf_ieee80211_eht_ttl_mapping_tid_1_link_mapping, hf_ieee80211_eht_ttl_mapping_tid_2_link_mapping, @@ -28664,7 +29020,7 @@ dissect_tid_to_link_mapping(tvbuff_t *tvb, packet_info *pinfo _U_, return; } - presence = tvb_get_guint8(tvb, offset); + presence = tvb_get_uint8(tvb, offset); proto_tree_add_item(control, hf_ieee80211_eht_ttl_mapping_presence, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -28747,7 +29103,7 @@ dissect_qos_characteristics(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { proto_tree *control_tree = NULL; - guint16 presence_bitmap = (tvb_get_letohl(tvb, offset) >> 9) & 0xFFFF; + uint16_t presence_bitmap = (tvb_get_letohl(tvb, offset) >> 9) & 0xFFFF; control_tree = proto_tree_add_subtree(tree, tvb, offset, 4, ett_eht_qos_characteristics, @@ -28866,14 +29222,14 @@ static void dissect_aid_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint aid, pab_len, n1, i, j, byte; + unsigned aid, pab_len, n1, i, j, byte; - pab_len = tvb_get_guint8(tvb, offset); + pab_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_eht_aid_bitmap_length, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; - n1 = tvb_get_guint8(tvb, offset) & 0xFE; + n1 = tvb_get_uint8(tvb, offset) & 0xFE; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_eht_aid_bitmap_control, ett_eht_aid_bmapctl_tree, @@ -28884,7 +29240,7 @@ dissect_aid_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree_add_item(tree, hf_ieee80211_eht_aid_bitmap_partial_aid_bitmap, tvb, offset, pab_len, ENC_NA); for (i = 0; i < pab_len; i++) { - byte = tvb_get_guint8(tvb, offset + i); + byte = tvb_get_uint8(tvb, offset + i); for (j = 0; j < 8; j++) { if (byte & (1 << j)) { aid = 8*n1 + 8*i + j; @@ -28906,9 +29262,9 @@ static void dissect_bandwidth_indication(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 params; + uint8_t params; - params = tvb_get_guint8(tvb, offset); + params = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_eht_bw_indi_param, ett_eht_bw_indication_param, @@ -28933,9 +29289,9 @@ dissect_bandwidth_indication(tvbuff_t *tvb, packet_info *pinfo _U_, if (params & 0x02) { /* Disabled subchannel bitmap present */ proto_item *item; - gint8 i; + int8_t i; char bitmap_binary[32]; - guint16 bitmap = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + uint16_t bitmap = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); item = proto_tree_add_item(tree, hf_ieee80211_eht_bw_indi_diabled_bitmap, tvb, offset, 2, ENC_LITTLE_ENDIAN); memset(bitmap_binary, 0 ,sizeof(bitmap_binary)); @@ -28952,13 +29308,13 @@ dissect_bandwidth_indication(tvbuff_t *tvb, packet_info *pinfo _U_, static void add_min_max_time_between_measurements(proto_item *item, tvbuff_t *tvb, packet_info *pinfo, int offset, int sub_length) { - guint64 ntb_specific, min, max; + uint64_t ntb_specific, min, max; if (sub_length < 6) { return; } - ntb_specific = tvb_get_gint48(tvb, offset, ENC_LITTLE_ENDIAN); + ntb_specific = tvb_get_int48(tvb, offset, ENC_LITTLE_ENDIAN); min = (ntb_specific >> 1) & GENMASK(22, 0); max = (ntb_specific >> 24) & GENMASK(19, 0); @@ -28990,7 +29346,7 @@ dissect_ntb_specific(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int of item = proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tag_ranging_ntb, ett_tag_ranging_ntb, nontb_fields, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); - col_append_fstr(pinfo->cinfo, COL_INFO, ", NTB"); + col_append_str(pinfo->cinfo, COL_INFO, ", NTB"); add_min_max_time_between_measurements(item, tvb, pinfo, offset, sub_length); } @@ -29077,7 +29433,7 @@ dissect_ranging_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tag_ranging_parameters, ett_tag_ranging, ranging_params_fields, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); - guint8 status = tvb_get_guint8(tvb, offset) & GENMASK(1, 0); + uint8_t status = tvb_get_uint8(tvb, offset) & GENMASK(1, 0); if (status != 0) { col_append_fstr(pinfo->cinfo, COL_INFO, ", Status=%d (%s)", status, val_to_str_const(status, short_status, "Unknown")); @@ -29086,25 +29442,25 @@ dissect_ranging_parameters(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 7; while (offset < len) { - guint8 sub_id, sub_length; + uint8_t sub_id, sub_length; proto_item *sub_elt_len, *rsti; proto_tree *sub_tree; - guint subelt = 0; - guint start_offset = offset; + unsigned subelt = 0; + unsigned start_offset = offset; sub_tree = proto_tree_add_subtree_format(tree, tvb, offset, -1, ett_ranging_subelement_tree, &rsti, "Ranging Subelement %d", subelt); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); proto_item_append_text(sub_tree, ": %s", rval_to_str_const(sub_id, ranging_subelt_types, "Reserved")); proto_tree_add_item(sub_tree, hf_ieee80211_tag_ranging_subelt_tag, tvb, offset, 1, ENC_NA); offset += 1; - sub_length = tvb_get_guint8(tvb, offset); + sub_length = tvb_get_uint8(tvb, offset); sub_elt_len = proto_tree_add_item(sub_tree, hf_ieee80211_tag_ranging_subelt_len, tvb, offset, 1, ENC_NA); @@ -29153,7 +29509,7 @@ static const true_false_string aoa_reference_tfs = { }; static void -aoa_azimuth_custom(gchar *result, guint32 aoa_azimuth) +aoa_azimuth_custom(char *result, uint32_t aoa_azimuth) { float az = aoa_azimuth * (360.0f / 2048.0f); @@ -29161,7 +29517,7 @@ aoa_azimuth_custom(gchar *result, guint32 aoa_azimuth) } static void -aoa_elevation_custom(gchar *result, guint32 aoa_elevation) +aoa_elevation_custom(char *result, uint32_t aoa_elevation) { float el = (aoa_elevation - 512) * (180.0f / 1024.0f); @@ -29169,7 +29525,7 @@ aoa_elevation_custom(gchar *result, guint32 aoa_elevation) } static void -aoa_accuracy_custom(gchar *result, guint32 aoa_accuracy) +aoa_accuracy_custom(char *result, uint32_t aoa_accuracy) { float ac = aoa_accuracy * (360.0f / 1024.0f); @@ -29206,8 +29562,8 @@ ieee80211_tag_ssid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; /* 7.3.2.1 SSID element (0) */ - gchar ssid[MAX_SSID_LEN]; /* The SSID may consist of arbitrary bytes */ - gint ssid_len; + char ssid[MAX_SSID_LEN]; /* The SSID may consist of arbitrary bytes */ + int ssid_len; if (beacon_padding != 0) /* padding bug */ return offset; @@ -29299,10 +29655,10 @@ ieee80211_tag_ssid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da * OK to do so. */ ssid_len = tvb_get_raw_bytes_as_string(tvb_new_subset_length(tvb, offset, tag_len), offset, ssid, MAX_SSID_LEN); - if (ssid_len == (gint)tag_len) { + if (ssid_len == (int)tag_len) { Dot11DecryptSetLastSSID(&dot11decrypt_ctx, (char *) ssid, ssid_len); } - gchar *s; + char *s; /* XXX: 802.11-2020 9.4.2.2 notes that it might or might not include * a terminating null when the UTF-8 SSID bit is set; if we handle * that properly and add it as a ENC_UTF_8 FT_STRING, that will work, @@ -29344,9 +29700,9 @@ dissect_neighbor_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint8 sub_tag_id; - guint32 sub_tag_len; - const gchar *sub_tag_name; + uint8_t sub_tag_id; + uint32_t sub_tag_len; + const char *sub_tag_name; proto_item *parent_item; proto_tree *bssid_info_subtree, *bssid_info_cap_subtree, *sub_tag_tree; tvbuff_t *sub_tag_tvb = NULL; @@ -29407,8 +29763,8 @@ dissect_neighbor_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi while (offset < tag_len) { - sub_tag_id = tvb_get_guint8(tvb, offset); - sub_tag_len = tvb_get_guint8(tvb, offset + 1); + sub_tag_id = tvb_get_uint8(tvb, offset); + sub_tag_len = tvb_get_uint8(tvb, offset + 1); sub_tag_name = val_to_str_const(sub_tag_id, ieee80211_neighbor_report_subelement_id_vals, "Unknown"); sub_tag_tree = proto_tree_add_subtree_format(tree, tvb, offset, sub_tag_len + 2, ett_tag_neighbor_report_subelement_tree, NULL, "Subelement: %s", sub_tag_name); @@ -29440,7 +29796,7 @@ dissect_neighbor_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi proto_tree_add_item(sub_tag_tree, hf_ieee80211_tag_neighbor_report_subelement_bss_dur, tvb, offset + 8, 2, ENC_NA); break; case NR_SUB_ID_HT_CAPABILITIES: - dissect_ht_capability_ie_common(sub_tag_tvb, pinfo, sub_tag_tree, 0, sub_tag_len, field_data->item_tag_length, FALSE); + dissect_ht_capability_ie_common(sub_tag_tvb, pinfo, sub_tag_tree, 0, sub_tag_len, field_data->item_tag_length, false); break; case NR_SUB_ID_HT_OPERATION: dissect_ht_info_ie_1_1(sub_tag_tvb, pinfo, sub_tag_tree, data); @@ -29496,7 +29852,7 @@ ieee80211_tag_supp_rates(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo proto_tree_add_item(tree, hf_ieee80211_tag_supp_rates, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, " %s,", - val_to_str_ext_const(tvb_get_guint8(tvb, offset), + val_to_str_ext_const(tvb_get_uint8(tvb, offset), &ieee80211_supported_rates_vals_ext, "Unknown Rate")); offset += 1; @@ -29556,9 +29912,9 @@ ieee80211_tag_ds_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, ": Current Channel: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); - wlan_stats.channel = tvb_get_guint8(tvb, offset); + wlan_stats.channel = tvb_get_uint8(tvb, offset); offset += 1; return offset; @@ -29579,12 +29935,12 @@ ieee80211_tag_cf_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_item(tree, hf_ieee80211_tag_cfp_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ": CFP count %u", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ": CFP count %u", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_cfp_period, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ": CFP Period %u", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ": CFP Period %u", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_cfp_max_duration, @@ -29605,16 +29961,16 @@ ieee80211_tag_cf_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, static int dissect_pvb_encoded_block_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, - gboolean inverse_bm _U_, - guint8 block_offset _U_, - guint8 page_index _U_) + bool inverse_bm _U_, + uint8_t block_offset _U_, + uint8_t page_index _U_) { - guint8 block_bitmap = tvb_get_guint8(tvb, offset); + uint8_t block_bitmap = tvb_get_uint8(tvb, offset); proto_tree *bb_tree; proto_item *bbi; proto_item *bb; int start_offset = offset; - guint8 subblock = 0; + uint8_t subblock = 0; /* * Walk the block bitmap to figure out how many subblocks there are an @@ -29629,12 +29985,12 @@ dissect_pvb_encoded_block_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, offset += 1; while (block_bitmap) { - gboolean subblock_present = block_bitmap & 0x01; + bool subblock_present = block_bitmap & 0x01; proto_tree *sb_tree; - guint8 bit_pos = 0; + uint8_t bit_pos = 0; if (subblock_present) { - guint8 subblock_val = tvb_get_guint8(tvb, offset); + uint8_t subblock_val = tvb_get_uint8(tvb, offset); sb_tree = proto_tree_add_subtree_format(bb_tree, tvb, offset, 1, ett_s1g_pvb_subblock_tree, NULL, @@ -29643,7 +29999,7 @@ dissect_pvb_encoded_block_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, if (subblock_val & 0x01) { proto_item_append_text(bb, ", Subblock %d present", bit_pos); - guint16 aid13 = (page_index << 11) | (block_offset << 6) | + uint16_t aid13 = (page_index << 11) | (block_offset << 6) | (subblock << 3) | bit_pos; proto_tree_add_uint_bits_format_value(sb_tree, hf_ieee80211_s1g_block_bitmap_sta_aid13, @@ -29669,12 +30025,12 @@ dissect_pvb_encoded_block_bitmap(tvbuff_t *tvb, packet_info *pinfo _U_, static int dissect_pvb_encoded_single_aid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, - gboolean inverse_bm _U_, - guint8 block_offset, - guint8 page_index) + bool inverse_bm _U_, + uint8_t block_offset, + uint8_t page_index) { - guint8 single_aid = tvb_get_guint8(tvb, offset); - guint16 aid13 = (page_index << 11) | (block_offset << 6) | + uint8_t single_aid = tvb_get_uint8(tvb, offset); + uint16_t aid13 = (page_index << 11) | (block_offset << 6) | (single_aid & 0x3F); proto_tree_add_uint_format(tree, hf_ieee80211_s1g_block_bitmap_single_aid, @@ -29688,11 +30044,11 @@ dissect_pvb_encoded_single_aid(tvbuff_t *tvb, packet_info *pinfo _U_, static int dissect_pvb_encoded_olb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, - gboolean inverse_bm _U_, - guint8 block_offset _U_, - guint8 page_index _U_) + bool inverse_bm _U_, + uint8_t block_offset _U_, + uint8_t page_index _U_) { - guint8 length = tvb_get_guint8(tvb, offset); + uint8_t length = tvb_get_uint8(tvb, offset); proto_tree *olb_tree; int k; @@ -29705,9 +30061,9 @@ dissect_pvb_encoded_olb(tvbuff_t *tvb, packet_info *pinfo _U_, offset += 1; for (k = 0; k < length; k++) { - guint8 subblock_val = tvb_get_guint8(tvb, offset); + uint8_t subblock_val = tvb_get_uint8(tvb, offset); proto_tree *sb_tree; - guint8 bit_pos = 0; + uint8_t bit_pos = 0; sb_tree = proto_tree_add_subtree_format(olb_tree, tvb, offset, 1, ett_s1g_pvb_olb_subblock, NULL, @@ -29715,7 +30071,7 @@ dissect_pvb_encoded_olb(tvbuff_t *tvb, packet_info *pinfo _U_, while (subblock_val) { if (subblock_val & 0x01) { - guint16 aid13 = (page_index << 11) | (block_offset << 6) | + uint16_t aid13 = (page_index << 11) | (block_offset << 6) | (k << 3) | bit_pos; proto_tree_add_uint_bits_format_value(sb_tree, hf_ieee80211_s1g_block_bitmap_sta_aid13, @@ -29738,13 +30094,13 @@ dissect_pvb_encoded_olb(tvbuff_t *tvb, packet_info *pinfo _U_, static int dissect_pvb_encoded_ade(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, - gboolean inverse_bm _U_, - guint8 block_offset _U_, - guint8 page_index _U_) + bool inverse_bm _U_, + uint8_t block_offset _U_, + uint8_t page_index _U_) { - guint8 ade_control = tvb_get_guint8(tvb, offset); - guint8 ewl = (ade_control & 0x03) + 1; - guint8 ade_bytes = ade_control >> 3; + uint8_t ade_control = tvb_get_uint8(tvb, offset); + uint8_t ewl = (ade_control & 0x03) + 1; + uint8_t ade_bytes = ade_control >> 3; proto_tree *ade_tree; proto_item *cntl_item; proto_tree *cntl_tree; @@ -29800,12 +30156,12 @@ static const value_string s1g_block_control_encoding_mode_vals[] = { static int dissect_pvb_encoded_block(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int idx, - guint8 page_index) + uint8_t page_index) { - guint8 block_control = tvb_get_guint8(tvb, offset); - guint8 enc_mode = block_control & 0x03; - guint8 inverse_bm = (enc_mode >> 2) & 0x01; - guint8 block_offset = block_control >> 3; + uint8_t block_control = tvb_get_uint8(tvb, offset); + uint8_t enc_mode = block_control & 0x03; + uint8_t inverse_bm = (enc_mode >> 2) & 0x01; + uint8_t block_offset = block_control >> 3; proto_tree *eb_tree; proto_item *ebti; @@ -29850,7 +30206,7 @@ dissect_pvb_encoded_block(tvbuff_t *tvb, packet_info *pinfo, static int dissect_partial_virtual_bitmap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int pvb_len, - guint8 page_index) + uint8_t page_index) { proto_tree *pvb_tree; int idx = 0; @@ -29874,8 +30230,8 @@ ieee80211_tag_tim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint aid, pvb_len, n1, i, j, byte; - gboolean is_s1g = sta_is_s1g(pinfo); + unsigned aid, pvb_len, n1, i, j, byte; + bool is_s1g = sta_is_s1g(pinfo); static int * const ieee80211_tim_bmapctl[] = { &hf_ieee80211_tim_bmapctl_mcast, &hf_ieee80211_tim_bmapctl_offset, @@ -29913,23 +30269,23 @@ ieee80211_tag_tim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat proto_tree_add_item(tree, hf_ieee80211_tim_dtim_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, ": DTIM %u of", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tim_dtim_period, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, " %u bitmap", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; if (offset >= tag_len) return offset; if (is_s1g) { - guint bitmap_len = 0; + unsigned bitmap_len = 0; if (tag_len >= 3) { - guint8 page_index = tvb_get_guint8(tvb, offset) >> 6; + uint8_t page_index = tvb_get_uint8(tvb, offset) >> 6; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_s1g_tim_bmapctrl, @@ -29950,13 +30306,13 @@ ieee80211_tag_tim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat ieee80211_tim_bmapctl, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); pvb_len = tag_len - 3; - n1 = tvb_get_guint8(tvb, offset) & 0xFE; + n1 = tvb_get_uint8(tvb, offset) & 0xFE; offset += 1; proto_tree_add_item(tree, hf_ieee80211_tim_partial_virtual_bitmap, tvb, offset, pvb_len, ENC_NA); /* FIXME: Handles dot11MgmtOptionMultiBSSIDActivated = false only */ for (i = 0; i < pvb_len; i++) { - byte = tvb_get_guint8(tvb, offset + i); + byte = tvb_get_uint8(tvb, offset + i); for (j = 0; j < 8; j++) { if (byte & (1 << j)) { aid = 8*n1 + 8*i + j; @@ -30018,7 +30374,7 @@ ieee80211_tag_country_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* 7.3.2.9 Country information element (7) */ proto_tree *sub_tree; proto_item *sub_item; - const guint8* country_code; + const uint8_t* country_code; if (tag_len < 6) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, @@ -30028,14 +30384,14 @@ ieee80211_tag_country_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* FIXME: If environment is 'X', the only allowed CC is "XX" */ proto_tree_add_item_ret_string(tree, hf_ieee80211_tag_country_info_code, - tvb, offset, 2, ENC_ASCII|ENC_NA, wmem_packet_scope(), &country_code); + tvb, offset, 2, ENC_ASCII|ENC_NA, pinfo->pool, &country_code); proto_item_append_text(field_data->item_tag, ": Country Code %s", country_code); offset += 2; proto_tree_add_item(tree, hf_ieee80211_tag_country_info_env, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, ", Environment %s", - val_to_str(tvb_get_guint8(tvb, offset), + val_to_str(tvb_get_uint8(tvb, offset), environment_vals, "0x%02x")); offset += 1; @@ -30047,7 +30403,7 @@ ieee80211_tag_country_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 1; continue; } - if (tvb_get_guint8(tvb, offset) <= 200) { /* 802.11d */ + if (tvb_get_uint8(tvb, offset) <= 200) { /* 802.11d */ sub_item = proto_tree_add_item(tree, hf_ieee80211_tag_country_info_fnm, tvb, offset, 3, ENC_NA); sub_tree = proto_item_add_subtree(sub_item, ett_tag_country_fnm_tree); @@ -30055,18 +30411,18 @@ ieee80211_tag_country_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_tree_add_item(sub_tree, hf_ieee80211_tag_country_info_fnm_fcn, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ": First Channel Number: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_country_info_fnm_nc, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ", Number of Channels: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_country_info_fnm_mtpl, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ", Maximum Transmit Power Level: %d dBm", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; } else { /* 802.11j */ sub_item = proto_tree_add_item(tree, hf_ieee80211_tag_country_info_rrc, @@ -30077,17 +30433,17 @@ ieee80211_tag_country_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ": Operating Extension Identifier: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_country_info_rrc_oc, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ", Operating Class: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_country_info_rrc_cc, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(sub_item, ", Coverage Class: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; } } @@ -30111,13 +30467,13 @@ ieee80211_tag_fh_hopping_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree proto_tree_add_item(tree, hf_ieee80211_tag_fh_hopping_parameter_prime_radix, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ": Prime Radix: %u", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ": Prime Radix: %u", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_fh_hopping_parameter_nb_channels, tvb, offset, 1, ENC_LITTLE_ENDIAN); proto_item_append_text(field_data->item_tag, ", Number of Channels: %u", - tvb_get_guint8(tvb, offset)); + tvb_get_uint8(tvb, offset)); offset += 1; return offset; @@ -30164,11 +30520,11 @@ ieee80211_tag_fh_hopping_table(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr int add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, int ftype, - const guint8 *valid_element_ids, guint valid_element_ids_count, + const uint8_t *valid_element_ids, unsigned valid_element_ids_count, association_sanity_check_t *association_sanity_check) { return add_tagged_field_with_validation(pinfo, tree, tvb, offset, ftype, valid_element_ids, - valid_element_ids_count, FALSE, NULL, 0, FALSE, association_sanity_check); + valid_element_ids_count, false, NULL, 0, false, association_sanity_check); } /* @@ -30182,12 +30538,12 @@ add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset */ static tvbuff_t * build_defrag_tvb(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb, - int offset, guint32 *tag_len, guint32 *tag_overhead) + int offset, uint32_t *tag_len, uint32_t *tag_overhead) { tvbuff_t *new_tvb = tvb_new_composite(); tvbuff_t *tmp_tvb = NULL; - guint32 new_len = 0, overhead = 0; - guint8 frag_len = 0; + uint32_t new_len = 0, overhead = 0; + uint8_t frag_len = 0; /* * We come in here pointing to the first fragment and on each iteration @@ -30195,7 +30551,7 @@ build_defrag_tvb(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb, */ do { offset += 1; - frag_len = tvb_get_guint8(tvb, offset); + frag_len = tvb_get_uint8(tvb, offset); offset += 1; tmp_tvb = tvb_new_subset_length(tvb, offset, frag_len); /* Insert this fragment ... */ @@ -30205,7 +30561,7 @@ build_defrag_tvb(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb, overhead += 2; } while (frag_len == 255 && tvb_captured_length_remaining(tvb, offset) > 2 && - tvb_get_guint8(tvb, offset) == TAG_FRAGMENT); + tvb_get_uint8(tvb, offset) == TAG_FRAGMENT); *tag_len = new_len; *tag_overhead = overhead; @@ -30216,23 +30572,23 @@ build_defrag_tvb(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb, int add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, int ftype, - const guint8 *element_ids, guint element_ids_count, gboolean element_ids_assume_invalid, - const guint8 *ext_element_ids, guint ext_element_ids_count, gboolean ext_element_ids_assume_invalid, + const uint8_t *element_ids, unsigned element_ids_count, bool element_ids_assume_invalid, + const uint8_t *ext_element_ids, unsigned ext_element_ids_count, bool ext_element_ids_assume_invalid, association_sanity_check_t *association_sanity_check) { tvbuff_t *tag_tvb; - guint32 tag_no, tag_len, tag_overhead; - guint32 ext_tag_no = 0; + uint32_t tag_no, tag_len, tag_overhead; + uint32_t ext_tag_no = 0; proto_tree *orig_tree = tree; proto_item *ti = NULL; proto_item *ti_len, *ti_tag; ieee80211_tagged_field_data_t field_data; - gboolean isDMG; + bool isDMG; isDMG = GPOINTER_TO_INT(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_DMG_KEY)); - tag_no = tvb_get_guint8(tvb, offset); - tag_len = tvb_get_guint8(tvb, offset + 1); + tag_no = tvb_get_uint8(tvb, offset); + tag_len = tvb_get_uint8(tvb, offset + 1); save_tag_for_dot11decrypt(tvb, pinfo, offset); /* @@ -30245,7 +30601,7 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t */ if (tag_len == 255 && tvb_captured_length_remaining(tvb, offset) > (255 + 2) && - tvb_get_guint8(tvb, offset + 255 + 2) == TAG_FRAGMENT) { + tvb_get_uint8(tvb, offset + 255 + 2) == TAG_FRAGMENT) { tag_tvb = build_defrag_tvb(pinfo, tree, tvb, offset, &tag_len, &tag_overhead); add_new_data_source(pinfo, tag_tvb, "Reassembled IE"); @@ -30256,7 +30612,7 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t if (tree) { if (tag_no == TAG_ELEMENT_ID_EXTENSION) { - ext_tag_no = tvb_get_guint8(tvb, offset + 2); + ext_tag_no = tvb_get_uint8(tvb, offset + 2); ti = proto_tree_add_item(orig_tree, hf_ieee80211_ext_tag, tvb, offset + 2, tag_len + tag_overhead - 2, ENC_NA); proto_item_append_text(ti, ": %s", val_to_str_ext(ext_tag_no, &tag_num_vals_eid_ext_ext, "Unknown (%d)")); } else { @@ -30276,7 +30632,7 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t ti_tag = proto_tree_add_item(tree, hf_ieee80211_tag_number, tvb, offset, 1, ENC_LITTLE_ENDIAN); ti_len = proto_tree_add_uint(tree, hf_ieee80211_tag_length, tvb, offset + 1, 1, tag_len); } - if (tag_len > (guint)tvb_reported_length_remaining(tvb, offset)) { + if (tag_len > (unsigned)tvb_reported_length_remaining(tvb, offset)) { expert_add_info_format(pinfo, ti_len, &ei_ieee80211_tag_length, "Tag Length is longer than remaining payload"); } @@ -30286,8 +30642,8 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t * check the Element ID is not in the list. If either check fails, stop decoding * the value to prevent possible infinite recursions due to unexpected elements. */ if (element_ids_count) { - gboolean current_tag_no = FALSE; - guint i; + bool current_tag_no = false; + unsigned i; for (i = 0; i < element_ids_count; i++) { current_tag_no = element_ids[i] == tag_no; @@ -30305,8 +30661,8 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t /* Same as above, but for Extended Element IDs */ if (ext_tag_no && ext_element_ids_count) { - gboolean current_ext_tag_no = FALSE; - guint i; + bool current_ext_tag_no = false; + unsigned i; for (i = 0; i < ext_element_ids_count; i++) { current_ext_tag_no = ext_element_ids[i] == ext_tag_no; @@ -30327,7 +30683,7 @@ add_tagged_field_with_validation(packet_info *pinfo, proto_tree *tree, tvbuff_t field_data.isDMG = isDMG; field_data.item_tag = ti; field_data.item_tag_length = ti_len; - if (!dissector_try_uint_new(tagged_field_table, tag_no, tag_tvb, pinfo, tree, FALSE, &field_data)) + if (!dissector_try_uint_new(tagged_field_table, tag_no, tag_tvb, pinfo, tree, false, &field_data)) { proto_tree_add_item(tree, hf_ieee80211_tag_data, tvb, offset + 2, tag_len, ENC_NA); expert_add_info_format(pinfo, ti_tag, &ei_ieee80211_tag_data, @@ -30393,7 +30749,7 @@ ieee80211_tag_qbss_load(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi proto_tree_add_uint(tree, hf_ieee80211_qbss_version, tvb, offset, tag_len, 2); proto_tree_add_item(tree, hf_ieee80211_qbss_scount, tvb, offset, 2, ENC_LITTLE_ENDIAN); base_item = proto_tree_add_item(tree, hf_ieee80211_qbss_cu, tvb, offset + 2, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(base_item, " (%d%%)", 100*tvb_get_guint8(tvb, offset + 2)/255); + proto_item_append_text(base_item, " (%d%%)", 100*tvb_get_uint8(tvb, offset + 2)/255); base_item = proto_tree_add_item(tree, hf_ieee80211_qbss_adc, tvb, offset + 3, 2, ENC_LITTLE_ENDIAN); proto_item_append_text(base_item, " (%d us/s)", tvb_get_letohs(tvb, offset + 3)*32); } @@ -30428,12 +30784,12 @@ ieee80211_tag_tspec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - if (field_data->isDMG == FALSE && tag_len != 55) + if (field_data->isDMG == false && tag_len != 55) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be = 55", tag_len); return tvb_captured_length(tvb); } - if (field_data->isDMG == TRUE && tag_len != 57) + if (field_data->isDMG == true && tag_len != 57) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be = 57", tag_len); return tvb_captured_length(tvb); @@ -30487,7 +30843,7 @@ ieee80211_tag_tspec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d proto_tree_add_item(tree, hf_ieee80211_tspec_medium, tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; - if(field_data->isDMG == TRUE) { + if(field_data->isDMG == true) { proto_tree_add_item(tree, hf_ieee80211_tspec_dmg, tvb, offset, 2, ENC_LITTLE_ENDIAN); /*offset +=2;*/ } @@ -30714,12 +31070,12 @@ static int ieee80211_frame_classifier(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int tag_len) { - guint8 type; - guint8 version; - guint8 filter_field_len; - guint32 class_mask; + uint8_t type; + uint8_t version; + uint8_t filter_field_len; + uint32_t class_mask; - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tclas_class_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -30742,7 +31098,7 @@ ieee80211_frame_classifier(tvbuff_t *tvb, packet_info *pinfo _U_, break; case 1: - version = tvb_get_guint8(tvb, offset+1); + version = tvb_get_uint8(tvb, offset+1); if (version == 4) { proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tclas_class_mask, ett_tag_tclas_mask_tree, ieee80211_tclas_class_mask1_4, @@ -30817,7 +31173,7 @@ ieee80211_frame_classifier(tvbuff_t *tvb, packet_info *pinfo _U_, break; case 4: - version = tvb_get_guint8(tvb, offset+1); + version = tvb_get_uint8(tvb, offset+1); if (version == 4) { proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tclas_class_mask, @@ -31373,7 +31729,7 @@ ieee80211_tag_power_constraint(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr } proto_tree_add_item(tree, hf_ieee80211_tag_power_constraint_local, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ": %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ": %d", tvb_get_uint8(tvb, offset)); return tvb_captured_length(tvb); } @@ -31391,11 +31747,11 @@ ieee80211_tag_power_capability(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr } proto_tree_add_item(tree, hf_ieee80211_tag_power_capability_min, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, " Min: %d", tvb_get_gint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " Min: %d", tvb_get_int8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_power_capability_max, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ", Max: %d", tvb_get_gint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ", Max: %d", tvb_get_int8(tvb, offset)); return tvb_captured_length(tvb); } @@ -31414,7 +31770,10 @@ ieee80211_tag_tpc_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U return 1; /* Even with no data, we can't return 0 */ } -/* 7.3.2.18 TPC Report element (35) */ +/* TPC Report element (35) + * 7.3.2.18 (Std 802.11-2007), 8.4.2.19 (Std 802.11-2012), + * 9.4.2.17 (Std 802.11-2016), 9.4.2.16 (Std 802.11-2020) + */ static int ieee80211_tag_tpc_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data) { @@ -31429,11 +31788,25 @@ ieee80211_tag_tpc_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo } proto_tree_add_item(tree, hf_ieee80211_tag_tpc_report_trsmt_pow, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, " Transmit Power: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " Transmit Power: %d dBm", tvb_get_uint8(tvb, offset)); offset += 1; - proto_tree_add_item(tree, hf_ieee80211_tag_tpc_report_link_mrg, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ", Link Margin: %d", tvb_get_guint8(tvb, offset)); + /* + * "The Link Margin field is reserved when a TPC Report element is + * included in a Beacon frame or Probe Response frame." - 2012 and later + */ + + uint32_t ftype = GPOINTER_TO_UINT(p_get_proto_data(wmem_file_scope(), + pinfo, proto_wlan, + FRAME_TYPE_KEY)); + + if (ftype == MGT_BEACON || ftype == MGT_PROBE_RESP) { + proto_tree_add_item(tree, hf_ieee80211_tag_tpc_report_reserved, tvb, offset, 1, ENC_NA); + } else { + proto_tree_add_item(tree, hf_ieee80211_tag_tpc_report_link_mrg, tvb, offset, 1, ENC_LITTLE_ENDIAN); + + proto_item_append_text(field_data->item_tag, ", Link Margin: %d dBm", tvb_get_uint8(tvb, offset)); + } return tvb_captured_length(tvb); } @@ -31447,7 +31820,7 @@ ieee80211_tag_supported_channels(tvbuff_t *tvb, packet_info *pinfo, proto_tree * proto_item *chan_item; proto_tree *chan_tree; - guint i = 1; + unsigned i = 1; if (tag_len % 2 == 1) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag length %u must be even", tag_len); @@ -31463,11 +31836,11 @@ ieee80211_tag_supported_channels(tvbuff_t *tvb, packet_info *pinfo, proto_tree * chan_tree = proto_item_add_subtree(chan_item , ett_tag_supported_channels); proto_tree_add_item(chan_tree, hf_ieee80211_tag_supported_channels_first, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(chan_item, " First: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(chan_item, " First: %d", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(chan_tree, hf_ieee80211_tag_supported_channels_range, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(chan_item, ", Range: %d ", tvb_get_guint8(tvb, offset)); + proto_item_append_text(chan_item, ", Range: %d ", tvb_get_uint8(tvb, offset)); offset += 1; } @@ -31488,15 +31861,15 @@ ieee80211_tag_switch_ann(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo } proto_tree_add_item(tree, hf_ieee80211_csa_channel_switch_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, " Mode: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " Mode: %d", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_csa_new_channel_number, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ", Number: %d ", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ", Number: %d ", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_csa_channel_switch_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, ", Count: %d ", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, ", Count: %d ", tvb_get_uint8(tvb, offset)); return tvb_captured_length(tvb); } @@ -31507,7 +31880,7 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint8 request_type; + uint8_t request_type; proto_item *parent_item; proto_tree *sub_tree; static int * const ieee80211_tag_measure_request_mode[] = { @@ -31535,7 +31908,7 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v parent_item = proto_tree_add_item(tree, hf_ieee80211_tag_measure_request_type, tvb, offset, 1, ENC_NA); sub_tree = proto_item_add_subtree(parent_item, ett_tag_measure_request_type_tree); - request_type = tvb_get_guint8(tvb, offset); + request_type = tvb_get_uint8(tvb, offset); offset += 1; switch (request_type) { @@ -31569,9 +31942,9 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id; + uint8_t sub_id; proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_channel_load_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_subelement_length, tvb, offset, 1, ENC_NA); @@ -31607,9 +31980,9 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id; + uint8_t sub_id; proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_noise_histogram_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_subelement_length, tvb, offset, 1, ENC_NA); @@ -31651,19 +32024,19 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id, sub_length, sub_tag_end; + uint8_t sub_id, sub_length, sub_tag_end; proto_item *sub_elem_item, *sub_elem_len_item; proto_tree *sub_elem_tree; sub_elem_item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_request_beacon_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; sub_elem_tree = proto_item_add_subtree(sub_elem_item, ett_tag_measure_request_sub_element_tree); sub_elem_len_item = proto_tree_add_item(sub_elem_tree, hf_ieee80211_tag_measure_request_subelement_length, tvb, offset, 1, ENC_NA); - sub_length = tvb_get_guint8(tvb, offset); + sub_length = tvb_get_uint8(tvb, offset); offset += 1; sub_tag_end = offset + sub_length; @@ -31704,7 +32077,7 @@ ieee80211_tag_measure_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v ieee80211_tagged_field_data_t sub_data = { .ftype = 0, .sanity_check = NULL, - .isDMG = FALSE, + .isDMG = false, .item_tag_length = sub_elem_len_item, .item_tag = sub_elem_item}; offset += dissect_ap_channel_report(sub_tvb, pinfo, sub_elem_tree, &sub_data); @@ -31834,7 +32207,7 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v int offset = 0; proto_item *parent_item; proto_tree *sub_tree; - guint8 report_type; + uint8_t report_type; static int * const ieee80211_tag_measure_report_mode[] = { &hf_ieee80211_tag_measure_report_mode_late, &hf_ieee80211_tag_measure_report_mode_incapable, @@ -31870,7 +32243,7 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 1; - report_type = tvb_get_guint8(tvb, offset); + report_type = tvb_get_uint8(tvb, offset); parent_item = proto_tree_add_item(tree, hf_ieee80211_tag_measure_report_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); sub_tree = proto_item_add_subtree(parent_item, ett_tag_measure_report_type_tree); offset += 1; @@ -32055,20 +32428,20 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id, sub_length, sub_tag_end;; + uint8_t sub_id, sub_length, sub_tag_end; proto_item *sub_elem_item, *sub_elem_len_item; proto_tree *sub_elem_tree; sub_elem_item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_report_beacon_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; sub_elem_tree = proto_item_add_subtree(sub_elem_item, ett_tag_measure_report_sub_element_tree); sub_elem_len_item = proto_tree_add_item(sub_elem_tree, hf_ieee80211_tag_measure_report_subelement_length, tvb, offset, 1, ENC_NA); - sub_length = tvb_get_guint8(tvb, offset); + sub_length = tvb_get_uint8(tvb, offset); offset += 1; sub_tag_end = offset + sub_length; @@ -32082,7 +32455,7 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v case MEASURE_REP_BEACON_SUB_REPORTED_FRAME_BODY: /* Reported Frame Body (1) */ { proto_tree *rep_tree; - gboolean fixed_fields = TRUE; + bool fixed_fields = true; rep_tree = proto_tree_add_subtree(sub_elem_tree, tvb, offset, sub_length, ett_tag_measure_reported_frame_tree, NULL, "Reported Frame Body"); @@ -32090,9 +32463,9 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v /* If reported frame body fragment ID sub element is present and this is not the first fragment then there are no fixed size fields */ if (((tag_len - sub_tag_end) >= 4) && - (tvb_get_guint8(tvb, sub_tag_end) == MEASURE_REP_BEACON_SUB_REPORTED_FRAME_BODY_FRAG_ID) && - ((tvb_get_guint8(tvb, sub_tag_end + 3) & 0x7f) > 0)) - fixed_fields = FALSE; + (tvb_get_uint8(tvb, sub_tag_end) == MEASURE_REP_BEACON_SUB_REPORTED_FRAME_BODY_FRAG_ID) && + ((tvb_get_uint8(tvb, sub_tag_end + 3) & 0x7f) > 0)) + fixed_fields = false; if (fixed_fields) { add_ff_timestamp(rep_tree, tvb, pinfo, offset); @@ -32174,20 +32547,20 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id, sub_length, sub_tag_end;; + uint8_t sub_id, sub_length, sub_tag_end; proto_item *sub_elem_item, *sub_elem_len_item; proto_tree *sub_elem_tree; sub_elem_item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_report_lci_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; sub_elem_tree = proto_item_add_subtree(sub_elem_item, ett_tag_measure_report_sub_element_tree); sub_elem_len_item = proto_tree_add_item(sub_elem_tree, hf_ieee80211_tag_measure_report_subelement_length, tvb, offset, 1, ENC_NA); - sub_length = tvb_get_guint8(tvb, offset); + sub_length = tvb_get_uint8(tvb, offset); offset += 1; sub_tag_end = offset + sub_length; @@ -32277,20 +32650,20 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v while (offset < tag_len) { - guint8 sub_id, sub_length, sub_tag_end;; + uint8_t sub_id, sub_length, sub_tag_end; proto_item *sub_elem_item, *sub_elem_len_item; proto_tree *sub_elem_tree; sub_elem_item = proto_tree_add_item(sub_tree, hf_ieee80211_tag_measure_report_civic_sub_id, tvb, offset, 1, ENC_NA); - sub_id = tvb_get_guint8(tvb, offset); + sub_id = tvb_get_uint8(tvb, offset); offset += 1; sub_elem_tree = proto_item_add_subtree(sub_elem_item, ett_tag_measure_report_sub_element_tree); sub_elem_len_item = proto_tree_add_item(sub_elem_tree, hf_ieee80211_tag_measure_report_subelement_length, tvb, offset, 1, ENC_NA); - sub_length = tvb_get_guint8(tvb, offset); + sub_length = tvb_get_uint8(tvb, offset); offset += 1; sub_tag_end = offset + sub_length; @@ -32303,7 +32676,7 @@ ieee80211_tag_measure_rep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v switch (sub_id) { case MEASURE_REP_CIVIC_SUB_REPORTED_LOCATION_CIVIC: /* Location Civic (0) */ { - guint32 length; + uint32_t length; proto_tree_add_item(sub_elem_tree, hf_ieee80211_tag_measure_report_location_civic_country, tvb, offset, 2, ENC_ASCII); offset += 2; @@ -32372,11 +32745,11 @@ ieee80211_tag_quiet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* d } proto_tree_add_item(tree, hf_ieee80211_tag_quiet_count, tvb, offset, 1, ENC_NA); - proto_item_append_text(field_data->item_tag, " Count: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " Count: %d", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_quiet_period, tvb, offset, 1, ENC_NA); - proto_item_append_text(field_data->item_tag, " Period: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " Period: %d", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_quiet_duration, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -32482,7 +32855,7 @@ ieee80211_tag_tclas_process(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } proto_tree_add_item(tree, hf_ieee80211_tclas_process, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, " : %s", val_to_str(tvb_get_guint8(tvb, offset), ieee80211_tclas_process_flag, "Unknown %d")); + proto_item_append_text(field_data->item_tag, " : %s", val_to_str(tvb_get_uint8(tvb, offset), ieee80211_tclas_process_flag, "Unknown %d")); return tvb_captured_length(tvb); } @@ -32534,7 +32907,7 @@ ieee80211_tag_ext_supp_rates(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree while (offset < tag_len) { proto_tree_add_item(tree, hf_ieee80211_tag_ext_supp_rates, tvb, offset, 1, ENC_NA); - proto_item_append_text(field_data->item_tag, " %s,", val_to_str_ext_const(tvb_get_guint8(tvb, offset), &ieee80211_supported_rates_vals_ext, "Unknown Rate")); + proto_item_append_text(field_data->item_tag, " %s,", val_to_str_ext_const(tvb_get_uint8(tvb, offset), &ieee80211_supported_rates_vals_ext, "Unknown Rate")); offset += 1; } proto_item_append_text(field_data->item_tag, " [Mbit/sec]"); @@ -32583,8 +32956,8 @@ ieee80211_tag_vendor_specific_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree * int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint32 tag_vs_len = tag_len; - guint32 oui; + uint32_t tag_vs_len = tag_len; + uint32_t oui; if (tag_len < 3) { @@ -32631,7 +33004,7 @@ ieee80211_tag_vendor_specific_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree * dissect_vendor_ie_extreme_mesh(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo, field_data->item_tag_length); break; case OUI_ARUBA: - dissect_vendor_ie_aruba(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_aruba(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_NINTENDO: dissect_vendor_ie_nintendo(field_data->item_tag, tree, tvb, offset, tag_vs_len); @@ -32649,25 +33022,25 @@ ieee80211_tag_vendor_specific_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree * dissect_vendor_ie_aerohive(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_MIST: - dissect_vendor_ie_mist(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_mist(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_RUCKUS: - dissect_vendor_ie_ruckus(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_ruckus(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_ALCATEL_LUCENT: - dissect_vendor_ie_alcatel(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_alcatel(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_SGDSN: dissect_vendor_ie_sgdsn(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_FORTINET: - dissect_vendor_ie_fortinet(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_fortinet(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_MOJO_ARISTA: - dissect_vendor_ie_arista(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_arista(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; case OUI_WISUN: - dissect_vendor_ie_wisun(field_data->item_tag, tree, tvb, offset, tag_vs_len); + dissect_vendor_ie_wisun(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo); break; default: proto_tree_add_item(tree, hf_ieee80211_tag_vendor_data, tvb, offset, tag_vs_len, ENC_NA); @@ -32679,7 +33052,7 @@ ieee80211_tag_vendor_specific_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree * static void dissect_symbol_proprietary_ie_extreme(proto_item *item _U_, proto_tree *ietree, - tvbuff_t *tvb, int offset, guint32 tag_len _U_, + tvbuff_t *tvb, int offset, uint32_t tag_len _U_, packet_info *pinfo _U_) { proto_tree_add_item(ietree, hf_ieee80211_symbp_extreme_assoc_clients, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -32703,8 +33076,8 @@ ieee80211_tag_symbol_proprietary_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tre int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint32 tag_vs_len = tag_len; - guint32 oui; + uint32_t tag_vs_len = tag_len; + uint32_t oui; if (tag_len < 3) { @@ -32762,7 +33135,7 @@ static const val64_string he_trigger_mac_padding_dur_vals[] = { }; static void -max_frag_msdus_base_custom(gchar *result, guint32 max_frag_msdus_value) +max_frag_msdus_base_custom(char *result, uint32_t max_frag_msdus_value) { if (max_frag_msdus_value == 7) snprintf(result, ITEM_LABEL_LENGTH, "No restriction"); @@ -33047,10 +33420,10 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, NULL }; - guint64 he_mac_caps = tvb_get_letoh40(tvb, offset); - guint8 phy_channel_width_set = 0; + uint64_t he_mac_caps = tvb_get_letoh40(tvb, offset); + uint8_t phy_channel_width_set = 0; proto_tree *phy_cap_tree = NULL; - guint he_mcs_and_nss_len = 4; + unsigned he_mcs_and_nss_len = 4; proto_tree *sup_he_mcs_and_nss_tree = NULL; proto_tree *rx_tx_he_mcs_map_80 = NULL; proto_tree *rx_tx_he_mcs_map_160 = NULL; @@ -33088,8 +33461,8 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); offset += 6; - /* Get and isolate the phy channel witdth set */ - phy_channel_width_set = tvb_get_guint8(tvb, offset) >> 1; + /* Get and isolate the phy channel width set */ + phy_channel_width_set = tvb_get_uint8(tvb, offset) >> 1; /* Save this info so we can refer to it later. It might need to be global */ p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, HE_CHANNEL_WIDTH_KEY, GINT_TO_POINTER(phy_channel_width_set | (1<<31))); @@ -33219,9 +33592,9 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, } if (offset < len) { - guint8 ppe_thresholds_field = tvb_get_guint8(tvb, offset); - guint8 nss_count = ppe_thresholds_field & 0x07, nss_index = 0; - guint8 ru_index_bitmask = (ppe_thresholds_field >> 3) & 0x0F; + uint8_t ppe_thresholds_field = tvb_get_uint8(tvb, offset); + uint8_t nss_count = ppe_thresholds_field & 0x07, nss_index = 0; + uint8_t ru_index_bitmask = (ppe_thresholds_field >> 3) & 0x0F; proto_tree *ppe_tree = NULL; int i = 0; int bit_offset = 7; /* How many bits we are into the bytes */ @@ -33242,7 +33615,7 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int start_offset = 0; proto_tree *nss_tree = NULL; proto_item *nssti = NULL; - guint8 l_ru_bitmask = ru_index_bitmask; + uint8_t l_ru_bitmask = ru_index_bitmask; nss_tree = proto_tree_add_subtree_format(ppe_tree, tvb, offset, -1, ett_he_ppe_nss, &nssti, "NSS %d", nss_index); @@ -33251,7 +33624,7 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, for (i = 0; i < 4; i++) { if (l_ru_bitmask & 0x01) { int bits_avail = 8 - bit_offset, bits_needed = 6 - bits_avail; - guint8 the_bits = 0; + uint8_t the_bits = 0; int ru_start_offset = offset; proto_tree *ru_alloc_tree = NULL; proto_item *rualti = NULL; @@ -33265,12 +33638,12 @@ dissect_he_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, * Assemble the bits we require ... we need 6, or 2x3 */ if (bits_avail >= 6) { /* We can use the current byte */ - the_bits = (tvb_get_guint8(tvb, offset) >> bit_offset) & 0x3F; + the_bits = (tvb_get_uint8(tvb, offset) >> bit_offset) & 0x3F; } else { /* We need two adjacent bytes */ - the_bits = (tvb_get_guint8(tvb, offset) >> bit_offset); + the_bits = (tvb_get_uint8(tvb, offset) >> bit_offset); offset++; the_bits = the_bits | - ((tvb_get_guint8(tvb, offset) & + ((tvb_get_uint8(tvb, offset) & ((1 << bits_needed) - 1)) << bits_avail); } /* @@ -33360,7 +33733,7 @@ static void dissect_he_operation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint32 op_params = tvb_get_letoh24(tvb, offset); + uint32_t op_params = tvb_get_letoh24(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_he_operation_parameter, ett_he_operation_params, @@ -33524,7 +33897,7 @@ static int dissect_spatial_reuse_parameter_set(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 sr_control = tvb_get_guint8(tvb, offset); + uint8_t sr_control = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_he_spatial_reuse_sr_control, ett_he_spatial_reuse_control, @@ -33594,7 +33967,7 @@ static void dissect_ess_report(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 bss_trans_thresh = tvb_get_guint8(tvb, offset) >> 2; + uint8_t bss_trans_thresh = tvb_get_uint8(tvb, offset) >> 2; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_he_ess_report_info_field, @@ -33685,7 +34058,7 @@ dissect_non_inheritance(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *element_id_list = NULL; proto_tree *element_id_ext_list = NULL; - guint8 element_id_list_length = tvb_get_guint8(tvb, offset); + uint8_t element_id_list_length = tvb_get_uint8(tvb, offset); element_id_list = proto_tree_add_subtree(tree, tvb, offset, element_id_list_length + 1, ett_non_inheritance_element_id_list, @@ -33702,7 +34075,7 @@ dissect_non_inheritance(tvbuff_t *tvb, packet_info *pinfo _U_, offset++; } - guint8 element_id_ext_list_length = tvb_get_guint8(tvb, offset); + uint8_t element_id_ext_list_length = tvb_get_uint8(tvb, offset); element_id_ext_list = proto_tree_add_subtree(tree, tvb, offset, element_id_ext_list_length + 1, ett_non_inheritance_element_id_ext_list, @@ -33781,7 +34154,7 @@ static void dissect_mscs_descriptor_element(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, int len _U_) { - guint8 request_type = tvb_get_guint8(tvb, offset); + uint8_t request_type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_mscs_descriptor_type, tvb, offset, 1, ENC_NA); @@ -33831,7 +34204,7 @@ dissect_mscs_descriptor_element(tvbuff_t *tvb, packet_info *pinfo _U_, * A TCLAS Mask element will start with 0xFF <len> 0x89 */ while (tvb_reported_length_remaining(tvb, offset) && - tvb_get_guint8(tvb, offset) == 0xFF) { + tvb_get_uint8(tvb, offset) == 0xFF) { offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); } @@ -33840,13 +34213,13 @@ dissect_mscs_descriptor_element(tvbuff_t *tvb, packet_info *pinfo _U_, * and len bytes. */ if (offset < len) { - guint8 sub_elt_len; + uint8_t sub_elt_len; proto_tree_add_item(tree, hf_ieee80211_mscs_subelement_id, tvb, offset, 1, ENC_NA); offset += 1; - sub_elt_len = tvb_get_guint8(tvb, offset); + sub_elt_len = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_mscs_subelement_len, tvb, offset, 1, ENC_NA); offset += 1; @@ -33898,7 +34271,7 @@ ieee80211_tag_scs_descriptor(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { int offset = 0; - guint8 request_type = tvb_get_guint8(tvb, offset + 1); + uint8_t request_type = tvb_get_uint8(tvb, offset + 1); proto_tree_add_item(tree, hf_ieee80211_scs_descriptor_scsid, tvb, offset, 1, ENC_NA); @@ -33914,25 +34287,25 @@ ieee80211_tag_scs_descriptor(tvbuff_t *tvb, packet_info *pinfo, /* There will be at least one tclass element ... */ while ((tvb_captured_length_remaining(tvb, offset) > 0) && - tvb_get_guint8(tvb, offset) == TAG_TCLAS) { + tvb_get_uint8(tvb, offset) == TAG_TCLAS) { offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); } /* There could be a TCLAS PROCESS element ... */ if ((tvb_captured_length_remaining(tvb, offset) > 0) && - tvb_get_guint8(tvb, offset) == TAG_TCLAS_PROCESS) { + tvb_get_uint8(tvb, offset) == TAG_TCLAS_PROCESS) { add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); } /* There could be one QoS Char element ... */ if ((tvb_captured_length_remaining(tvb, offset) > 0) && - tvb_get_guint8(tvb, offset) == TAG_ELEMENT_ID_EXTENSION && - tvb_get_guint8(tvb, offset+2) == ETAG_QOS_CHARACTERISTICS) { + tvb_get_uint8(tvb, offset) == TAG_ELEMENT_ID_EXTENSION && + tvb_get_uint8(tvb, offset+2) == ETAG_QOS_CHARACTERISTICS) { offset += add_tagged_field(pinfo, tree, tvb, offset, 0, NULL, 0, NULL); } /* There can be zero or one TSPEC elements */ if (tvb_captured_length_remaining(tvb, offset) > 0) { - const guint8 ids[] = { TAG_TSPEC }; + static const uint8_t ids[] = { TAG_TSPEC }; if(add_tagged_field(pinfo, tree, tvb, offset, 0, ids, G_N_ELEMENTS(ids), NULL) == 0){ /* Add an expert info */ } @@ -34085,9 +34458,9 @@ dissect_owe_dh_parameter(tvbuff_t *tvb, packet_info *pinfo, } ieee80211_packet_data_t *packet_data = get_or_create_packet_data(pinfo); - packet_data->owe_group = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + packet_data->owe_group = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); if (sanity_check != NULL) { - sanity_check->owe_group = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + sanity_check->owe_group = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); } proto_tree_add_item(tree, hf_ieee80211_owe_dh_parameter_group, tvb, offset, @@ -34178,14 +34551,14 @@ ieee80211_tag_twt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; proto_item *item = NULL; - gboolean twt_requester; - guint8 setup_command; - guint8 ctrl_field; - guint16 req_type; - guint8 neg_type; - gboolean last_bcast = FALSE; - - ctrl_field = tvb_get_guint8(tvb, offset); + bool twt_requester; + uint8_t setup_command; + uint8_t ctrl_field; + uint16_t req_type; + uint8_t neg_type; + bool last_bcast = false; + + ctrl_field = tvb_get_uint8(tvb, offset); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tag_twt_control_field, ett_twt_control_field_tree, @@ -34201,7 +34574,7 @@ ieee80211_tag_twt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat &ei_ieee80211_twt_bcast_info_no_term); return tvb_captured_length(tvb); } - req_type = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + req_type = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); if (neg_type & 0x2) { /* If a bcast TWT */ // 2 bytes - request type // 2 bytes - target wake time @@ -34237,7 +34610,7 @@ ieee80211_tag_twt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat ett_twt_req_type_tree, ieee80211_twt_req_type_field, ENC_LITTLE_ENDIAN, BMT_NO_APPEND); - last_bcast = TRUE; + last_bcast = true; } twt_requester = req_type & 0x1; @@ -34282,7 +34655,7 @@ ieee80211_tag_twt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat offset += 2; if (neg_type & 0x2) { /* If a bcast TWT */ - guint16 twt_info; + uint16_t twt_info; proto_tree_add_item(tree, hf_ieee80211_tag_twt_target_wake_time_short, tvb, offset, 2, ENC_LITTLE_ENDIAN); @@ -34296,7 +34669,7 @@ ieee80211_tag_twt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; - twt_info = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + twt_info = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_tag_twt_broadcast_info, ett_twt_broadcast_info_tree, @@ -34377,14 +34750,19 @@ ieee80211_tag_rsnx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da &hf_ieee80211_tag_rsnx_length, &hf_ieee80211_tag_rsnx_protected_twt_operations_support, &hf_ieee80211_tag_rsnx_sae_hash_to_element, - &hf_ieee80211_tag_rsnx_reserved_b6b7, + &hf_ieee80211_tag_rsnx_sae_pk, + &hf_ieee80211_tag_rsnx_protected_wur_frame_support, NULL }; static int * const octet2[] = { &hf_ieee80211_tag_rsnx_secure_ltf_support, &hf_ieee80211_tag_rsnx_secure_rtt_supported, - &hf_ieee80211_tag_rsnx_range_protection_required, - &hf_ieee80211_tag_rsnx_reserved_b11thru15, + &hf_ieee80211_tag_rsnx_urnm_mfpr_x20, + &hf_ieee80211_tag_rsnx_protected_announce_support, + &hf_ieee80211_tag_rsnx_pbac, + &hf_ieee80211_tag_rsnx_extended_s1g_action_protection, + &hf_ieee80211_tag_rsnx_spp_amsdu_capable, + &hf_ieee80211_tag_rsnx_urnm_mfpr, NULL }; @@ -34428,8 +34806,8 @@ ieee80211_tag_fils_indication(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint16 info; - guint8 nr_realm, nr_pk, i, len; + uint16_t info; + uint8_t nr_realm, nr_pk, i, len; proto_item *item; proto_tree *subtree; @@ -34452,7 +34830,7 @@ ieee80211_tag_fils_indication(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre NULL }; - info = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN); + info = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN); proto_tree_add_bitmask_list(tree, tvb, offset, 2, ieee80211_tag_fils_indication_info, ENC_LITTLE_ENDIAN); offset += 2; @@ -34494,7 +34872,7 @@ ieee80211_tag_fils_indication(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre offset += 1; proto_tree_add_item(subtree, hf_ieee80211_tag_fils_indication_public_key_length, tvb, offset, 1, ENC_NA); - len = tvb_get_guint8(tvb, offset); + len = tvb_get_uint8(tvb, offset); offset += 1; proto_tree_add_item(subtree, hf_ieee80211_tag_fils_indication_public_key_indicator, tvb, offset, len, ENC_NA); @@ -34512,14 +34890,14 @@ ieee80211_tag_element_id_extension(tvbuff_t *tvb, packet_info *pinfo, proto_tree ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; int ext_tag_len; - guint8 ext_tag_no; + uint8_t ext_tag_no; if (tag_len < 1) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be >= 1", tag_len); return tvb_captured_length(tvb); } - ext_tag_no = tvb_get_guint8(tvb, offset++); + ext_tag_no = tvb_get_uint8(tvb, offset++); ext_tag_len = tag_len - 1; switch (ext_tag_no) { @@ -34529,7 +34907,7 @@ ieee80211_tag_element_id_extension(tvbuff_t *tvb, packet_info *pinfo, proto_tree case ETAG_FILS_SESSION: proto_tree_add_item(tree, hf_ieee80211_fils_session, tvb, offset, ext_tag_len, ENC_NA); if (field_data->sanity_check != NULL) { - field_data->sanity_check->has_fils_session = TRUE; + field_data->sanity_check->has_fils_session = true; } break; case ETAG_FILS_WRAPPED_DATA: @@ -34792,11 +35170,11 @@ ieee80211_tag_mesh_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* int offset = 0; ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int tag_len = tvb_reported_length(tvb); - const guint8* mesh_id; + const uint8_t* mesh_id; - proto_tree_add_item_ret_string(tree, hf_ieee80211_mesh_id, tvb, offset, tag_len, ENC_ASCII|ENC_NA, wmem_packet_scope(), &mesh_id); + proto_tree_add_item_ret_string(tree, hf_ieee80211_mesh_id, tvb, offset, tag_len, ENC_ASCII|ENC_NA, pinfo->pool, &mesh_id); if (tag_len > 0) { - gchar* s = format_text(wmem_packet_scope(), mesh_id, tag_len); + char* s = format_text(pinfo->pool, mesh_id, tag_len); col_append_fstr(pinfo->cinfo, COL_INFO, ", MESHID=%s", s); proto_item_append_text(field_data->item_tag, ": %s", s); } @@ -34810,7 +35188,7 @@ ieee80211_tag_beacon_timing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint32 value; + uint32_t value; proto_item *item; proto_tree *subtree; @@ -34898,8 +35276,8 @@ ieee80211_tag_mesh_preq(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, { int offset = 0; - guint32 flags; - guint8 targs, i; + uint32_t flags; + uint8_t targs, i; proto_tree_add_item_ret_uint(tree, hf_ieee80211_ff_hwmp_flags, tvb, offset, 1, ENC_LITTLE_ENDIAN, &flags); offset += 1; @@ -34923,7 +35301,7 @@ ieee80211_tag_mesh_preq(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_metric, tvb, offset, 4, ENC_LITTLE_ENDIAN); offset += 4; proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_targ_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); - targs = tvb_get_guint8(tvb, offset); + targs = tvb_get_uint8(tvb, offset); offset += 1; for (i = 0; i < targs; i++) { static int * const targ_flags[] = { @@ -34950,7 +35328,7 @@ ieee80211_tag_mesh_prep(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, { int offset = 0; - guint32 flags; + uint32_t flags; proto_tree_add_item_ret_uint(tree, hf_ieee80211_ff_hwmp_flags, tvb, offset, 1, ENC_LITTLE_ENDIAN, &flags); offset += 1; proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_hopcount, tvb, offset, 1, ENC_LITTLE_ENDIAN); @@ -34979,15 +35357,15 @@ static int ieee80211_tag_mesh_perr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 targs, i; + uint8_t targs, i; proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_ttl, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_targ_count, tvb, offset, 1, ENC_LITTLE_ENDIAN); - targs = tvb_get_guint8(tvb, offset); + targs = tvb_get_uint8(tvb, offset); offset += 1; for (i = 0; i < targs; i++) { - guint8 flags = tvb_get_guint8(tvb, offset); + uint8_t flags = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_ff_hwmp_targ_flags, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -35010,8 +35388,8 @@ ieee80211_tag_pxu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - guint32 pxu_count = 0, i, proxy_info_len; - guint8 pxu_flag; + uint32_t pxu_count = 0, i, proxy_info_len; + uint8_t pxu_flag; proto_item *item; proto_tree *subtree; @@ -35038,7 +35416,7 @@ ieee80211_tag_pxu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* dat offset += 1; for (i = 0; i < pxu_count; i++) { - pxu_flag = tvb_get_guint8(tvb, offset); + pxu_flag = tvb_get_uint8(tvb, offset); proxy_info_len = 1 + 6 + 4 + ((pxu_flag & 0x2) ? 0 : 6) + ((pxu_flag & 0x4) ? 4 : 0); item = proto_tree_add_item(tree, hf_ieee80211_pxu_proxy_info, tvb, offset, proxy_info_len, ENC_NA); @@ -35149,7 +35527,7 @@ ieee80211_tag_mesh_channel_switch(tvbuff_t *tvb, packet_info *pinfo, proto_tree } proto_tree_add_item(tree, hf_ieee80211_mesh_channel_switch_ttl, tvb, offset, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(field_data->item_tag, " TTL: %d", tvb_get_guint8(tvb, offset)); + proto_item_append_text(field_data->item_tag, " TTL: %d", tvb_get_uint8(tvb, offset)); offset += 1; proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_ieee80211_mesh_channel_switch_flag, @@ -35204,9 +35582,9 @@ ieee80211_tag_supported_operating_classes(tvbuff_t *tvb, packet_info *pinfo, pro ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; proto_item* item = NULL; - guint8 i; - guint8 field_len = 0; - guint8 alt_op_class_field[256]; + uint8_t i; + uint8_t field_len = 0; + uint8_t alt_op_class_field[256]; if (tag_len < 2) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be >= 2", tag_len); @@ -35219,7 +35597,7 @@ ieee80211_tag_supported_operating_classes(tvbuff_t *tvb, packet_info *pinfo, pro proto_tree_add_item(tree, hf_ieee80211_tag_supported_ope_classes_current, tvb, offset++, 1, ENC_NA); for (i = offset; i < tag_len; i++) { - guint8 op_class = tvb_get_guint8(tvb, i); + uint8_t op_class = tvb_get_uint8(tvb, i); /* Field terminates immediately before OneHundredAndThirty or Zero delimiter */ if (op_class == 130 || op_class == 0) { break; @@ -35244,19 +35622,19 @@ ieee80211_tag_bss_parameter_change(tvbuff_t *tvb, packet_info *pinfo, proto_tree int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - gboolean size; + bool size; if (tag_len != 7) { expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be = 7", tag_len); return tvb_captured_length(tvb); } - size = (tvb_get_guint8(tvb, offset) & 0x02) >> 1; + size = (tvb_get_uint8(tvb, offset) & 0x02) >> 1; proto_tree_add_item(tree, hf_ieee80211_tag_move, tvb, offset, 1, ENC_NA); proto_tree_add_item(tree, hf_ieee80211_tag_size, tvb, offset, 1, ENC_NA); offset += 1; proto_tree_add_item(tree, hf_ieee80211_tag_tbtt_offset, tvb, offset, 4, ENC_LITTLE_ENDIAN); offset += 4; - if(size == TRUE) { /* if size bit is 0, the field is reserved. */ + if(size == true) { /* if size bit is 0, the field is reserved. */ proto_tree_add_item(tree, hf_ieee80211_tag_bi_duration, tvb, offset, 2, ENC_LITTLE_ENDIAN); } return tvb_captured_length(tvb); @@ -35438,7 +35816,7 @@ ieee80211_tag_extended_schedule(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; int i; - gboolean isGrant; + bool isGrant; proto_tree * alloc_tree; if ((tag_len%15) != 0) { @@ -35677,7 +36055,7 @@ ieee80211_tag_dmg_tspec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - gboolean isGrant; + bool isGrant; int num_constraints; if (tag_len < 14) { @@ -35710,7 +36088,7 @@ ieee80211_tag_dmg_tspec(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi offset += 2; proto_tree_add_item(tree, hf_ieee80211_tag_tspec_min_duration, tvb, offset, 2, ENC_LITTLE_ENDIAN); offset += 2; - num_constraints = tvb_get_guint8(tvb, offset); + num_constraints = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_tag_tspec_num_of_constraints, tvb, offset, 1, ENC_NA); offset += 1; while(num_constraints > 0) { @@ -35740,7 +36118,7 @@ ieee80211_tag_channel_measurement_fb(tvbuff_t *tvb, packet_info *pinfo, proto_tr expert_add_info_format(pinfo, field_data->item_tag_length, &ei_ieee80211_tag_length, "Tag Length %u wrong, must be multiple of 5", tag_len); return tvb_captured_length(tvb); } - num_measurement = tvb_get_guint8(tvb, offset+1); + num_measurement = tvb_get_uint8(tvb, offset+1); offset += 2; while(num_measurement > 0) { proto_tree_add_item(tree, hf_ieee80211_ff_snr, tvb, offset, 1, ENC_NA); @@ -35802,7 +36180,7 @@ ieee80211_tag_multi_band(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo int tag_len = tvb_reported_length(tvb); ieee80211_tagged_field_data_t* field_data = (ieee80211_tagged_field_data_t*)data; int offset = 0; - gboolean chiper_present, addr_present; + bool chiper_present, addr_present; static int * const ieee80211_tag_multi_band_ctrl[] = { &hf_ieee80211_tag_multi_band_ctrl_sta_role, &hf_ieee80211_tag_multi_band_ctrl_addr_present, @@ -35851,8 +36229,8 @@ ieee80211_tag_multi_band(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo { proto_item *rsn_pcs_count, *rsn_pcs_item, *rsn_sub_pcs_item; proto_tree *rsn_pcs_tree, *rsn_sub_pcs_tree; - gint ii; - guint16 pcs_count; + int ii; + uint16_t pcs_count; int tag_end = tvb_reported_length(tvb); rsn_pcs_count = proto_tree_add_item(tree, hf_ieee80211_rsn_pcs_count, tvb, offset, 2, ENC_LITTLE_ENDIAN); pcs_count = tvb_get_letohs(tvb, offset); @@ -35877,7 +36255,7 @@ ieee80211_tag_multi_band(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo if (tvb_get_ntoh24(tvb, offset) == OUI_RSN) { proto_tree_add_item(rsn_sub_pcs_tree, hf_ieee80211_rsn_pcs_80211_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); - proto_item_append_text(rsn_pcs_item, " %s", rsn_pcs_return(tvb_get_ntohl(tvb, offset))); + proto_item_append_text(rsn_pcs_item, " %s", rsn_pcs_return(pinfo->pool, tvb_get_ntohl(tvb, offset))); } else { proto_tree_add_item(rsn_sub_pcs_tree, hf_ieee80211_rsn_pcs_type, tvb, offset+3, 1, ENC_LITTLE_ENDIAN); } @@ -35976,7 +36354,7 @@ ieee_80211_add_tagged_parameters(tvbuff_t *tvb, int offset, packet_info *pinfo, int next_len; beacon_padding = 0; /* this is for the beacon padding confused with ssid fix */ while (tagged_parameters_len > 0) { - guint8 tag_no = tvb_get_guint8(tvb, offset); + uint8_t tag_no = tvb_get_uint8(tvb, offset); /* TODO make callers optionally specify the list of valid IE IDs? */ if ((next_len=add_tagged_field (pinfo, tree, tvb, offset, ftype, NULL, 0, association_sanity_check)) == 0) @@ -36045,7 +36423,7 @@ static ieee80211_conversation_data_t* get_or_create_conversation_data(conversati /* ************************************************************************* */ /* Dissect 802.11 management frame */ /* ************************************************************************* */ -static void dissect_mgt_action(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint offset, association_sanity_check_t *sanity_check) +static void dissect_mgt_action(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned offset, association_sanity_check_t *sanity_check) { proto_item *lcl_fixed_hdr; proto_tree *lcl_fixed_tree; @@ -36069,7 +36447,7 @@ static void dissect_mgt_action(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr } static void -dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +dissect_ieee80211_mgt(uint16_t fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { proto_item *ti; proto_tree *mgt_tree; @@ -36077,7 +36455,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree proto_tree *tagged_tree; int offset = 0; int tagged_parameter_tree_len; - gboolean is_s1g = sta_is_s1g(pinfo); + bool is_s1g = sta_is_s1g(pinfo); conversation_t *conversation; ieee80211_conversation_data_t *conversation_data; @@ -36086,13 +36464,15 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree memset(&association_sanity_check, 0, sizeof(association_sanity_check)); - ieee80211_tvb_invalid = FALSE; + ieee80211_tvb_invalid = false; ti = proto_tree_add_item(tree, hf_ieee80211_mgt, tvb, 0, -1, ENC_NA); mgt_tree = proto_item_add_subtree(ti, ett_80211_mgt); /* * Add the frame type to the pinfo for those cases where it is needed * to determine other things. + * XXX - Is there any reason why this is file scoped? Couldn't this + * be pinfo->pool? */ p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, FRAME_TYPE_KEY, GINT_TO_POINTER(COMPOSE_FRAME_TYPE(fcf))); @@ -36100,7 +36480,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree { case MGT_ASSOC_REQ: - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 4, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 4, false); add_ff_cap_info(fixed_tree, tvb, pinfo, 0); add_ff_listen_ival(fixed_tree, tvb, pinfo, 2); offset = 4; /* Size of fixed fields */ @@ -36128,7 +36508,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree case MGT_ASSOC_RESP: fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, is_s1g ? 4 : 6, - FALSE); + false); add_ff_cap_info(fixed_tree, tvb, pinfo, 0); add_ff_status_code(fixed_tree, tvb, pinfo, 2); if (!is_s1g) { @@ -36148,7 +36528,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree case MGT_REASSOC_REQ: - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 10, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 10, false); add_ff_cap_info(fixed_tree, tvb, pinfo, 0); add_ff_listen_ival(fixed_tree, tvb, pinfo, 2); add_ff_current_ap_addr(fixed_tree, tvb, pinfo, 4); @@ -36175,7 +36555,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree break; case MGT_REASSOC_RESP: - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 6, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 6, false); add_ff_cap_info(fixed_tree, tvb, pinfo, 0); add_ff_status_code(fixed_tree, tvb, pinfo, 2); if (!is_s1g) { @@ -36206,7 +36586,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree case MGT_PROBE_RESP: { - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, false); add_ff_timestamp(fixed_tree, tvb, pinfo, 0); add_ff_beacon_interval(fixed_tree, tvb, pinfo, 8); add_ff_cap_info(fixed_tree, tvb, pinfo, 10); @@ -36219,7 +36599,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree } case MGT_MEASUREMENT_PILOT: { - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, false); offset += add_ff_timestamp(fixed_tree, tvb, pinfo, offset); offset += add_ff_measurement_pilot_int(fixed_tree, tvb, pinfo, offset); offset += add_ff_beacon_interval(fixed_tree, tvb, pinfo, offset); @@ -36237,7 +36617,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree break; } case MGT_BEACON: /* Dissect protocol payload fields */ - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 12, false); add_ff_timestamp(fixed_tree, tvb, pinfo, 0); add_ff_beacon_interval(fixed_tree, tvb, pinfo, 8); add_ff_cap_info(fixed_tree, tvb, pinfo, 10); @@ -36255,7 +36635,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree break; case MGT_DISASS: - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 2, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 2, false); add_ff_reason_code(fixed_tree, tvb, pinfo, 0); offset = 2; /* Size of fixed fields */ tagged_parameter_tree_len = tvb_reported_length_remaining(tvb, offset); @@ -36275,7 +36655,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree case MGT_AUTHENTICATION: offset = 6; /* Size of fixed fields */ - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, offset, TRUE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, offset, true); offset = dissect_auth_frame(fixed_tree, pinfo, tvb); proto_item_append_text(fixed_tree, " (%d bytes)", offset); proto_item_set_len(fixed_tree, offset); @@ -36294,7 +36674,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree break; case MGT_DEAUTHENTICATION: - fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 2, FALSE); + fixed_tree = get_fixed_parameter_tree(mgt_tree, tvb, 0, 2, false); add_ff_reason_code(fixed_tree, tvb, pinfo, 0); offset = 2; /* Size of fixed fields */ tagged_parameter_tree_len = tvb_reported_length_remaining(tvb, offset); @@ -36339,7 +36719,7 @@ dissect_ieee80211_mgt(guint16 fcf, tvbuff_t *tvb, packet_info *pinfo, proto_tree case MGT_ARUBA_WLAN: { proto_tree *aruba_tree; - guint16 type; + uint16_t type; type = tvb_get_ntohs(tvb, offset); aruba_tree = proto_tree_add_subtree(mgt_tree, tvb, 0, 0, ett_fixed_parameters, NULL, "Aruba Management"); @@ -36401,21 +36781,21 @@ static const value_string block_ack_type_vals[] = { static int dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean isDMG, gboolean is_req, gboolean has_fcs) + proto_tree *tree, int offset, bool isDMG, bool is_req, bool has_fcs) { proto_item *pi; - guint16 ba_control; - guint8 block_ack_type; + uint16_t ba_control; + uint8_t block_ack_type; proto_tree *ba_tree; - guint8 tid_count, frag_num; - guint i; + uint8_t tid_count, frag_num; + unsigned i; proto_tree *ba_mtid_tree, *ba_mtid_sub_tree; - guint16 ssn; - guint64 bmap; - gint f; + uint16_t ssn; + uint64_t bmap; + int f; proto_item *ba_bitmap_item; proto_tree *ba_bitmap_tree; - guint16 aid_tid; + uint16_t aid_tid; proto_tree *ba_multi_sta_tree; int ba_start = offset; @@ -36434,7 +36814,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, switch (block_ack_type) { case BASIC_BLOCK_ACK: - if (isDMG == TRUE) { + if (isDMG == true) { expert_add_info_format(pinfo, ba_tree, &ei_ieee80211_dmg_subtype, "DMG STAs shouldn't transmit BlockAckReq frames " "with Basic BlockAckReqs"); @@ -36464,7 +36844,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, offset += add_ff_block_ack_ssc(ba_tree, tvb, pinfo, offset); if (!is_req) { - guint bytes = 0; + unsigned bytes = 0; if (((frag_num & 0x06) >> 1) == 2) { bytes = 32; } else if ((frag_num & 0x0f) == 0x08) { @@ -36483,7 +36863,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, for (i = 0; i < (bytes * 8); i += 64) { bmap = tvb_get_letoh64(tvb, offset); for (f = 0; f < 64; f++) { - if (bmap & (G_GUINT64_CONSTANT(1) << f)) + if (bmap & (UINT64_C(1) << f)) continue; proto_tree_add_uint_format_value(ba_bitmap_tree, hf_ieee80211_block_ack_bitmap_missing_frame, @@ -36496,7 +36876,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, break; case EXTENDED_COMPRESSED_BLOCK_ACK: - if (isDMG == FALSE) { + if (isDMG == false) { expert_add_info_format(pinfo, ba_tree, &ei_ieee80211_dmg_subtype, "Non-DMG STAs shouldn't transmit BlockAckReq " "frames with Extended Compressed BlockAckReqs"); @@ -36515,7 +36895,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, ba_bitmap_tree = proto_item_add_subtree(ba_bitmap_item, ett_block_ack_bitmap); for (f = 0; f < 64; f++) { - if (bmap & (G_GUINT64_CONSTANT(1) << f)) + if (bmap & (UINT64_C(1) << f)) continue; proto_tree_add_uint(ba_bitmap_tree, hf_ieee80211_block_ack_bitmap_missing_frame, @@ -36530,7 +36910,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, case MULTI_TID_BLOCK_ACK: - if (isDMG == TRUE) { + if (isDMG == true) { expert_add_info_format(pinfo, ba_tree, &ei_ieee80211_dmg_subtype, "DMG STAs shouldn't transmit BlockAckReq frames " "with Multi-TID BlockAckReqs"); @@ -36541,7 +36921,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, ba_mtid_tree = proto_tree_add_subtree(ba_tree, tvb, offset, tid_count*4, ett_block_ack, NULL, "TID List"); for (i = 0; i < tid_count; i++) { - guint8 tid = tvb_get_guint8(tvb, offset) & 0x0F; + uint8_t tid = tvb_get_uint8(tvb, offset) & 0x0F; ba_mtid_sub_tree = proto_tree_add_subtree_format(ba_mtid_tree, tvb, offset, 4, ett_block_ack_tid, NULL, "TID %u details", tid); @@ -36560,7 +36940,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, ba_mtid_tree = proto_tree_add_subtree(ba_tree, tvb, offset, tid_count*4, ett_block_ack, NULL, "TID List"); for (i = 0; i < tid_count; i++) { - guint8 tid = tvb_get_guint8(tvb, offset) & 0x0F; + uint8_t tid = tvb_get_uint8(tvb, offset) & 0x0F; ba_mtid_sub_tree = proto_tree_add_subtree_format(ba_mtid_tree, tvb, offset, 4, ett_block_ack_tid, NULL, "TID %u details", tid); @@ -36612,7 +36992,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, if ((aid_tid & 0x07ff) != 2045) { if (((aid_tid & 0x0800) == 0) && ((aid_tid & 0xf000) >> 12) <= 7) { - guint bitmap_size; + unsigned bitmap_size; ssn = tvb_get_letohs(tvb, offset); frag_num = ssn & 0x0F; ssn >>= 4; @@ -36631,7 +37011,7 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, for (i = 0; i < bitmap_size * 8; i += 64) { bmap = tvb_get_letoh64(tvb, offset + i/8); for (f = 0; f < ((bitmap_size == 4 ? 4 : 8) * 8); f++) { - if (bmap & (G_GUINT64_CONSTANT(1) << f)) + if (bmap & (UINT64_C(1) << f)) continue; proto_tree_add_uint_format_value(ba_bitmap_tree, hf_ieee80211_block_ack_bitmap_missing_frame, @@ -36661,21 +37041,9 @@ dissect_ieee80211_block_ack_details(tvbuff_t *tvb, packet_info *pinfo _U_, static void dissect_ieee80211_block_ack(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean isDMG, gboolean is_req, gboolean has_fcs) + proto_tree *tree, int offset, bool isDMG, bool is_req, bool has_fcs) { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_item *hidden_item; - - proto_tree_add_item(tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_ta_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(tree, hf_ieee80211_addr, tvb, offset, 6, - ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, tree, offset); offset += 6; dissect_ieee80211_block_ack_details(tvb, pinfo, tree, offset, isDMG, is_req, has_fcs); @@ -36760,7 +37128,7 @@ static int * const he_trig_frm_bar_info_fields[] = { #define PE_DISAMBIGUITY 0x4 static void -ap_tx_power_custom(gchar *result, guint32 ap_tx_power) +ap_tx_power_custom(char *result, uint32_t ap_tx_power) { if (ap_tx_power > 60) snprintf(result, ITEM_LABEL_LENGTH, "%s", "Reserved"); @@ -36846,15 +37214,15 @@ static true_false_string pe_disambiguity_tfs = { static int add_trigger_common_info(proto_tree *tree, tvbuff_t *tvb, int offset, - packet_info *pinfo _U_, guint8 trigger_type, int *frame_len, + packet_info *pinfo _U_, uint8_t trigger_type, int *frame_len, proto_tree **common_tree) { proto_item *pi = NULL; proto_tree *common_info = NULL; int length = 0; int start_offset = offset; - guint64 bw_etc = tvb_get_letoh64(tvb, offset); - gboolean is_eht = ((bw_etc >> 54) & 0x03) != 0x03; + uint64_t bw_etc = tvb_get_letoh64(tvb, offset); + bool is_eht = ((bw_etc >> 54) & 0x03) != 0x03; global_he_trigger_bw = (bw_etc >> 18) & 0x03; @@ -36905,7 +37273,7 @@ static const char * he_trigger_ru_allocation_region_values[] = { * Format the ru allocation region bit */ static void -he_trigger_ru_allocation_region_custom(gchar *result, guint32 ru_alloc_val) +he_trigger_ru_allocation_region_custom(char *result, uint32_t ru_alloc_val) { if (global_he_trigger_bw == 3) { snprintf(result, ITEM_LABEL_LENGTH, "%s", @@ -36916,7 +37284,7 @@ he_trigger_ru_allocation_region_custom(gchar *result, guint32 ru_alloc_val) } static void -he_trigger_minus_one_custom(gchar *result, guint ss_alloc_value) +he_trigger_minus_one_custom(char *result, unsigned ss_alloc_value) { snprintf(result, ITEM_LABEL_LENGTH, "%d", ss_alloc_value + 1); } @@ -36972,7 +37340,7 @@ add_mu_bar_trigger_dependent_user_info(proto_tree *tree, tvbuff_t *tvb, * a compressed block ack or a multi-tid block ack request. */ offset = dissect_ieee80211_block_ack_details(tvb, pinfo, tree, offset, - FALSE, TRUE, FALSE); + false, true, false); *frame_len += offset - start_offset; @@ -37045,7 +37413,7 @@ static int * const sec_sound_hdrs[] = { static int dissect_ieee80211_ranging_trigger_variant(proto_tree *tree, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, - guint8 subtype) + uint8_t subtype) { int saved_offset = offset; @@ -37100,7 +37468,7 @@ dissect_ieee80211_ranging_trigger_variant(proto_tree *tree, tvbuff_t *tvb, * rest are reserved. */ static void -target_rssi_base_custom(gchar *result, guint32 target_rssi) +target_rssi_base_custom(char *result, uint32_t target_rssi) { if (target_rssi <= 90) { snprintf(result, ITEM_LABEL_LENGTH, "%ddBm", -110 + target_rssi); @@ -37173,18 +37541,18 @@ static int * const special_user_info_headers_eht[] = { static int add_trigger_user_info(proto_tree *tree, tvbuff_t *tvb, int offset, - packet_info *pinfo, guint8 trigger_type, guint8 subtype, - guint8 common_info_b54_55 _U_, int *frame_len, guint fcs_len) + packet_info *pinfo, uint8_t trigger_type, uint8_t subtype, + uint8_t common_info_b54_55 _U_, int *frame_len, unsigned fcs_len) { proto_item *pi = NULL; proto_tree *user_info = NULL; int length = 0, range_len = 0; int start_offset = offset; - guint16 aid12_subfield = 0; - guint len_remaining = 0; - gboolean special_user_info; - guint8 user_info_b39; - gboolean eht_variant = FALSE; + uint16_t aid12_subfield = 0; + unsigned len_remaining = 0; + bool special_user_info; + uint8_t user_info_b39; + bool eht_variant = false; /* * If the AID12 subfield has the value 4095 it indicates the start of @@ -37202,12 +37570,12 @@ add_trigger_user_info(proto_tree *tree, tvbuff_t *tvb, int offset, while (aid12_subfield != 4095) { /* Compute the special user info and EHT Variant for each one. */ special_user_info = aid12_subfield == 2007; - user_info_b39 = tvb_get_guint8(tvb, offset + 4) >> 7; + user_info_b39 = tvb_get_uint8(tvb, offset + 4) >> 7; /* 9.3.1.22.4 of 802.11be and table 9-45a */ if ((common_info_b54_55 == 0x01 && special_user_info && user_info_b39) || (common_info_b54_55 == 0x00 && special_user_info)) - eht_variant = TRUE; + eht_variant = true; switch (trigger_type) { case TRIGGER_TYPE_BASIC: @@ -37349,28 +37717,17 @@ static int * const ranging_headers2[] = { }; static int -dissect_ieee80211_he_eht_trigger(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, guint fcs_len) +dissect_ieee80211_he_eht_trigger(tvbuff_t *tvb, packet_info *pinfo, + proto_tree *tree, int offset, unsigned fcs_len) { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_item *hidden_item; proto_tree *common_tree = NULL; - guint8 trigger_type; - guint8 subtype = 0; + uint8_t trigger_type; + uint8_t subtype = 0; int length = 0; - guint8 common_info_b54_55; - gboolean eht_trigger = TRUE; - - proto_tree_add_item(tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_ta_resolved, - tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(tree, hf_ieee80211_addr, tvb, offset, 6, - ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + uint8_t common_info_b54_55; + bool eht_trigger = true; + + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, tree, offset); offset += 6; length += 6; @@ -37382,10 +37739,10 @@ dissect_ieee80211_he_eht_trigger(tvbuff_t *tvb, packet_info *pinfo _U_, return tvb_captured_length(tvb); } - trigger_type = tvb_get_guint8(tvb, offset) & 0x0F; - common_info_b54_55 = tvb_get_guint8(tvb, offset + 5); + trigger_type = tvb_get_uint8(tvb, offset) & 0x0F; + common_info_b54_55 = tvb_get_uint8(tvb, offset + 6); if ((common_info_b54_55 >> 6) == 0x03) - eht_trigger = FALSE; + eht_trigger = false; col_append_fstr(pinfo->cinfo, COL_INFO, " %s %s", eht_trigger ? "EHT" : "HE", @@ -37412,7 +37769,7 @@ dissect_ieee80211_he_eht_trigger(tvbuff_t *tvb, packet_info *pinfo _U_, * If the trigger type is Ranging Trigger type, then deal with it separately. */ if (trigger_type == TRIGGER_TYPE_RANGING) { - subtype = tvb_get_guint8(tvb, offset) & 0x0f; + subtype = tvb_get_uint8(tvb, offset) & 0x0f; col_append_fstr(pinfo->cinfo, COL_INFO, ": %s", rval_to_str_const(subtype, ranging_trigger_subtype_vals, "Reserved")); @@ -37470,22 +37827,11 @@ static int * const tack_headers[] = { static int dissect_ieee80211_s1g_tack(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, guint16 flags) + proto_tree *tree, int offset, uint16_t flags) { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_item *hidden_item; int length = 0; - proto_tree_add_item(tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_ta_resolved, - tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(tree, hf_ieee80211_addr, tvb, offset, 6, - ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, tree, offset); offset += 6; length += 6; @@ -37565,9 +37911,9 @@ static int * const sta_info_ranging_2045[] = { static int dissect_ieee80211_ranging_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean has_fcs) + proto_tree *tree, int offset, bool has_fcs) { - guint8 len_fcs = 0; + uint8_t len_fcs = 0; proto_tree *sta_list; proto_item *sta_info_item, *pi; int saved_offset = 0; @@ -37582,13 +37928,13 @@ dissect_ieee80211_ranging_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, saved_offset = offset; while (tvb_reported_length_remaining(tvb, offset) > len_fcs) { - guint16 aid11; + uint16_t aid11; sta_info_item = proto_tree_add_subtree_format(sta_list, tvb, offset, 2, ett_ndp_ranging_annc_sta_info, NULL, "STA %d", sta_index++); - aid11 = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN) & 0x7ff; + aid11 = tvb_get_uint16(tvb, offset, ENC_LITTLE_ENDIAN) & 0x7ff; if (aid11 < 2008) { proto_tree_add_bitmask_with_flags(sta_info_item, tvb, offset, hf_ieee80211_vht_ndp_annc_sta_info_ranging_2008, @@ -37619,10 +37965,10 @@ dissect_ieee80211_ranging_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, static int dissect_ieee80211_vht_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean has_fcs) + proto_tree *tree, int offset, bool has_fcs) { - guint16 sta_info; - guint8 len_fcs = 0; + uint16_t sta_info; + uint8_t len_fcs = 0; proto_tree *sta_list; proto_item *sta_info_item, *pi; int saved_offset = 0; @@ -37686,9 +38032,9 @@ static int * const he_ndp_annc_2047_hdrs[] = { static int dissect_ieee80211_he_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean has_fcs) + proto_tree *tree, int offset, bool has_fcs) { - guint8 len_fcs = 0; + uint8_t len_fcs = 0; proto_tree *sta_list; proto_item *pi; int saved_offset; @@ -37704,7 +38050,7 @@ dissect_ieee80211_he_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, while (tvb_reported_length_remaining(tvb, offset) > len_fcs) { proto_tree *sta_item; - guint32 sta_info = tvb_get_letohl(tvb, offset); + uint32_t sta_info = tvb_get_letohl(tvb, offset); sta_item = proto_tree_add_subtree_format(sta_list, tvb, offset, 4, ett_ndp_he_annc_sta_item, NULL, "STA %d", sta_index++); @@ -37743,9 +38089,9 @@ static int * const eht_ndp_annc_hdrs[] = { static int dissect_ieee80211_eht_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean has_fcs) + proto_tree *tree, int offset, bool has_fcs) { - guint8 len_fcs = 0; + uint8_t len_fcs = 0; proto_tree *sta_list; proto_item *pi; int saved_offset; @@ -37780,25 +38126,15 @@ static int * const ndp_annc_headers[] = { static int dissect_ieee80211_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, int offset, gboolean has_fcs) + proto_tree *tree, int offset, bool has_fcs) { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_item *hidden_item, *dialog; - guint8 dialog_token; + proto_item *dialog; + uint8_t dialog_token; - proto_tree_add_item(tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_ta_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(tree, hf_ieee80211_addr, tvb, offset, 6, - ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(tree, hf_ieee80211_addr_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, tree, offset); offset += 6; - dialog_token = tvb_get_guint8(tvb, offset); + dialog_token = tvb_get_uint8(tvb, offset); col_append_fstr(pinfo->cinfo, COL_INFO, ", Sounding Dialog Token=%d", dialog_token); @@ -37829,31 +38165,25 @@ dissect_ieee80211_ndp_annc(tvbuff_t *tvb, packet_info *pinfo _U_, } static void -set_src_addr_cols(packet_info *pinfo, tvbuff_t *tvb, int offset, const char *type) +set_src_addr_cols(packet_info *pinfo, tvbuff_t *tvb, int offset, int type) { - address ether_addr; - - set_address_tvb(ðer_addr, AT_ETHER, 6, tvb, offset); - - col_add_fstr(pinfo->cinfo, COL_RES_DL_SRC, "%s (%s)", - address_with_resolution_to_str(wmem_packet_scope(), ðer_addr), type); + set_address_tvb(&pinfo->dl_src, type, 6, tvb, offset); + copy_address_shallow(&pinfo->src, &pinfo->dl_src); + // Should we call proto_tree_add_mac48_detail here? } static void -set_dst_addr_cols(packet_info *pinfo, tvbuff_t *tvb, int offset, const char *type) +set_dst_addr_cols(packet_info *pinfo, tvbuff_t *tvb, int offset, int type) { - address ether_addr; - - set_address_tvb(ðer_addr, AT_ETHER, 6, tvb, offset); - - col_add_fstr(pinfo->cinfo, COL_RES_DL_DST, "%s (%s)", - address_with_resolution_to_str(wmem_packet_scope(), ðer_addr), type); + set_address_tvb(&pinfo->dl_dst, type, 6, tvb, offset); + copy_address_shallow(&pinfo->dst, &pinfo->dl_dst); + // Should we call proto_tree_add_mac48_detail here? } -static guint32 -crc32_802_tvb_padded(tvbuff_t *tvb, guint hdr_len, guint hdr_size, guint len) +static uint32_t +crc32_802_tvb_padded(tvbuff_t *tvb, unsigned hdr_len, unsigned hdr_size, unsigned len) { - guint32 c_crc; + uint32_t c_crc; c_crc = crc32_ccitt_tvb(tvb, hdr_len); c_crc = crc32_ccitt_tvb_offset_seed(tvb, hdr_size, len, ~c_crc); @@ -37868,11 +38198,11 @@ crc32_802_tvb_padded(tvbuff_t *tvb, guint hdr_len, guint hdr_size, guint len) static void check_s1g_setting(packet_info *pinfo, tvbuff_t *tvb, int offset) { - guint8 *src_addr[6]; + uint8_t *src_addr[6]; tvb_memcpy(tvb, src_addr, offset, 6); - guint result = GPOINTER_TO_UINT(wmem_map_lookup(sta_prop_hash, &src_addr)); + unsigned result = GPOINTER_TO_UINT(wmem_map_lookup(sta_prop_hash, &src_addr)); if (result == STA_IS_S1G) { - p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_S1G_KEY, GINT_TO_POINTER(TRUE)); + p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_S1G_KEY, GINT_TO_POINTER(true)); } } @@ -37940,30 +38270,58 @@ static const value_string pv1_bandwidth_indic_vals[] = { * the respective booleans if the flag is set in the SID. */ static void -extract_a3_a4_amsdu(guint16 sid, gboolean *a3_present, gboolean *a4_present, - gboolean *a_msdu) +extract_a3_a4_amsdu(uint16_t sid, bool *a3_present, bool *a4_present, + bool *a_msdu) { if (sid & SID_A3_PRESENT) - *a3_present = TRUE; + *a3_present = true; if (sid & SID_A4_PRESENT) - *a4_present = TRUE; + *a4_present = true; if (sid & SID_A_MSDU) - *a_msdu = TRUE; + *a_msdu = true; +} + +static int +wlan_aid_to_str(const address* addr, char* buf, int buf_len) +{ + int ret; + + ret = snprintf(buf, buf_len, "0x%04"PRIx16, *(uint16_t *)addr->data); + + return ret + 1; +} + +static int +wlan_aid_str_len(const address* addr _U_) +{ + return sizeof("0x0000"); +} + +#if 0 +/* The length is 2 bytes, but tvb_address_to_str() etc. don't have a way of + * dealing with addresses that need to mask out bits in the tvb. */ +static int +wlan_aid_len(void) +{ + return 2; } +#endif /* * If we know the AID, then translated it to an Ethernet addr, otherwise * just place the AID in the correct col */ static void -set_sid_addr_cols(packet_info *pinfo, guint16 sid, gboolean dst) +set_sid_addr_cols(packet_info *pinfo, uint16_t sid, bool dst) { + uint16_t* aid = wmem_new0(pinfo->pool, uint16_t); + *aid = sid & SID_AID_MASK; if (dst) { - col_add_fstr(pinfo->cinfo, COL_RES_DL_DST, "AID 0x%04x", - sid % SID_AID_MASK); + set_address(&pinfo->dl_dst, wlan_aid_address_type, (int)sizeof(*aid), aid); + copy_address_shallow(&pinfo->dst, &pinfo->dl_dst); } else { - col_add_fstr(pinfo->cinfo, COL_RES_DL_SRC, "AID 0x%04x", - sid % SID_AID_MASK); + set_address(&pinfo->dl_src, wlan_aid_address_type, (int)sizeof(*aid), aid); + copy_address_shallow(&pinfo->src, &pinfo->dl_src); } } @@ -37977,16 +38335,16 @@ static int * const sid_headers[] = { static void dissect_pv1_sid(proto_tree *tree, packet_info *pinfo _U_, tvbuff_t *tvb, - guint offset) + unsigned offset) { proto_tree_add_bitmask(tree, tvb, offset, hf_ieee80211_pv1_sid, - ett_pv1_sid_field, sid_headers, ENC_BIG_ENDIAN); + ett_pv1_sid_field, sid_headers, ENC_LITTLE_ENDIAN); } static void dissect_pv1_sequence_control(proto_tree *tree, packet_info *pinfo _U_, - tvbuff_t *tvb, guint offset) + tvbuff_t *tvb, unsigned offset) { proto_tree *seq_ctrl_tree = NULL; @@ -38001,8 +38359,8 @@ dissect_pv1_sequence_control(proto_tree *tree, packet_info *pinfo _U_, static int dissect_pv1_data(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, - int offset, gboolean a_msdu _U_, struct ieee_802_11_phdr *phdr _U_, - guint len_no_fcs _U_) + int offset, bool a_msdu _U_, struct ieee_802_11_phdr *phdr _U_, + unsigned len_no_fcs _U_) { return offset; @@ -38012,7 +38370,7 @@ static int dissect_pv1_mgmt_action(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int offset _U_, struct ieee_802_11_phdr *phdr _U_, - guint len _U_) + unsigned len _U_) { proto_tree *mgmt_action_tree = NULL; @@ -38028,7 +38386,7 @@ static int dissect_pv1_mgmt_action_no_ack(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int offset _U_, struct ieee_802_11_phdr *phdr _U_, - guint len _U_) + unsigned len _U_) { proto_tree *mgmt_action_tree = NULL; @@ -38048,7 +38406,7 @@ static int dissect_pv1_mgmt_probe_response(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int offset _U_, struct ieee_802_11_phdr *phdr _U_, - guint len _U_, guint16 frame_control _U_) + unsigned len _U_, uint16_t frame_control _U_) { return offset; @@ -38058,7 +38416,7 @@ static int dissect_pv1_mgmt_resource_alloc(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int offset _U_, struct ieee_802_11_phdr *phdr _U_, - guint len _U_, guint16 frame_control _U_) + unsigned len _U_, uint16_t frame_control _U_) { return offset; @@ -38066,10 +38424,14 @@ dissect_pv1_mgmt_resource_alloc(tvbuff_t *tvb _U_, packet_info *pinfo _U_, static int dissect_pv1_management(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, - int offset, struct ieee_802_11_phdr *phdr _U_, guint8 subtype, - guint len_no_fcs, guint16 frame_control _U_) + int offset, struct ieee_802_11_phdr *phdr _U_, uint8_t subtype, + unsigned len_no_fcs, uint16_t frame_control _U_) { + /* + * XXX - We add COMPOSE_FRAME_TYPE(fcf) (which doesn't work for PV1) as + * proto_data FRAME_TYPE_KEY for PV0. Do we need to put something here? + */ switch (subtype) { case PV1_MANAGEMENT_ACTION: offset = dissect_pv1_mgmt_action(tvb, pinfo, tree, offset, phdr, len_no_fcs); @@ -38096,7 +38458,7 @@ static int dissect_pv1_control_stack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, struct ieee_802_11_phdr *phdr _U_, - guint len _U_, guint16 frame_control _U_) + unsigned len _U_, uint16_t frame_control _U_) { proto_tree *stack_tree = NULL; @@ -38113,8 +38475,8 @@ static int dissect_pv1_control_bat(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, struct ieee_802_11_phdr *phdr _U_, - guint len _U_, - guint16 frame_control _U_) + unsigned len _U_, + uint16_t frame_control _U_) { proto_tree *bat_tree = NULL; @@ -38146,8 +38508,8 @@ dissect_pv1_control_bat(tvbuff_t *tvb, packet_info *pinfo _U_, static int dissect_pv1_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, - int offset, struct ieee_802_11_phdr *phdr, guint8 subtype, - guint len_no_fcs, guint16 frame_control) + int offset, struct ieee_802_11_phdr *phdr, uint8_t subtype, + unsigned len_no_fcs, uint16_t frame_control) { switch (subtype) { case PV1_CONTROL_STACK: @@ -38171,21 +38533,21 @@ static int dissect_ieee80211_pv1(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, struct ieee_802_11_phdr *phdr) { - guint16 fcf; - guint8 type, subtype, from_ds; - guint offset = 0; - const gchar *fts_str = NULL; + uint16_t fcf; + uint8_t type, subtype, from_ds; + unsigned offset = 0; + const char *fts_str = NULL; proto_item *ti; proto_tree *hdr_tree; proto_item *fc_item = NULL; proto_tree *fc_tree = NULL; - gboolean a1_is_sid = FALSE; - gboolean a2_is_sid = FALSE; - gboolean a3_present = FALSE; - gboolean a4_present = FALSE; - gboolean a_msdu = FALSE; - guint len = tvb_reported_length_remaining(tvb, offset); - guint len_no_fcs = len; + bool a1_is_sid = false; + bool a2_is_sid = false; + bool a3_present = false; + bool a4_present = false; + bool a_msdu = false; + unsigned len = tvb_reported_length_remaining(tvb, offset); + unsigned len_no_fcs = len; proto_tree *mgt_tree; fcf = tvb_get_letohs(tvb, offset); @@ -38317,25 +38679,25 @@ dissect_ieee80211_pv1(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, */ if (from_ds == 0x0) { - a2_is_sid = TRUE; + a2_is_sid = true; } else { - a1_is_sid = TRUE; + a1_is_sid = true; } /* Now override where needed */ switch (type) { case PV1_MANAGEMENT: if (subtype == PV1_MANAGEMENT_PROBE_RESPONSE) { - a1_is_sid = FALSE; - a2_is_sid = FALSE; + a1_is_sid = false; + a2_is_sid = false; } break; case PV1_CONTROL: - a1_is_sid = TRUE; + a1_is_sid = true; break; case PV1_QOS_DATA_2MAC: - a1_is_sid = FALSE; - a2_is_sid = FALSE; + a1_is_sid = false; + a2_is_sid = false; break; } @@ -38345,52 +38707,45 @@ dissect_ieee80211_pv1(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, * * Also, add the SID (with MAC address if we know it), or the MAC * addr depending on type. + * + * XXX - For PV1_CONTROL frames (IEEE 802.11-2020 9.8.4), the A3 Present, + * A4 Present, and A-MSDU subfields of the SID are reserved. Should + * they be dissected differently, and ignored / expert info if set? + * + * For PV1_MANAGMENT frames (9.8.5), A4 and A-MSDU cannot be present. + * Ignore / expert info if set? */ if (a1_is_sid) { - guint16 a1 = tvb_get_letohs(tvb, offset); + uint16_t a1 = tvb_get_letohs(tvb, offset); proto_tree *dst_sid = NULL; extract_a3_a4_amsdu(a1, &a3_present, &a4_present, &a_msdu); - set_sid_addr_cols(pinfo, a1, TRUE); /* Set the R SID address from A1 */ + set_sid_addr_cols(pinfo, a1, true); /* Set the R SID address from A1 */ dst_sid = proto_tree_add_subtree(hdr_tree, tvb, offset, 2, ett_pv1_sid, NULL, "Receiver SID"); dissect_pv1_sid(dst_sid, pinfo, tvb, offset); offset += 2; } else { - proto_item *hidden = NULL; - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - - set_dst_addr_cols(pinfo, tvb, offset, "RA"); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ra, tvb, offset, 6, ENC_NA); - hidden = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden); - hidden = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ra_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden); + set_dst_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); + proto_tree_add_mac48_detail(&mac_ra, &mac_addr, ett_addr, tvb, hdr_tree, offset); offset += 6; } if (a2_is_sid) { - guint16 a2 = tvb_get_letohs(tvb, offset); + uint16_t a2 = tvb_get_letohs(tvb, offset); proto_tree *src_sid = NULL; extract_a3_a4_amsdu(a2, &a3_present, &a4_present, &a_msdu); - set_sid_addr_cols(pinfo, a2, FALSE); /* Set the T SID address from A1 */ + set_sid_addr_cols(pinfo, a2, false); /* Set the T SID address from A2 */ src_sid = proto_tree_add_subtree(hdr_tree, tvb, offset, 2, ett_pv1_sid, NULL, "Transmitter SID"); dissect_pv1_sid(src_sid, pinfo, tvb, offset); offset += 2; } else { - proto_item *hidden = NULL; - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - - set_src_addr_cols(pinfo, tvb, offset, "TA"); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); + proto_tree_add_mac48_detail(&mac_ta, NULL, ett_addr, tvb, hdr_tree, offset); offset += 6; } @@ -38410,32 +38765,14 @@ dissect_ieee80211_pv1(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, } /* Now, add A3 and A4 if present */ if (a3_present) { - proto_item *hidden = NULL; - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - - set_dst_addr_cols(pinfo, tvb, offset, "DA"); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_da, tvb, offset, 6, ENC_NA); - hidden = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden); - hidden = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_da_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden); + set_dst_addr_cols(pinfo, tvb, offset, wlan_address_type); + proto_tree_add_mac48_detail(&mac_da, &mac_addr, ett_addr, tvb, hdr_tree, offset); offset += 6; } if (a4_present) { - proto_item *hidden = NULL; - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - - set_dst_addr_cols(pinfo, tvb, offset, "SA"); - set_address_tvb(&pinfo->dl_src, wlan_address_type, 6, tvb, offset); - copy_address_shallow(&pinfo->src, &pinfo->dl_src); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_sa, tvb, offset, 6, ENC_NA); - hidden = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden); - hidden = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_sa_resolved, tvb, - offset, 6, ether_name); - proto_item_set_hidden(hidden); + set_src_addr_cols(pinfo, tvb, offset, wlan_address_type); + proto_tree_add_mac48_detail(&mac_sa, &mac_addr, ett_addr, tvb, hdr_tree, offset); offset += 6; } @@ -38472,45 +38809,44 @@ dissect_ieee80211_pv1(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, static int dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, - guint32 option_flags, wlan_hdr_t *whdr, + uint32_t option_flags, wlan_hdr_t *whdr, struct ieee_802_11_phdr *phdr) { - guint16 fcf, flags, frame_type_subtype, ctrl_fcf, ctrl_type_subtype; - guint16 cw_fcf; - guint16 seq_control; - guint32 seq_number, frag_number; - gboolean more_frags; + uint16_t fcf, flags, frame_type_subtype, ctrl_fcf, ctrl_type_subtype; + uint16_t cw_fcf; + uint16_t seq_control; + uint32_t seq_number, frag_number; + bool more_frags; proto_item *ti = NULL; proto_item *cw_item = NULL; proto_tree *flags_item; proto_item *hidden_item; proto_tree *cw_tree = NULL; - guint16 hdr_len, ohdr_len; - guint16 htc_len = 0; - gboolean has_fcs; - gint len, reported_len, ivlen; - gint sta_addr_offset = 0; - const gchar *station_name; - gboolean is_amsdu = 0; - gboolean save_fragmented; - guint32 addr_type; - guint8 octet1, octet2; - guint16 etype; + uint16_t hdr_len, ohdr_len; + uint16_t htc_len = 0; + bool has_fcs; + int len, reported_len, ivlen; + int sta_addr_offset = 0; + bool is_amsdu = 0; + bool save_fragmented; + uint32_t addr_type; + uint8_t octet1, octet2; + uint16_t etype; char out_buff[SHORT_STR]; - gint is_iv_bad; - guchar iv_buff[4]; - const char *addr1_str = "RA"; - guint offset = 0; - const gchar *fts_str; - gchar flag_str[] = "opmPRMFTC"; - gint ii; - guint16 qosoff = 0; - guint16 qos_control = 0; - gint meshctl_len = 0; - guint8 mesh_flags; - guint16 meshoff = 0; - gboolean retransmitted; - gboolean isDMG = (phdr->phy == PHDR_802_11_PHY_11AD); + int is_iv_bad; + unsigned char iv_buff[4]; + int addr1_type = wlan_ra_ta_address_type; + unsigned offset = 0; + const char *fts_str; + char flag_str[] = "opmPRMFTC"; + int ii; + uint16_t qosoff = 0; + uint16_t qos_control = 0; + int meshctl_len = 0; + uint8_t mesh_flags; + uint16_t meshoff = 0; + bool retransmitted; + bool isDMG = (phdr->phy == PHDR_802_11_PHY_11AD); encap_t encap_type; proto_tree *hdr_tree = NULL; @@ -38523,11 +38859,11 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, #define PROTECTION_ALG_GCMP DOT11DECRYPT_KEY_TYPE_GCMP #define PROTECTION_ALG_GCMP_256 DOT11DECRYPT_KEY_TYPE_GCMP_256 #define PROTECTION_ALG_RSNA PROTECTION_ALG_CCMP | PROTECTION_ALG_TKIP -#define IS_TKIP(tvb, hdr_len) (tvb_get_guint8(tvb, hdr_len + 1) == \ - ((tvb_get_guint8(tvb, hdr_len) | 0x20) & 0x7f)) -#define IS_CCMP(tvb, hdr_len) (tvb_get_guint8(tvb, hdr_len + 2) == 0) - guint8 algorithm=G_MAXUINT8; - guint32 sec_trailer=0; +#define IS_TKIP(tvb, hdr_len) (tvb_get_uint8(tvb, hdr_len + 1) == \ + ((tvb_get_uint8(tvb, hdr_len) | 0x20) & 0x7f)) +#define IS_CCMP(tvb, hdr_len) (tvb_get_uint8(tvb, hdr_len + 2) == 0) + uint8_t algorithm=UINT8_MAX; + uint32_t sec_trailer=0; fcf = FETCH_FCF(0); @@ -38816,11 +39152,11 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, */ if (tvb_bytes_exist(tvb, hdr_len, 1)) { meshoff = hdr_len; - mesh_flags = tvb_get_guint8(tvb, meshoff); + mesh_flags = tvb_get_uint8(tvb, meshoff); meshctl_len = find_mesh_control_length(mesh_flags); /* ... and try to read two bytes of next header */ if (tvb_bytes_exist(tvb, hdr_len, meshctl_len + 2)) { - guint16 next_header = tvb_get_letohs(tvb, meshoff + meshctl_len); + uint16_t next_header = tvb_get_letohs(tvb, meshoff + meshctl_len); if (!has_mesh_control_local(fcf, mesh_flags, next_header)) { meshctl_len = 0; } @@ -38855,17 +39191,17 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, switch (phdr->fcs_len) { case 0: /* Definitely has no FCS */ - has_fcs = FALSE; + has_fcs = false; break; case 4: /* Definitely has an FCS */ - has_fcs = TRUE; + has_fcs = true; break; case -2: /* Data frames have no FCS, other frames may have an FCS */ /* XXX: -2 currently used only in wiretap/netmon.c */ if (FCF_FRAME_TYPE (fcf) == DATA_FRAME) - has_fcs = FALSE; + has_fcs = false; else /* Management, Control, Extension */ has_fcs = wlan_check_fcs; break; @@ -38884,16 +39220,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, seq_number = 0; /* all frames have address 1 = RA */ - if (tree) { - const gchar *ether_name = tvb_get_ether_name(tvb, 4); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ra, tvb, 4, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ra_resolved, tvb, 4, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, 4, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, 4, 6, ether_name); - proto_item_set_hidden(hidden_item); - } + proto_tree_add_mac48_detail(&mac_ra, &mac_addr, ett_addr, tvb, hdr_tree, 4); switch (FCF_FRAME_TYPE (fcf)) { @@ -38902,10 +39229,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* * All management frame types have the same header. */ - set_address_tvb(&pinfo->dl_src, wlan_address_type, 6, tvb, 10); - copy_address_shallow(&pinfo->src, &pinfo->dl_src); - set_address_tvb(&pinfo->dl_dst, wlan_address_type, 6, tvb, 4); - copy_address_shallow(&pinfo->dst, &pinfo->dl_dst); + set_dst_addr_cols(pinfo, tvb, 4, wlan_address_type); + set_src_addr_cols(pinfo, tvb, 10, wlan_address_type); /* for tap */ set_address_tvb(&whdr->bssid, wlan_bssid_address_type, 6, tvb, 16); @@ -38924,24 +39249,11 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (tree) { - const gchar *ra_da_name, *ta_sa_name, *bssid_name; - - ra_da_name = tvb_get_ether_name(tvb, 4); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_da, tvb, 4, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_da_resolved, tvb, 4, 6, ra_da_name); - proto_item_set_hidden(hidden_item); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, 10, 6, ENC_NA); - ta_sa_name = tvb_get_ether_name(tvb, 10); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, 10, 6, ta_sa_name); - proto_item_set_hidden(hidden_item); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_sa, tvb, 10, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_sa_resolved, tvb, 10, 6, ta_sa_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_da, NULL, ett_addr, tvb, hdr_tree, 4); + proto_tree_add_mac48_detail(&mac_ta, NULL, ett_addr, tvb, hdr_tree, 10); + proto_tree_add_mac48_detail(&mac_sa, NULL, ett_addr, tvb, hdr_tree, 10); check_s1g_setting(pinfo, tvb, 10); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, 16, 6, ENC_NA); - bssid_name = tvb_get_ether_name(tvb, 16); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_bssid_resolved, tvb, 16, 6, bssid_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_bssid, NULL, ett_addr, tvb, hdr_tree, 16); /* FIXME: With mgmt frames FROM_TO_DS is always 0, perhaps compare address to bssid instead? */ if ((flags & FROM_TO_DS) == FLAG_FROM_DS) { /* Receiver address */ @@ -38950,19 +39262,12 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, sta_addr_offset = 10; } if (sta_addr_offset > 0) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_staa, tvb, sta_addr_offset, 6, ENC_NA); - station_name = tvb_get_ether_name(tvb, sta_addr_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_staa_resolved, tvb, sta_addr_offset, 6, station_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_staa, NULL, ett_addr, tvb, hdr_tree, sta_addr_offset); } /* add items for wlan.addr filter */ - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, 10, 6, ENC_NA); + hidden_item = proto_tree_add_mac48_detail(&mac_addr_hidden, NULL, -1, tvb, hdr_tree, 10); proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, 10, 6, ta_sa_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, 16, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, 16, 6, bssid_name); + hidden_item = proto_tree_add_mac48_detail(&mac_addr_hidden, NULL, -1, tvb, hdr_tree, 16); proto_item_set_hidden(hidden_item); proto_tree_add_item(hdr_tree, hf_ieee80211_frag_number, tvb, 22, 2, ENC_LITTLE_ENDIAN); proto_tree_add_item(hdr_tree, hf_ieee80211_seq_number, tvb, 22, 2, ENC_LITTLE_ENDIAN); @@ -38990,7 +39295,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case CTRL_PS_POLL: case CTRL_CTS: case CTRL_CFP_ENDACK: - if(isDMG == TRUE) { + if(isDMG == true) { expert_add_info_format(pinfo, hdr_tree, &ei_ieee80211_dmg_subtype, "DMG STA shouldn't transmit control frame of type contention-free period end+ack"); } @@ -39000,17 +39305,12 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } if (ctrl_type_subtype == CTRL_PS_POLL) { - addr1_str = "BSSID"; - if (tree) { - const gchar *ether_name = tvb_get_ether_name(tvb, 4); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, 4, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_bssid_resolved, tvb, 4, 6, ether_name); - proto_item_set_hidden(hidden_item); - } + addr1_type = wlan_bssid_address_type; + proto_tree_add_mac48_detail(&mac_bssid, NULL, ett_addr, tvb, hdr_tree, 4); } /* Add address 1 */ - set_dst_addr_cols(pinfo, tvb, 4, addr1_str); + set_dst_addr_cols(pinfo, tvb, 4, addr1_type); /* * Start shoving in other fields if needed. @@ -39037,51 +39337,32 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case CTRL_PS_POLL: case CTRL_CFP_ENDACK: { - set_src_addr_cols(pinfo, tvb, offset, "TA"); - /* if (tree) */ - { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - offset += 6; - } + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, hdr_tree, offset); + offset += 6; break; } case CTRL_CFP_END: { if (isDMG) - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); else - set_src_addr_cols(pinfo, tvb, offset, "BSSID"); + set_src_addr_cols(pinfo, tvb, offset, wlan_bssid_address_type); /* if (tree) */ { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); if (isDMG) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, hdr_tree, offset); } else { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_bssid_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_bssid, &mac_addr, ett_addr, tvb, hdr_tree, offset); } - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); offset += 6; } break; } case CTRL_TRIGGER: - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); /* * The len returned will be adjusted to include any padding required */ @@ -39091,34 +39372,22 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, break; case CTRL_TACK: - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); hdr_len = dissect_ieee80211_s1g_tack(tvb, pinfo, hdr_tree, offset, flags); break; case CTRL_BEAMFORM_RPT_POLL: { - set_src_addr_cols(pinfo, tvb, offset, "TA"); - /* if (tree) */ - { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - offset += 6; - - proto_tree_add_item(hdr_tree, hf_ieee80211_beamform_feedback_seg_retrans_bitmap, tvb, offset, 1, ENC_NA); - } - break; + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, hdr_tree, offset); + offset += 6; + proto_tree_add_item(hdr_tree, hf_ieee80211_beamform_feedback_seg_retrans_bitmap, tvb, offset, 1, ENC_NA); + break; } case CTRL_VHT_NDP_ANNC: - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); dissect_ieee80211_ndp_annc(tvb, pinfo, hdr_tree, offset, has_fcs); break; @@ -39133,19 +39402,9 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case CTRL_POLL: case CTRL_RTS: { - set_src_addr_cols(pinfo, tvb, offset, "TA"); - /* if (tree) */ - { - const gchar *ether_name = tvb_get_ether_name(tvb, offset); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, offset, 6, ENC_NA); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, offset, 6, ether_name); - proto_item_set_hidden(hidden_item); - offset += 6; - } + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, hdr_tree, offset); + offset += 6; break; } @@ -39154,15 +39413,15 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, break; case CTRL_BLOCK_ACK_REQ: - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); - dissect_ieee80211_block_ack(tvb, pinfo, hdr_tree, offset, isDMG, TRUE, has_fcs); + dissect_ieee80211_block_ack(tvb, pinfo, hdr_tree, offset, isDMG, true, has_fcs); break; case CTRL_BLOCK_ACK: - set_src_addr_cols(pinfo, tvb, offset, "TA"); + set_src_addr_cols(pinfo, tvb, offset, wlan_ra_ta_address_type); - dissect_ieee80211_block_ack(tvb, pinfo, hdr_tree, offset, isDMG, FALSE, has_fcs); + dissect_ieee80211_block_ack(tvb, pinfo, hdr_tree, offset, isDMG, false, has_fcs); break; } /* @@ -39178,7 +39437,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case CTRL_GRANT: case CTRL_GRANT_ACK: case CTRL_SPR: { - gboolean isGrant; + bool isGrant; if(ctrl_type_subtype != CTRL_GRANT_ACK) { offset += add_ff_dynamic_allocation(hdr_tree, tvb, pinfo, offset); } else { /* CTRL_GRANT_ACK have 5 octets that are reserved*/ @@ -39191,7 +39450,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, break; } case CTRL_SSW: { - guint32 sector_sweep; + uint32_t sector_sweep; sector_sweep = tvb_get_letoh24(tvb, offset); offset += add_ff_sector_sweep(hdr_tree, tvb, pinfo, offset); @@ -39227,7 +39486,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case DATA_FRAME: { - guint32 src_offset, dst_offset, da_offset, sa_offset, ta_offset = 10, bssid_offset; + uint32_t src_offset, dst_offset, da_offset, sa_offset, ta_offset = 10, bssid_offset; addr_type = FCF_ADDR_SELECTOR(fcf); if ((option_flags & IEEE80211_COMMON_OPT_NORMAL_QOS) && DATA_FRAME_IS_QOS(frame_type_subtype)) { if (!phdr->no_a_msdus && !DATA_FRAME_IS_NULL(frame_type_subtype)) { @@ -39329,86 +39588,39 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* Now if we have a tree we start adding stuff */ if (tree) { - const gchar *ta_name, *sa_name = NULL, *da_name = NULL, *bssid_name = NULL, *bssid2_name = NULL; - switch (addr_type) { case DATA_ADDR_T1: case DATA_ADDR_T2: case DATA_ADDR_T3: case DATA_ADDR_T4: - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_ta, tvb, ta_offset, 6, ENC_NA); - ta_name = tvb_get_ether_name(tvb, ta_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_ta_resolved, tvb, ta_offset, 6, ta_name); - proto_item_set_hidden(hidden_item); - /* TA is always in the wlan.addr filter */ - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, ta_offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, ta_offset, 6, ta_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_ta, &mac_addr, ett_addr, tvb, hdr_tree, ta_offset); if (da_offset) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_da, tvb, da_offset, 6, ENC_NA); - da_name = tvb_get_ether_name(tvb, da_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_da_resolved, tvb, da_offset, 6, da_name); - proto_item_set_hidden(hidden_item); + bool add_mac = (da_offset >= 16 && da_offset != sa_offset); + proto_tree_add_mac48_detail(&mac_da, add_mac ? &mac_addr : NULL, ett_addr, tvb, hdr_tree, da_offset); } if (sa_offset) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_sa, tvb, sa_offset, 6, ENC_NA); - sa_name = tvb_get_ether_name(tvb, sa_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_sa_resolved, tvb, sa_offset, 6, sa_name); - proto_item_set_hidden(hidden_item); + bool add_mac = (sa_offset >= 16); + proto_tree_add_mac48_detail(&mac_sa, add_mac ? &mac_addr : NULL, ett_addr, tvb, hdr_tree, sa_offset); } if (bssid_offset) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, bssid_offset, 6, ENC_NA); - bssid_name = tvb_get_ether_name(tvb, bssid_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_bssid_resolved, tvb, bssid_offset, 6, bssid_name); - proto_item_set_hidden(hidden_item); + bool add_mac = (bssid_offset >= 16 && bssid_offset != sa_offset && bssid_offset != da_offset); + proto_tree_add_mac48_detail(&mac_bssid, add_mac ? &mac_addr : NULL, ett_addr, tvb, hdr_tree, bssid_offset); } if (addr_type == DATA_ADDR_T4 && is_amsdu) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, 24, 6, ENC_NA); - bssid2_name = tvb_get_ether_name(tvb, 24); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_bssid_resolved, tvb, 24, 6, bssid2_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_bssid, NULL, ett_addr, tvb, hdr_tree, 24); } if (sta_addr_offset > 0) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_staa, tvb, sta_addr_offset, 6, ENC_NA); - station_name = tvb_get_ether_name(tvb, sta_addr_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_staa_resolved, tvb, sta_addr_offset, 6, station_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_staa, NULL, ett_addr, tvb, hdr_tree, sta_addr_offset); } proto_tree_add_item(hdr_tree, hf_ieee80211_frag_number, tvb, 22, 2, ENC_LITTLE_ENDIAN); proto_tree_add_item(hdr_tree, hf_ieee80211_seq_number, tvb, 22, 2, ENC_LITTLE_ENDIAN); - /* add 3rd and 4th address for wlan.addr filter */ - if (sa_offset >= 16) { - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, sa_offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, sa_offset, 6, sa_name); - proto_item_set_hidden(hidden_item); - } - if (da_offset >= 16 && da_offset != sa_offset) { - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, da_offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, da_offset, 6, da_name); - proto_item_set_hidden(hidden_item); - } - if (bssid_offset >= 16 && bssid_offset != sa_offset && bssid_offset != da_offset) { - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, bssid_offset, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, bssid_offset, 6, bssid_name); - proto_item_set_hidden(hidden_item); - } - if (addr_type == DATA_ADDR_T4 && is_amsdu) { - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, 24, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_resolved, tvb, 24, 6, bssid2_name); - proto_item_set_hidden(hidden_item); - } break; } @@ -39418,16 +39630,12 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, case EXTENSION_FRAME: { switch (frame_type_subtype) { case EXTENSION_DMG_BEACON: { - set_dst_addr_cols(pinfo, tvb, 4, "BSSID"); - if (tree) { - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_bssid, tvb, 4, 6, ENC_NA); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, 4, 6, ENC_NA); - proto_item_set_hidden(hidden_item); - } + set_dst_addr_cols(pinfo, tvb, 4, wlan_bssid_address_type); + proto_tree_add_mac48_detail(&mac_bssid, &mac_addr, ett_addr, tvb, hdr_tree, 4); break; } case EXTENSION_S1G_BEACON: { - guint8 *src_addr[6]; + uint8_t *src_addr[6]; tvb_memcpy(tvb, src_addr, 4, 6); /* Insert this src_addr into the s1g sta hash */ @@ -39437,11 +39645,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, check_s1g_setting(pinfo, tvb, 4); - set_src_addr_cols(pinfo, tvb, 4, "SA"); - proto_tree_add_item(hdr_tree, hf_ieee80211_addr_sa, tvb, 4, 6, ENC_NA); - hidden_item = proto_tree_add_item(hdr_tree, hf_ieee80211_addr, tvb, - 4, 6, ENC_NA); - proto_item_set_hidden(hidden_item); + set_src_addr_cols(pinfo, tvb, 4, wlan_address_type); + proto_tree_add_mac48_detail(&mac_sa, &mac_addr, ett_addr, tvb, hdr_tree, 4); break; } } @@ -39491,8 +39696,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, reported_len -= 4; if (wlan_check_checksum) { - guint32 sent_fcs = tvb_get_letohl(tvb, hdr_len + len); - guint32 fcs; + uint32_t sent_fcs = tvb_get_letohl(tvb, hdr_len + len); + uint32_t fcs; if (phdr->datapad) fcs = crc32_802_tvb_padded(tvb, ohdr_len, hdr_len, len); @@ -39538,8 +39743,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *qos_fields, *qos_ti; proto_tree *qos_tree; - guint16 qos_eosp; - guint16 qos_field_content; + uint16_t qos_eosp; + uint16_t qos_field_content; qos_fields = proto_tree_add_item(hdr_tree, hf_ieee80211_qos, tvb, qosoff, 2, ENC_LITTLE_ENDIAN); qos_tree = proto_item_add_subtree(qos_fields, ett_qos_parameters); @@ -39579,7 +39784,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (meshctl_len) { proto_tree_add_item(qos_tree, hf_ieee80211_qos_mesh_ctl_present, tvb, qosoff, 2, ENC_LITTLE_ENDIAN); if (POWER_MGT_STATUS(flags)) { - if (tvb_get_guint8(tvb, 4) & 0x1) + if (tvb_get_uint8(tvb, 4) & 0x1) proto_tree_add_item(qos_tree, hf_ieee80211_qos_mesh_ps_multicast, tvb, qosoff, 2, ENC_LITTLE_ENDIAN); else proto_tree_add_item(qos_tree, hf_ieee80211_qos_mesh_ps_unicast, tvb, qosoff, 2, ENC_LITTLE_ENDIAN); @@ -39629,8 +39834,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * Only QoS Data, Qos CF-ACK and NULL frames To-DS have a Queue Size * field. */ - guint16 scaling_factor = QOS_SCALING_FACTOR(qos_field_content); - guint16 unscaled_value = QOS_UNSCALED_VALUE(qos_field_content); + uint16_t scaling_factor = QOS_SCALING_FACTOR(qos_field_content); + uint16_t unscaled_value = QOS_UNSCALED_VALUE(qos_field_content); if ((DATA_FRAME_IS_NULL(frame_type_subtype) || (frame_type_subtype & 0x7) == 0 || @@ -39710,12 +39915,12 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, goto end_of_wlan; if (!wlan_subdissector) { - guint fnum = 0; + unsigned fnum = 0; /* key: bssid:src * data: last seq_control seen and frame number */ - retransmitted = FALSE; + retransmitted = false; if (!pinfo->fd->visited) { retransmit_key key; retransmit_key *result; @@ -39737,7 +39942,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, fnum = result->fnum; g_hash_table_insert(fc_first_frame_table, GINT_TO_POINTER(pinfo->num), GINT_TO_POINTER(fnum)); - retransmitted = TRUE; + retransmitted = true; } else { /* first time or new seq*/ if (!result) { @@ -39750,7 +39955,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } } else if ((fnum = GPOINTER_TO_UINT(g_hash_table_lookup(fc_first_frame_table, GINT_TO_POINTER(pinfo->num))))) { - retransmitted = TRUE; + retransmitted = true; } if (retransmitted) { @@ -39790,10 +39995,10 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * decrypted; dissect the protections parameters and decrypt the data, * if we have a matching key. Otherwise display it as data. */ - gboolean can_decrypt = FALSE; + bool can_decrypt = false; proto_tree *wep_tree = NULL; - guint32 iv; - guint8 wep_key, keybyte; + uint32_t iv; + uint8_t wep_key, keybyte; DOT11DECRYPT_KEY_ITEM used_key = { 0 }; if (len == reported_len) { @@ -39801,7 +40006,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, &algorithm, &sec_trailer, &used_key); } - keybyte = tvb_get_guint8(tvb, hdr_len + 3); + keybyte = tvb_get_uint8(tvb, hdr_len + 3); wep_key = KEY_OCTET_WEP_KEY(keybyte); if ((keybyte & KEY_EXTIV) && (len >= EXTIV_LEN)) { /* Extended IV; this frame is likely encrypted with TKIP or CCMP */ @@ -39833,16 +40038,16 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (algorithm==PROTECTION_ALG_TKIP) { snprintf(out_buff, SHORT_STR, "0x%08X%02X%02X", tvb_get_letohl(tvb, hdr_len + 4), - tvb_get_guint8(tvb, hdr_len), - tvb_get_guint8(tvb, hdr_len + 2)); + tvb_get_uint8(tvb, hdr_len), + tvb_get_uint8(tvb, hdr_len + 2)); proto_tree_add_string(wep_tree, hf_ieee80211_tkip_extiv, tvb, hdr_len, EXTIV_LEN, out_buff); } else if (algorithm == PROTECTION_ALG_CCMP || algorithm == PROTECTION_ALG_CCMP_256 || algorithm == PROTECTION_ALG_GCMP || algorithm == PROTECTION_ALG_GCMP_256) { snprintf(out_buff, SHORT_STR, "0x%08X%02X%02X", tvb_get_letohl(tvb, hdr_len + 4), - tvb_get_guint8(tvb, hdr_len + 1), - tvb_get_guint8(tvb, hdr_len)); + tvb_get_uint8(tvb, hdr_len + 1), + tvb_get_uint8(tvb, hdr_len)); proto_tree_add_string(wep_tree, hf_ieee80211_ccmp_extiv, tvb, hdr_len, EXTIV_LEN, out_buff); } @@ -39857,12 +40062,12 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* It is unknown whether this is TKIP or CCMP, so let's not even try to * parse TKIP Michael MIC+ICV or CCMP MIC. */ - const guint8 *key = NULL; + const uint8_t *key = NULL; int key_len; /* checking for the trailer */ if (next_tvb!=NULL) { - if (reported_len < (gint) sec_trailer) { + if (reported_len < (int) sec_trailer) { /* There is no space for a trailer, ignore it and don't decrypt */ ; } else if (len < reported_len) { @@ -39877,7 +40082,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* so don't remove the trailer from the packet */ len -= sec_trailer; reported_len -= sec_trailer; - can_decrypt = TRUE; + can_decrypt = true; /* Add Key information to packet */ if (!tvb_get_bits8(tvb, 39, 1)) { /* RA is unicast, encrypted with pairwise key */ @@ -39925,7 +40130,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, is_iv_bad = weak_iv(iv_buff); if (is_iv_bad != -1) { proto_tree_add_boolean_format (wep_tree, hf_ieee80211_wep_iv_weak, - tvb, 0, 0, TRUE, + tvb, 0, 0, true, "Weak IV for key byte %d", is_iv_bad); } @@ -39977,7 +40182,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, */ len -= 4; reported_len -= 4; - can_decrypt = TRUE; + can_decrypt = true; } } @@ -40125,9 +40330,9 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, * tell the next protocol that. */ if (more_frags) - pinfo->fragmented = TRUE; + pinfo->fragmented = true; else - pinfo->fragmented = FALSE; + pinfo->fragmented = false; } } @@ -40152,8 +40357,8 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, if (is_amsdu && (tvb_reported_length_remaining(next_tvb, 0) > 4)) { proto_item *parent_item; proto_tree *mpdu_tree; - guint32 msdu_offset = 0; - guint i = 1; + uint32_t msdu_offset = 0; + unsigned i = 1; parent_item = proto_tree_add_protocol_format(tree, proto_aggregate, next_tvb, 0, tvb_reported_length_remaining(next_tvb, 0), "IEEE 802.11 Aggregate MSDU"); @@ -40161,11 +40366,10 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, do { tvbuff_t *msdu_tvb; - guint16 msdu_length; + uint16_t msdu_length; proto_tree *subframe_tree; - gboolean last_subframe = FALSE; - guint16 subframe_length; - const gchar *resolve_name; + bool last_subframe = false; + uint16_t subframe_length; /* * IEEE Std 802.11-2012 says, in section 8.3.2.2 "A-MSDU format": @@ -40180,7 +40384,7 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, msdu_length = tvb_get_ntohs(next_tvb, msdu_offset+12); if (tvb_reported_length_remaining(next_tvb, msdu_offset+14+msdu_length) <= 14) - last_subframe = TRUE; + last_subframe = true; /* The last A-MSDU subframe has no padding. */ if (last_subframe) @@ -40194,23 +40398,15 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, subframe_tree = proto_item_add_subtree(parent_item, ett_msdu_aggregation_subframe_tree); i += 1; - proto_tree_add_item(subframe_tree, hf_ieee80211_addr_da, next_tvb, msdu_offset, 6, ENC_NA); - resolve_name = tvb_get_ether_name(next_tvb, msdu_offset); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_da_resolved, next_tvb, msdu_offset, 6, - resolve_name); - proto_item_set_hidden(hidden_item); - proto_tree_add_item(subframe_tree, hf_ieee80211_addr_sa, next_tvb, msdu_offset+6, 6, ENC_NA); - resolve_name = tvb_get_ether_name(next_tvb, msdu_offset+6); - hidden_item = proto_tree_add_string(hdr_tree, hf_ieee80211_addr_sa_resolved, next_tvb, msdu_offset+6, 6, - resolve_name); - proto_item_set_hidden(hidden_item); + proto_tree_add_mac48_detail(&mac_da, NULL, ett_addr, tvb, subframe_tree, msdu_offset); + proto_tree_add_mac48_detail(&mac_sa, NULL, ett_addr, tvb, subframe_tree, msdu_offset+6); proto_tree_add_item(subframe_tree, hf_ieee80211_amsdu_length, next_tvb, msdu_offset+12, 2, ENC_BIG_ENDIAN); msdu_offset += 14; msdu_tvb = tvb_new_subset_length(next_tvb, msdu_offset, msdu_length); call_dissector(llc_handle, msdu_tvb, pinfo, subframe_tree); if (!last_subframe) { - guint8 padding = (4-((msdu_offset+msdu_length)&3))&3; + uint8_t padding = (4-((msdu_offset+msdu_length)&3))&3; if (padding > 0) proto_tree_add_item(subframe_tree, hf_ieee80211_amsdu_padding, next_tvb, msdu_offset+msdu_length, padding, ENC_NA); } @@ -40326,18 +40522,18 @@ dissect_ieee80211_pv0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } encap_type = ENCAP_802_2; if (tvb_bytes_exist(next_tvb, 0, 2)) { - octet1 = tvb_get_guint8(next_tvb, 0); - octet2 = tvb_get_guint8(next_tvb, 1); + octet1 = tvb_get_uint8(next_tvb, 0); + octet2 = tvb_get_uint8(next_tvb, 1); if ((octet1 != 0xaa) || (octet2 != 0xaa)) { - if ((tvb_memeql(next_tvb, 6, (const guint8 *)pinfo->dl_src.data, 6) == 0) || - (tvb_memeql(next_tvb, 0, (const guint8 *)pinfo->dl_dst.data, 6) == 0)) + if ((tvb_memeql(next_tvb, 6, (const uint8_t *)pinfo->dl_src.data, 6) == 0) || + (tvb_memeql(next_tvb, 0, (const uint8_t *)pinfo->dl_dst.data, 6) == 0)) encap_type = ENCAP_ETHERNET; else if ((octet1 == 0xff) && (octet2 == 0xff)) encap_type = ENCAP_IPX; else if (((octet1 == 0x00) && (octet2 == 0x00)) && tvb_bytes_exist(next_tvb, 0, 18) && - (tvb_memeql(next_tvb, 6, (const guint8*)pinfo->dl_dst.data, 6) == 0) && - (tvb_memeql(next_tvb, 12, (const guint8*)pinfo->dl_src.data, 6) == 0)) { + (tvb_memeql(next_tvb, 6, (const uint8_t*)pinfo->dl_dst.data, 6) == 0) && + (tvb_memeql(next_tvb, 12, (const uint8_t*)pinfo->dl_src.data, 6) == 0)) { proto_tree_add_item(tree, hf_ieee80211_mysterious_extra_stuff, next_tvb, 0, 6, ENC_NA); next_tvb = tvb_new_subset_remaining(next_tvb, 6); encap_type = ENCAP_ETHERNET; @@ -40400,12 +40596,12 @@ end_of_wlan: static int dissect_ieee80211_unknown_pv(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, guint8 pv, + proto_tree *tree, uint8_t pv, struct ieee_802_11_phdr *phdr) { proto_item *ti; - gint len; - guint offset = 0; + int len; + unsigned offset = 0; proto_tree *hdr_tree; tvbuff_t *next_tvb; @@ -40440,13 +40636,13 @@ dissect_ieee80211_unknown_pv(tvbuff_t *tvb, packet_info *pinfo _U_, */ static int dissect_ieee80211_common(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *tree, guint32 option_flags, + proto_tree *tree, uint32_t option_flags, struct ieee_802_11_phdr *phdr) { - guint8 pv = 0; - gboolean isDMG = (phdr->phy == PHDR_802_11_PHY_11AD); - gboolean isS1G = (phdr->phy == PHDR_802_11_PHY_11AH); - guint16 fcf; + uint8_t pv = 0; + bool isDMG = (phdr->phy == PHDR_802_11_PHY_11AD); + bool isS1G = (phdr->phy == PHDR_802_11_PHY_11AH); + uint16_t fcf; static wlan_hdr_t whdrs[4]; wlan_hdr_t *whdr; @@ -40463,7 +40659,7 @@ dissect_ieee80211_common(tvbuff_t *tvb, packet_info *pinfo, p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, IS_S1G_KEY, GINT_TO_POINTER(isS1G)); - /* Handling for one-one mapping between assocations and conversations */ + /* Handling for one-one mapping between associations and conversations */ if (!pinfo->fd->visited) { p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, ASSOC_COUNTER_KEY, GUINT_TO_POINTER(association_counter)); @@ -40509,8 +40705,8 @@ dissect_ieee80211(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat */ memset(&ourphdr, 0, sizeof(ourphdr)); ourphdr.fcs_len = -1; - ourphdr.decrypted = FALSE; - ourphdr.datapad = FALSE; + ourphdr.decrypted = false; + ourphdr.datapad = false; ourphdr.phy = PHDR_802_11_PHY_UNKNOWN; phdr = &ourphdr; } @@ -40529,8 +40725,8 @@ dissect_ieee80211_withfcs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v /* Construct a pseudo-header to hand to the common code. */ memset(&phdr, 0, sizeof(phdr)); phdr.fcs_len = 4; - phdr.decrypted = FALSE; - phdr.datapad = FALSE; + phdr.decrypted = false; + phdr.datapad = false; phdr.phy = PHDR_802_11_PHY_UNKNOWN; dissect_ieee80211_common(tvb, pinfo, tree, IEEE80211_COMMON_OPT_NORMAL_QOS, &phdr); return tvb_captured_length(tvb); @@ -40547,8 +40743,8 @@ dissect_ieee80211_withoutfcs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree /* Construct a pseudo-header to hand to the common code. */ memset(&phdr, 0, sizeof(phdr)); - phdr.decrypted = FALSE; - phdr.datapad = FALSE; + phdr.decrypted = false; + phdr.datapad = false; phdr.phy = PHDR_802_11_PHY_UNKNOWN; dissect_ieee80211_common(tvb, pinfo, tree, IEEE80211_COMMON_OPT_NORMAL_QOS, &phdr); return tvb_captured_length(tvb); @@ -40582,7 +40778,7 @@ dissect_ieee80211_withoutfcs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree * - Packets that are supposed to be received by another computer have * the 802.11/LLC headers. ... Also I noticed that when WEP is enabled, * the 802.11 header has the flag "WEP" set to true, but the packet - * is already decrypted. I added a test in the code to accomodate this. + * is already decrypted. I added a test in the code to accommodate this. * For TKIP it seems to stay encrypted. */ static int @@ -40592,8 +40788,8 @@ dissect_ieee80211_centrino(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, /* Construct a pseudo-header to hand to the common code. */ memset(&phdr, 0, sizeof(phdr)); - phdr.decrypted = FALSE; - phdr.datapad = FALSE; + phdr.decrypted = false; + phdr.datapad = false; phdr.phy = PHDR_802_11_PHY_UNKNOWN; dissect_ieee80211_common(tvb, pinfo, tree, IEEE80211_COMMON_OPT_IS_CENTRINO|IEEE80211_COMMON_OPT_NORMAL_QOS, &phdr); return tvb_captured_length(tvb); @@ -40611,8 +40807,8 @@ dissect_ieee80211_bsfc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void /* Construct a pseudo-header to hand to the common code. */ memset(&phdr, 0, sizeof(phdr)); - phdr.decrypted = FALSE; - phdr.datapad = FALSE; + phdr.decrypted = false; + phdr.datapad = false; phdr.phy = PHDR_802_11_PHY_UNKNOWN; dissect_ieee80211_common(tvb, pinfo, tree, IEEE80211_COMMON_OPT_BROKEN_FC|IEEE80211_COMMON_OPT_NORMAL_QOS, &phdr); return tvb_captured_length(tvb); @@ -40630,8 +40826,8 @@ dissect_ieee80211_noqos(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi /* Construct a pseudo-header to hand to the common code. */ memset(&phdr, 0, sizeof(phdr)); - phdr.decrypted = FALSE; - phdr.datapad = FALSE; + phdr.decrypted = false; + phdr.datapad = false; phdr.phy = PHDR_802_11_PHY_UNKNOWN; dissect_ieee80211_common(tvb, pinfo, tree, 0, &phdr); return tvb_captured_length(tvb); @@ -40639,11 +40835,11 @@ dissect_ieee80211_noqos(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi /* ------------- */ -static guint -retransmit_hash(gconstpointer k) +static unsigned +retransmit_hash(const void *k) { const retransmit_key *key = (const retransmit_key *)k; - guint hash_val; + unsigned hash_val; int i; hash_val = 0; @@ -40656,28 +40852,28 @@ retransmit_hash(gconstpointer k) return hash_val; } -static gint -retransmit_equal(gconstpointer k1, gconstpointer k2) +static int +retransmit_equal(const void *k1, const void *k2) { const retransmit_key *key1 = (const retransmit_key *)k1; const retransmit_key *key2 = (const retransmit_key *)k2; - return ((!memcmp(key1->bssid, key2->bssid, 6) && !memcmp(key1->src, key2->src, 6)) ? TRUE:FALSE); + return ((!memcmp(key1->bssid, key2->bssid, 6) && !memcmp(key1->src, key2->src, 6)) ? true:false); } -static guint -frame_hash(gconstpointer k) +static unsigned +frame_hash(const void *k) { - guint32 frame = GPOINTER_TO_UINT(k); + uint32_t frame = GPOINTER_TO_UINT(k); return frame; } -static gint -frame_equal(gconstpointer k1, gconstpointer k2) +static int +frame_equal(const void *k1, const void *k2) { - guint32 frame1 = GPOINTER_TO_UINT(k1); - guint32 frame2 = GPOINTER_TO_UINT(k2); + uint32_t frame1 = GPOINTER_TO_UINT(k1); + uint32_t frame2 = GPOINTER_TO_UINT(k2); return frame1==frame2; } @@ -40708,35 +40904,35 @@ static const value_string keydes_version_vals[] = { { 0, NULL } }; -static int proto_wlan_rsna_eapol = -1; - -static int hf_wlan_rsna_eapol_wpa_keydes_msgnr = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_keydes_version = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_type = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_index = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_install = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_ack = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_mic = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_secure = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_error = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_request = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_encrypted_key_data = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_smk_message = -1; -static int hf_wlan_rsna_eapol_keydes_key_len = -1; -static int hf_wlan_rsna_eapol_keydes_replay_counter = -1; -static int hf_wlan_rsna_eapol_keydes_key_iv = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_nonce = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_rsc = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_id = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_mic = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_data_len = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_data = -1; -static int hf_wlan_rsna_eapol_wpa_keydes_padding = -1; -static int hf_wlan_rsna_eapol_wpa_extraneous = -1; - -static gint ett_keyinfo = -1; -static gint ett_wlan_rsna_eapol_keydes_data = -1; +static int proto_wlan_rsna_eapol; + +static int hf_wlan_rsna_eapol_wpa_keydes_msgnr; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_keydes_version; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_type; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_index; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_install; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_ack; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_key_mic; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_secure; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_error; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_request; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_encrypted_key_data; +static int hf_wlan_rsna_eapol_wpa_keydes_keyinfo_smk_message; +static int hf_wlan_rsna_eapol_keydes_key_len; +static int hf_wlan_rsna_eapol_keydes_replay_counter; +static int hf_wlan_rsna_eapol_keydes_key_iv; +static int hf_wlan_rsna_eapol_wpa_keydes_nonce; +static int hf_wlan_rsna_eapol_wpa_keydes_rsc; +static int hf_wlan_rsna_eapol_wpa_keydes_id; +static int hf_wlan_rsna_eapol_wpa_keydes_mic; +static int hf_wlan_rsna_eapol_wpa_keydes_data_len; +static int hf_wlan_rsna_eapol_wpa_keydes_data; +static int hf_wlan_rsna_eapol_wpa_keydes_padding; +static int hf_wlan_rsna_eapol_wpa_extraneous; + +static int ett_keyinfo; +static int ett_wlan_rsna_eapol_keydes_data; static const true_false_string keyinfo_key_type_tfs = { "Pairwise Key", "Group Key" }; @@ -40745,7 +40941,7 @@ keydata_padding_len(tvbuff_t *tvb) { int keydata_len = tvb_reported_length(tvb); int len_no_padding = keydata_len; - const guint8 *keydata = tvb_get_ptr(tvb, 0, keydata_len); + const uint8_t *keydata = tvb_get_ptr(tvb, 0, keydata_len); while (len_no_padding > 0 && (keydata[len_no_padding - 1] == 0x00)) { len_no_padding--; } @@ -40771,37 +40967,37 @@ get_eapol_parsed(packet_info *pinfo, PDOT11DECRYPT_EAPOL_PARSED eapol_parsed) } eapol_parsed->len = eapol_key->len; eapol_parsed->key_type = eapol_key->type; - eapol_parsed->key_version = (guint8) + eapol_parsed->key_version = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_VERSION_KEY)); - eapol_parsed->key_len = (guint16) + eapol_parsed->key_len = (uint16_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_LEN_KEY)); - eapol_parsed->key_iv = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_IV_KEY); - eapol_parsed->key_data = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_DATA_KEY); - eapol_parsed->key_data_len = (guint16) + eapol_parsed->key_iv = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_IV_KEY); + eapol_parsed->key_data = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_DATA_KEY); + eapol_parsed->key_data_len = (uint16_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, KEY_DATA_LEN_KEY)); - eapol_parsed->nonce = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, NONCE_KEY); - eapol_parsed->group_cipher = (guint8) + eapol_parsed->nonce = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, NONCE_KEY); + eapol_parsed->group_cipher = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GROUP_CIPHER_KEY)); - eapol_parsed->cipher = (guint8) + eapol_parsed->cipher = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, CIPHER_KEY)); - eapol_parsed->akm = (guint8) + eapol_parsed->akm = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, AKM_KEY)); - eapol_parsed->mic = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MIC_KEY); + eapol_parsed->mic = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MIC_KEY); eapol_parsed->mic_len = GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MIC_LEN_KEY)); - eapol_parsed->gtk = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_KEY); - eapol_parsed->gtk_len = (guint16) + eapol_parsed->gtk = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_KEY); + eapol_parsed->gtk_len = (uint16_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_LEN_KEY)); /* For fast bss transition akms */ - eapol_parsed->mdid = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDID_KEY); + eapol_parsed->mdid = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDID_KEY); eapol_parsed->fte.r0kh_id = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_KEY); - eapol_parsed->fte.r0kh_id_len = (guint8) + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_KEY); + eapol_parsed->fte.r0kh_id_len = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_LEN_KEY)); eapol_parsed->fte.r1kh_id = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_KEY); - eapol_parsed->fte.r1kh_id_len = (guint8) + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_KEY); + eapol_parsed->fte.r1kh_id_len = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_LEN_KEY)); } @@ -40812,48 +41008,48 @@ get_assoc_parsed(packet_info *pinfo, PDOT11DECRYPT_ASSOC_PARSED assoc_parsed) return; } - assoc_parsed->group_cipher = (guint8) + assoc_parsed->group_cipher = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GROUP_CIPHER_KEY)); - assoc_parsed->cipher = (guint8) + assoc_parsed->cipher = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, CIPHER_KEY)); - assoc_parsed->akm = (guint8) + assoc_parsed->akm = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, AKM_KEY)); - assoc_parsed->fte.mic = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_MIC_KEY); + assoc_parsed->fte.mic = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_MIC_KEY); assoc_parsed->fte.mic_len = GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_MIC_LEN_KEY)); - assoc_parsed->mdid = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDID_KEY); + assoc_parsed->mdid = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDID_KEY); assoc_parsed->fte.anonce = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_ANONCE_KEY); + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_ANONCE_KEY); assoc_parsed->fte.snonce = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_SNONCE_KEY); + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_SNONCE_KEY); assoc_parsed->fte.r0kh_id = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_KEY); - assoc_parsed->fte.r0kh_id_len = (guint8) + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_KEY); + assoc_parsed->fte.r0kh_id_len = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R0KH_ID_LEN_KEY)); assoc_parsed->fte.r1kh_id = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_KEY); - assoc_parsed->fte.r1kh_id_len = (guint8) + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_KEY); + assoc_parsed->fte.r1kh_id_len = (uint8_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_R1KH_ID_LEN_KEY)); assoc_parsed->rsne_tag = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, RSNE_TAG_KEY); + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, RSNE_TAG_KEY); assoc_parsed->mde_tag = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDE_TAG_KEY); + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, MDE_TAG_KEY); assoc_parsed->fte_tag = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_TAG_KEY); + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, FTE_TAG_KEY); assoc_parsed->rde_tag = - (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, RDE_TAG_KEY); - assoc_parsed->gtk = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_KEY); - assoc_parsed->gtk_len = (guint16) + (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, RDE_TAG_KEY); + assoc_parsed->gtk = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_KEY); + assoc_parsed->gtk_len = (uint16_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_LEN_KEY)); - assoc_parsed->gtk_subelem_key_len = (guint16) + assoc_parsed->gtk_subelem_key_len = (uint16_t) GPOINTER_TO_UINT(p_get_proto_data(pinfo->pool, pinfo, proto_wlan, GTK_SUBELEM_KEY_LEN_KEY)); } static void try_decrypt_keydata(packet_info *pinfo) { - guint32 dec_caplen; - guchar dec_data[DOT11DECRYPT_EAPOL_MAX_LEN]; + uint32_t dec_caplen; + unsigned char dec_data[DOT11DECRYPT_EAPOL_MAX_LEN]; DOT11DECRYPT_EAPOL_PARSED eapol_parsed; DOT11DECRYPT_KEY_ITEM used_key; @@ -40861,8 +41057,8 @@ try_decrypt_keydata(packet_info *pinfo) return; } - guint8 *bssid = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, BSSID_KEY); - guint8 *sta = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, STA_KEY); + uint8_t *bssid = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, BSSID_KEY); + uint8_t *sta = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, STA_KEY); if (!bssid || !sta) { return; } @@ -40870,7 +41066,7 @@ try_decrypt_keydata(packet_info *pinfo) memset(&eapol_parsed, 0, sizeof(eapol_parsed)); get_eapol_parsed(pinfo, &eapol_parsed); - gint ret = Dot11DecryptDecryptKeyData(&dot11decrypt_ctx, + int ret = Dot11DecryptDecryptKeyData(&dot11decrypt_ctx, &eapol_parsed, bssid, sta, dec_data, &dec_caplen, @@ -40879,7 +41075,7 @@ try_decrypt_keydata(packet_info *pinfo) proto_keydata_t *eapol = wmem_new(wmem_file_scope(), proto_keydata_t); eapol->used_key = used_key; eapol->keydata_len = dec_caplen; - eapol->keydata = (guint8 *)wmem_memdup(wmem_file_scope(), dec_data, dec_caplen); + eapol->keydata = (uint8_t *)wmem_memdup(wmem_file_scope(), dec_data, dec_caplen); /* Save decrypted eapol keydata for rsna dissector */ p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, DECRYPTED_EAPOL_KEY, eapol); @@ -40898,8 +41094,8 @@ try_scan_eapol_keys(packet_info *pinfo, DOT11DECRYPT_HS_MSG_TYPE msg_type) proto_eapol_key_frame_t *eapol_key = (proto_eapol_key_frame_t *)p_get_proto_data(pinfo->pool, pinfo, proto_eapol, EAPOL_KEY_FRAME_KEY); - guint8 *bssid = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, BSSID_KEY); - guint8 *sta = (guint8 *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, STA_KEY); + uint8_t *bssid = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, BSSID_KEY); + uint8_t *sta = (uint8_t *)p_get_proto_data(pinfo->pool, pinfo, proto_wlan, STA_KEY); if (!eapol_key || !bssid || !sta) { return; @@ -40919,10 +41115,10 @@ static void try_scan_ft_assoc_keys(packet_info *pinfo, const wlan_hdr_t *whdr) { DOT11DECRYPT_ASSOC_PARSED assoc_parsed; - guint8 decrypted_buf[DOT11DECRYPT_WPA_PTK_MAX_LEN]; + uint8_t decrypted_buf[DOT11DECRYPT_WPA_PTK_MAX_LEN]; size_t decrypted_len = 0; DOT11DECRYPT_KEY_ITEM used_key; - gint ret; + int ret; if (!enable_decryption || pinfo->fd->visited || !whdr) { return; @@ -40935,7 +41131,7 @@ try_scan_ft_assoc_keys(packet_info *pinfo, const wlan_hdr_t *whdr) memset(&assoc_parsed, 0, sizeof(assoc_parsed)); get_assoc_parsed(pinfo, &assoc_parsed); /* Implicit conversion from MGT_ASSOC_xxx to DOT11DECRYPT_SUBTYPE_xxx */ - assoc_parsed.frame_subtype = (guint8)whdr->type; + assoc_parsed.frame_subtype = (uint8_t)whdr->type; memcpy(assoc_parsed.bssid, whdr->bssid.data, 6); memcpy(assoc_parsed.sa, whdr->src.data, 6); memcpy(assoc_parsed.da, whdr->dst.data, 6); @@ -40946,8 +41142,8 @@ try_scan_ft_assoc_keys(packet_info *pinfo, const wlan_hdr_t *whdr) if (ret == DOT11DECRYPT_RET_SUCCESS_HANDSHAKE && decrypted_len > 0) { proto_keydata_t *proto = wmem_new(wmem_file_scope(), proto_keydata_t); proto->used_key = used_key; - proto->keydata_len = (guint)decrypted_len; - proto->keydata = (guint8 *)wmem_memdup(wmem_file_scope(), decrypted_buf, decrypted_len); + proto->keydata_len = (unsigned)decrypted_len; + proto->keydata = (uint8_t *)wmem_memdup(wmem_file_scope(), decrypted_buf, decrypted_len); /* Save decrypted GTK keydata for tag dissector */ p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan, DECRYPTED_GTK_KEY, proto); @@ -40966,11 +41162,11 @@ try_scan_ft_assoc_keys(packet_info *pinfo, const wlan_hdr_t *whdr) * found via the pinfo. */ static void -discover_key_mic_len1(tvbuff_t *tvb, packet_info *pinfo, guint offset) +discover_key_mic_len1(tvbuff_t *tvb, packet_info *pinfo, unsigned offset) { conversation_t *conversation = find_or_create_wlan_conversation(pinfo); ieee80211_conversation_data_t *conversation_data = get_or_create_conversation_data(conversation); - guint16 mic_len = 16; + uint16_t mic_len = 16; /* * The first sixteen bytes at offset should 0. If not, get out of here @@ -40997,7 +41193,7 @@ discover_key_mic_len1(tvbuff_t *tvb, packet_info *pinfo, guint offset) /* * Do the next two bytes give us the length of the remainder? */ - if (tvb_get_guint16(tvb, offset, ENC_BIG_ENDIAN) + 2 == + if (tvb_get_uint16(tvb, offset, ENC_BIG_ENDIAN) + 2 == tvb_reported_length_remaining(tvb, offset)) { conversation_data->discovered_key_mic_len = mic_len; } @@ -41008,11 +41204,11 @@ discover_key_mic_len1(tvbuff_t *tvb, packet_info *pinfo, guint offset) * handshake, however, we can still determine it from the second frame. */ static void -discover_key_mic_len2(tvbuff_t *tvb, packet_info *pinfo, guint offset) +discover_key_mic_len2(tvbuff_t *tvb, packet_info *pinfo, unsigned offset) { conversation_t *conversation = find_or_create_wlan_conversation(pinfo); ieee80211_conversation_data_t *conversation_data = get_or_create_conversation_data(conversation); - guint16 mic_len = 16; + uint16_t mic_len = 16; /* * The KeyMIC should have a 2-byte length field following it, and that @@ -41021,7 +41217,7 @@ discover_key_mic_len2(tvbuff_t *tvb, packet_info *pinfo, guint offset) offset += 16; while ((tvb_captured_length(tvb) > (offset + 2)) && - tvb_get_guint16(tvb, offset, ENC_BIG_ENDIAN) != + tvb_get_uint16(tvb, offset, ENC_BIG_ENDIAN) != tvb_reported_length_remaining(tvb, offset + 2)) { /* @@ -41040,7 +41236,7 @@ discover_key_mic_len2(tvbuff_t *tvb, packet_info *pinfo, guint offset) * have been truncated beyond the key data length field. */ if (tvb_captured_length_remaining(tvb, offset) >= 2 && - tvb_get_guint16(tvb, offset, ENC_BIG_ENDIAN) + 2 == + tvb_get_uint16(tvb, offset, ENC_BIG_ENDIAN) + 2 == tvb_reported_length_remaining(tvb, offset)) { conversation_data->discovered_key_mic_len = mic_len; } @@ -41049,9 +41245,9 @@ discover_key_mic_len2(tvbuff_t *tvb, packet_info *pinfo, guint offset) static int dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { - guint offset = 0; - guint16 keyinfo; - guint16 eapol_data_len; + unsigned offset = 0; + uint16_t keyinfo; + uint16_t eapol_data_len; proto_tree *keydes_tree; proto_tree *ti = NULL; static int * const wlan_rsna_eapol_wpa_keydes_keyinfo[] = { @@ -41068,10 +41264,10 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ &hf_wlan_rsna_eapol_wpa_keydes_keyinfo_smk_message, NULL }; - guint16 eapol_data_offset = 76; /* 92 - 16 */ - gboolean has_nonce = determine_nonce_is_set(tvb); - gboolean defaulted_mic_len = FALSE; - guint16 eapol_key_mic_len = determine_mic_len(pinfo, FALSE, &defaulted_mic_len); + uint16_t eapol_data_offset = 76; /* 92 - 16 */ + bool has_nonce = determine_nonce_is_set(tvb); + bool defaulted_mic_len = false; + uint16_t eapol_key_mic_len = determine_mic_len(pinfo, false, &defaulted_mic_len); save_proto_data_value(pinfo, eapol_key_mic_len, MIC_LEN_KEY); eapol_data_offset += eapol_key_mic_len; DOT11DECRYPT_HS_MSG_TYPE msg_type = DOT11DECRYPT_HS_MSG_TYPE_INVALID; @@ -41086,7 +41282,7 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ if (keyinfo & KEY_INFO_ERROR_MASK) col_set_str(pinfo->cinfo, COL_INFO, "Key (Request, Error)"); } else if (keyinfo & KEY_INFO_KEY_TYPE_MASK) { - guint16 masked; + uint16_t masked; /* Windows is setting the Secure Bit on message 2 when rekeying, so we'll ignore it */ /* When an AEAD cipher is used no MIC is included, so we cannot rely on the MIC flag */ masked = keyinfo & @@ -41105,7 +41301,7 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ if (defaulted_mic_len) { discover_key_mic_len1(tvb, pinfo, 76); /* Must reset the MIC len */ - eapol_key_mic_len = determine_mic_len(pinfo, FALSE, &defaulted_mic_len); + eapol_key_mic_len = determine_mic_len(pinfo, false, &defaulted_mic_len); save_proto_data_value(pinfo, eapol_key_mic_len, MIC_LEN_KEY); eapol_data_offset = 76 + eapol_key_mic_len; eapol_data_len = tvb_get_ntohs(tvb, offset + eapol_data_offset); @@ -41122,7 +41318,7 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ /* Get correct MIC LEN if there is no M1 and M2 */ if (defaulted_mic_len) { discover_key_mic_len2(tvb, pinfo, 76); - eapol_key_mic_len = determine_mic_len(pinfo, FALSE, &defaulted_mic_len); + eapol_key_mic_len = determine_mic_len(pinfo, false, &defaulted_mic_len); save_proto_data_value(pinfo, eapol_key_mic_len, MIC_LEN_KEY); eapol_data_offset = 76 + eapol_key_mic_len; eapol_data_len = tvb_get_ntohs(tvb, offset + eapol_data_offset); @@ -41151,7 +41347,7 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ col_set_str(pinfo->cinfo, COL_INFO, "Key (Message 2 of 4)"); if (defaulted_mic_len) { discover_key_mic_len2(tvb, pinfo, 76); - eapol_key_mic_len = determine_mic_len(pinfo, FALSE, &defaulted_mic_len); + eapol_key_mic_len = determine_mic_len(pinfo, false, &defaulted_mic_len); save_proto_data_value(pinfo, eapol_key_mic_len, MIC_LEN_KEY); eapol_data_offset = 76 + eapol_key_mic_len; eapol_data_len = tvb_get_ntohs(tvb, offset + eapol_data_offset); @@ -41180,14 +41376,14 @@ dissect_wlan_rsna_eapol_wpa_or_rsn_key(tvbuff_t *tvb, packet_info *pinfo, proto_ } proto_item_set_generated(ti); - guint16 keydes_version = tvb_get_ntohs(tvb, offset) & KEY_INFO_KEYDES_VERSION_MASK; + uint16_t keydes_version = tvb_get_ntohs(tvb, offset) & KEY_INFO_KEYDES_VERSION_MASK; save_proto_data_value(pinfo, keydes_version, KEY_VERSION_KEY); proto_tree_add_bitmask_with_flags(tree, tvb, offset, hf_wlan_rsna_eapol_wpa_keydes_keyinfo, ett_keyinfo, wlan_rsna_eapol_wpa_keydes_keyinfo, ENC_BIG_ENDIAN, BMT_NO_APPEND); offset += 2; - guint16 key_len = tvb_get_ntohs(tvb, offset); + uint16_t key_len = tvb_get_ntohs(tvb, offset); proto_tree_add_item(tree, hf_wlan_rsna_eapol_keydes_key_len, tvb, offset, 2, ENC_BIG_ENDIAN); save_proto_data_value(pinfo, tvb_get_ntohs(tvb, offset), KEY_LEN_KEY); @@ -41310,7 +41506,7 @@ static void try_scan_tdls_keys(tvbuff_t *tvb, packet_info *pinfo _U_, int offset return; } int len = tvb_captured_length(tvb) - offset; - const guint8 *action = tvb_get_ptr(tvb, offset, len); + const uint8_t *action = tvb_get_ptr(tvb, offset, len); if (action) { Dot11DecryptScanTdlsForKeys(&dot11decrypt_ctx, action, len); } @@ -41318,14 +41514,14 @@ static void try_scan_tdls_keys(tvbuff_t *tvb, packet_info *pinfo _U_, int offset /* It returns the algorithm used for decryption and trailer length. */ static tvbuff_t * -try_decrypt(tvbuff_t *tvb, packet_info *pinfo, guint offset, guint len, - guint8 *algorithm, guint32 *sec_trailer, +try_decrypt(tvbuff_t *tvb, packet_info *pinfo, unsigned offset, unsigned len, + uint8_t *algorithm, uint32_t *sec_trailer, PDOT11DECRYPT_KEY_ITEM used_key) { - const guint8 *enc_data; + const uint8_t *enc_data; tvbuff_t *decr_tvb = NULL; - guint32 dec_caplen; - guchar dec_data[DOT11DECRYPT_MAX_CAPLEN]; + uint32_t dec_caplen; + unsigned char dec_data[DOT11DECRYPT_MAX_CAPLEN]; if (!enable_decryption) return NULL; @@ -41334,10 +41530,10 @@ try_decrypt(tvbuff_t *tvb, packet_info *pinfo, guint offset, guint len, enc_data = tvb_get_ptr(tvb, 0, len+offset); /* decrypt packet with Dot11Decrypt */ - gint ret = Dot11DecryptDecryptPacket(&dot11decrypt_ctx, enc_data, offset, offset+len, + int ret = Dot11DecryptDecryptPacket(&dot11decrypt_ctx, enc_data, offset, offset+len, dec_data, &dec_caplen, used_key); if (ret == DOT11DECRYPT_RET_SUCCESS) { - guint8 *tmp; + uint8_t *tmp; *algorithm=used_key->KeyType; switch (*algorithm) { case DOT11DECRYPT_KEY_TYPE_WEP: @@ -41361,7 +41557,7 @@ try_decrypt(tvbuff_t *tvb, packet_info *pinfo, guint offset, guint len, } if (dec_caplen > offset) { /* allocate buffer for decrypted payload */ - tmp = (guint8 *)wmem_memdup(pinfo->pool, dec_data+offset, dec_caplen-offset); + tmp = (uint8_t *)wmem_memdup(pinfo->pool, dec_data+offset, dec_caplen-offset); len = dec_caplen-offset; /* decrypt successful, let's set up a new data tvb. */ @@ -41375,48 +41571,45 @@ try_decrypt(tvbuff_t *tvb, packet_info *pinfo, guint offset, guint len, static void set_dot11decrypt_keys(void) { - guint i; + unsigned i; DOT11DECRYPT_KEYS_COLLECTION *keys = g_new(DOT11DECRYPT_KEYS_COLLECTION, 1); - GByteArray *bytes = NULL; keys->nKeys = 0; for (i = 0; (uat_wep_key_records != NULL) && (i < num_wepkeys_uat) && (i < MAX_ENCRYPTION_KEYS); i++) { decryption_key_t *dk; - dk = parse_key_string(uat_wep_key_records[i].string, uat_wep_key_records[i].key); + dk = parse_key_string(uat_wep_key_records[i].string, uat_wep_key_records[i].key, NULL); if (dk != NULL) { + /* parse_key_string() does vaildation, so if it doesn't + * return NULL, we can just copy the results. + */ DOT11DECRYPT_KEY_ITEM key = { 0 }; if (dk->type == DOT11DECRYPT_KEY_TYPE_WEP) { - gboolean res; key.KeyType = DOT11DECRYPT_KEY_TYPE_WEP; - bytes = g_byte_array_new(); - res = hex_str_to_bytes(dk->key->str, bytes, FALSE); - - if (dk->key->str && res && (bytes->len > 0) && (bytes->len <= DOT11DECRYPT_WEP_KEY_MAXLEN)) - { - /* - * WEP key is correct (well, the can be even or odd, so it is not - * a real check, I think... is a check performed somewhere in the - * Dot11Decrypt function???) - */ - memcpy(key.KeyData.Wep.WepKey, bytes->data, bytes->len); - key.KeyData.Wep.WepKeyLen = bytes->len; - keys->Keys[keys->nKeys] = key; - keys->nKeys += 1; - } + /* + * WEP key is correct (well, at least no longer than + * DOT11DECRYPT_WEP_KEY_MAXLEN) + */ + memcpy(key.KeyData.Wep.WepKey, dk->key->data, dk->key->len); + key.KeyData.Wep.WepKeyLen = dk->key->len; + keys->Keys[keys->nKeys] = key; + keys->nKeys += 1; } else if (dk->type == DOT11DECRYPT_KEY_TYPE_WPA_PWD) { key.KeyType = DOT11DECRYPT_KEY_TYPE_WPA_PWD; - /* XXX - This just lops the end if the key off if it's too long. - * Should we handle this more gracefully? */ - (void) g_strlcpy(key.UserPwd.Passphrase, dk->key->str, DOT11DECRYPT_WPA_PASSPHRASE_MAX_LEN+1); + /* + * dk->key has a valid length, because otherwise + * parse_key_string() would have returned NULL. + */ + memcpy(key.UserPwd.Passphrase, dk->key->data, dk->key->len); + key.UserPwd.PassphraseLen = dk->key->len; key.UserPwd.SsidLen = 0; if ((dk->ssid != NULL) && (dk->ssid->len <= DOT11DECRYPT_WPA_SSID_MAX_LEN)) @@ -41432,27 +41625,17 @@ set_dot11decrypt_keys(void) { key.KeyType = DOT11DECRYPT_KEY_TYPE_WPA_PSK; - bytes = g_byte_array_new(); - hex_str_to_bytes(dk->key->str, bytes, FALSE); - - /* XXX - Pass the correct array of bytes... */ - if (bytes->len <= DOT11DECRYPT_WPA_PWD_PSK_LEN || - bytes->len == DOT11DECRYPT_WPA_PMK_MAX_LEN) { - memcpy(key.KeyData.Wpa.Psk, bytes->data, bytes->len); - key.KeyData.Wpa.PskLen = bytes->len; - keys->Keys[keys->nKeys] = key; - keys->nKeys += 1; - } + memcpy(key.KeyData.Wpa.Psk, dk->key->data, dk->key->len); + key.KeyData.Wpa.PskLen = dk->key->len; + keys->Keys[keys->nKeys] = key; + keys->nKeys += 1; } else if (dk->type == DOT11DECRYPT_KEY_TYPE_TK) { key.KeyType = DOT11DECRYPT_KEY_TYPE_TK; - bytes = g_byte_array_new(); - hex_str_to_bytes(dk->key->str, bytes, FALSE); - - memcpy(key.Tk.Tk, bytes->data, bytes->len); - key.Tk.Len = bytes->len; + memcpy(key.Tk.Tk, dk->key->data, dk->key->len); + key.Tk.Len = dk->key->len; keys->Keys[keys->nKeys] = key; keys->nKeys += 1; } @@ -41460,19 +41643,12 @@ set_dot11decrypt_keys(void) { key.KeyType = DOT11DECRYPT_KEY_TYPE_MSK; - bytes = g_byte_array_new(); - hex_str_to_bytes(dk->key->str, bytes, FALSE); - - memcpy(key.Msk.Msk, bytes->data, bytes->len); - key.Msk.Len = bytes->len; + memcpy(key.Msk.Msk, dk->key->data, dk->key->len); + key.Msk.Len = dk->key->len; keys->Keys[keys->nKeys] = key; keys->nKeys += 1; } free_key_string(dk); - if (bytes) { - g_byte_array_free(bytes, TRUE); - bytes = NULL; - } } } @@ -41507,9 +41683,9 @@ init_wepkeys(void) * */ static int -weak_iv(guchar *iv) +weak_iv(unsigned char *iv) { - guchar sum, k; + unsigned char sum, k; if ((iv[1] == 255) && (iv[0] > 2) && (iv[0] < 16)) { return iv[0] -3; @@ -41556,11 +41732,11 @@ static int dissect_data_encap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) { int offset = 0; - guint8 type; + uint8_t type; int tagged_parameter_tree_len; proto_tree *tagged_tree; - type = tvb_get_guint8(tvb, offset); + type = tvb_get_uint8(tvb, offset); proto_tree_add_item(tree, hf_ieee80211_data_encap_payload_type, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -41920,6 +42096,26 @@ proto_register_ieee80211(void) BASE_NONE, NULL, 0x0, "Destination Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_da_oui, + {"Destination OUI", "wlan.da.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "Destination Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_da_oui_resolved, + {"Destination OUI (resolved)", "wlan.da.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "Destination Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_da_lg, + { "LG bit", "wlan.da.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_da_ig, + { "IG bit", "wlan.da.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr_sa, {"Source address", "wlan.sa", FT_ETHER, BASE_NONE, NULL, 0, @@ -41930,6 +42126,26 @@ proto_register_ieee80211(void) BASE_NONE, NULL, 0x0, "Source Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_sa_oui, + {"Source OUI", "wlan.sa.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "Source Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_sa_oui_resolved, + {"Source OUI (resolved)", "wlan.sa.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "Source Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_sa_lg, + { "LG bit", "wlan.sa.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_sa_ig, + { "IG bit", "wlan.sa.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr, {"Hardware address", "wlan.addr", FT_ETHER, BASE_NONE, NULL, 0, @@ -41940,6 +42156,26 @@ proto_register_ieee80211(void) BASE_NONE, NULL, 0x0, "SA, DA, BSSID, RA or TA Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_oui, + {"Hardware OUI", "wlan.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "Hardware Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_oui_resolved, + {"Hardware OUI (resolved)", "wlan.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "Hardware Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_lg, + { "LG bit", "wlan.addr.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_ig, + { "IG bit", "wlan.addr.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr_ra, {"Receiver address", "wlan.ra", FT_ETHER, BASE_NONE, NULL, 0, @@ -41949,6 +42185,26 @@ proto_register_ieee80211(void) {"Receiver address (resolved)", "wlan.ra_resolved", FT_STRING, BASE_NONE, NULL, 0x0, "Receiving Station Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_ra_oui, + {"Receiver OUI", "wlan.ra.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "Receiver Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_ra_oui_resolved, + {"Receiver OUI (resolved)", "wlan.ra.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "Receiver Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_ra_lg, + { "LG bit", "wlan.ra.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_ra_ig, + { "IG bit", "wlan.ra.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr_ta, {"Transmitter address", "wlan.ta", FT_ETHER, BASE_NONE, NULL, 0, @@ -41959,6 +42215,26 @@ proto_register_ieee80211(void) BASE_NONE, NULL, 0x0, "Transmitting Station Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_ta_oui, + {"Transmitter OUI", "wlan.ta.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "Transmitter Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_ta_oui_resolved, + {"Transmitter OUI (resolved)", "wlan.ta.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "Transmitter Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_ta_lg, + { "LG bit", "wlan.ta.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_ta_ig, + { "IG bit", "wlan.ta.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr_bssid, {"BSS Id", "wlan.bssid", FT_ETHER, BASE_NONE, NULL, 0, @@ -41968,6 +42244,26 @@ proto_register_ieee80211(void) {"BSS Id (resolved)", "wlan.bssid_resolved", FT_STRING, BASE_NONE, NULL, 0x0, "Basic Service Set ID (resolved)", HFILL }}, + {&hf_ieee80211_addr_bssid_oui, + {"BSS Id OUI", "wlan.bssid.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "BSS Id Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_bssid_oui_resolved, + {"BSS Id OUI (resolved)", "wlan.bssid.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "BSS Id Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_bssid_lg, + { "LG bit", "wlan.bssid.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_bssid_ig, + { "IG bit", "wlan.bssid.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_addr_staa, {"STA address", "wlan.staa", FT_ETHER, BASE_NONE, NULL, 0, @@ -41977,6 +42273,26 @@ proto_register_ieee80211(void) {"STA address (resolved)", "wlan.staa_resolved", FT_STRING, BASE_NONE, NULL, 0x0, "Station Hardware Address (resolved)", HFILL }}, + {&hf_ieee80211_addr_staa_oui, + {"STA OUI", "wlan.staa.oui", + FT_UINT24, BASE_OUI, NULL, 0, + "STA Organizationally Unique Identifier", HFILL }}, + + {&hf_ieee80211_addr_staa_oui_resolved, + {"STA OUI (resolved)", "wlan.staa.oui_resolved", + FT_STRING, BASE_NONE, NULL, 0, + "STA Organizationally Unique Identifier (resolved)", HFILL }}, + + { &hf_ieee80211_addr_staa_lg, + { "LG bit", "wlan.staa.lg", + FT_BOOLEAN, 24, TFS(&lg_tfs), 0x020000, + "Specifies if this is a locally administered or globally unique (IEEE assigned) address", HFILL }}, + + { &hf_ieee80211_addr_staa_ig, + { "IG bit", "wlan.staa.ig", + FT_BOOLEAN, 24, TFS(&ig_tfs), 0x010000, + "Specifies if this is an individual (unicast) or group (broadcast/multicast) address", HFILL }}, + {&hf_ieee80211_frag_number, {"Fragment number", "wlan.frag", FT_UINT16, BASE_DEC, NULL, 0x000F, @@ -42565,12 +42881,12 @@ proto_register_ieee80211(void) {&hf_ieee80211_ff_rm_tx_power, {"Transmit Power Used", "wlan.rm.tx_power", - FT_INT8, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_ff_rm_max_tx_power, {"Max Transmit Power", "wlan.rm.max_tx_power", - FT_INT8, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_ff_tpc, @@ -42590,7 +42906,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_ff_tpc_tx_power, {"TPC Transmit Power", "wlan.rm.tpc.tx_power", - FT_INT8, BASE_DEC, NULL, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_ff_tpc_link_margin, @@ -43543,7 +43859,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_sta_beam_track, /* DMG STA beam track capa*/ {"STA Beam Tracking Time Limit", "wlan.dmg_capa.beam_track", - FT_UINT16, BASE_DEC | BASE_UNIT_STRING, &units_microseconds, 0, + FT_UINT16, BASE_DEC | BASE_UNIT_STRING, UNS(&units_microseconds), 0, NULL, HFILL }}, {&hf_ieee80211_tag_ext_sc_mcs_max_tx, /* DMG STA Ext SC MCS Capa: Max TX*/ @@ -44014,12 +44330,12 @@ proto_register_ieee80211(void) {&hf_ieee80211_ff_fst_action_code, {"FST Action Code", "wlan.fst.action_code", FT_UINT8, BASE_HEX, VALS(ff_fst_action_flags), 0, - "Action Code", HFILL }}, + NULL, HFILL }}, {&hf_ieee80211_ff_robust_av_streaming_action_code, {"Robust AV Streaming Action Code", "wlan.robust_av_streaming.action_code", FT_UINT8, BASE_HEX, VALS(ff_robust_av_streaming_action_flags), 0, - "Action Code", HFILL }}, + NULL, HFILL }}, {&hf_ieee80211_ff_llt, {"Link Loss Timeout", "wlan.fst.llt", @@ -44492,7 +44808,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_switching_stream_non_qos, {"Non-Qos Data Frames", "wlan.switching_stream.non_qos", - FT_BOOLEAN, 8, NULL, 0, + FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, {&hf_ieee80211_tag_switching_stream_param_num, @@ -44608,7 +44924,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_ff_block_ack_params_buffer_size, {"Number of Buffers (1 Buffer = 2304 Bytes)", "wlan.fixed.baparams.buffersize", FT_UINT16, BASE_DEC, NULL, 0xFFC0, - "Number of Buffers", HFILL }}, + NULL, HFILL }}, {&hf_ieee80211_ff_block_ack_timeout, {"Block Ack Timeout", "wlan.fixed.batimeout", @@ -45089,12 +45405,12 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_ranging_ntb_min_time_msmts, {"Min Time Between Measurements", "wlan.ranging.ntb.min_time", - FT_UINT48, BASE_DEC | BASE_UNIT_STRING, &units_100_us, GENMASK(23, 1), + FT_UINT48, BASE_DEC | BASE_UNIT_STRING, UNS(&units_100_us), GENMASK(23, 1), NULL, HFILL }}, {&hf_ieee80211_tag_ranging_ntb_max_time_msmts, {"Max Time Between Measurements", "wlan.ranging.ntb.max_time", - FT_UINT48, BASE_DEC | BASE_UNIT_STRING, &units_10_ms, GENMASK64(43, 24), + FT_UINT48, BASE_DEC | BASE_UNIT_STRING, UNS(&units_10_ms), GENMASK64(43, 24), NULL, HFILL }}, {&hf_ieee80211_tag_ranging_ntb_r2i_tx_power, @@ -45713,7 +46029,7 @@ proto_register_ieee80211(void) "Route Metric", HFILL }}, {&hf_ieee80211_ff_marvell_mesh_mgt_flags, - {"RREQ Flags", "wlan.fixed.hopcount", + {"RREQ Flags", "wlan.fixed.flags", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }}, @@ -46908,7 +47224,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_hs20_reauth_delay, {"Re-Auth Delay", "wlan.hs20.deauth.reauth_delay", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0, NULL, HFILL }}, {&hf_ieee80211_hs20_deauth_reason_url_len, {"Reason URL Length", "wlan.hs20.deauth.reason_url_len", @@ -47038,12 +47354,12 @@ proto_register_ieee80211(void) {&hf_ieee80211_symbp_extreme_load_kbps, {"Load", "wlan.tag.symbol_proprietary.extreme.load_kbps", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_kbps, 0, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_kbps), 0, NULL, HFILL }}, {&hf_ieee80211_symbp_extreme_load_pps, {"Load", "wlan.tag.symbol_proprietary.extreme.load_pps", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_pkts_per_sec, 0, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_pkts_per_sec), 0, NULL, HFILL }}, {&hf_ieee80211_symbp_extreme_client_tx_power, @@ -47138,7 +47454,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_country_info_fnm_mtpl, {"Maximum Transmit Power Level", "wlan.country_info.fnm.mtpl", - FT_INT8, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_tag_country_info_rrc, @@ -47706,7 +48022,7 @@ proto_register_ieee80211(void) FT_UINT24, BASE_HEX, VALS(address_2_mask_vals), 0x000030, NULL, HFILL }}, {&hf_ieee80211_tclas_class_mask8_sequence_control_spec, - {"Sequence Control Spec", "wlan.tclas.class8.mask.sequence_contol_spec", + {"Sequence Control Spec", "wlan.tclas.class8.mask.sequence_control_spec", FT_UINT24, BASE_HEX, VALS(sequence_control_mask_vals), 0x0000C0, NULL, HFILL }}, @@ -48357,7 +48673,7 @@ proto_register_ieee80211(void) FT_UINT8, BASE_HEX, NULL, 0x80, NULL, HFILL }}, {&hf_ieee80211_rnr_20mhz_psd_subfield, - {"PSD Subfield", "wlan.rnr.tbt_info.psd_subfield", + {"PSD Subfield", "wlan.rnr.tbtt_info.psd_subfield", FT_UINT8, BASE_CUSTOM, CF_FUNC(tpe_psd_custom), 0, NULL, HFILL }}, {&hf_ieee80211_rnr_reserved_data, @@ -49123,29 +49439,29 @@ proto_register_ieee80211(void) {&hf_ieee80211_s1g_auth_control_thresh_tus, {"Authentication Control Threshold", "wlan.s1g.auth_control.threshold", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0xFFC0, NULL, HFILL }}, {&hf_ieee80211_s1g_auth_slot_duration, {"Authentication Slot Duration", "wlan.s1g.auth_control.slot_duration", - FT_UINT24, BASE_DEC|BASE_UNIT_STRING, &units_di_dis, 0x0000FE, + FT_UINT24, BASE_DEC|BASE_UNIT_STRING, UNS(&units_di_dis), 0x0000FE, NULL, HFILL }}, {&hf_ieee80211_s1g_auth_max_trans_int, {"Maximum Transmission Interval", "wlan.s1g.distributed_auth_control.max_xmit_int", - FT_UINT24, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, 0x00FF00, + FT_UINT24, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0x00FF00, NULL, HFILL }}, {&hf_ieee80211_s1g_auth_min_trans_int, {"Minimum Transmission Interval", "wlan.s1g.distributed_auth_control.min_xmit_int", - FT_UINT24, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, 0xFF0000, + FT_UINT24, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0xFF0000, NULL, HFILL }}, {&hf_ieee80211_s1g_tsf_timer_accuracy, {"TSF Timer Accuracy", "wlan.s1g.tsf_timer_accuracy", - FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_ppm, 0x0, NULL, HFILL }}, + FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_ppm), 0x0, NULL, HFILL }}, {&hf_ieee80211_s1g_relay_control, {"Relay Control", "wlan.s1g.relay_control", @@ -49361,7 +49677,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_s1g_max_away_duration, {"Max Away Duration", "wlan.s1g.max_away_duration", - FT_UINT16, BASE_DEC | BASE_UNIT_STRING, &units_tu_tus, + FT_UINT16, BASE_DEC | BASE_UNIT_STRING, UNS(&units_tu_tus), 0x0, NULL, HFILL }}, {&hf_ieee80211_s1g_tim_bmapctrl, @@ -50790,24 +51106,29 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_power_capability_min, {"Minimum Transmit Power", "wlan.powercap.min", - FT_INT8, BASE_DEC, NULL, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, "The nominal minimum transmit power with which the STA is capable of transmitting in the current channel", HFILL }}, {&hf_ieee80211_tag_power_capability_max, {"Maximum Transmit Power", "wlan.powercap.max", - FT_INT8, BASE_DEC, NULL, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, "The nominal maximum transmit power with which the STA is capable of transmitting in the current channel", HFILL }}, {&hf_ieee80211_tag_tpc_report_trsmt_pow, - {"Transmit Power", "wlan.tcprep.trsmt_pow", - FT_INT8, BASE_DEC, NULL, 0, + {"Transmit Power", "wlan.tpcrep.trsmt_pow", + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_tag_tpc_report_link_mrg, - {"Link Margin", "wlan.tcprep.link_mrg", + {"Link Margin", "wlan.tpcrep.link_mrg", FT_INT8, BASE_DEC, NULL, 0, NULL, HFILL }}, + {&hf_ieee80211_tag_tpc_report_reserved, + {"Reserved", "wlan.tpcrep.reserved", + FT_INT8, BASE_DEC, NULL, 0, + "TPC Link Margin field is reserved in a Beacon or Probe Response frame", HFILL }}, + {&hf_ieee80211_tag_supported_channels, {"Supported Channels Set", "wlan.supchan", FT_NONE, BASE_NONE, NULL, 0, @@ -50985,7 +51306,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_measure_request_beacon_sub_last_report_indication_request, {"Request Indication", "wlan.measure.req.beacon.sub.last_report_ind_req", - FT_BOOLEAN, BASE_DEC, TFS(&tfs_yes_no), 0, + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0, NULL, HFILL }}, {&hf_ieee80211_tag_measure_request_beacon_unknown, @@ -52254,7 +52575,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_neighbor_report_subelement_bss_dur, {"Duration", "wlan.nreport.subelem.bss_dur", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_minutes, 0, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_minutes), 0, NULL, HFILL }}, {&hf_ieee80211_tag_neighbor_report_subelement_tsf_offset, @@ -52447,23 +52768,83 @@ proto_register_ieee80211(void) FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_aci, - {"ACI", "wlan.wfa.ie.wme.acp.aci", + {&hf_ieee80211_wfa_ie_wme_acp_aci_be, + {"ACI", "wlan.wfa.ie.wme.acp.aci_be", + FT_UINT8, BASE_DEC, VALS(ieee80211_wfa_ie_wme_acs_vals), 0x60, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_aci_bk, + {"ACI", "wlan.wfa.ie.wme.acp.aci_bk", + FT_UINT8, BASE_DEC, VALS(ieee80211_wfa_ie_wme_acs_vals), 0x60, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_aci_vi, + {"ACI", "wlan.wfa.ie.wme.acp.aci_vi", + FT_UINT8, BASE_DEC, VALS(ieee80211_wfa_ie_wme_acs_vals), 0x60, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_aci_vo, + {"ACI", "wlan.wfa.ie.wme.acp.aci_vo", FT_UINT8, BASE_DEC, VALS(ieee80211_wfa_ie_wme_acs_vals), 0x60, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_acm, - {"Admission Control Mandatory", "wlan.wfa.ie.wme.acp.acm", + {&hf_ieee80211_wfa_ie_wme_acp_acm_be, + {"Admission Control Mandatory", "wlan.wfa.ie.wme.acp.acm_be", + FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_acm_bk, + {"Admission Control Mandatory", "wlan.wfa.ie.wme.acp.acm_bk", + FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_acm_vi, + {"Admission Control Mandatory", "wlan.wfa.ie.wme.acp.acm_vi", + FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_acm_vo, + {"Admission Control Mandatory", "wlan.wfa.ie.wme.acp.acm_vo", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_aifsn, - {"AIFSN", "wlan.wfa.ie.wme.acp.aifsn", + {&hf_ieee80211_wfa_ie_wme_acp_aifsn_be, + {"AIFSN", "wlan.wfa.ie.wme.acp.aifsn_be", FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_reserved, - {"Reserved", "wlan.wfa.ie.wme.acp.reserved", + {&hf_ieee80211_wfa_ie_wme_acp_aifsn_bk, + {"AIFSN", "wlan.wfa.ie.wme.acp.aifsn_bk", + FT_UINT8, BASE_DEC, NULL, 0x0F, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_aifsn_vi, + {"AIFSN", "wlan.wfa.ie.wme.acp.aifsn_vi", + FT_UINT8, BASE_DEC, NULL, 0x0F, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_aifsn_vo, + {"AIFSN", "wlan.wfa.ie.wme.acp.aifsn_vo", + FT_UINT8, BASE_DEC, NULL, 0x0F, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_reserved_be, + {"Reserved", "wlan.wfa.ie.wme.acp.reserved_be", + FT_UINT8, BASE_DEC, NULL, 0x80, + "Must be Zero", HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_reserved_bk, + {"Reserved", "wlan.wfa.ie.wme.acp.reserved_bk", + FT_UINT8, BASE_DEC, NULL, 0x80, + "Must be Zero", HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_reserved_vi, + {"Reserved", "wlan.wfa.ie.wme.acp.reserved_vi", + FT_UINT8, BASE_DEC, NULL, 0x80, + "Must be Zero", HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_reserved_vo, + {"Reserved", "wlan.wfa.ie.wme.acp.reserved_vo", FT_UINT8, BASE_DEC, NULL, 0x80, "Must be Zero", HFILL }}, @@ -52472,28 +52853,63 @@ proto_register_ieee80211(void) FT_UINT8, BASE_HEX, NULL, 0x00, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_ecw_max, - {"ECW Max", "wlan.wfa.ie.wme.acp.ecw.max", + {&hf_ieee80211_wfa_ie_wme_acp_ecw_max_be, + {"ECW Max", "wlan.wfa.ie.wme.acp.ecw.max_be", + FT_UINT8, BASE_DEC, NULL, 0xF0, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_ecw_max_bk, + {"ECW Max", "wlan.wfa.ie.wme.acp.ecw.max_bk", + FT_UINT8, BASE_DEC, NULL, 0xF0, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_ecw_max_vo, + {"ECW Max", "wlan.wfa.ie.wme.acp.ecw.max_vo", + FT_UINT8, BASE_DEC, NULL, 0xF0, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_ecw_max_vi, + {"ECW Max", "wlan.wfa.ie.wme.acp.ecw.max_vi", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_ecw_min, - {"ECW Min", "wlan.wfa.ie.wme.acp.ecw.min", + {&hf_ieee80211_wfa_ie_wme_acp_ecw_min_be, + {"ECW Min", "wlan.wfa.ie.wme.acp.ecw.min_be", FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_cw_max, - {"CW Max", "wlan.wfa.ie.wme.acp.cw.max", - FT_UINT8, BASE_DEC, NULL, 0, + {&hf_ieee80211_wfa_ie_wme_acp_ecw_min_bk, + {"ECW Min", "wlan.wfa.ie.wme.acp.ecw.min_bk", + FT_UINT8, BASE_DEC, NULL, 0x0F, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_cw_min, - {"CW Min", "wlan.wfa.ie.wme.acp.cw.min", - FT_UINT8, BASE_DEC, NULL, 0, + {&hf_ieee80211_wfa_ie_wme_acp_ecw_min_vo, + {"ECW Min", "wlan.wfa.ie.wme.acp.ecw.min_vo", + FT_UINT8, BASE_DEC, NULL, 0x0F, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_ecw_min_vi, + {"ECW Min", "wlan.wfa.ie.wme.acp.ecw.min_vi", + FT_UINT8, BASE_DEC, NULL, 0x0F, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_txop_limit_be, + {"TXOP Limit", "wlan.wfa.ie.wme.acp.txop_limit_be", + FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL }}, - {&hf_ieee80211_wfa_ie_wme_acp_txop_limit, - {"TXOP Limit", "wlan.wfa.ie.wme.acp.txop_limit", + {&hf_ieee80211_wfa_ie_wme_acp_txop_limit_bk, + {"TXOP Limit", "wlan.wfa.ie.wme.acp.txop_limit_bk", + FT_UINT16, BASE_DEC, NULL, 0x00, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_txop_limit_vo, + {"TXOP Limit", "wlan.wfa.ie.wme.acp.txop_limit_vo", + FT_UINT16, BASE_DEC, NULL, 0x00, + NULL, HFILL }}, + + {&hf_ieee80211_wfa_ie_wme_acp_txop_limit_vi, + {"TXOP Limit", "wlan.wfa.ie.wme.acp.txop_limit_vi", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL }}, @@ -52690,7 +53106,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_wfa_ie_mbo_assoc_retry_delay, {"Re-association Delay", "wlan.wfa.ie.mbo.assoc_retry.delay", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0, NULL, HFILL }}, {&hf_ieee80211_wfa_ie_oce_cap_ctrl, {"OCE Control", "wlan.wfa.ie.oce.cap.ctrl", @@ -52722,11 +53138,11 @@ proto_register_ieee80211(void) {&hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delta, {"Delta RSSI", "wlan.wfa.ie.oce.rssi_assoc_rej.delta", - FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, NULL, HFILL }}, + FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_decibels), 0, NULL, HFILL }}, {&hf_ieee80211_wfa_ie_oce_rssi_assoc_rej_delay, {"Retry Delay", "wlan.wfa.ie.oce.rssi_assoc_rej.delay", - FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, + FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0, NULL, HFILL }}, {&hf_ieee80211_wfa_ie_oce_wan_metrics_avail_cap, {"Available Capacity", "wlan.wfa.ie.oce.wan_metrics.avail_cap", @@ -52775,8 +53191,8 @@ proto_register_ieee80211(void) NULL, HFILL }}, {&hf_ieee80211_rsn_ie_gtk_kde_data_type, - {"Data Type", "wlan.rsn.ie.kde.data_type", - FT_UINT16, BASE_DEC|BASE_RANGE_STRING, RVALS(kde_selectors_rvals), + {"Data Type", "wlan.rsn.ie.data_type", + FT_UINT8, BASE_DEC|BASE_RANGE_STRING, RVALS(kde_selectors_rvals), 0, NULL, HFILL }}, {&hf_ieee80211_rsn_ie_gtk_kde_key_id, @@ -52809,7 +53225,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_rsn_ie_gtk_kde_lifetime, {"Key Lifetime", "wlan.rsn.ie.key_lifetime_kde.lifetime", - FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0x0, NULL, HFILL }}, + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0x0, NULL, HFILL }}, {&hf_ieee80211_rsn_ie_error_kde_res, {"Reserved", "wlan.rsn.ie.error_kde.reserved", @@ -53147,7 +53563,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_aironet_ie_dtpc, {"Aironet IE CCX DTCP", "wlan.aironet.dtpc", - FT_INT8, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, + FT_INT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0, NULL, HFILL }}, {&hf_ieee80211_aironet_ie_dtpc_unknown, @@ -54187,16 +54603,16 @@ proto_register_ieee80211(void) 0x00000FE000, NULL, HFILL }}, {&hf_ieee80211_he_trigger_ul_fec_coding_type, - {"Coding Type", "wlan.trigger.he.coding_type", + {"UL FEC Coding Type", "wlan.trigger.he.ul_fec_coding_type", FT_BOOLEAN, 40, TFS(&he_trigger_ul_fec_coding_type_tfs), 0x0000100000, NULL, HFILL }}, {&hf_ieee80211_he_trigger_ul_mcs, - {"MCS", "wlan.trigger.he.mcs", + {"UL MCS", "wlan.trigger.he.ul_mcs", FT_UINT40, BASE_HEX, NULL, 0x0001E00000, NULL, HFILL }}, {&hf_ieee80211_he_trigger_ul_dcm, - {"DCM", "wlan.trigger.he.dcm", + {"UL DCM", "wlan.trigger.he.ul_dcm", FT_BOOLEAN, 40, NULL, 0x0002000000, NULL, HFILL }}, {&hf_ieee80211_he_trigger_ru_starting_spatial_stream, @@ -54219,7 +54635,7 @@ proto_register_ieee80211(void) FT_BOOLEAN, 40, NULL, 0x0080000000, NULL, HFILL }}, {&hf_ieee80211_he_trigger_ul_target_rssi, - {"Target RSSI", "wlan.trigger.he.target_rssi", + {"UL Target RSSI", "wlan.trigger.he.ul_target_rssi", FT_UINT40, BASE_CUSTOM, CF_FUNC(target_rssi_base_custom), 0x7F00000000, NULL, HFILL }}, @@ -55926,7 +56342,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_stream_timeout, {"Stream Timeout", "wlan.ext_tag.mscs_descriptor.stream_timeout", - FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, 0x0, NULL, HFILL }}, + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0x0, NULL, HFILL }}, {&hf_ieee80211_mscs_subelement_id, {"MSCS Subelement ID", "wlan.ext_tag.mscs_descriptor.subelement_id", @@ -56594,7 +57010,7 @@ proto_register_ieee80211(void) FT_UINT16, BASE_HEX, VALS(he_phy_dcm_max_constellation_vals), 0x0018, NULL, HFILL }}, {&hf_ieee80211_he_phy_cap_dcm_max_nss_rx, - {"DCM Max NSS Rx", "wlan.ext_tag.he_phy_cap.dcm_max_nss_tx", + {"DCM Max NSS Rx", "wlan.ext_tag.he_phy_cap.dcm_max_nss_rx", FT_UINT16, BASE_HEX, VALS(he_phy_dcm_max_nss_vals), 0x0020, NULL, HFILL }}, {&hf_ieee80211_he_phy_cap_rx_partial_bw_su_20mhz_he_mu_ppdu, @@ -57259,7 +57675,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_he_ops_duration, {"OPS Duration", "wlan.ext_tag.ops.ops_duration", - FT_UINT8, BASE_DEC|BASE_UNIT_STRING, &units_ms, 0x0, NULL, HFILL }}, + FT_UINT8, BASE_DEC|BASE_UNIT_STRING, UNS(&units_ms), 0x0, NULL, HFILL }}, {&hf_ieee80211_he_uora_field, {"UL OFDMA-based Random Access Parameter SET", "wlan.ext_tag.uora_parameter_set.field", @@ -57280,7 +57696,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_max_channel_switch_time, {"Max Channel Switch Time", "wlan.ext_tag.max_channel_switch_time.switch_time", - FT_UINT24, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, 0x0, NULL, HFILL }}, + FT_UINT24, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0x0, NULL, HFILL }}, {&hf_ieee80211_oci_operating_class, {"Operating Class", "wlan.ext_tag.oci.operating_class", @@ -57338,7 +57754,7 @@ proto_register_ieee80211(void) FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_short_ssid, - {"Short BSSID", "wlan.ext_tag.short_bssid", + {"Short SSID", "wlan.ext_tag.short_ssid", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_rejected_groups_group, @@ -57349,6 +57765,10 @@ proto_register_ieee80211(void) {"S1G Action", "wlan.s1g.action", FT_UINT8, BASE_DEC, VALS(s1g_action_vals), 0, NULL, HFILL }}, + {&hf_ieee80211_ff_prot_s1g_action, + {"Protected S1G Action", "wlan.s1g.prot_action", + FT_UINT8, BASE_DEC, VALS(prot_s1g_action_vals), 0, NULL, HFILL }}, + {&hf_ieee80211_ff_s1g_timestamp, {"Timestamp", "wlan.s1g.timestamp", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, @@ -57660,11 +58080,11 @@ proto_register_ieee80211(void) FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }}, {&hf_ieee80211_tag_twt_traffic_info_dl_bitmap_valid, - {"DL TID Bitmap Valid", "wlan.twt.traffic_info.dl_tid_bitamp_valid", + {"DL TID Bitmap Valid", "wlan.twt.traffic_info.dl_tid_bitmap_valid", FT_BOOLEAN, 8, NULL, 0x01, NULL, HFILL }}, {&hf_ieee80211_tag_twt_traffic_info_ul_bitmap_valid, - {"UL TID Bitmap Valid", "wlan.twt.traffic_info.ul_tid_bitamp_valid", + {"UL TID Bitmap Valid", "wlan.twt.traffic_info.ul_tid_bitmap_valid", FT_BOOLEAN, 8, NULL, 0x02, NULL, HFILL }}, {&hf_ieee80211_tag_twt_traffic_info_reserved, @@ -57737,15 +58157,19 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_rsnx_protected_twt_operations_support, {"Protected TWT Operations Support", "wlan.rsnx.protected_twt_operations_support", - FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL }}, + FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, {&hf_ieee80211_tag_rsnx_sae_hash_to_element, {"SAE Hash to element", "wlan.rsnx.sae_hash_to_element", - FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL }}, + FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, - {&hf_ieee80211_tag_rsnx_reserved_b6b7, - {"Reserved", "wlan.rsnx.reserved", - FT_UINT8, BASE_HEX, NULL, 0xC0, NULL, HFILL }}, + {&hf_ieee80211_tag_rsnx_sae_pk, + {"SAE-PK", "wlan.rsnx.sae_pk", + FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, + + {&hf_ieee80211_tag_rsnx_protected_wur_frame_support, + {"Protected WUR Frame Support", "wlan.rsnx.protected_wur_frame_support", + FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, {&hf_ieee80211_tag_rsnx_secure_ltf_support, {"Secure LTF Support", "wlan.rsnx.secure_ltf_support", @@ -57755,13 +58179,29 @@ proto_register_ieee80211(void) {"Secure RTT Supported", "wlan.rsnx.secure_rtt_supported", FT_BOOLEAN, 8, NULL, GENMASK(1, 1), NULL, HFILL }}, - {&hf_ieee80211_tag_rsnx_range_protection_required, - {"Range Protection Required (RNM-MFP)", "wlan.rsnx.rnmmfp", - FT_BOOLEAN, 8, NULL, GENMASK(2, 2), NULL, HFILL }}, + {&hf_ieee80211_tag_rsnx_urnm_mfpr_x20, + {"URNM-MFPR-X20", "wlan.rsnx.urnm_mfpr_x20", + FT_BOOLEAN, 8, NULL, 0x04, NULL, HFILL }}, + + {&hf_ieee80211_tag_rsnx_protected_announce_support, + {"Protected Announce Support", "wlan.rsnx.protected_announce_support", + FT_BOOLEAN, 8, NULL, 0x08, NULL, HFILL }}, - {&hf_ieee80211_tag_rsnx_reserved_b11thru15, - {"Reserved", "wlan.rsnx.reserved.b11thru15", - FT_UINT8, BASE_HEX, NULL, GENMASK(7, 3), NULL, HFILL }}, + {&hf_ieee80211_tag_rsnx_pbac, + {"PBAC", "wlan.rsnx.pbac", + FT_BOOLEAN, 8, NULL, 0x10, NULL, HFILL }}, + + {&hf_ieee80211_tag_rsnx_extended_s1g_action_protection, + {"Extended S1G Action Protection", "wlan.rsnx.extended_s1g_action_protection", + FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, + + {&hf_ieee80211_tag_rsnx_spp_amsdu_capable, + {"SPP AMSDU Capable", "wlan.rsnx.spp_amsdu_capable", + FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, + + {&hf_ieee80211_tag_rsnx_urnm_mfpr, + {"URNM-MFPR", "wlan.rsnx.urnm_mfpr", + FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, {&hf_ieee80211_tag_rsnx_reserved, {"Reserved", "wlan.rsnx.reserved", @@ -57798,7 +58238,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_tag_pasn_comeback_after, {"Comeback After", "wlan.etag.pasn_parameters.comeback_after", - FT_UINT16, BASE_DEC|BASE_UNIT_STRING, &units_tu_tus, 0x0, NULL, HFILL }}, + FT_UINT16, BASE_DEC|BASE_UNIT_STRING, UNS(&units_tu_tus), 0x0, NULL, HFILL }}, {&hf_ieee80211_tag_pasn_cookie_length, {"Cookie length", "wlan.etag.pasn_parameters.cookie_length", @@ -57894,7 +58334,7 @@ proto_register_ieee80211(void) FT_UINT8, BASE_HEX, NULL, 0xc0, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control, - {"Multi-Link Control", "wlan.eht.multi_link_control", + {"Multi-Link Control", "wlan.eht.multi_link.control", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_type, @@ -57907,48 +58347,52 @@ proto_register_ieee80211(void) {&hf_ieee80211_eht_multi_link_control_link_id_present, {"Link ID Info Present", - "wlan.eht.multi_link.control.presence_bitmap.link_id_info_present", + "wlan.eht.multi_link.control.basic.link_id_info_present", FT_BOOLEAN, 16, NULL, 0x0010, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_bss_parms_ch_count, {"BSS Parameters Change Count Present", - "wlan.eht.multi_link.control.presence_bitmap.bss_parameters_change_count_present", + "wlan.eht.multi_link.control.basic.bss_parameters_change_count_present", FT_BOOLEAN, 16, NULL, 0x0020, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_medium_sync_delay, {"Medium Synchronization Delay Info Present", - "wlan.eht.multi_link.control.presence_bitmap.medium_sync_delayinfo_present", + "wlan.eht.multi_link.control.basic.medium_sync_delayinfo_present", FT_BOOLEAN, 16, NULL, 0x0040, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_eml_capa, {"EML Capabilities Present", - "wlan.eht.multi_link.control.presence_bitmap.eml_capabilities_present", + "wlan.eht.multi_link.control.basic.eml_capabilities_present", FT_BOOLEAN, 16, NULL, 0x0080, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_mld_capa, {"MDL Capabilities Present", - "wlan.eht.multi_link.control.presence_bitmap.mld_capabilities_present", + "wlan.eht.multi_link.control.basic.mld_capabilities_present", FT_BOOLEAN, 16, NULL, 0x0100, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_basic_mld_id_present, {"AP MLD ID Present", - "wlan.eht.multi_link_control.control.basic.mld_id_present", + "wlan.eht.multi_link.control.basic.mld_id_present", FT_BOOLEAN, 16, NULL, 0x0200, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_ext_mld_capa, {"Extended MLD Capabilities and Operations Present", - "wlan.eht.multi_link_control.control.basic.ext_mld_capabilities_present", + "wlan.eht.multi_link.control.basic.ext_mld_capabilities_present", FT_BOOLEAN, 16, NULL, 0x0400, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_bitmap_reserved, - {"Reserved", "wlan.eht.multi_link.control.presence_bitmap.reserved", - FT_UINT16, BASE_HEX, NULL, 0xFE00, NULL, HFILL }}, + {"Reserved", "wlan.eht.multi_link.control.basic.reserved", + FT_UINT16, BASE_HEX, NULL, 0xF800, NULL, HFILL }}, {&hf_ieee80211_eht_multi_link_control_probe_mld_id_present, - {"MLD ID Present", + {"AP MLD ID Present", "wlan.eht.multi_link.control.probe.mld_id_present", FT_BOOLEAN, 16, NULL, 0x0010, NULL, HFILL }}, + {&hf_ieee80211_eht_multi_link_control_probe_reserved, + {"Reserved", "wlan.eht.multi_link.control.probe.reserved", + FT_UINT16, BASE_HEX, NULL, 0xFFE0, NULL, HFILL }}, + {&hf_ieee80211_eht_multi_link_control_tdls_reserved, {"Reserved", "wlan.eht.multi_link.control.tdls.reserved", FT_UINT16, BASE_HEX, NULL, 0xFFF0, NULL, HFILL }}, @@ -57957,19 +58401,25 @@ proto_register_ieee80211(void) {"Reserved", "wlan.eht.multi_link.control.prio_access.reserved", FT_UINT16, BASE_HEX, NULL, 0xFFF0, NULL, HFILL }}, - {&hf_ieee80211_eht_multi_link_control_probe_bm_reserved, - {"Reserved", "wlan.eht.multi_link.control.probe.reserved", - FT_UINT16, BASE_HEX, NULL, 0xFFE0, NULL, HFILL }}, - {&hf_ieee80211_eht_multi_link_control_reconfig_mld_mac, {"MLD MAC Address Present", - "wlan.eht.multi_link.control.reconfiguration.mld_mac_addr_present", + "wlan.eht.multi_link.control.reconfig.mld_mac_addr_present", FT_BOOLEAN, 16, NULL, 0x0010, NULL, HFILL }}, + {&hf_ieee80211_eht_multi_link_control_reconfig_eml_capa, + {"EML Capabilities Present", + "wlan.eht.multi_link.control.reconfig.eml_capabilities_present", + FT_BOOLEAN, 16, NULL, 0x0020, NULL, HFILL }}, + + {&hf_ieee80211_eht_multi_link_control_reconfig_mld_capa_oper, + {"MLD Capabilities And Operations Present", + "wlan.eht.multi_link.control.reconfig.mld_capabilities_present", + FT_BOOLEAN, 16, NULL, 0x0040, NULL, HFILL }}, + {&hf_ieee80211_eht_multi_link_control_reconfig_reserved, {"Reserved", - "wlan.eht.multi_link.control.reconfiguration.reserved", - FT_UINT16, BASE_HEX, NULL, 0xFFE0, NULL, HFILL }}, + "wlan.eht.multi_link.control.reconfig.reserved", + FT_UINT16, BASE_HEX, NULL, 0xFF80, NULL, HFILL }}, {&hf_ieee80211_eht_common_field_length, {"Common Info Length", "wlan.eht.multi_link.common_info.length", @@ -58026,12 +58476,12 @@ proto_register_ieee80211(void) {&hf_ieee80211_eht_common_info_eml_capa_emlsr_padding_delay, {"EMLSR Padding Delay", - "wlan.eht.multi_linl.common_info.eml_capabilities.emlsr_padding_delay", + "wlan.eht.multi_link.common_info.eml_capabilities.emlsr_padding_delay", FT_UINT16, BASE_DEC, NULL, 0x000E, NULL, HFILL }}, {&hf_ieee80211_eht_common_info_eml_capa_emlsr_transition_delay, {"EMLSR Transition Delay", - "wlan.eht.multi_linl.common_info.eml_capabilities.emlsr_transition_delay", + "wlan.eht.multi_link.common_info.eml_capabilities.emlsr_transition_delay", FT_UINT16, BASE_DEC, NULL, 0x0070, NULL, HFILL }}, {&hf_ieee80211_eht_common_info_eml_capa_emlmr_support, @@ -58051,7 +58501,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_eht_common_info_eml_capa_reserved, {"Reserved", - "wlan.eht.multi_link.common_info.eml_capabilities.cap_reserved", + "wlan.eht.multi_link.common_info.eml_capabilities.capa_reserved", FT_UINT16, BASE_HEX, NULL, 0x8000, NULL, HFILL }}, {&hf_ieee80211_eht_common_field_mld_capabilities, @@ -58103,14 +58553,9 @@ proto_register_ieee80211(void) FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_common_field_mld_id, - {"MLD ID", "wlan.eht.multi_link.common_info.mld_id", + {"AP MLD ID", "wlan.eht.multi_link.common_info.mld_id", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, - {&hf_ieee80211_eht_common_info_ap_mld_mac_addr, - {"AP MLD MAC Address", - "wlan.eht.multi_link.common_info.ap_mld_mac_address", - FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }}, - {&hf_ieee80211_eht_common_field_ext_mld_capabilities, {"Extended MLD Capabilities and Operations", "wlan.eht.multi_link.common_info.ext_mld_capabilities", @@ -58216,81 +58661,82 @@ proto_register_ieee80211(void) FT_UINT16, BASE_HEX, NULL, STA_CTRL_RESERVED, NULL, HFILL }}, {&hf_ieee80211_eht_profile_probe_reserved, - {"Reserved", "wlan.eht.multi_link.sta_control.probe_reserved", + {"Reserved", "wlan.eht.multi_link.sta_profile.sta_control.probe_reserved", FT_UINT16, BASE_HEX, NULL, 0xFFE0, NULL, HFILL }}, {&hf_ieee80211_eht_profile_removal_timer_present, {"AP Removal Timer Present", - "wlan.eht.multi_link.sta_control.ap_removal_timer_present", + "wlan.eht.multi_link.sta_profile.sta_control.ap_removal_timer_present", FT_BOOLEAN, 16, NULL, 0x0040, NULL, HFILL }}, {&hf_ieee80211_eht_profile_reconfig_operation_type, {"Reconfiguration Operation Type", - "wlan.eht.multi_link.sta_control.reconfig_operation_type", + "wlan.eht.multi_link.sta_profile.sta_control.reconfig_operation_type", FT_UINT16, BASE_DEC|BASE_RANGE_STRING, RVALS(eht_reconfig_op_type_rvals), 0x0780, NULL, HFILL }}, {&hf_ieee80211_eht_profile_operation_para_present, {"Operation Parameters Present", - "wlan.eht.multi_link.sta_control.operation_parameters_present", + "wlan.eht.multi_link.sta_profile.sta_control.operation_parameters_present", FT_BOOLEAN, 16, NULL, 0x0800, NULL, HFILL }}, {&hf_ieee80211_eht_profile_reconfig_nstr_bitmap_size, {"NSTR Bitmap Size", - "wlan.eht.multi_link.sta_control.reconfig_nstr_bitmap_size", + "wlan.eht.multi_link.sta_profile.sta_control.reconfig_nstr_bitmap_size", FT_UINT16, BASE_DEC, NULL, 0x1000, NULL, HFILL }}, {&hf_ieee80211_eht_profile_reconfig_reserved, - {"Reserved", "wlan.eht.multi_link.sta_control.reconfiguration_reserved", + {"Reserved", "wlan.eht.multi_link.sta_profile.sta_control.reconfig_reserved", FT_UINT16, BASE_HEX, NULL, 0xE000, NULL, HFILL }}, {&hf_ieee80211_eht_profile_prio_acc_reserved, - {"Reserved", "wlan.eht.multi_link.sta_control.priority_access_reserved", + {"Reserved", + "wlan.eht.multi_link.sta_profile.sta_control.priority_access_reserved", FT_UINT16, BASE_HEX, NULL, 0xFFF0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_len, {"STA Info Length", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.len", + "wlan.eht.multi_link.sta_profile.sta_info.len", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_mac, {"STA MAC Address", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.sta_mac_addr", + "wlan.eht.multi_link.sta_profile.sta_info.sta_mac_addr", FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_beacon, {"Beacon Interval", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.beacon_interval", + "wlan.eht.multi_link.sta_profile.sta_info.beacon_interval", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_tsf_offset, {"TSF Offset", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.tsf_offset", + "wlan.eht.multi_link.sta_profile.sta_info.tsf_offset", FT_INT64, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_dtim_count, {"DTIM Count", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.dtim_count", + "wlan.eht.multi_link.sta_profile.sta_info.dtim_count", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_dtim_period, {"DTIM Period", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.dtim_period", + "wlan.eht.multi_link.sta_profile.sta_info.dtim_period", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_info_bitmap, {"NSTR Indication Bitmap", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.nstr_bitmap", + "wlan.eht.multi_link.sta_profile.sta_info.nstr_bitmap", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_bss_params_change_count, {"BSS Parameters Change Count", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.bss_params_change_count", + "wlan.eht.multi_link.sta_profile.sta_info.bss_params_change_count", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_removal_timer, {"AP Removal Timer", - "wlan.eht.multi_link.sta_profile.sta_control.sta_info.ap_removal_timer", + "wlan.eht.multi_link.sta_profile.sta_info.ap_removal_timer", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_presence_indi, @@ -58319,12 +58765,14 @@ proto_register_ieee80211(void) FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }}, {&hf_ieee80211_eht_sta_profile_operation_para_info_max_mpdu_length, - {"Maximum MPDU Length", "wlan.eht.multi_link.sta_profile.sta_info.operation_parameter_info.max_mpdu_length", + {"Maximum MPDU Length", + "wlan.eht.multi_link.sta_profile.sta_info.operation_parameter_info.max_mpdu_length", FT_UINT16, BASE_HEX, VALS(vht_max_mpdu_length_flag), 0x0003, "In Octets unit", HFILL }}, {&hf_ieee80211_eht_sta_profile_operation_para_info_amsdu_length, - {"A-MSDU length", "wlan.eht.multi_link.sta_profile.sta_info.operation_parameter_info.amsdu_length", + {"A-MSDU length", + "wlan.eht.multi_link.sta_profile.sta_info.operation_parameter_info.amsdu_length", FT_BOOLEAN, 16, TFS(&ht_max_amsdu_flag), 0x0004, NULL, HFILL }}, @@ -58405,7 +58853,7 @@ proto_register_ieee80211(void) {&hf_ieee80211_eht_mac_capa_epcs_prio_access_support, {"EPCS Priority Access Support", - "wlan.eht.mac_capabilities.nsep_priority_access_support", + "wlan.eht.mac_capabilities.epcs_priority_access_support", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0001, NULL, HFILL }}, {&hf_ieee80211_eht_mac_capa_eht_om_control_support, @@ -59208,7 +59656,7 @@ proto_register_ieee80211(void) UAT_END_FIELDS }; - static gint *tree_array[] = { + static int *tree_array[] = { &ett_80211, &ett_proto_flags, &ett_cap_tree, @@ -59225,6 +59673,7 @@ proto_register_ieee80211(void) &ett_multi_sta_block_ack, &ett_ath_cap_tree, &ett_extreme_mesh_services_tree, + &ett_addr, &ett_80211_mgt, &ett_fixed_parameters, @@ -59970,7 +60419,7 @@ proto_register_ieee80211(void) proto_wlan = proto_register_protocol("IEEE 802.11 wireless LAN", "IEEE 802.11", "wlan"); - heur_subdissector_list = register_heur_dissector_list("wlan_data", proto_wlan); + heur_subdissector_list = register_heur_dissector_list_with_description("wlan_data", "IEEE 802.11 WLAN v0 data", proto_wlan); /* Created to remove Decode As confusion */ proto_centrino = proto_register_protocol("IEEE 802.11 wireless LAN (Centrino)", "IEEE 802.11 (Centrino)", "wlan_centrino"); @@ -60009,7 +60458,7 @@ proto_register_ieee80211(void) &addresses_reassembly_table_functions); wlan_tap = register_tap("wlan"); - register_conversation_table(proto_wlan, TRUE, wlan_conversation_packet, wlan_endpoint_packet); + register_conversation_table(proto_wlan, true, wlan_conversation_packet, wlan_endpoint_packet); wlan_address_type = address_type_dissector_register("AT_ETHER_WLAN", "WLAN Address", ether_to_str, ether_str_len, NULL, wlan_col_filter_str, ether_len, ether_name_resolution_str, ether_name_resolution_len); @@ -60017,6 +60466,11 @@ proto_register_ieee80211(void) ether_len, ether_name_resolution_str, ether_name_resolution_len); set_address(&bssid_broadcast, wlan_bssid_address_type, 6, bssid_broadcast_data); + wlan_ra_ta_address_type = address_type_dissector_register("AT_ETHER_RA_TA", "WLAN RA/TA Address", ether_to_str, ether_str_len, NULL, wlan_ra_ta_col_filter_str, + ether_len, ether_name_resolution_str, ether_name_resolution_len); + + wlan_aid_address_type = address_type_dissector_register("AT_WLAN_AID", "WLAN Association ID", wlan_aid_to_str, wlan_aid_str_len, NULL, wlan_aid_col_filter_str, NULL, NULL, NULL); + tagged_field_table = register_dissector_table("wlan.tag.number", "IEEE 802.11 Fields", proto_wlan, FT_UINT8, BASE_DEC); vendor_specific_action_table = register_dissector_table("wlan.action.vendor_specific", "IEEE802.11 Vendor Specific Action", proto_wlan, FT_UINT24, BASE_HEX); wifi_alliance_action_subtype_table = register_dissector_table("wlan.action.wifi_alliance.subtype", "Wi-Fi Alliance Action Subtype", proto_wlan, FT_UINT8, BASE_HEX); @@ -60056,7 +60510,7 @@ proto_register_ieee80211(void) "Ignore the Protection bit", "Some 802.11 cards leave the Protection bit set even though the packet is decrypted, " "and some also leave the IV (initialization vector).", - &wlan_ignore_prot, wlan_ignore_prot_options, TRUE); + &wlan_ignore_prot, wlan_ignore_prot_options, true); prefs_register_bool_preference(wlan_module, "wpa_key_mic_len_enable", "Enable WPA Key MIC Length override", @@ -60081,11 +60535,11 @@ proto_register_ieee80211(void) wep_uat = uat_new("WEP and WPA Decryption Keys", sizeof(uat_wep_key_record_t), /* record size */ "80211_keys", /* filename */ - TRUE, /* from_profile */ + true, /* from_profile */ &uat_wep_key_records, /* data_ptr */ &num_wepkeys_uat, /* numitems_ptr */ UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */ - NULL, /* help. XXX Needs chapter in WSUG */ + "Ch80211Keys", /* help */ uat_wep_key_record_copy_cb, /* copy callback */ uat_wep_key_record_update_cb, /* update callback */ uat_wep_key_record_free_cb, /* free callback */ @@ -60230,7 +60684,7 @@ proto_register_wlan_rsna_eapol(void) FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, }; - static gint *tree_array[] = { + static int *tree_array[] = { &ett_keyinfo, &ett_wlan_rsna_eapol_keydes_data, }; @@ -60249,6 +60703,7 @@ proto_reg_handoff_ieee80211(void) dissector_handle_t wlan_rsna_eapol_wpa_key_handle, wlan_rsna_eapol_rsn_key_handle; capture_dissector_handle_t ieee80211_cap_handle; + dissector_add_for_decode_as_with_preference("udp.port", ieee80211_handle); /* * Get handles for the 802.2 (LPD) LLC, EPD LLC, IPX and Ethernet * dissectors. |