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()
908 void *ie = (void *)request + offs_ies; in cfg80211_scan_6ghz() local
910 memcpy(ie, rdev_req->ie, rdev_req->ie_len); in cfg80211_scan_6ghz()
911 request->ie = ie; in cfg80211_scan_6ghz()
1201 * available, ie. struct wiphy::max_sched_scan_reqs limit is not yet reached.
1466 /* sort missing IE before (left of) present IE */ in cmp_bss()
1687 const u8 *ie; in cfg80211_combine_bsses() local
1696 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1697 if (!ie) { in cfg80211_combine_bsses()
1702 ssidlen = ie[1]; in cfg80211_combine_bsses()
1704 fold |= ie[2 + i]; in cfg80211_combine_bsses()
1731 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1732 if (!ie) in cfg80211_combine_bsses()
1734 if (ssidlen && ie[1] != ssidlen) in cfg80211_combine_bsses()
1967 int cfg80211_get_ies_channel_number(const u8 *ie, size_t ielen, in cfg80211_get_ies_channel_number() argument
1975 tmp = cfg80211_find_ext_elem(WLAN_EID_EXT_HE_OPERATION, ie, in cfg80211_get_ies_channel_number()
1990 tmp = cfg80211_find_elem(WLAN_EID_S1G_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
1997 tmp = cfg80211_find_elem(WLAN_EID_DS_PARAMS, ie, ielen); in cfg80211_get_ies_channel_number()
2001 tmp = cfg80211_find_elem(WLAN_EID_HT_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
2023 cfg80211_get_bss_channel(struct wiphy *wiphy, const u8 *ie, size_t ielen, in cfg80211_get_bss_channel() argument
2031 channel_number = cfg80211_get_ies_channel_number(ie, ielen, in cfg80211_get_bss_channel()
2092 const u8 *ie; member
2133 channel = cfg80211_get_bss_channel(wiphy, data->ie, data->ielen, in cfg80211_inform_single_bss_data()
2188 memcpy(ies->data, data->ie, data->ielen); in cfg80211_inform_single_bss_data()
2237 *cfg80211_get_profile_continuation(const u8 *ie, size_t ielen, in cfg80211_get_profile_continuation() argument
2247 ielen - (mbssid_end - ie)); in cfg80211_get_profile_continuation()
2250 * If it is not the last subelement in current MBSSID IE or there isn't in cfg80211_get_profile_continuation()
2251 * a next MBSSID IE - profile is complete. in cfg80211_get_profile_continuation()
2279 size_t cfg80211_merge_profile(const u8 *ie, size_t ielen, in cfg80211_merge_profile() argument
2292 while ((next_mbssid = cfg80211_get_profile_continuation(ie, ielen, in cfg80211_merge_profile()
2331 tx_data->ie, tx_data->ielen)) in cfg80211_parse_mbssid_data()
2337 tx_data->ie, tx_data->ielen)) in cfg80211_parse_mbssid_data()
2349 tx_data->ie, tx_data->ielen) { in cfg80211_parse_mbssid_data()
2372 profile_len = cfg80211_merge_profile(tx_data->ie, in cfg80211_parse_mbssid_data()
2406 data.ie = new_ie; in cfg80211_parse_mbssid_data()
2407 data.ielen = cfg80211_gen_new_ie(tx_data->ie, in cfg80211_parse_mbssid_data()
2499 cfg80211_defrag_mle(const struct element *mle, const u8 *ie, size_t ielen, in cfg80211_defrag_mle() argument
2525 mle_len = cfg80211_defragment_element(mle, ie, ielen, in cfg80211_defrag_mle()
2535 ie = res->data + common_size; in cfg80211_defrag_mle()
2540 ie, ielen) { in cfg80211_defrag_mle()
2548 if (!for_each_element_completed(elem, ie, ielen)) in cfg80211_defrag_mle()
2564 buf_len = ielen + ie - (u8 *)elem; in cfg80211_defrag_mle()
2584 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
2592 for_each_element_id(rnr, WLAN_EID_REDUCED_NEIGHBOR_REPORT, ie, ielen) { in cfg80211_tbtt_info_for_mld_ap()
2596 /* RNR IE may contain more than one NEIGHBOR_AP_INFO */ in cfg80211_tbtt_info_for_mld_ap()
2719 mle = cfg80211_defrag_mle(elem, tx_data->ie, tx_data->ielen, gfp); in cfg80211_parse_ml_elem_sta_data()
2776 if (!cfg80211_tbtt_info_for_mld_ap(tx_data->ie, tx_data->ielen, in cfg80211_parse_ml_elem_sta_data()
2792 data.ie = new_ie; in cfg80211_parse_ml_elem_sta_data()
2793 data.ielen = cfg80211_gen_new_ie(tx_data->ie, tx_data->ielen, in cfg80211_parse_ml_elem_sta_data()
2825 tx_data->ie, tx_data->ielen) in cfg80211_parse_ml_sta_data()
2835 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_bss_data() argument
2844 .ie = ie, in cfg80211_inform_bss_data()
3006 .ie = mgmt->u.probe_resp.variable, in cfg80211_inform_bss_frame_data()
3362 * If needed, fragment the IEs buffer (at IE boundaries) into short in ieee80211_scan_add_ies()
3405 const u8 *ie; in ieee80211_bss() local
3487 ie = ies->data; in ieee80211_bss()
3491 if (ie[1] > rem - 2) in ieee80211_bss()
3494 switch (ie[0]) { in ieee80211_bss()
3498 iwe.u.data.length = ie[1]; in ieee80211_bss()
3503 (u8 *)ie + 2); in ieee80211_bss()
3510 iwe.u.data.length = ie[1]; in ieee80211_bss()
3515 (u8 *)ie + 2); in ieee80211_bss()
3521 if (ie[1] != sizeof(struct ieee80211_meshconf_ie)) in ieee80211_bss()
3523 cfg = (u8 *)ie + 2; in ieee80211_bss()
3596 for (i = 0; i < ie[1]; i++) { in ieee80211_bss()
3598 ((ie[i + 2] & 0x7f) * 500000); in ieee80211_bss()
3611 rem -= ie[1] + 2; in ieee80211_bss()
3612 ie += ie[1] + 2; in ieee80211_bss()