From: Jouni Malinen Date: Sun, 11 Apr 2010 16:53:31 +0000 (+0300) Subject: Add option for overriding scan result handler for a single scan X-Git-Tag: hostap_0_7_2~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64e58f51892d83a0d7c60b6dbb15a62a1d642afd;p=thirdparty%2Fhostap.git Add option for overriding scan result handler for a single scan --- diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index fa0dc9d9b..67a164afd 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -899,6 +899,13 @@ static void wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s, return; } + if (wpa_s->scan_res_handler) { + wpa_s->scan_res_handler(wpa_s, scan_res); + wpa_s->scan_res_handler = NULL; + wpa_scan_results_free(scan_res); + return; + } + /* * Don't post the results if this was the initial cached * and there were no results. diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h index 2ac882685..6465cb192 100644 --- a/wpa_supplicant/wpa_supplicant_i.h +++ b/wpa_supplicant/wpa_supplicant_i.h @@ -33,6 +33,7 @@ struct wpa_supplicant; struct ibss_rsn; struct scan_info; struct wpa_bss; +struct wpa_scan_results; /* * Forward declarations of private structures used within the ctrl_iface @@ -343,6 +344,8 @@ struct wpa_supplicant { */ #define WILDCARD_SSID_SCAN ((struct wpa_ssid *) 1) + void (*scan_res_handler)(struct wpa_supplicant *wpa_s, + struct wpa_scan_results *scan_res); struct dl_list bss; /* struct wpa_bss::list */ struct dl_list bss_id; /* struct wpa_bss::list_id */ size_t num_bss;