Lines Matching refs:elems

960 				  struct ieee802_11_elems *elems,  in ieee80211_parse_extension_element()  argument
973 if (len >= sizeof(*elems->mu_edca_param_set)) { in ieee80211_parse_extension_element()
974 elems->mu_edca_param_set = data; in ieee80211_parse_extension_element()
982 elems->he_cap = data; in ieee80211_parse_extension_element()
983 elems->he_cap_len = len; in ieee80211_parse_extension_element()
987 if (len >= sizeof(*elems->he_operation) && in ieee80211_parse_extension_element()
992 elems->he_operation = data; in ieee80211_parse_extension_element()
997 elems->uora_element = data; in ieee80211_parse_extension_element()
1001 elems->max_channel_switch_time = data; in ieee80211_parse_extension_element()
1004 if (len >= sizeof(*elems->mbssid_config_ie)) in ieee80211_parse_extension_element()
1005 elems->mbssid_config_ie = data; in ieee80211_parse_extension_element()
1008 if (len >= sizeof(*elems->he_spr) && in ieee80211_parse_extension_element()
1010 elems->he_spr = data; in ieee80211_parse_extension_element()
1013 if (len >= sizeof(*elems->he_6ghz_capa)) in ieee80211_parse_extension_element()
1014 elems->he_6ghz_capa = data; in ieee80211_parse_extension_element()
1017 if (ieee80211_eht_capa_size_ok(elems->he_cap, in ieee80211_parse_extension_element()
1020 elems->eht_cap = data; in ieee80211_parse_extension_element()
1021 elems->eht_cap_len = len; in ieee80211_parse_extension_element()
1026 elems->eht_operation = data; in ieee80211_parse_extension_element()
1030 elems->multi_link = (void *)data; in ieee80211_parse_extension_element()
1037 struct ieee802_11_elems *elems, in _ieee802_11_parse_elems_full() argument
1105 elems->parse_error = true; in _ieee802_11_parse_elems_full()
1122 elems->lnk_id = (void *)(pos - 2); in _ieee802_11_parse_elems_full()
1129 elems->ch_sw_timing = (void *)pos; in _ieee802_11_parse_elems_full()
1132 elems->ext_capab = pos; in _ieee802_11_parse_elems_full()
1133 elems->ext_capab_len = elen; in _ieee802_11_parse_elems_full()
1136 elems->ssid = pos; in _ieee802_11_parse_elems_full()
1137 elems->ssid_len = elen; in _ieee802_11_parse_elems_full()
1140 elems->supp_rates = pos; in _ieee802_11_parse_elems_full()
1141 elems->supp_rates_len = elen; in _ieee802_11_parse_elems_full()
1145 elems->ds_params = pos; in _ieee802_11_parse_elems_full()
1151 elems->tim = (void *)pos; in _ieee802_11_parse_elems_full()
1152 elems->tim_len = elen; in _ieee802_11_parse_elems_full()
1167 elems->wmm_info = pos; in _ieee802_11_parse_elems_full()
1168 elems->wmm_info_len = elen; in _ieee802_11_parse_elems_full()
1170 elems->wmm_param = pos; in _ieee802_11_parse_elems_full()
1171 elems->wmm_param_len = elen; in _ieee802_11_parse_elems_full()
1177 elems->rsn = pos; in _ieee802_11_parse_elems_full()
1178 elems->rsn_len = elen; in _ieee802_11_parse_elems_full()
1182 elems->erp_info = pos; in _ieee802_11_parse_elems_full()
1187 elems->ext_supp_rates = pos; in _ieee802_11_parse_elems_full()
1188 elems->ext_supp_rates_len = elen; in _ieee802_11_parse_elems_full()
1192 elems->ht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_full()
1198 elems->ht_operation = (void *)pos; in _ieee802_11_parse_elems_full()
1204 elems->vht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_full()
1210 elems->vht_operation = (void *)pos; in _ieee802_11_parse_elems_full()
1219 elems->opmode_notif = pos; in _ieee802_11_parse_elems_full()
1227 elems->mesh_id = pos; in _ieee802_11_parse_elems_full()
1228 elems->mesh_id_len = elen; in _ieee802_11_parse_elems_full()
1232 elems->mesh_config = (void *)pos; in _ieee802_11_parse_elems_full()
1237 elems->peering = pos; in _ieee802_11_parse_elems_full()
1238 elems->peering_len = elen; in _ieee802_11_parse_elems_full()
1242 elems->awake_window = (void *)pos; in _ieee802_11_parse_elems_full()
1245 elems->preq = pos; in _ieee802_11_parse_elems_full()
1246 elems->preq_len = elen; in _ieee802_11_parse_elems_full()
1249 elems->prep = pos; in _ieee802_11_parse_elems_full()
1250 elems->prep_len = elen; in _ieee802_11_parse_elems_full()
1253 elems->perr = pos; in _ieee802_11_parse_elems_full()
1254 elems->perr_len = elen; in _ieee802_11_parse_elems_full()
1258 elems->rann = (void *)pos; in _ieee802_11_parse_elems_full()
1267 elems->ch_switch_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1274 elems->ext_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1281 elems->sec_chan_offs = (void *)pos; in _ieee802_11_parse_elems_full()
1285 sizeof(*elems->mesh_chansw_params_ie)) { in _ieee802_11_parse_elems_full()
1289 elems->mesh_chansw_params_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1293 elen < sizeof(*elems->wide_bw_chansw_ie)) { in _ieee802_11_parse_elems_full()
1297 elems->wide_bw_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1312 if (ie[1] >= sizeof(*elems->wide_bw_chansw_ie)) in _ieee802_11_parse_elems_full()
1313 elems->wide_bw_chansw_ie = in _ieee802_11_parse_elems_full()
1320 elems->country_elem = pos; in _ieee802_11_parse_elems_full()
1321 elems->country_elem_len = elen; in _ieee802_11_parse_elems_full()
1328 elems->pwr_constr_elem = pos; in _ieee802_11_parse_elems_full()
1353 elems->cisco_dtpc_elem = pos; in _ieee802_11_parse_elems_full()
1360 elems->addba_ext_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1364 elems->timeout_int = (void *)pos; in _ieee802_11_parse_elems_full()
1369 if (elen >= sizeof(*elems->max_idle_period_ie)) in _ieee802_11_parse_elems_full()
1370 elems->max_idle_period_ie = (void *)pos; in _ieee802_11_parse_elems_full()
1373 elems->rsnx = pos; in _ieee802_11_parse_elems_full()
1374 elems->rsnx_len = elen; in _ieee802_11_parse_elems_full()
1381 if (elems->tx_pwr_env_num >= ARRAY_SIZE(elems->tx_pwr_env)) in _ieee802_11_parse_elems_full()
1384 elems->tx_pwr_env[elems->tx_pwr_env_num] = (void *)pos; in _ieee802_11_parse_elems_full()
1385 elems->tx_pwr_env_len[elems->tx_pwr_env_num] = elen; in _ieee802_11_parse_elems_full()
1386 elems->tx_pwr_env_num++; in _ieee802_11_parse_elems_full()
1391 elem, elems, params); in _ieee802_11_parse_elems_full()
1394 if (elen >= sizeof(*elems->s1g_capab)) in _ieee802_11_parse_elems_full()
1395 elems->s1g_capab = (void *)pos; in _ieee802_11_parse_elems_full()
1400 if (elen == sizeof(*elems->s1g_oper)) in _ieee802_11_parse_elems_full()
1401 elems->s1g_oper = (void *)pos; in _ieee802_11_parse_elems_full()
1406 if (elen == sizeof(*elems->s1g_bcn_compat)) in _ieee802_11_parse_elems_full()
1407 elems->s1g_bcn_compat = (void *)pos; in _ieee802_11_parse_elems_full()
1413 elems->aid_resp = (void *)pos; in _ieee802_11_parse_elems_full()
1422 elems->parse_error = true; in _ieee802_11_parse_elems_full()
1428 elems->parse_error = true; in _ieee802_11_parse_elems_full()
1434 struct ieee802_11_elems *elems, in ieee802_11_find_bssid_profile() argument
1492 elems->bssid_index_len = index[1]; in ieee802_11_find_bssid_profile()
1493 elems->bssid_index = (void *)&index[2]; in ieee802_11_find_bssid_profile()
1505 struct ieee802_11_elems *elems; in ieee802_11_parse_elems_full() local
1511 elems = kzalloc(sizeof(*elems) + scratch_len, GFP_ATOMIC); in ieee802_11_parse_elems_full()
1512 if (!elems) in ieee802_11_parse_elems_full()
1514 elems->ie_start = params->start; in ieee802_11_parse_elems_full()
1515 elems->total_len = params->len; in ieee802_11_parse_elems_full()
1516 elems->scratch_len = scratch_len; in ieee802_11_parse_elems_full()
1517 elems->scratch_pos = elems->scratch; in ieee802_11_parse_elems_full()
1519 nontransmitted_profile = elems->scratch_pos; in ieee802_11_parse_elems_full()
1522 elems, params->bss, in ieee802_11_parse_elems_full()
1524 elems->scratch_pos += nontransmitted_profile_len; in ieee802_11_parse_elems_full()
1525 elems->scratch_len -= nontransmitted_profile_len; in ieee802_11_parse_elems_full()
1530 elems->crc = _ieee802_11_parse_elems_full(params, elems, non_inherit); in ieee802_11_parse_elems_full()
1541 _ieee802_11_parse_elems_full(&sub, elems, NULL); in ieee802_11_parse_elems_full()
1544 if (elems->tim && !elems->parse_error) { in ieee802_11_parse_elems_full()
1545 const struct ieee80211_tim_ie *tim_ie = elems->tim; in ieee802_11_parse_elems_full()
1547 elems->dtim_period = tim_ie->dtim_period; in ieee802_11_parse_elems_full()
1548 elems->dtim_count = tim_ie->dtim_count; in ieee802_11_parse_elems_full()
1552 if (elems->bssid_index && in ieee802_11_parse_elems_full()
1553 elems->bssid_index_len >= in ieee802_11_parse_elems_full()
1555 elems->dtim_period = elems->bssid_index->dtim_period; in ieee802_11_parse_elems_full()
1557 if (elems->bssid_index && in ieee802_11_parse_elems_full()
1558 elems->bssid_index_len >= in ieee802_11_parse_elems_full()
1560 elems->dtim_count = elems->bssid_index->dtim_count; in ieee802_11_parse_elems_full()
1562 return elems; in ieee802_11_parse_elems_full()
2164 struct ieee802_11_elems *elems, in ieee80211_sta_get_rates() argument
2181 for (i = 0; i < elems->supp_rates_len + in ieee80211_sta_get_rates()
2182 elems->ext_supp_rates_len; i++) { in ieee80211_sta_get_rates()
2186 if (i < elems->supp_rates_len) in ieee80211_sta_get_rates()
2187 rate = elems->supp_rates[i]; in ieee80211_sta_get_rates()
2188 else if (elems->ext_supp_rates) in ieee80211_sta_get_rates()
2189 rate = elems->ext_supp_rates in ieee80211_sta_get_rates()
2190 [i - elems->supp_rates_len]; in ieee80211_sta_get_rates()