summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proto_80211_mac_hdr.c680
1 files changed, 130 insertions, 550 deletions
diff --git a/proto_80211_mac_hdr.c b/proto_80211_mac_hdr.c
index 33cf8a9..59cb320 100644
--- a/proto_80211_mac_hdr.c
+++ b/proto_80211_mac_hdr.c
@@ -1108,7 +1108,7 @@ static int8_t inf_hop_pp(struct pkt_buff *pkt, u8 *id)
static int8_t inf_hop_pt(struct pkt_buff *pkt, u8 *id)
{
- int i;
+ size_t i;
u8 *rand_tabl;
struct element_hop_pt *hop_pt;
@@ -1139,7 +1139,7 @@ static int8_t inf_hop_pt(struct pkt_buff *pkt, u8 *id)
static int8_t inf_req(struct pkt_buff *pkt, u8 *id)
{
- int i;
+ size_t i;
struct element_req *req;
u8 *req_ids;
@@ -2654,11 +2654,6 @@ static int8_t inf_qos_cap(struct pkt_buff *pkt, u8 *id)
return 1;
}
-static int8_t inf_rsn(struct pkt_buff *pkt, u8 *id)
-{
- return 0;
-}
-
static int8_t inf_ext_supp_rates(struct pkt_buff *pkt, u8 *id)
{
u8 i;
@@ -2687,346 +2682,6 @@ static int8_t inf_ext_supp_rates(struct pkt_buff *pkt, u8 *id)
return 0;
}
-static int8_t inf_ap_ch_exp(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_neighb_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_rcpi(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mde(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_fte(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_time_out_int(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_rde(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_dse_reg_loc(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_supp_op_class(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ext_ch_sw_ann(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ht_op(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_sec_ch_offs(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_bss_avg_acc_del(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ant(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_rsni(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_meas_pilot_trans(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_bss_avl_adm_cap(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_bss_ac_acc_del(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_time_adv(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_rm_ena_cap(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mult_bssid(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_20_40_bss_coex(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_20_40_bss_int_ch_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_overl_bss_scan_para(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ric_desc(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mgmt_mic(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ev_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ev_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_diagn_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_diagn_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_loc_para(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_nontr_bssid_cap(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ssid_list(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mult_bssid_index(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_fms_desc(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_fms_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_fms_resp(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_qos_tfc_cap(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_bss_max_idle_per(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_tfs_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_tfs_resp(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_wnm_sleep_mod(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_tim_bcst_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_tim_bcst_resp(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_coll_interf_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ch_usage(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_time_zone(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_dms_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_dms_resp(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_link_id(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_wakeup_sched(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ch_sw_timing(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_pti_ctrl(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_tpu_buff_status(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_interw(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_adv_proto(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_exp_bandw_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_qos_map_set(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_roam_cons(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_emer_alert_id(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_conf(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_id(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_link_metr_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_cong_notif(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_peer_mgmt(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_ch_sw_para(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mesh_awake_win(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_beacon_timing(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mccaop_setup_req(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mccaop_setup_rep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mccaop_adv(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mccaop_teardwn(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_gann(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_rann(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_ext_cap(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_preq(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_prep(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_perr(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_pxu(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_pxuc(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_auth_mesh_peer_exch(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mic(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_dest_uri(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_u_apsd_coex(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
-static int8_t inf_mccaop_adv_overv(struct pkt_buff *pkt, u8 *id) {
- return 0;
-}
-
static int8_t inf_vend_spec(struct pkt_buff *pkt, u8 *id)
{
u8 i;
@@ -3051,12 +2706,18 @@ static int8_t inf_vend_spec(struct pkt_buff *pkt, u8 *id)
return 1;
}
+static int8_t inf_unimplemented(struct pkt_buff *pkt __maybe_unused,
+ u8 *id __maybe_unused)
+{
+ return 0;
+}
+
static int8_t inf_elements(struct pkt_buff *pkt)
{
u8 *id = pkt_pull(pkt, 1);
if (id == NULL)
return 0;
-
+
switch (*id) {
case 0: return inf_ssid(pkt, id);
case 1: return inf_supp_rates(pkt, id);
@@ -3092,101 +2753,101 @@ static int8_t inf_elements(struct pkt_buff *pkt)
case 45: return inf_ht_cap(pkt, id);
case 46: return inf_qos_cap(pkt, id);
case 47: return inf_reserved(pkt, id);
- case 48: return inf_rsn(pkt, id);
- case 49: return inf_rsn(pkt, id);
+ case 48: return inf_unimplemented(pkt, id);
+ case 49: return inf_unimplemented(pkt, id);
case 50: return inf_ext_supp_rates(pkt, id);
- case 51: return inf_ap_ch_exp(pkt, id);
- case 52: return inf_neighb_rep(pkt, id);
- case 53: return inf_rcpi(pkt, id);
- case 54: return inf_mde(pkt, id);
- case 55: return inf_fte(pkt, id);
- case 56: return inf_time_out_int(pkt, id);
- case 57: return inf_rde(pkt, id);
- case 58: return inf_dse_reg_loc(pkt, id);
- case 59: return inf_supp_op_class(pkt, id);
- case 60: return inf_ext_ch_sw_ann(pkt, id);
- case 61: return inf_ht_op(pkt, id);
- case 62: return inf_sec_ch_offs(pkt, id);
- case 63: return inf_bss_avg_acc_del(pkt, id);
- case 64: return inf_ant(pkt, id);
- case 65: return inf_rsni(pkt, id);
- case 66: return inf_meas_pilot_trans(pkt, id);
- case 67: return inf_bss_avl_adm_cap(pkt, id);
- case 68: return inf_bss_ac_acc_del(pkt, id);
- case 69: return inf_time_adv(pkt, id);
- case 70: return inf_rm_ena_cap(pkt, id);
- case 71: return inf_mult_bssid(pkt, id);
- case 72: return inf_20_40_bss_coex(pkt, id);
- case 73: return inf_20_40_bss_int_ch_rep(pkt, id);
- case 74: return inf_overl_bss_scan_para(pkt, id);
- case 75: return inf_ric_desc(pkt, id);
- case 76: return inf_mgmt_mic(pkt, id);
- case 78: return inf_ev_req(pkt, id);
- case 79: return inf_ev_rep(pkt, id);
- case 80: return inf_diagn_req(pkt, id);
- case 81: return inf_diagn_rep(pkt, id);
- case 82: return inf_loc_para(pkt, id);
- case 83: return inf_nontr_bssid_cap(pkt, id);
- case 84: return inf_ssid_list(pkt, id);
- case 85: return inf_mult_bssid_index(pkt, id);
- case 86: return inf_fms_desc(pkt, id);
- case 87: return inf_fms_req(pkt, id);
- case 88: return inf_fms_resp(pkt, id);
- case 89: return inf_qos_tfc_cap(pkt, id);
- case 90: return inf_bss_max_idle_per(pkt, id);
- case 91: return inf_tfs_req(pkt, id);
- case 92: return inf_tfs_resp(pkt, id);
- case 93: return inf_wnm_sleep_mod(pkt, id);
- case 94: return inf_tim_bcst_req(pkt, id);
- case 95: return inf_tim_bcst_resp(pkt, id);
- case 96: return inf_coll_interf_rep(pkt, id);
- case 97: return inf_ch_usage(pkt, id);
- case 98: return inf_time_zone(pkt, id);
- case 99: return inf_dms_req(pkt, id);
- case 100: return inf_dms_resp(pkt, id);
- case 101: return inf_link_id(pkt, id);
- case 102: return inf_wakeup_sched(pkt, id);
- case 104: return inf_ch_sw_timing(pkt, id);
- case 105: return inf_pti_ctrl(pkt, id);
- case 106: return inf_tpu_buff_status(pkt, id);
- case 107: return inf_interw(pkt, id);
- case 108: return inf_adv_proto(pkt, id);
- case 109: return inf_exp_bandw_req(pkt, id);
- case 110: return inf_qos_map_set(pkt, id);
- case 111: return inf_roam_cons(pkt, id);
- case 112: return inf_emer_alert_id(pkt, id);
- case 113: return inf_mesh_conf(pkt, id);
- case 114: return inf_mesh_id(pkt, id);
- case 115: return inf_mesh_link_metr_rep(pkt, id);
- case 116: return inf_cong_notif(pkt, id);
- case 117: return inf_mesh_peer_mgmt(pkt, id);
- case 118: return inf_mesh_ch_sw_para(pkt, id);
- case 119: return inf_mesh_awake_win(pkt, id);
- case 120: return inf_beacon_timing(pkt, id);
- case 121: return inf_mccaop_setup_req(pkt, id);
- case 122: return inf_mccaop_setup_rep(pkt, id);
- case 123: return inf_mccaop_adv(pkt, id);
- case 124: return inf_mccaop_teardwn(pkt, id);
- case 125: return inf_gann(pkt, id);
- case 126: return inf_rann(pkt, id);
- case 127: return inf_ext_cap(pkt, id);
+ case 51: return inf_unimplemented(pkt, id);
+ case 52: return inf_unimplemented(pkt, id);
+ case 53: return inf_unimplemented(pkt, id);
+ case 54: return inf_unimplemented(pkt, id);
+ case 55: return inf_unimplemented(pkt, id);
+ case 56: return inf_unimplemented(pkt, id);
+ case 57: return inf_unimplemented(pkt, id);
+ case 58: return inf_unimplemented(pkt, id);
+ case 59: return inf_unimplemented(pkt, id);
+ case 60: return inf_unimplemented(pkt, id);
+ case 61: return inf_unimplemented(pkt, id);
+ case 62: return inf_unimplemented(pkt, id);
+ case 63: return inf_unimplemented(pkt, id);
+ case 64: return inf_unimplemented(pkt, id);
+ case 65: return inf_unimplemented(pkt, id);
+ case 66: return inf_unimplemented(pkt, id);
+ case 67: return inf_unimplemented(pkt, id);
+ case 68: return inf_unimplemented(pkt, id);
+ case 69: return inf_unimplemented(pkt, id);
+ case 70: return inf_unimplemented(pkt, id);
+ case 71: return inf_unimplemented(pkt, id);
+ case 72: return inf_unimplemented(pkt, id);
+ case 73: return inf_unimplemented(pkt, id);
+ case 74: return inf_unimplemented(pkt, id);
+ case 75: return inf_unimplemented(pkt, id);
+ case 76: return inf_unimplemented(pkt, id);
+ case 78: return inf_unimplemented(pkt, id);
+ case 79: return inf_unimplemented(pkt, id);
+ case 80: return inf_unimplemented(pkt, id);
+ case 81: return inf_unimplemented(pkt, id);
+ case 82: return inf_unimplemented(pkt, id);
+ case 83: return inf_unimplemented(pkt, id);
+ case 84: return inf_unimplemented(pkt, id);
+ case 85: return inf_unimplemented(pkt, id);
+ case 86: return inf_unimplemented(pkt, id);
+ case 87: return inf_unimplemented(pkt, id);
+ case 88: return inf_unimplemented(pkt, id);
+ case 89: return inf_unimplemented(pkt, id);
+ case 90: return inf_unimplemented(pkt, id);
+ case 91: return inf_unimplemented(pkt, id);
+ case 92: return inf_unimplemented(pkt, id);
+ case 93: return inf_unimplemented(pkt, id);
+ case 94: return inf_unimplemented(pkt, id);
+ case 95: return inf_unimplemented(pkt, id);
+ case 96: return inf_unimplemented(pkt, id);
+ case 97: return inf_unimplemented(pkt, id);
+ case 98: return inf_unimplemented(pkt, id);
+ case 99: return inf_unimplemented(pkt, id);
+ case 100: return inf_unimplemented(pkt, id);
+ case 101: return inf_unimplemented(pkt, id);
+ case 102: return inf_unimplemented(pkt, id);
+ case 104: return inf_unimplemented(pkt, id);
+ case 105: return inf_unimplemented(pkt, id);
+ case 106: return inf_unimplemented(pkt, id);
+ case 107: return inf_unimplemented(pkt, id);
+ case 108: return inf_unimplemented(pkt, id);
+ case 109: return inf_unimplemented(pkt, id);
+ case 110: return inf_unimplemented(pkt, id);
+ case 111: return inf_unimplemented(pkt, id);
+ case 112: return inf_unimplemented(pkt, id);
+ case 113: return inf_unimplemented(pkt, id);
+ case 114: return inf_unimplemented(pkt, id);
+ case 115: return inf_unimplemented(pkt, id);
+ case 116: return inf_unimplemented(pkt, id);
+ case 117: return inf_unimplemented(pkt, id);
+ case 118: return inf_unimplemented(pkt, id);
+ case 119: return inf_unimplemented(pkt, id);
+ case 120: return inf_unimplemented(pkt, id);
+ case 121: return inf_unimplemented(pkt, id);
+ case 122: return inf_unimplemented(pkt, id);
+ case 123: return inf_unimplemented(pkt, id);
+ case 124: return inf_unimplemented(pkt, id);
+ case 125: return inf_unimplemented(pkt, id);
+ case 126: return inf_unimplemented(pkt, id);
+ case 127: return inf_unimplemented(pkt, id);
case 128: return inf_reserved(pkt, id);
case 129: return inf_reserved(pkt, id);
- case 130: return inf_preq(pkt, id);
- case 131: return inf_prep(pkt, id);
- case 132: return inf_perr(pkt, id);
+ case 130: return inf_unimplemented(pkt, id);
+ case 131: return inf_unimplemented(pkt, id);
+ case 132: return inf_unimplemented(pkt, id);
case 133: return inf_reserved(pkt, id);
case 134: return inf_reserved(pkt, id);
case 135: return inf_reserved(pkt, id);
case 136: return inf_reserved(pkt, id);
- case 137: return inf_pxu(pkt, id);
- case 138: return inf_pxuc(pkt, id);
- case 139: return inf_auth_mesh_peer_exch(pkt, id);
- case 140: return inf_mic(pkt, id);
- case 141: return inf_dest_uri(pkt, id);
- case 142: return inf_u_apsd_coex(pkt, id);
+ case 137: return inf_unimplemented(pkt, id);
+ case 138: return inf_unimplemented(pkt, id);
+ case 139: return inf_unimplemented(pkt, id);
+ case 140: return inf_unimplemented(pkt, id);
+ case 141: return inf_unimplemented(pkt, id);
+ case 142: return inf_unimplemented(pkt, id);
case 143 ... 173: return inf_reserved(pkt, id);
- case 174: return inf_mccaop_adv_overv(pkt, id);
+ case 174: return inf_unimplemented(pkt, id);
case 221: return inf_vend_spec(pkt, id);
}
@@ -3249,30 +2910,6 @@ static int8_t cap_field(u16 cap_inf)
}
/* Management Dissectors */
-static int8_t assoc_req(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t assoc_resp(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t reassoc_req(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t reassoc_resp(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t probe_req(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t probe_resp(struct pkt_buff *pkt) {
- return 0;
-}
-
static int8_t beacon(struct pkt_buff *pkt)
{
struct ieee80211_mgmt_beacon *beacon;
@@ -3300,79 +2937,22 @@ static int8_t beacon(struct pkt_buff *pkt)
return 1;
}
-static int8_t atim(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t disassoc(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t auth(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t deauth(struct pkt_buff *pkt) {
+static int8_t mgmt_unimplemented(struct pkt_buff *pkt __maybe_unused)
+{
return 0;
}
/* End Management Dissectors */
/* Control Dissectors */
-static int8_t ps_poll(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t rts(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cts(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t ack(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cf_end(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cf_end_ack(struct pkt_buff *pkt) {
+static int8_t ctrl_unimplemented(struct pkt_buff *pkt __maybe_unused)
+{
return 0;
}
/* End Control Dissectors */
/* Data Dissectors */
-static int8_t data(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t data_cf_ack(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t data_cf_poll(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t data_cf_ack_poll(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t null(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cf_ack(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cf_poll(struct pkt_buff *pkt) {
- return 0;
-}
-
-static int8_t cf_ack_poll(struct pkt_buff *pkt) {
+static int8_t data_unimplemented(struct pkt_buff *pkt __maybe_unused)
+{
return 0;
}
/* End Data Dissectors */
@@ -3427,40 +3007,40 @@ static const char *mgt_sub(u8 subtype, struct pkt_buff *pkt,
tprintf("\n\tFragmentnr. (%u), Seqnr. (%u). ",
seq_ctrl & 0xf, seq_ctrl >> 4);
-
+
switch (subtype) {
case 0b0000:
- *get_content = assoc_req;
+ *get_content = mgmt_unimplemented;
return "Association Request";
case 0b0001:
- *get_content = assoc_resp;
+ *get_content = mgmt_unimplemented;
return "Association Response";
case 0b0010:
- *get_content = reassoc_req;
+ *get_content = mgmt_unimplemented;
return "Reassociation Request";
case 0b0011:
- *get_content = reassoc_resp;
+ *get_content = mgmt_unimplemented;
return "Reassociation Response";
case 0b0100:
- *get_content = probe_req;
+ *get_content = mgmt_unimplemented;
return "Probe Request";
case 0b0101:
- *get_content = probe_resp;
+ *get_content = mgmt_unimplemented;
return "Probe Response";
case 0b1000:
*get_content = beacon;
return "Beacon";
case 0b1001:
- *get_content = atim;
+ *get_content = mgmt_unimplemented;
return "ATIM";
case 0b1010:
- *get_content = disassoc;
+ *get_content = mgmt_unimplemented;
return "Disassociation";
case 0b1011:
- *get_content = auth;
+ *get_content = mgmt_unimplemented;
return "Authentication";
case 0b1100:
- *get_content = deauth;
+ *get_content = mgmt_unimplemented;
return "Deauthentication";
case 0b0110 ... 0b0111:
case 0b1101 ... 0b1111:
@@ -3472,27 +3052,27 @@ static const char *mgt_sub(u8 subtype, struct pkt_buff *pkt,
}
}
-static const char *ctrl_sub(u8 subtype, struct pkt_buff *pkt,
+static const char *ctrl_sub(u8 subtype, struct pkt_buff *pkt __maybe_unused,
int8_t (**get_content)(struct pkt_buff *pkt))
{
switch (subtype) {
case 0b1010:
- *get_content = ps_poll;
+ *get_content = ctrl_unimplemented;
return "PS-Poll";
case 0b1011:
- *get_content = rts;
+ *get_content = ctrl_unimplemented;
return "RTS";
case 0b1100:
- *get_content = cts;
+ *get_content = ctrl_unimplemented;
return "CTS";
case 0b1101:
- *get_content = ack;
+ *get_content = ctrl_unimplemented;
return "ACK";
case 0b1110:
- *get_content = cf_end;
+ *get_content = ctrl_unimplemented;
return "CF End";
case 0b1111:
- *get_content = cf_end_ack;
+ *get_content = ctrl_unimplemented;
return "CF End + CF-ACK";
case 0b0000 ... 0b1001:
*get_content = NULL;
@@ -3502,33 +3082,33 @@ static const char *ctrl_sub(u8 subtype, struct pkt_buff *pkt,
}
}
-static const char *data_sub(u8 subtype, struct pkt_buff *pkt,
+static const char *data_sub(u8 subtype, struct pkt_buff *pkt __maybe_unused,
int8_t (**get_content)(struct pkt_buff *pkt))
{
switch (subtype) {
case 0b0000:
- *get_content = data;
+ *get_content = data_unimplemented;
return "Data";
case 0b0001:
- *get_content = data_cf_ack;
+ *get_content = data_unimplemented;
return "Data + CF-ACK";
case 0b0010:
- *get_content = data_cf_poll;
+ *get_content = data_unimplemented;
return "Data + CF-Poll";
case 0b0011:
- *get_content = data_cf_ack_poll;
+ *get_content = data_unimplemented;
return "Data + CF-ACK + CF-Poll";
case 0b0100:
- *get_content = null;
+ *get_content = data_unimplemented;
return "Null";
case 0b0101:
- *get_content = cf_ack;
+ *get_content = data_unimplemented;
return "CF-ACK";
case 0b0110:
- *get_content = cf_poll;
+ *get_content = data_unimplemented;
return "CF-Poll";
case 0b0111:
- *get_content = cf_ack_poll;
+ *get_content = data_unimplemented;
return "CF-ACK + CF-Poll";
case 0b1000 ... 0b1111:
*get_content = NULL;
@@ -3615,7 +3195,7 @@ static void ieee80211(struct pkt_buff *pkt)
// pkt_set_proto(pkt, &ieee802_lay2, ntohs(eth->h_proto));
}
-static void ieee80211_less(struct pkt_buff *pkt)
+static void ieee80211_less(struct pkt_buff *pkt __maybe_unused)
{
tprintf("802.11 frame (more on todo)");
}