From owner-p4-projects@FreeBSD.ORG Wed Mar 5 02:02:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEEB7106566C; Wed, 5 Mar 2008 02:02:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE9DE1065670 for ; Wed, 5 Mar 2008 02:02:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9A1478FC20 for ; Wed, 5 Mar 2008 02:02:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m2522MOO082341 for ; Wed, 5 Mar 2008 02:02:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m2522MnR082339 for perforce@freebsd.org; Wed, 5 Mar 2008 02:02:22 GMT (envelope-from sam@freebsd.org) Date: Wed, 5 Mar 2008 02:02:22 GMT Message-Id: <200803050202.m2522MnR082339@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 136880 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Mar 2008 02:02:23 -0000 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