Remove src/drivers/scan_helpers.c

Most of this file was already moved into wpa_supplicant/scan.c and
we can remove the file completely by having couple of small helper
functions copied to the remaining users outside core wpa_supplicant
code.
This commit is contained in:
Jouni Malinen 2010-01-03 20:27:32 +02:00
parent 9ba9fa07cc
commit d1f9c410c1
10 changed files with 84 additions and 58 deletions

View file

@ -58,7 +58,6 @@ NEED_MD5=y
NEED_SHA1=y NEED_SHA1=y
OBJS += ../src/drivers/drivers.o OBJS += ../src/drivers/drivers.o
OBJS += ../src/drivers/scan_helpers.o
CFLAGS += -DHOSTAPD CFLAGS += -DHOSTAPD
ifdef CONFIG_WPA_TRACE ifdef CONFIG_WPA_TRACE

View file

@ -406,6 +406,20 @@ static int ieee80211n_check_40mhz_2g4(struct hostapd_iface *iface,
} }
static void wpa_scan_results_free(struct wpa_scan_results *res)
{
size_t i;
if (res == NULL)
return;
for (i = 0; i < res->num; i++)
os_free(res->res[i]);
os_free(res->res);
os_free(res);
}
static void ieee80211n_check_scan(struct hostapd_iface *iface) static void ieee80211n_check_scan(struct hostapd_iface *iface)
{ {
struct wpa_scan_results *scan_res; struct wpa_scan_results *scan_res;

View file

@ -2271,9 +2271,6 @@ union wpa_event_data {
void wpa_supplicant_event(void *ctx, enum wpa_event_type event, void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
union wpa_event_data *data); union wpa_event_data *data);
const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie);
void wpa_scan_results_free(struct wpa_scan_results *res);
/* /*
* The following inline functions are provided for convenience to simplify * The following inline functions are provided for convenience to simplify

View file

@ -792,6 +792,25 @@ static int wpa_driver_ndis_scan(void *priv,
} }
static const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
{
const u8 *end, *pos;
pos = (const u8 *) (res + 1);
end = pos + res->ie_len;
while (pos + 1 < end) {
if (pos + 2 + pos[1] > end)
break;
if (pos[0] == ie)
return pos;
pos += 2 + pos[1];
}
return NULL;
}
static struct wpa_scan_res * wpa_driver_ndis_add_scan_ssid( static struct wpa_scan_res * wpa_driver_ndis_add_scan_ssid(
struct wpa_scan_res *r, NDIS_802_11_SSID *ssid) struct wpa_scan_res *r, NDIS_802_11_SSID *ssid)
{ {

View file

@ -1682,6 +1682,20 @@ static void wpa_driver_nl80211_check_bss_status(
} }
static void wpa_scan_results_free(struct wpa_scan_results *res)
{
size_t i;
if (res == NULL)
return;
for (i = 0; i < res->num; i++)
os_free(res->res[i]);
os_free(res->res);
os_free(res);
}
/** /**
* wpa_driver_nl80211_get_scan_results - Fetch the latest scan results * wpa_driver_nl80211_get_scan_results - Fetch the latest scan results
* @priv: Pointer to private wext data from wpa_driver_nl80211_init() * @priv: Pointer to private wext data from wpa_driver_nl80211_init()

View file

@ -1,52 +0,0 @@
/*
* WPA Supplicant - Helper functions for scan result processing
* Copyright (c) 2007-2008, Jouni Malinen <j@w1.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/
#include "includes.h"
#include "common.h"
#include "drivers/driver.h"
#include "common/ieee802_11_defs.h"
const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
{
const u8 *end, *pos;
pos = (const u8 *) (res + 1);
end = pos + res->ie_len;
while (pos + 1 < end) {
if (pos + 2 + pos[1] > end)
break;
if (pos[0] == ie)
return pos;
pos += 2 + pos[1];
}
return NULL;
}
void wpa_scan_results_free(struct wpa_scan_results *res)
{
size_t i;
if (res == NULL)
return;
for (i = 0; i < res->num; i++)
os_free(res->res[i]);
os_free(res->res);
os_free(res);
}

View file

@ -1164,7 +1164,6 @@ ifdef CONFIG_FIPS
CFLAGS += -DCONFIG_FIPS CFLAGS += -DCONFIG_FIPS
endif endif
OBJS += ../src/drivers/scan_helpers.o
OBJS += $(SHA1OBJS) $(DESOBJS) OBJS += $(SHA1OBJS) $(DESOBJS)
OBJS_p += $(SHA1OBJS) OBJS_p += $(SHA1OBJS)
@ -1197,7 +1196,7 @@ OBJS_t2 := $(OBJS) $(OBJS_l2) preauth_test.o
OBJS += $(CONFIG_MAIN).o OBJS += $(CONFIG_MAIN).o
ifdef CONFIG_PRIVSEP ifdef CONFIG_PRIVSEP
OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o ../src/drivers/scan_helpers.o OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o
OBJS_priv += $(OBJS_l2) OBJS_priv += $(OBJS_l2)
OBJS_priv += ../src/utils/os_$(CONFIG_OS).o OBJS_priv += ../src/utils/os_$(CONFIG_OS).o
OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o

View file

@ -20,6 +20,7 @@
#include "drivers/driver.h" #include "drivers/driver.h"
#include "wpa_supplicant_i.h" #include "wpa_supplicant_i.h"
#include "notify.h" #include "notify.h"
#include "scan.h"
#include "bss.h" #include "bss.h"

View file

@ -460,6 +460,25 @@ static int wpa_scan_get_max_rate(const struct wpa_scan_res *res)
} }
const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
{
const u8 *end, *pos;
pos = (const u8 *) (res + 1);
end = pos + res->ie_len;
while (pos + 1 < end) {
if (pos + 2 + pos[1] > end)
break;
if (pos[0] == ie)
return pos;
pos += 2 + pos[1];
}
return NULL;
}
const u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res, const u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res,
u32 vendor_type) u32 vendor_type)
{ {
@ -610,3 +629,17 @@ int wpa_supplicant_update_scan_results(struct wpa_supplicant *wpa_s)
return 0; return 0;
} }
void wpa_scan_results_free(struct wpa_scan_results *res)
{
size_t i;
if (res == NULL)
return;
for (i = 0; i < res->num; i++)
os_free(res->res[i]);
os_free(res->res);
os_free(res);
}

View file

@ -27,9 +27,11 @@ struct wpa_scan_results *
wpa_supplicant_get_scan_results(struct wpa_supplicant *wpa_s, wpa_supplicant_get_scan_results(struct wpa_supplicant *wpa_s,
struct scan_info *info, int new_scan); struct scan_info *info, int new_scan);
int wpa_supplicant_update_scan_results(struct wpa_supplicant *wpa_s); int wpa_supplicant_update_scan_results(struct wpa_supplicant *wpa_s);
const u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie);
const u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res, const u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res,
u32 vendor_type); u32 vendor_type);
struct wpabuf * wpa_scan_get_vendor_ie_multi(const struct wpa_scan_res *res, struct wpabuf * wpa_scan_get_vendor_ie_multi(const struct wpa_scan_res *res,
u32 vendor_type); u32 vendor_type);
void wpa_scan_results_free(struct wpa_scan_results *res);
#endif /* SCAN_H */ #endif /* SCAN_H */