Lines Matching full:ie
271 static size_t cfg80211_gen_new_ie(const u8 *ie, size_t ielen, in cfg80211_gen_new_ie() argument
281 * mark an ie after it is processed. in cfg80211_gen_new_ie()
301 /* go through IEs in ie (skip SSID) and subelement, in cfg80211_gen_new_ie()
304 tmp_old = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); in cfg80211_gen_new_ie()
305 tmp_old = (tmp_old) ? tmp_old + tmp_old[1] + 2 : ie; in cfg80211_gen_new_ie()
307 while (tmp_old + tmp_old[1] + 2 - ie <= ielen) { in cfg80211_gen_new_ie()
323 /* ie in old ie but not in subelement */ in cfg80211_gen_new_ie()
330 /* ie in transmitting ie also in subelement, in cfg80211_gen_new_ie()
331 * copy from subelement and flag the ie in subelement in cfg80211_gen_new_ie()
334 * For vendor ie, compare OUI + type + subType to in cfg80211_gen_new_ie()
335 * determine if they are the same ie. in cfg80211_gen_new_ie()
339 /* same vendor ie, copy from in cfg80211_gen_new_ie()
350 /* copy ie from subelement into new ie */ in cfg80211_gen_new_ie()
357 if (tmp_old + tmp_old[1] + 2 - ie == ielen) in cfg80211_gen_new_ie()
363 /* go through subelement again to check if there is any ie not in cfg80211_gen_new_ie()
364 * copied to new ie, skip ssid, capability, bssid-index ie in cfg80211_gen_new_ie()
605 /* RNR IE may contain more than one NEIGHBOR_AP_INFO */ in cfg80211_parse_colocated_ap()
1070 * available, ie. struct wiphy::max_sched_scan_reqs limit is not yet reached.
1334 /* sort missing IE before (left of) present IE */ in cmp_bss()
1526 const u8 *ie; in cfg80211_combine_bsses() local
1535 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1536 if (!ie) { in cfg80211_combine_bsses()
1541 ssidlen = ie[1]; in cfg80211_combine_bsses()
1543 fold |= ie[2 + i]; in cfg80211_combine_bsses()
1570 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1571 if (!ie) in cfg80211_combine_bsses()
1573 if (ssidlen && ie[1] != ssidlen) in cfg80211_combine_bsses()
1806 cfg80211_get_bss_channel(struct wiphy *wiphy, const u8 *ie, size_t ielen, in cfg80211_get_bss_channel() argument
1816 tmp = cfg80211_find_ie(WLAN_EID_S1G_OPERATION, ie, ielen); in cfg80211_get_bss_channel()
1823 tmp = cfg80211_find_ie(WLAN_EID_DS_PARAMS, ie, ielen); in cfg80211_get_bss_channel()
1827 tmp = cfg80211_find_ie(WLAN_EID_HT_OPERATION, ie, ielen); in cfg80211_get_bss_channel()
1883 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_single_bss_data() argument
1902 channel = cfg80211_get_bss_channel(wiphy, ie, ielen, data->chan, in cfg80211_inform_single_bss_data()
1940 memcpy(ies->data, ie, ielen); in cfg80211_inform_single_bss_data()
1987 *cfg80211_get_profile_continuation(const u8 *ie, size_t ielen, in cfg80211_get_profile_continuation() argument
1997 ielen - (mbssid_end - ie)); in cfg80211_get_profile_continuation()
2000 * If it is not the last subelement in current MBSSID IE or there isn't in cfg80211_get_profile_continuation()
2001 * a next MBSSID IE - profile is complete. in cfg80211_get_profile_continuation()
2029 size_t cfg80211_merge_profile(const u8 *ie, size_t ielen, in cfg80211_merge_profile() argument
2042 while ((next_mbssid = cfg80211_get_profile_continuation(ie, ielen, in cfg80211_merge_profile()
2062 u16 beacon_interval, const u8 *ie, in cfg80211_parse_mbssid_data() argument
2078 if (!cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen)) in cfg80211_parse_mbssid_data()
2083 !cfg80211_find_ext_ie(WLAN_EID_EXT_HE_CAPABILITY, ie, ielen)) in cfg80211_parse_mbssid_data()
2094 for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, ie, ielen) { in cfg80211_parse_mbssid_data()
2115 profile_len = cfg80211_merge_profile(ie, ielen, in cfg80211_parse_mbssid_data()
2147 new_ie_len = cfg80211_gen_new_ie(ie, ielen, in cfg80211_parse_mbssid_data()
2180 u16 beacon_interval, const u8 *ie, size_t ielen, in cfg80211_inform_bss_data() argument
2187 capability, beacon_interval, ie, in cfg80211_inform_bss_data()
2193 beacon_interval, ie, ielen, &non_tx_data, in cfg80211_inform_bss_data()
2207 const u8 *ie = mgmt->u.probe_resp.variable; in cfg80211_parse_mbssid_frame_data() local
2217 ie, ielen, non_tx_data, gfp); in cfg80211_parse_mbssid_frame_data()
2225 u8 *ie, *new_ie, *pos; in cfg80211_update_notlisted_nontrans() local
2236 ie = mgmt->u.probe_resp.variable; in cfg80211_update_notlisted_nontrans()
2239 trans_ssid = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); in cfg80211_update_notlisted_nontrans()
2243 mbssid = cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen); in cfg80211_update_notlisted_nontrans()
2259 /* generate new ie for nontrans BSS in cfg80211_update_notlisted_nontrans()
2261 * 2. skip MBSSID IE in cfg80211_update_notlisted_nontrans()
2283 memcpy(pos, mbssid + cpy_len, ((ie + ielen) - (mbssid + cpy_len))); in cfg80211_update_notlisted_nontrans()
2285 /* update ie */ in cfg80211_update_notlisted_nontrans()
2441 const u8 *ie = mgmt->u.probe_resp.variable; in cfg80211_inform_bss_frame_data() local
2450 !cfg80211_find_ie(WLAN_EID_MULTIPLE_BSSID, ie, ielen)) in cfg80211_inform_bss_frame_data()
2453 !cfg80211_find_ext_ie(WLAN_EID_EXT_HE_CAPABILITY, ie, ielen)) in cfg80211_inform_bss_frame_data()
2464 * in MBSSID IE in cfg80211_inform_bss_frame_data()
2822 * If needed, fragment the IEs buffer (at IE boundaries) into short in ieee80211_scan_add_ies()
2865 const u8 *ie; in ieee80211_bss() local
2947 ie = ies->data; in ieee80211_bss()
2951 if (ie[1] > rem - 2) in ieee80211_bss()
2954 switch (ie[0]) { in ieee80211_bss()
2958 iwe.u.data.length = ie[1]; in ieee80211_bss()
2963 (u8 *)ie + 2); in ieee80211_bss()
2970 iwe.u.data.length = ie[1]; in ieee80211_bss()
2975 (u8 *)ie + 2); in ieee80211_bss()
2981 if (ie[1] != sizeof(struct ieee80211_meshconf_ie)) in ieee80211_bss()
2983 cfg = (u8 *)ie + 2; in ieee80211_bss()
3056 for (i = 0; i < ie[1]; i++) { in ieee80211_bss()
3058 ((ie[i + 2] & 0x7f) * 500000); in ieee80211_bss()
3071 rem -= ie[1] + 2; in ieee80211_bss()
3072 ie += ie[1] + 2; in ieee80211_bss()