Lines Matching refs:elems
39 struct ieee802_11_elems elems;
68 struct ieee802_11_elems *elems = &elems_parse->elems;
83 if (len >= sizeof(*elems->mu_edca_param_set))
84 elems->mu_edca_param_set = data;
90 elems->he_cap = data;
91 elems->he_cap_len = len;
98 if (len >= sizeof(*elems->he_operation) &&
100 elems->he_operation = data;
106 elems->uora_element = data;
110 elems->max_channel_switch_time = data;
113 if (len >= sizeof(*elems->mbssid_config_ie))
114 elems->mbssid_config_ie = data;
119 if (len >= sizeof(*elems->he_spr) &&
121 elems->he_spr = data;
126 if (len >= sizeof(*elems->he_6ghz_capa))
127 elems->he_6ghz_capa = data;
132 if (ieee80211_eht_capa_size_ok(elems->he_cap,
135 elems->eht_cap = data;
136 elems->eht_cap_len = len;
143 elems->eht_operation = data;
159 elems->parse_error |=
179 elems->bandwidth_indication = data;
187 elems->ttlm_num < ARRAY_SIZE(elems->ttlm)) {
188 elems->ttlm[elems->ttlm_num] = (void *)data;
189 elems->ttlm_num++;
281 struct ieee802_11_elems *elems = &elems_parse->elems;
365 elems->parse_error |=
384 elems->lnk_id = (void *)(pos - 2);
392 elems->ch_sw_timing = (void *)pos;
395 elems->ext_capab = pos;
396 elems->ext_capab_len = elen;
399 elems->ssid = pos;
400 elems->ssid_len = elen;
403 elems->supp_rates = pos;
404 elems->supp_rates_len = elen;
408 elems->ds_params = pos;
415 elems->tim = (void *)pos;
416 elems->tim_len = elen;
435 elems->wmm_info = pos;
436 elems->wmm_info_len = elen;
438 elems->wmm_param = pos;
439 elems->wmm_param_len = elen;
445 elems->rsn = pos;
446 elems->rsn_len = elen;
450 elems->erp_info = pos;
456 elems->ext_supp_rates = pos;
457 elems->ext_supp_rates_len = elen;
463 elems->ht_cap_elem = (void *)pos;
472 elems->ht_operation = (void *)pos;
481 elems->vht_cap_elem = (void *)pos;
490 elems->vht_operation = (void *)pos;
502 elems->opmode_notif = pos;
511 elems->mesh_id = pos;
512 elems->mesh_id_len = elen;
516 elems->mesh_config = (void *)pos;
522 elems->peering = pos;
523 elems->peering_len = elen;
527 elems->awake_window = (void *)pos;
530 elems->preq = pos;
531 elems->preq_len = elen;
534 elems->prep = pos;
535 elems->prep_len = elen;
538 elems->perr = pos;
539 elems->perr_len = elen;
543 elems->rann = (void *)pos;
554 elems->ch_switch_ie = (void *)pos;
562 elems->ext_chansw_ie = (void *)pos;
572 elems->sec_chan_offs = (void *)pos;
576 sizeof(*elems->mesh_chansw_params_ie)) {
581 elems->mesh_chansw_params_ie = (void *)pos;
594 if (elen < sizeof(*elems->wide_bw_chansw_ie)) {
599 elems->wide_bw_chansw_ie = (void *)pos;
617 if (subelem->datalen >= sizeof(*elems->wide_bw_chansw_ie))
618 elems->wide_bw_chansw_ie =
636 elems->bandwidth_indication = edata;
645 ieee80211_parse_tpe(&elems->csa_tpe,
650 elems->country_elem = pos;
651 elems->country_elem_len = elen;
659 elems->pwr_constr_elem = pos;
686 elems->cisco_dtpc_elem = pos;
694 elems->addba_ext_ie = (void *)pos;
698 elems->timeout_int = (void *)pos;
704 if (elen >= sizeof(*elems->max_idle_period_ie))
705 elems->max_idle_period_ie = (void *)pos;
708 elems->rsnx = pos;
709 elems->rsnx_len = elen;
714 ieee80211_parse_tpe(&elems->tpe, pos, elen);
725 if (elen >= sizeof(*elems->s1g_capab))
726 elems->s1g_capab = (void *)pos;
734 if (elen == sizeof(*elems->s1g_oper))
735 elems->s1g_oper = (void *)pos;
743 if (elen == sizeof(*elems->s1g_bcn_compat))
744 elems->s1g_bcn_compat = (void *)pos;
753 elems->aid_resp = (void *)pos;
763 elems->parse_error |= elem_parse_failed;
769 elems->parse_error |= IEEE80211_PARSE_ERR_INVALID_END;
775 struct ieee802_11_elems *elems,
831 elems->bssid_index_len = index[1];
832 elems->bssid_index = (void *)&index[2];
845 struct ieee802_11_elems *elems = &elems_parse->elems;
846 const struct ieee80211_multi_link_elem *ml = elems->ml_basic;
847 ssize_t ml_len = elems->ml_basic_len;
884 elems->prof = (void *)elems_parse->scratch_pos;
885 elems->sta_prof_len = sta_prof_len;
897 struct ieee802_11_elems *elems = &elems_parse->elems;
907 elems->ie_start, elems->total_len) {
923 elems->ie_start,
924 elems->total_len,
934 elems->ml_basic = (const void *)elems_parse->scratch_pos;
935 elems->ml_basic_len = ml_len;
942 prof = elems->prof;
948 if (elems->sta_prof_len < sizeof(*prof) + prof->sta_info_len - 1 + 4) {
949 elems->prof = NULL;
950 elems->sta_prof_len = 0;
961 end = (const u8 *)prof + elems->sta_prof_len;
976 struct ieee802_11_elems *elems = &elems_parse->elems;
980 elems->ie_start,
981 elems->total_len,
989 elems->ml_reconf = (void *)elems_parse->scratch_pos;
990 elems->ml_reconf_len = ml_len;
997 struct ieee802_11_elems *elems = &elems_parse->elems;
1001 elems->ie_start,
1002 elems->total_len,
1010 elems->ml_epcs = (void *)elems_parse->scratch_pos;
1011 elems->ml_epcs_len = ml_len;
1021 struct ieee802_11_elems *elems;
1025 BUILD_BUG_ON(offsetof(typeof(*elems_parse), elems) != 0);
1039 elems = &elems_parse->elems;
1040 elems->ie_start = params->start;
1041 elems->total_len = params->len;
1044 ieee80211_clear_tpe(&elems->tpe);
1045 ieee80211_clear_tpe(&elems->csa_tpe);
1059 elems, params->bss,
1082 elems->crc = _ieee802_11_parse_elems_full(params, elems_parse,
1096 if (elems->tim && !elems->parse_error) {
1097 const struct ieee80211_tim_ie *tim_ie = elems->tim;
1099 elems->dtim_period = tim_ie->dtim_period;
1100 elems->dtim_count = tim_ie->dtim_count;
1104 if (elems->bssid_index &&
1105 elems->bssid_index_len >=
1107 elems->dtim_period = elems->bssid_index->dtim_period;
1109 if (elems->bssid_index &&
1110 elems->bssid_index_len >=
1112 elems->dtim_count = elems->bssid_index->dtim_count;
1114 return elems;