+static void notify_bss_changes(struct wpa_supplicant *wpa_s,
+ u8 (*prev_bssids)[ETH_ALEN], int prev_num,
+ struct wpa_scan_results *new)
+{
+ int new_num, i, j;
+
+ new_num = new != NULL ? new->num : 0;
+ if (prev_bssids == NULL)
+ prev_num = 0;
+
+ for (i = 0; i < prev_num; i++) {
+ for (j = 0; j < new_num; j++) {
+ if (!os_memcmp(prev_bssids[i], new->res[j]->bssid,
+ ETH_ALEN))
+ break;
+ }
+ if (j == new_num)
+ wpas_notify_bss_removed(wpa_s, prev_bssids[i]);
+ }
+ for (i = 0; i < new_num; i++) {
+ for (j = 0; j < prev_num; j++) {
+ if (!os_memcmp(new->res[i]->bssid, prev_bssids[j],
+ ETH_ALEN))
+ break;
+ }
+ if (j == prev_num)
+ wpas_notify_bss_added(wpa_s, new->res[i]->bssid);
+ }
+}
+
+