Browse Source

bgscan: Provide scan results to the notify_scan handler

Jouni Malinen 14 years ago
parent
commit
c2594c3677
4 changed files with 12 additions and 7 deletions
  1. 4 2
      wpa_supplicant/bgscan.c
  2. 5 3
      wpa_supplicant/bgscan.h
  3. 2 1
      wpa_supplicant/bgscan_simple.c
  4. 1 1
      wpa_supplicant/events.c

+ 4 - 2
wpa_supplicant/bgscan.c

@@ -88,10 +88,12 @@ void bgscan_deinit(struct wpa_supplicant *wpa_s)
 }
 
 
-int bgscan_notify_scan(struct wpa_supplicant *wpa_s)
+int bgscan_notify_scan(struct wpa_supplicant *wpa_s,
+		       struct wpa_scan_results *scan_res)
 {
 	if (wpa_s->bgscan && wpa_s->bgscan_priv)
-		return wpa_s->bgscan->notify_scan(wpa_s->bgscan_priv);
+		return wpa_s->bgscan->notify_scan(wpa_s->bgscan_priv,
+						  scan_res);
 	return 0;
 }
 

+ 5 - 3
wpa_supplicant/bgscan.h

@@ -25,7 +25,7 @@ struct bgscan_ops {
 		       const struct wpa_ssid *ssid);
 	void (*deinit)(void *priv);
 
-	int (*notify_scan)(void *priv);
+	int (*notify_scan)(void *priv, struct wpa_scan_results *scan_res);
 	void (*notify_beacon_loss)(void *priv);
 	void (*notify_signal_change)(void *priv, int above);
 };
@@ -34,7 +34,8 @@ struct bgscan_ops {
 
 int bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
 void bgscan_deinit(struct wpa_supplicant *wpa_s);
-int bgscan_notify_scan(struct wpa_supplicant *wpa_s);
+int bgscan_notify_scan(struct wpa_supplicant *wpa_s,
+		       struct wpa_scan_results *scan_res);
 void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s);
 void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int above);
 
@@ -50,7 +51,8 @@ static inline void bgscan_deinit(struct wpa_supplicant *wpa_s)
 {
 }
 
-static inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s)
+static inline int bgscan_notify_scan(struct wpa_supplicant *wpa_s,
+				     struct wpa_scan_results *scan_res)
 {
 	return 0;
 }

+ 2 - 1
wpa_supplicant/bgscan_simple.c

@@ -138,7 +138,8 @@ static void bgscan_simple_deinit(void *priv)
 }
 
 
-static int bgscan_simple_notify_scan(void *priv)
+static int bgscan_simple_notify_scan(void *priv,
+				     struct wpa_scan_results *scan_res)
 {
 	struct bgscan_simple_data *data = priv;
 

+ 1 - 1
wpa_supplicant/events.c

@@ -938,7 +938,7 @@ static void wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,
 		return;
 	}
 
-	if (bgscan_notify_scan(wpa_s) == 1) {
+	if (bgscan_notify_scan(wpa_s, scan_res) == 1) {
 		wpa_scan_results_free(scan_res);
 		return;
 	}