Lines Matching refs:elems
943 struct ieee802_11_elems *elems) in ieee80211_parse_extension_element() argument
950 if (len >= sizeof(*elems->mu_edca_param_set)) { in ieee80211_parse_extension_element()
951 elems->mu_edca_param_set = data; in ieee80211_parse_extension_element()
958 elems->he_cap = data; in ieee80211_parse_extension_element()
959 elems->he_cap_len = len; in ieee80211_parse_extension_element()
962 if (len >= sizeof(*elems->he_operation) && in ieee80211_parse_extension_element()
967 elems->he_operation = data; in ieee80211_parse_extension_element()
972 elems->uora_element = data; in ieee80211_parse_extension_element()
976 elems->max_channel_switch_time = data; in ieee80211_parse_extension_element()
979 if (len >= sizeof(*elems->mbssid_config_ie)) in ieee80211_parse_extension_element()
980 elems->mbssid_config_ie = data; in ieee80211_parse_extension_element()
983 if (len >= sizeof(*elems->he_spr) && in ieee80211_parse_extension_element()
985 elems->he_spr = data; in ieee80211_parse_extension_element()
988 if (len >= sizeof(*elems->he_6ghz_capa)) in ieee80211_parse_extension_element()
989 elems->he_6ghz_capa = data; in ieee80211_parse_extension_element()
996 struct ieee802_11_elems *elems, in _ieee802_11_parse_elems_crc() argument
1064 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1081 elems->lnk_id = (void *)(pos - 2); in _ieee802_11_parse_elems_crc()
1088 elems->ch_sw_timing = (void *)pos; in _ieee802_11_parse_elems_crc()
1091 elems->ext_capab = pos; in _ieee802_11_parse_elems_crc()
1092 elems->ext_capab_len = elen; in _ieee802_11_parse_elems_crc()
1095 elems->ssid = pos; in _ieee802_11_parse_elems_crc()
1096 elems->ssid_len = elen; in _ieee802_11_parse_elems_crc()
1099 elems->supp_rates = pos; in _ieee802_11_parse_elems_crc()
1100 elems->supp_rates_len = elen; in _ieee802_11_parse_elems_crc()
1104 elems->ds_params = pos; in _ieee802_11_parse_elems_crc()
1110 elems->tim = (void *)pos; in _ieee802_11_parse_elems_crc()
1111 elems->tim_len = elen; in _ieee802_11_parse_elems_crc()
1116 elems->challenge = pos; in _ieee802_11_parse_elems_crc()
1117 elems->challenge_len = elen; in _ieee802_11_parse_elems_crc()
1130 elems->wmm_info = pos; in _ieee802_11_parse_elems_crc()
1131 elems->wmm_info_len = elen; in _ieee802_11_parse_elems_crc()
1133 elems->wmm_param = pos; in _ieee802_11_parse_elems_crc()
1134 elems->wmm_param_len = elen; in _ieee802_11_parse_elems_crc()
1140 elems->rsn = pos; in _ieee802_11_parse_elems_crc()
1141 elems->rsn_len = elen; in _ieee802_11_parse_elems_crc()
1145 elems->erp_info = pos; in _ieee802_11_parse_elems_crc()
1150 elems->ext_supp_rates = pos; in _ieee802_11_parse_elems_crc()
1151 elems->ext_supp_rates_len = elen; in _ieee802_11_parse_elems_crc()
1155 elems->ht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_crc()
1161 elems->ht_operation = (void *)pos; in _ieee802_11_parse_elems_crc()
1167 elems->vht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_crc()
1173 elems->vht_operation = (void *)pos; in _ieee802_11_parse_elems_crc()
1182 elems->opmode_notif = pos; in _ieee802_11_parse_elems_crc()
1190 elems->mesh_id = pos; in _ieee802_11_parse_elems_crc()
1191 elems->mesh_id_len = elen; in _ieee802_11_parse_elems_crc()
1195 elems->mesh_config = (void *)pos; in _ieee802_11_parse_elems_crc()
1200 elems->peering = pos; in _ieee802_11_parse_elems_crc()
1201 elems->peering_len = elen; in _ieee802_11_parse_elems_crc()
1205 elems->awake_window = (void *)pos; in _ieee802_11_parse_elems_crc()
1208 elems->preq = pos; in _ieee802_11_parse_elems_crc()
1209 elems->preq_len = elen; in _ieee802_11_parse_elems_crc()
1212 elems->prep = pos; in _ieee802_11_parse_elems_crc()
1213 elems->prep_len = elen; in _ieee802_11_parse_elems_crc()
1216 elems->perr = pos; in _ieee802_11_parse_elems_crc()
1217 elems->perr_len = elen; in _ieee802_11_parse_elems_crc()
1221 elems->rann = (void *)pos; in _ieee802_11_parse_elems_crc()
1230 elems->ch_switch_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1237 elems->ext_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1244 elems->sec_chan_offs = (void *)pos; in _ieee802_11_parse_elems_crc()
1248 sizeof(*elems->mesh_chansw_params_ie)) { in _ieee802_11_parse_elems_crc()
1252 elems->mesh_chansw_params_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1256 elen < sizeof(*elems->wide_bw_chansw_ie)) { in _ieee802_11_parse_elems_crc()
1260 elems->wide_bw_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1275 if (ie[1] >= sizeof(*elems->wide_bw_chansw_ie)) in _ieee802_11_parse_elems_crc()
1276 elems->wide_bw_chansw_ie = in _ieee802_11_parse_elems_crc()
1283 elems->country_elem = pos; in _ieee802_11_parse_elems_crc()
1284 elems->country_elem_len = elen; in _ieee802_11_parse_elems_crc()
1291 elems->pwr_constr_elem = pos; in _ieee802_11_parse_elems_crc()
1316 elems->cisco_dtpc_elem = pos; in _ieee802_11_parse_elems_crc()
1323 elems->addba_ext_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1327 elems->timeout_int = (void *)pos; in _ieee802_11_parse_elems_crc()
1332 if (elen >= sizeof(*elems->max_idle_period_ie)) in _ieee802_11_parse_elems_crc()
1333 elems->max_idle_period_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1336 elems->rsnx = pos; in _ieee802_11_parse_elems_crc()
1337 elems->rsnx_len = elen; in _ieee802_11_parse_elems_crc()
1344 if (elems->tx_pwr_env_num >= ARRAY_SIZE(elems->tx_pwr_env)) in _ieee802_11_parse_elems_crc()
1347 elems->tx_pwr_env[elems->tx_pwr_env_num] = (void *)pos; in _ieee802_11_parse_elems_crc()
1348 elems->tx_pwr_env_len[elems->tx_pwr_env_num] = elen; in _ieee802_11_parse_elems_crc()
1349 elems->tx_pwr_env_num++; in _ieee802_11_parse_elems_crc()
1354 elem, elems); in _ieee802_11_parse_elems_crc()
1357 if (elen >= sizeof(*elems->s1g_capab)) in _ieee802_11_parse_elems_crc()
1358 elems->s1g_capab = (void *)pos; in _ieee802_11_parse_elems_crc()
1363 if (elen == sizeof(*elems->s1g_oper)) in _ieee802_11_parse_elems_crc()
1364 elems->s1g_oper = (void *)pos; in _ieee802_11_parse_elems_crc()
1369 if (elen == sizeof(*elems->s1g_bcn_compat)) in _ieee802_11_parse_elems_crc()
1370 elems->s1g_bcn_compat = (void *)pos; in _ieee802_11_parse_elems_crc()
1376 elems->aid_resp = (void *)pos; in _ieee802_11_parse_elems_crc()
1385 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1391 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1397 struct ieee802_11_elems *elems, in ieee802_11_find_bssid_profile() argument
1454 elems->bssid_index_len = index[1]; in ieee802_11_find_bssid_profile()
1455 elems->bssid_index = (void *)&index[2]; in ieee802_11_find_bssid_profile()
1465 struct ieee802_11_elems *elems, in ieee802_11_parse_elems_crc() argument
1473 memset(elems, 0, sizeof(*elems)); in ieee802_11_parse_elems_crc()
1474 elems->ie_start = start; in ieee802_11_parse_elems_crc()
1475 elems->total_len = len; in ieee802_11_parse_elems_crc()
1480 ieee802_11_find_bssid_profile(start, len, elems, in ieee802_11_parse_elems_crc()
1490 crc = _ieee802_11_parse_elems_crc(start, len, action, elems, filter, in ieee802_11_parse_elems_crc()
1497 action, elems, 0, 0, NULL); in ieee802_11_parse_elems_crc()
1499 if (elems->tim && !elems->parse_error) { in ieee802_11_parse_elems_crc()
1500 const struct ieee80211_tim_ie *tim_ie = elems->tim; in ieee802_11_parse_elems_crc()
1502 elems->dtim_period = tim_ie->dtim_period; in ieee802_11_parse_elems_crc()
1503 elems->dtim_count = tim_ie->dtim_count; in ieee802_11_parse_elems_crc()
1507 if (elems->bssid_index && in ieee802_11_parse_elems_crc()
1508 elems->bssid_index_len >= in ieee802_11_parse_elems_crc()
1510 elems->dtim_period = elems->bssid_index->dtim_period; in ieee802_11_parse_elems_crc()
1512 if (elems->bssid_index && in ieee802_11_parse_elems_crc()
1513 elems->bssid_index_len >= in ieee802_11_parse_elems_crc()
1515 elems->dtim_count = elems->bssid_index->dtim_count; in ieee802_11_parse_elems_crc()
2087 struct ieee802_11_elems *elems, in ieee80211_sta_get_rates() argument
2104 for (i = 0; i < elems->supp_rates_len + in ieee80211_sta_get_rates()
2105 elems->ext_supp_rates_len; i++) { in ieee80211_sta_get_rates()
2109 if (i < elems->supp_rates_len) in ieee80211_sta_get_rates()
2110 rate = elems->supp_rates[i]; in ieee80211_sta_get_rates()
2111 else if (elems->ext_supp_rates) in ieee80211_sta_get_rates()
2112 rate = elems->ext_supp_rates in ieee80211_sta_get_rates()
2113 [i - elems->supp_rates_len]; in ieee80211_sta_get_rates()