PERFORCE change 136880 for review

Sam Leffler sam at FreeBSD.org
Wed Mar 5 02:02:23 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=136880

Change 136880 by sam at sam_ebb on 2008/03/05 02:02:11

	add IEEE80211_IOC_SCAN_CHECK flag to IEEE80211_IOC_SCAN_REQ so
	user apps can check the scan cache before kicking off a scan

Affected files ...

.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#35 edit
.. //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#12 edit

Differences ...

==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.c#35 (text+ko) ====

@@ -2284,8 +2284,8 @@
 #define	IEEE80211_IOC_SCAN_FLAGS \
 	(IEEE80211_IOC_SCAN_NOPICK | IEEE80211_IOC_SCAN_ACTIVE | \
 	 IEEE80211_IOC_SCAN_PICK1ST | IEEE80211_IOC_SCAN_BGSCAN | \
-	 IEEE80211_IOC_SCAN_ONCE | IEEE80211_IOC_SCAN_FLUSH | \
-	 IEEE80211_IOC_SCAN_NOBCAST)
+	 IEEE80211_IOC_SCAN_ONCE | IEEE80211_IOC_SCAN_NOBCAST | \
+	 IEEE80211_IOC_SCAN_FLUSH | IEEE80211_IOC_SCAN_CHECK)
 	struct ieee80211com *ic = vap->iv_ic;
 	struct ieee80211_scan_req sr;		/* XXX off stack? */
 	int error, i;
@@ -2372,11 +2372,19 @@
 		vap->iv_flags_ext &= ~IEEE80211_FEXT_SCANREQ;
 		IEEE80211_UNLOCK(ic);
 		/* XXX neeed error return codes */
-		(void) ieee80211_start_scan(vap, sr.sr_flags,
-		    sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell,
-		    sr.sr_nssid,
-		    /* NB: cheat, we assume the structures are compatible */
-		    (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]);
+		if (sr.sr_flags & IEEE80211_IOC_SCAN_CHECK) {
+			(void) ieee80211_check_scan(vap, sr.sr_flags,
+			    sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell,
+			    sr.sr_nssid,
+			    /* NB: cheat, we assume structures are compatible */
+			    (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]);
+		} else {
+			(void) ieee80211_start_scan(vap, sr.sr_flags,
+			    sr.sr_duration, sr.sr_mindwell, sr.sr_maxdwell,
+			    sr.sr_nssid,
+			    /* NB: cheat, we assume structures are compatible */
+			    (const struct ieee80211_scan_ssid *) &sr.sr_ssid[0]);
+		}
 	}
 	return error;
 #undef IEEE80211_IOC_SCAN_FLAGS

==== //depot/projects/vap/sys/net80211/ieee80211_ioctl.h#12 (text+ko) ====

@@ -637,6 +637,7 @@
 #define	IEEE80211_IOC_SCAN_ONCE		0x00010	/* do one complete pass */
 #define	IEEE80211_IOC_SCAN_NOBCAST	0x00020	/* don't send bcast probe req */
 #define	IEEE80211_IOC_SCAN_FLUSH	0x10000	/* flush scan cache first */
+#define	IEEE80211_IOC_SCAN_CHECK	0x20000	/* check scan cache first */
 	u_int		sr_duration;		/* duration (ms) */
 #define	IEEE80211_IOC_SCAN_DURATION_MIN	1
 #define	IEEE80211_IOC_SCAN_DURATION_MAX	0x7fffffff


More information about the p4-projects mailing list