Date: Wed, 5 Mar 2008 02:02:22 GMT From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 136880 for review Message-ID: <200803050202.m2522MnR082339@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=136880 Change 136880 by sam@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803050202.m2522MnR082339>