Lines Matching full:ie
269 const u8 *ie, size_t ie_len, in cfg80211_copy_elem_with_frags() argument
272 if (WARN_ON((u8 *)elem < ie || elem->data > ie + ie_len || in cfg80211_copy_elem_with_frags()
273 elem->data + elem->datalen > ie + ie_len)) in cfg80211_copy_elem_with_frags()
286 ie_len = ie + ie_len - elem->data - elem->datalen; in cfg80211_copy_elem_with_frags()
287 ie = (const u8 *)elem->data + elem->datalen; in cfg80211_copy_elem_with_frags()
289 for_each_element(elem, ie, ie_len) { in cfg80211_copy_elem_with_frags()
306 static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen, in cfg80211_gen_new_ie() argument
324 for_each_element(parent, ie, ielen) { in cfg80211_gen_new_ie()
348 ie, ielen, in cfg80211_gen_new_ie()
357 if (cfg80211_find_elem_match(id, ie, (u8 *)parent - ie, in cfg80211_gen_new_ie()
405 if (cfg80211_find_elem_match(id, ie, ielen, in cfg80211_gen_new_ie()
667 /* RNR IE may contain more than one NEIGHBOR_AP_INFO */ in cfg80211_parse_colocated_ap()
1151 * available, ie. struct wiphy::max_sched_scan_reqs limit is not yet reached.
1416 /* sort missing IE before (left of) present IE */ in cmp_bss()
1608 const u8 *ie; in cfg80211_combine_bsses() local
1617 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1618 if (!ie) { in cfg80211_combine_bsses()
1623 ssidlen = ie[1]; in cfg80211_combine_bsses()
1625 fold |= ie[2 + i]; in cfg80211_combine_bsses()
1652 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1653 if (!ie) in cfg80211_combine_bsses()
1655 if (ssidlen && ie[1] != ssidlen) in cfg80211_combine_bsses()
1886 int cfg80211_get_ies_channel_number(const u8 *ie, size_t ielen, in cfg80211_get_ies_channel_number() argument
1894 tmp = cfg80211_find_ext_elem(WLAN_EID_EXT_HE_OPERATION, ie, in cfg80211_get_ies_channel_number()
1909 tmp = cfg80211_find_elem(WLAN_EID_S1G_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
1916 tmp = cfg80211_find_elem(WLAN_EID_DS_PARAMS, ie, ielen); in cfg80211_get_ies_channel_number()
1920 tmp = cfg80211_find_elem(WLAN_EID_HT_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
1942 cfg80211_get_bss_channel(struct wiphy *wiphy, const u8 *ie, size_t ielen, in cfg80211_get_bss_channel() argument
1950 channel_number = cfg80211_get_ies_channel_number(ie, ielen, in cfg80211_get_bss_channel()
2011 const u8 *ie; member
2052 channel = cfg80211_get_bss_channel(wiphy, data->ie, data->ielen, in cfg80211_inform_single_bss_data()
2107 memcpy(ies->data, data->ie, data->ielen); in cfg80211_inform_single_bss_data()
2156 *cfg80211_get_profile_continuation(const u8 *ie, size_t ielen, in cfg80211_get_profile_continuation() argument
2166 ielen - (mbssid_end - ie)); in cfg80211_get_profile_continuation()
2169 * If it is not the last subelement in current MBSSID IE or there isn't in cfg80211_get_profile_continuation()
2170 * a next MBSSID IE - profile is complete. in cfg80211_get_profile_continuation()
2198 size_t cfg80211_merge_profile(const u8 *ie, size_t ielen, in cfg80211_merge_profile() argument
2211 while ((next_mbssid = cfg80211_get_profile_continuation(ie, ielen, in cfg80211_merge_profile()
2250 tx_data->ie, tx_data->ielen)) in cfg80211_parse_mbssid_data()
2256 tx_data->ie, tx_data->ielen)) in cfg80211_parse_mbssid_data()
2268 tx_data->ie, tx_data->ielen) { in cfg80211_parse_mbssid_data()
2291 profile_len = cfg80211_merge_profile(tx_data->ie, in cfg80211_parse_mbssid_data()
2325 data.ie = new_ie; in cfg80211_parse_mbssid_data()
2326 data.ielen = cfg80211_gen_new_ie(tx_data->ie, in cfg80211_parse_mbssid_data()
2418 cfg80211_defrag_mle(const struct element *mle, const u8 *ie, size_t ielen, in cfg80211_defrag_mle() argument
2444 mle_len = cfg80211_defragment_element(mle, ie, ielen, in cfg80211_defrag_mle()
2454 ie = res->data + common_size; in cfg80211_defrag_mle()
2459 ie, ielen) { in cfg80211_defrag_mle()
2467 if (!for_each_element_completed(elem, ie, ielen)) in cfg80211_defrag_mle()
2483 buf_len = ielen + ie - (u8 *)elem; in cfg80211_defrag_mle()
2503 cfg80211_tbtt_info_for_mld_ap(const u8 *ie, size_t ielen, u8 mld_id, u8 link_id, in cfg80211_tbtt_info_for_mld_ap() argument
2511 for_each_element_id(rnr, WLAN_EID_REDUCED_NEIGHBOR_REPORT, ie, ielen) { in cfg80211_tbtt_info_for_mld_ap()
2515 /* RNR IE may contain more than one NEIGHBOR_AP_INFO */ in cfg80211_tbtt_info_for_mld_ap()
2601 tx_data->ie, tx_data->ielen); in cfg80211_parse_ml_sta_data()
2642 mle = cfg80211_defrag_mle(elem, tx_data->ie, tx_data->ielen, gfp); in cfg80211_parse_ml_sta_data()
2699 if (!cfg80211_tbtt_info_for_mld_ap(tx_data->ie, tx_data->ielen, in cfg80211_parse_ml_sta_data()
2715 data.ie = new_ie; in cfg80211_parse_ml_sta_data()
2716 data.ielen = cfg80211_gen_new_ie(tx_data->ie, tx_data->ielen, in cfg80211_parse_ml_sta_data()
2739 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_bss_data() argument
2748 .ie = ie, in cfg80211_inform_bss_data()
2910 .ie = mgmt->u.probe_resp.variable, in cfg80211_inform_bss_frame_data()
3265 * If needed, fragment the IEs buffer (at IE boundaries) into short in ieee80211_scan_add_ies()
3308 const u8 *ie; in ieee80211_bss() local
3390 ie = ies->data; in ieee80211_bss()
3394 if (ie[1] > rem - 2) in ieee80211_bss()
3397 switch (ie[0]) { in ieee80211_bss()
3401 iwe.u.data.length = ie[1]; in ieee80211_bss()
3406 (u8 *)ie + 2); in ieee80211_bss()
3413 iwe.u.data.length = ie[1]; in ieee80211_bss()
3418 (u8 *)ie + 2); in ieee80211_bss()
3424 if (ie[1] != sizeof(struct ieee80211_meshconf_ie)) in ieee80211_bss()
3426 cfg = (u8 *)ie + 2; in ieee80211_bss()
3499 for (i = 0; i < ie[1]; i++) { in ieee80211_bss()
3501 ((ie[i + 2] & 0x7f) * 500000); in ieee80211_bss()
3514 rem -= ie[1] + 2; in ieee80211_bss()
3515 ie += ie[1] + 2; in ieee80211_bss()