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