BSS: Add wpa_bss_get_ie_ext() wrapper
This removes need from the callers to know the struct wpa_bss details for the location of the memory area for storing the IEs. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
dba4f7a545
commit
95edd81441
4 changed files with 19 additions and 4 deletions
|
@ -1143,6 +1143,21 @@ const u8 * wpa_bss_get_ie(const struct wpa_bss *bss, u8 ie)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wpa_bss_get_ie_ext - Fetch a specified extended IE from a BSS entry
|
||||||
|
* @bss: BSS table entry
|
||||||
|
* @ext: Information element extension identifier (WLAN_EID_EXT_*)
|
||||||
|
* Returns: Pointer to the information element (id field) or %NULL if not found
|
||||||
|
*
|
||||||
|
* This function returns the first matching information element in the BSS
|
||||||
|
* entry.
|
||||||
|
*/
|
||||||
|
const u8 * wpa_bss_get_ie_ext(const struct wpa_bss *bss, u8 ext)
|
||||||
|
{
|
||||||
|
return get_ie_ext((const u8 *) (bss + 1), bss->ie_len, ext);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wpa_bss_get_vendor_ie - Fetch a vendor information element from a BSS entry
|
* wpa_bss_get_vendor_ie - Fetch a vendor information element from a BSS entry
|
||||||
* @bss: BSS table entry
|
* @bss: BSS table entry
|
||||||
|
|
|
@ -137,6 +137,7 @@ struct wpa_bss * wpa_bss_get_id(struct wpa_supplicant *wpa_s, unsigned int id);
|
||||||
struct wpa_bss * wpa_bss_get_id_range(struct wpa_supplicant *wpa_s,
|
struct wpa_bss * wpa_bss_get_id_range(struct wpa_supplicant *wpa_s,
|
||||||
unsigned int idf, unsigned int idl);
|
unsigned int idf, unsigned int idl);
|
||||||
const u8 * wpa_bss_get_ie(const struct wpa_bss *bss, u8 ie);
|
const u8 * wpa_bss_get_ie(const struct wpa_bss *bss, u8 ie);
|
||||||
|
const u8 * wpa_bss_get_ie_ext(const struct wpa_bss *bss, u8 ext);
|
||||||
const u8 * wpa_bss_get_vendor_ie(const struct wpa_bss *bss, u32 vendor_type);
|
const u8 * wpa_bss_get_vendor_ie(const struct wpa_bss *bss, u32 vendor_type);
|
||||||
const u8 * wpa_bss_get_vendor_ie_beacon(const struct wpa_bss *bss,
|
const u8 * wpa_bss_get_vendor_ie_beacon(const struct wpa_bss *bss,
|
||||||
u32 vendor_type);
|
u32 vendor_type);
|
||||||
|
|
|
@ -3030,8 +3030,7 @@ static int wpa_supplicant_ctrl_iface_scan_result(
|
||||||
if (bss_is_dmg(bss)) {
|
if (bss_is_dmg(bss)) {
|
||||||
const char *s;
|
const char *s;
|
||||||
|
|
||||||
if (get_ie_ext((const u8 *) (bss + 1), bss->ie_len,
|
if (wpa_bss_get_ie_ext(bss, WLAN_EID_EXT_EDMG_OPERATION)) {
|
||||||
WLAN_EID_EXT_EDMG_OPERATION)) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "[EDMG]");
|
ret = os_snprintf(pos, end - pos, "[EDMG]");
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -3640,7 +3640,7 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bss && ssid->enable_edmg)
|
if (bss && ssid->enable_edmg)
|
||||||
edmg_ie_oper = get_ie_ext((const u8 *) (bss + 1), bss->ie_len,
|
edmg_ie_oper = wpa_bss_get_ie_ext(bss,
|
||||||
WLAN_EID_EXT_EDMG_OPERATION);
|
WLAN_EID_EXT_EDMG_OPERATION);
|
||||||
else
|
else
|
||||||
edmg_ie_oper = NULL;
|
edmg_ie_oper = NULL;
|
||||||
|
|
Loading…
Reference in a new issue