Lines Matching full:ie

265 static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen,  in cfg80211_gen_new_ie()  argument
275 * mark an ie after it is processed. in cfg80211_gen_new_ie()
295 /* go through IEs in ie (skip SSID) and subelement, in cfg80211_gen_new_ie()
298 tmp_old = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); in cfg80211_gen_new_ie()
299 tmp_old = (tmp_old) ? tmp_old + tmp_old[1] + 2 : ie; in cfg80211_gen_new_ie()
301 while (tmp_old + 2 - ie <= ielen && in cfg80211_gen_new_ie()
302 tmp_old + tmp_old[1] + 2 - ie <= ielen) { in cfg80211_gen_new_ie()
318 /* ie in old ie but not in subelement */ in cfg80211_gen_new_ie()
325 /* ie in transmitting ie also in subelement, in cfg80211_gen_new_ie()
326 * copy from subelement and flag the ie in subelement in cfg80211_gen_new_ie()
329 * For vendor ie, compare OUI + type + subType to in cfg80211_gen_new_ie()
330 * determine if they are the same ie. in cfg80211_gen_new_ie()
335 /* same vendor ie, copy from in cfg80211_gen_new_ie()
346 /* copy ie from subelement into new ie */ in cfg80211_gen_new_ie()
353 if (tmp_old + tmp_old[1] + 2 - ie == ielen) in cfg80211_gen_new_ie()
359 /* go through subelement again to check if there is any ie not in cfg80211_gen_new_ie()
360 * copied to new ie, skip ssid, capability, bssid-index ie in cfg80211_gen_new_ie()
609 /* RNR IE may contain more than one NEIGHBOR_AP_INFO */ in cfg80211_parse_colocated_ap()
1081 * available, ie. struct wiphy::max_sched_scan_reqs limit is not yet reached.
1345 /* sort missing IE before (left of) present IE */ in cmp_bss()
1537 const u8 *ie; in cfg80211_combine_bsses() local
1546 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1547 if (!ie) { in cfg80211_combine_bsses()
1552 ssidlen = ie[1]; in cfg80211_combine_bsses()
1554 fold |= ie[2 + i]; in cfg80211_combine_bsses()
1581 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1582 if (!ie) in cfg80211_combine_bsses()
1584 if (ssidlen && ie[1] != ssidlen) in cfg80211_combine_bsses()
1819 int cfg80211_get_ies_channel_number(const u8 *ie, size_t ielen, in cfg80211_get_ies_channel_number() argument
1828 tmp = cfg80211_find_ext_elem(WLAN_EID_EXT_HE_OPERATION, ie, in cfg80211_get_ies_channel_number()
1845 tmp = cfg80211_find_elem(WLAN_EID_S1G_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
1852 tmp = cfg80211_find_elem(WLAN_EID_DS_PARAMS, ie, ielen); in cfg80211_get_ies_channel_number()
1856 tmp = cfg80211_find_elem(WLAN_EID_HT_OPERATION, ie, ielen); in cfg80211_get_ies_channel_number()
1878 cfg80211_get_bss_channel(struct wiphy *wiphy, const u8 *ie, size_t ielen, in cfg80211_get_bss_channel() argument
1887 channel_number = cfg80211_get_ies_channel_number(ie, ielen, in cfg80211_get_bss_channel()
1947 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_single_bss_data() argument
1966 channel = cfg80211_get_bss_channel(wiphy, ie, ielen, data->chan, in cfg80211_inform_single_bss_data()
2004 memcpy(ies->data, ie, ielen); in cfg80211_inform_single_bss_data()
2058 *cfg80211_get_profile_continuation(const u8 *ie, size_t ielen, in cfg80211_get_profile_continuation() argument
2068 ielen - (mbssid_end - ie)); in cfg80211_get_profile_continuation()
2071 * If it is not the last subelement in current MBSSID IE or there isn't in cfg80211_get_profile_continuation()
2072 * a next MBSSID IE - profile is complete. in cfg80211_get_profile_continuation()
2100 size_t cfg80211_merge_profile(const u8 *ie, size_t ielen, in cfg80211_merge_profile() argument
2113 while ((next_mbssid = cfg80211_get_profile_continuation(ie, ielen, in cfg80211_merge_profile()
2133 u16 beacon_interval, const u8 *ie, in cfg80211_parse_mbssid_data() argument
2149 if (!cfg80211_find_elem(WLAN_EID_MULTIPLE_BSSID, ie, ielen)) in cfg80211_parse_mbssid_data()
2154 !cfg80211_find_ext_elem(WLAN_EID_EXT_HE_CAPABILITY, ie, ielen)) in cfg80211_parse_mbssid_data()
2165 for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, ie, ielen) { in cfg80211_parse_mbssid_data()
2188 profile_len = cfg80211_merge_profile(ie, ielen, in cfg80211_parse_mbssid_data()
2220 new_ie_len = cfg80211_gen_new_ie(ie, ielen, in cfg80211_parse_mbssid_data()
2253 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_bss_data() argument
2260 capability, beacon_interval, ie, in cfg80211_inform_bss_data()
2266 beacon_interval, ie, ielen, &non_tx_data, in cfg80211_inform_bss_data()
2280 const u8 *ie = mgmt->u.probe_resp.variable; in cfg80211_parse_mbssid_frame_data() local
2290 ie, ielen, non_tx_data, gfp); in cfg80211_parse_mbssid_frame_data()
2298 u8 *ie, *new_ie, *pos; in cfg80211_update_notlisted_nontrans() local
2310 ie = mgmt->u.probe_resp.variable; in cfg80211_update_notlisted_nontrans()
2313 trans_ssid = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); in cfg80211_update_notlisted_nontrans()
2317 mbssid = cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen); in cfg80211_update_notlisted_nontrans()
2333 /* generate new ie for nontrans BSS in cfg80211_update_notlisted_nontrans()
2335 * 2. skip MBSSID IE in cfg80211_update_notlisted_nontrans()
2357 memcpy(pos, mbssid + cpy_len, ((ie + ielen) - (mbssid + cpy_len))); in cfg80211_update_notlisted_nontrans()
2359 /* update ie */ in cfg80211_update_notlisted_nontrans()
2526 const u8 *ie = mgmt->u.probe_resp.variable; in cfg80211_inform_bss_frame_data() local
2540 !cfg80211_find_elem(WLAN_EID_MULTIPLE_BSSID, ie, ielen)) in cfg80211_inform_bss_frame_data()
2543 !cfg80211_find_ext_elem(WLAN_EID_EXT_HE_CAPABILITY, ie, ielen)) in cfg80211_inform_bss_frame_data()
2554 * in MBSSID IE in cfg80211_inform_bss_frame_data()
2910 * If needed, fragment the IEs buffer (at IE boundaries) into short in ieee80211_scan_add_ies()
2953 const u8 *ie; in ieee80211_bss() local
3035 ie = ies->data; in ieee80211_bss()
3039 if (ie[1] > rem - 2) in ieee80211_bss()
3042 switch (ie[0]) { in ieee80211_bss()
3046 iwe.u.data.length = ie[1]; in ieee80211_bss()
3051 (u8 *)ie + 2); in ieee80211_bss()
3058 iwe.u.data.length = ie[1]; in ieee80211_bss()
3063 (u8 *)ie + 2); in ieee80211_bss()
3069 if (ie[1] != sizeof(struct ieee80211_meshconf_ie)) in ieee80211_bss()
3071 cfg = (u8 *)ie + 2; in ieee80211_bss()
3144 for (i = 0; i < ie[1]; i++) { in ieee80211_bss()
3146 ((ie[i + 2] & 0x7f) * 500000); in ieee80211_bss()
3159 rem -= ie[1] + 2; in ieee80211_bss()
3160 ie += ie[1] + 2; in ieee80211_bss()