Lines Matching refs:elems
39 struct ieee802_11_elems elems; member
68 struct ieee802_11_elems *elems = &elems_parse->elems; in ieee80211_parse_extension_element() local
83 if (len >= sizeof(*elems->mu_edca_param_set)) in ieee80211_parse_extension_element()
84 elems->mu_edca_param_set = data; in ieee80211_parse_extension_element()
90 elems->he_cap = data; in ieee80211_parse_extension_element()
91 elems->he_cap_len = len; in ieee80211_parse_extension_element()
98 if (len >= sizeof(*elems->he_operation) && in ieee80211_parse_extension_element()
100 elems->he_operation = data; in ieee80211_parse_extension_element()
106 elems->uora_element = data; in ieee80211_parse_extension_element()
110 elems->max_channel_switch_time = data; in ieee80211_parse_extension_element()
113 if (len >= sizeof(*elems->mbssid_config_ie)) in ieee80211_parse_extension_element()
114 elems->mbssid_config_ie = data; in ieee80211_parse_extension_element()
119 if (len >= sizeof(*elems->he_spr) && in ieee80211_parse_extension_element()
121 elems->he_spr = data; in ieee80211_parse_extension_element()
126 if (len >= sizeof(*elems->he_6ghz_capa)) in ieee80211_parse_extension_element()
127 elems->he_6ghz_capa = data; in ieee80211_parse_extension_element()
132 if (ieee80211_eht_capa_size_ok(elems->he_cap, in ieee80211_parse_extension_element()
135 elems->eht_cap = data; in ieee80211_parse_extension_element()
136 elems->eht_cap_len = len; in ieee80211_parse_extension_element()
143 elems->eht_operation = data; in ieee80211_parse_extension_element()
159 elems->parse_error |= in ieee80211_parse_extension_element()
179 elems->bandwidth_indication = data; in ieee80211_parse_extension_element()
187 elems->ttlm_num < ARRAY_SIZE(elems->ttlm)) { in ieee80211_parse_extension_element()
188 elems->ttlm[elems->ttlm_num] = (void *)data; in ieee80211_parse_extension_element()
189 elems->ttlm_num++; in ieee80211_parse_extension_element()
281 struct ieee802_11_elems *elems = &elems_parse->elems; in _ieee802_11_parse_elems_full() local
347 elems->parse_error |= in _ieee802_11_parse_elems_full()
366 elems->lnk_id = (void *)(pos - 2); in _ieee802_11_parse_elems_full()
374 elems->ch_sw_timing = (void *)pos; in _ieee802_11_parse_elems_full()
377 elems->ext_capab = pos; in _ieee802_11_parse_elems_full()
378 elems->ext_capab_len = elen; in _ieee802_11_parse_elems_full()
381 elems->ssid = pos; in _ieee802_11_parse_elems_full()
382 elems->ssid_len = elen; in _ieee802_11_parse_elems_full()
385 elems->supp_rates = pos; in _ieee802_11_parse_elems_full()
386 elems->supp_rates_len = elen; in _ieee802_11_parse_elems_full()
390 elems->ds_params = pos; in _ieee802_11_parse_elems_full()
397 elems->tim = (void *)pos; in _ieee802_11_parse_elems_full()
398 elems->tim_len = elen; in _ieee802_11_parse_elems_full()
417 elems->wmm_info = pos; in _ieee802_11_parse_elems_full()
418 elems->wmm_info_len = elen; in _ieee802_11_parse_elems_full()
420 elems->wmm_param = pos; in _ieee802_11_parse_elems_full()
421 elems->wmm_param_len = elen; in _ieee802_11_parse_elems_full()
427 elems->rsn = pos; in _ieee802_11_parse_elems_full()
428 elems->rsn_len = elen; in _ieee802_11_parse_elems_full()
432 elems->erp_info = pos; in _ieee802_11_parse_elems_full()
438 elems->ext_supp_rates = pos; in _ieee802_11_parse_elems_full()
439 elems->ext_supp_rates_len = elen; in _ieee802_11_parse_elems_full()
445 elems->ht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_full()
454 elems->ht_operation = (void *)pos; in _ieee802_11_parse_elems_full()
463 elems->vht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_full()
472 elems->vht_operation = (void *)pos; in _ieee802_11_parse_elems_full()
484 elems->opmode_notif = pos; in _ieee802_11_parse_elems_full()
493 elems->mesh_id = pos; in _ieee802_11_parse_elems_full()
494 elems->mesh_id_len = elen; in _ieee802_11_parse_elems_full()
498 elems->mesh_config = (void *)pos; in _ieee802_11_parse_elems_full()
504 elems->peering = pos; in _ieee802_11_parse_elems_full()
505 elems->peering_len = elen; in _ieee802_11_parse_elems_full()
509 elems->awake_window = (void *)pos; in _ieee802_11_parse_elems_full()
512 elems->preq = pos; in _ieee802_11_parse_elems_full()
513 elems->preq_len = elen; in _ieee802_11_parse_elems_full()
516 elems->prep = pos; in _ieee802_11_parse_elems_full()
517 elems->prep_len = elen; in _ieee802_11_parse_elems_full()
520 elems->perr = pos; in _ieee802_11_parse_elems_full()
521 elems->perr_len = elen; in _ieee802_11_parse_elems_full()
525 elems->rann = (void *)pos; in _ieee802_11_parse_elems_full()
536 elems->ch_switch_ie = (void *)pos; in _ieee802_11_parse_elems_full()
544 elems->ext_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_full()
554 elems->sec_chan_offs = (void *)pos; in _ieee802_11_parse_elems_full()
558 sizeof(*elems->mesh_chansw_params_ie)) { in _ieee802_11_parse_elems_full()
563 elems->mesh_chansw_params_ie = (void *)pos; in _ieee802_11_parse_elems_full()
575 if (elen < sizeof(*elems->wide_bw_chansw_ie)) { in _ieee802_11_parse_elems_full()
580 elems->wide_bw_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_full()
597 if (subelem->datalen >= sizeof(*elems->wide_bw_chansw_ie)) in _ieee802_11_parse_elems_full()
598 elems->wide_bw_chansw_ie = in _ieee802_11_parse_elems_full()
616 elems->bandwidth_indication = edata; in _ieee802_11_parse_elems_full()
625 ieee80211_parse_tpe(&elems->csa_tpe, in _ieee802_11_parse_elems_full()
630 elems->country_elem = pos; in _ieee802_11_parse_elems_full()
631 elems->country_elem_len = elen; in _ieee802_11_parse_elems_full()
639 elems->pwr_constr_elem = pos; in _ieee802_11_parse_elems_full()
666 elems->cisco_dtpc_elem = pos; in _ieee802_11_parse_elems_full()
674 elems->addba_ext_ie = (void *)pos; in _ieee802_11_parse_elems_full()
678 elems->timeout_int = (void *)pos; in _ieee802_11_parse_elems_full()
684 if (elen >= sizeof(*elems->max_idle_period_ie)) in _ieee802_11_parse_elems_full()
685 elems->max_idle_period_ie = (void *)pos; in _ieee802_11_parse_elems_full()
688 elems->rsnx = pos; in _ieee802_11_parse_elems_full()
689 elems->rsnx_len = elen; in _ieee802_11_parse_elems_full()
694 ieee80211_parse_tpe(&elems->tpe, pos, elen); in _ieee802_11_parse_elems_full()
705 if (elen >= sizeof(*elems->s1g_capab)) in _ieee802_11_parse_elems_full()
706 elems->s1g_capab = (void *)pos; in _ieee802_11_parse_elems_full()
714 if (elen == sizeof(*elems->s1g_oper)) in _ieee802_11_parse_elems_full()
715 elems->s1g_oper = (void *)pos; in _ieee802_11_parse_elems_full()
723 if (elen == sizeof(*elems->s1g_bcn_compat)) in _ieee802_11_parse_elems_full()
724 elems->s1g_bcn_compat = (void *)pos; in _ieee802_11_parse_elems_full()
733 elems->aid_resp = (void *)pos; in _ieee802_11_parse_elems_full()
743 elems->parse_error |= elem_parse_failed; in _ieee802_11_parse_elems_full()
749 elems->parse_error |= IEEE80211_PARSE_ERR_INVALID_END; in _ieee802_11_parse_elems_full()
755 struct ieee802_11_elems *elems, in ieee802_11_find_bssid_profile() argument
811 elems->bssid_index_len = index[1]; in ieee802_11_find_bssid_profile()
812 elems->bssid_index = (void *)&index[2]; in ieee802_11_find_bssid_profile()
825 struct ieee802_11_elems *elems = &elems_parse->elems; in ieee80211_mle_get_sta_prof() local
826 const struct ieee80211_multi_link_elem *ml = elems->ml_basic; in ieee80211_mle_get_sta_prof()
827 ssize_t ml_len = elems->ml_basic_len; in ieee80211_mle_get_sta_prof()
864 elems->prof = (void *)elems_parse->scratch_pos; in ieee80211_mle_get_sta_prof()
865 elems->sta_prof_len = sta_prof_len; in ieee80211_mle_get_sta_prof()
877 struct ieee802_11_elems *elems = &elems_parse->elems; in ieee80211_prep_mle_link_parse() local
887 elems->ie_start, elems->total_len) { in ieee80211_prep_mle_link_parse()
903 elems->ie_start, in ieee80211_prep_mle_link_parse()
904 elems->total_len, in ieee80211_prep_mle_link_parse()
914 elems->ml_basic = (const void *)elems_parse->scratch_pos; in ieee80211_prep_mle_link_parse()
915 elems->ml_basic_len = ml_len; in ieee80211_prep_mle_link_parse()
922 prof = elems->prof; in ieee80211_prep_mle_link_parse()
928 if (elems->sta_prof_len < sizeof(*prof) + prof->sta_info_len - 1 + 4) { in ieee80211_prep_mle_link_parse()
929 elems->prof = NULL; in ieee80211_prep_mle_link_parse()
930 elems->sta_prof_len = 0; in ieee80211_prep_mle_link_parse()
941 end = (const u8 *)prof + elems->sta_prof_len; in ieee80211_prep_mle_link_parse()
956 struct ieee802_11_elems *elems = &elems_parse->elems; in ieee80211_mle_defrag_reconf() local
960 elems->ie_start, in ieee80211_mle_defrag_reconf()
961 elems->total_len, in ieee80211_mle_defrag_reconf()
969 elems->ml_reconf = (void *)elems_parse->scratch_pos; in ieee80211_mle_defrag_reconf()
970 elems->ml_reconf_len = ml_len; in ieee80211_mle_defrag_reconf()
977 struct ieee802_11_elems *elems = &elems_parse->elems; in ieee80211_mle_defrag_epcs() local
981 elems->ie_start, in ieee80211_mle_defrag_epcs()
982 elems->total_len, in ieee80211_mle_defrag_epcs()
990 elems->ml_epcs = (void *)elems_parse->scratch_pos; in ieee80211_mle_defrag_epcs()
991 elems->ml_epcs_len = ml_len; in ieee80211_mle_defrag_epcs()
1001 struct ieee802_11_elems *elems; in ieee802_11_parse_elems_full() local
1005 BUILD_BUG_ON(offsetof(typeof(*elems_parse), elems) != 0); in ieee802_11_parse_elems_full()
1019 elems = &elems_parse->elems; in ieee802_11_parse_elems_full()
1020 elems->ie_start = params->start; in ieee802_11_parse_elems_full()
1021 elems->total_len = params->len; in ieee802_11_parse_elems_full()
1024 ieee80211_clear_tpe(&elems->tpe); in ieee802_11_parse_elems_full()
1025 ieee80211_clear_tpe(&elems->csa_tpe); in ieee802_11_parse_elems_full()
1039 elems, params->bss, in ieee802_11_parse_elems_full()
1062 elems->crc = _ieee802_11_parse_elems_full(params, elems_parse, in ieee802_11_parse_elems_full()
1076 if (elems->tim && !elems->parse_error) { in ieee802_11_parse_elems_full()
1077 const struct ieee80211_tim_ie *tim_ie = elems->tim; in ieee802_11_parse_elems_full()
1079 elems->dtim_period = tim_ie->dtim_period; in ieee802_11_parse_elems_full()
1080 elems->dtim_count = tim_ie->dtim_count; in ieee802_11_parse_elems_full()
1084 if (elems->bssid_index && in ieee802_11_parse_elems_full()
1085 elems->bssid_index_len >= in ieee802_11_parse_elems_full()
1087 elems->dtim_period = elems->bssid_index->dtim_period; in ieee802_11_parse_elems_full()
1089 if (elems->bssid_index && in ieee802_11_parse_elems_full()
1090 elems->bssid_index_len >= in ieee802_11_parse_elems_full()
1092 elems->dtim_count = elems->bssid_index->dtim_count; in ieee802_11_parse_elems_full()
1094 return elems; in ieee802_11_parse_elems_full()