Lines Matching refs:elems

943 					      struct ieee802_11_elems *elems)  in ieee80211_parse_extension_element()  argument
955 if (len >= sizeof(*elems->mu_edca_param_set)) { in ieee80211_parse_extension_element()
956 elems->mu_edca_param_set = data; in ieee80211_parse_extension_element()
963 elems->he_cap = data; in ieee80211_parse_extension_element()
964 elems->he_cap_len = len; in ieee80211_parse_extension_element()
967 if (len >= sizeof(*elems->he_operation) && in ieee80211_parse_extension_element()
972 elems->he_operation = data; in ieee80211_parse_extension_element()
977 elems->uora_element = data; in ieee80211_parse_extension_element()
981 elems->max_channel_switch_time = data; in ieee80211_parse_extension_element()
984 if (len >= sizeof(*elems->mbssid_config_ie)) in ieee80211_parse_extension_element()
985 elems->mbssid_config_ie = data; in ieee80211_parse_extension_element()
988 if (len >= sizeof(*elems->he_spr) && in ieee80211_parse_extension_element()
990 elems->he_spr = data; in ieee80211_parse_extension_element()
993 if (len >= sizeof(*elems->he_6ghz_capa)) in ieee80211_parse_extension_element()
994 elems->he_6ghz_capa = data; in ieee80211_parse_extension_element()
1001 struct ieee802_11_elems *elems, in _ieee802_11_parse_elems_crc() argument
1069 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1086 elems->lnk_id = (void *)(pos - 2); in _ieee802_11_parse_elems_crc()
1093 elems->ch_sw_timing = (void *)pos; in _ieee802_11_parse_elems_crc()
1096 elems->ext_capab = pos; in _ieee802_11_parse_elems_crc()
1097 elems->ext_capab_len = elen; in _ieee802_11_parse_elems_crc()
1100 elems->ssid = pos; in _ieee802_11_parse_elems_crc()
1101 elems->ssid_len = elen; in _ieee802_11_parse_elems_crc()
1104 elems->supp_rates = pos; in _ieee802_11_parse_elems_crc()
1105 elems->supp_rates_len = elen; in _ieee802_11_parse_elems_crc()
1109 elems->ds_params = pos; in _ieee802_11_parse_elems_crc()
1115 elems->tim = (void *)pos; in _ieee802_11_parse_elems_crc()
1116 elems->tim_len = elen; in _ieee802_11_parse_elems_crc()
1131 elems->wmm_info = pos; in _ieee802_11_parse_elems_crc()
1132 elems->wmm_info_len = elen; in _ieee802_11_parse_elems_crc()
1134 elems->wmm_param = pos; in _ieee802_11_parse_elems_crc()
1135 elems->wmm_param_len = elen; in _ieee802_11_parse_elems_crc()
1141 elems->rsn = pos; in _ieee802_11_parse_elems_crc()
1142 elems->rsn_len = elen; in _ieee802_11_parse_elems_crc()
1146 elems->erp_info = pos; in _ieee802_11_parse_elems_crc()
1151 elems->ext_supp_rates = pos; in _ieee802_11_parse_elems_crc()
1152 elems->ext_supp_rates_len = elen; in _ieee802_11_parse_elems_crc()
1156 elems->ht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_crc()
1162 elems->ht_operation = (void *)pos; in _ieee802_11_parse_elems_crc()
1168 elems->vht_cap_elem = (void *)pos; in _ieee802_11_parse_elems_crc()
1174 elems->vht_operation = (void *)pos; in _ieee802_11_parse_elems_crc()
1183 elems->opmode_notif = pos; in _ieee802_11_parse_elems_crc()
1191 elems->mesh_id = pos; in _ieee802_11_parse_elems_crc()
1192 elems->mesh_id_len = elen; in _ieee802_11_parse_elems_crc()
1196 elems->mesh_config = (void *)pos; in _ieee802_11_parse_elems_crc()
1201 elems->peering = pos; in _ieee802_11_parse_elems_crc()
1202 elems->peering_len = elen; in _ieee802_11_parse_elems_crc()
1206 elems->awake_window = (void *)pos; in _ieee802_11_parse_elems_crc()
1209 elems->preq = pos; in _ieee802_11_parse_elems_crc()
1210 elems->preq_len = elen; in _ieee802_11_parse_elems_crc()
1213 elems->prep = pos; in _ieee802_11_parse_elems_crc()
1214 elems->prep_len = elen; in _ieee802_11_parse_elems_crc()
1217 elems->perr = pos; in _ieee802_11_parse_elems_crc()
1218 elems->perr_len = elen; in _ieee802_11_parse_elems_crc()
1222 elems->rann = (void *)pos; in _ieee802_11_parse_elems_crc()
1231 elems->ch_switch_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1238 elems->ext_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1245 elems->sec_chan_offs = (void *)pos; in _ieee802_11_parse_elems_crc()
1249 sizeof(*elems->mesh_chansw_params_ie)) { in _ieee802_11_parse_elems_crc()
1253 elems->mesh_chansw_params_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1257 elen < sizeof(*elems->wide_bw_chansw_ie)) { in _ieee802_11_parse_elems_crc()
1261 elems->wide_bw_chansw_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1276 if (ie[1] >= sizeof(*elems->wide_bw_chansw_ie)) in _ieee802_11_parse_elems_crc()
1277 elems->wide_bw_chansw_ie = in _ieee802_11_parse_elems_crc()
1284 elems->country_elem = pos; in _ieee802_11_parse_elems_crc()
1285 elems->country_elem_len = elen; in _ieee802_11_parse_elems_crc()
1292 elems->pwr_constr_elem = pos; in _ieee802_11_parse_elems_crc()
1317 elems->cisco_dtpc_elem = pos; in _ieee802_11_parse_elems_crc()
1324 elems->addba_ext_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1328 elems->timeout_int = (void *)pos; in _ieee802_11_parse_elems_crc()
1333 if (elen >= sizeof(*elems->max_idle_period_ie)) in _ieee802_11_parse_elems_crc()
1334 elems->max_idle_period_ie = (void *)pos; in _ieee802_11_parse_elems_crc()
1337 elems->rsnx = pos; in _ieee802_11_parse_elems_crc()
1338 elems->rsnx_len = elen; in _ieee802_11_parse_elems_crc()
1345 if (elems->tx_pwr_env_num >= ARRAY_SIZE(elems->tx_pwr_env)) in _ieee802_11_parse_elems_crc()
1348 elems->tx_pwr_env[elems->tx_pwr_env_num] = (void *)pos; in _ieee802_11_parse_elems_crc()
1349 elems->tx_pwr_env_len[elems->tx_pwr_env_num] = elen; in _ieee802_11_parse_elems_crc()
1350 elems->tx_pwr_env_num++; in _ieee802_11_parse_elems_crc()
1355 elem, elems); in _ieee802_11_parse_elems_crc()
1358 if (elen >= sizeof(*elems->s1g_capab)) in _ieee802_11_parse_elems_crc()
1359 elems->s1g_capab = (void *)pos; in _ieee802_11_parse_elems_crc()
1364 if (elen == sizeof(*elems->s1g_oper)) in _ieee802_11_parse_elems_crc()
1365 elems->s1g_oper = (void *)pos; in _ieee802_11_parse_elems_crc()
1370 if (elen == sizeof(*elems->s1g_bcn_compat)) in _ieee802_11_parse_elems_crc()
1371 elems->s1g_bcn_compat = (void *)pos; in _ieee802_11_parse_elems_crc()
1377 elems->aid_resp = (void *)pos; in _ieee802_11_parse_elems_crc()
1386 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1392 elems->parse_error = true; in _ieee802_11_parse_elems_crc()
1398 struct ieee802_11_elems *elems, in ieee802_11_find_bssid_profile() argument
1455 elems->bssid_index_len = index[1]; in ieee802_11_find_bssid_profile()
1456 elems->bssid_index = (void *)&index[2]; in ieee802_11_find_bssid_profile()
1471 struct ieee802_11_elems *elems; in ieee802_11_parse_elems_crc() local
1476 elems = kzalloc(sizeof(*elems), GFP_ATOMIC); in ieee802_11_parse_elems_crc()
1477 if (!elems) in ieee802_11_parse_elems_crc()
1479 elems->ie_start = start; in ieee802_11_parse_elems_crc()
1480 elems->total_len = len; in ieee802_11_parse_elems_crc()
1485 ieee802_11_find_bssid_profile(start, len, elems, in ieee802_11_parse_elems_crc()
1495 crc = _ieee802_11_parse_elems_crc(start, len, action, elems, filter, in ieee802_11_parse_elems_crc()
1502 action, elems, 0, 0, NULL); in ieee802_11_parse_elems_crc()
1504 if (elems->tim && !elems->parse_error) { in ieee802_11_parse_elems_crc()
1505 const struct ieee80211_tim_ie *tim_ie = elems->tim; in ieee802_11_parse_elems_crc()
1507 elems->dtim_period = tim_ie->dtim_period; in ieee802_11_parse_elems_crc()
1508 elems->dtim_count = tim_ie->dtim_count; 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_period = elems->bssid_index->dtim_period; in ieee802_11_parse_elems_crc()
1517 if (elems->bssid_index && in ieee802_11_parse_elems_crc()
1518 elems->bssid_index_len >= in ieee802_11_parse_elems_crc()
1520 elems->dtim_count = elems->bssid_index->dtim_count; in ieee802_11_parse_elems_crc()
1524 elems->crc = crc; in ieee802_11_parse_elems_crc()
1526 return elems; in ieee802_11_parse_elems_crc()
2094 struct ieee802_11_elems *elems, in ieee80211_sta_get_rates() argument
2111 for (i = 0; i < elems->supp_rates_len + in ieee80211_sta_get_rates()
2112 elems->ext_supp_rates_len; i++) { in ieee80211_sta_get_rates()
2116 if (i < elems->supp_rates_len) in ieee80211_sta_get_rates()
2117 rate = elems->supp_rates[i]; in ieee80211_sta_get_rates()
2118 else if (elems->ext_supp_rates) in ieee80211_sta_get_rates()
2119 rate = elems->ext_supp_rates in ieee80211_sta_get_rates()
2120 [i - elems->supp_rates_len]; in ieee80211_sta_get_rates()