Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 May 2005 22:44:06 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 77023 for review
Message-ID:  <200505152244.j4FMi6XJ033495@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=77023

Change 77023 by sam@sam_laptop on 2005/05/15 22:43:46

	bg scan stuff; may want to change names

Affected files ...

.. //depot/projects/vap/sbin/ifconfig/Makefile#2 edit
.. //depot/projects/vap/sbin/ifconfig/ifieee80211.c#3 edit

Differences ...

==== //depot/projects/vap/sbin/ifconfig/Makefile#2 (text+ko) ====

@@ -24,7 +24,7 @@
 SRCS+=	ifieee80211.c		# SIOC[GS]IEEE80211 support
 
 SRCS+=	ifcarp.c		# SIOC[GS]VH support
-SRCS+=	ifpfsync.c		# pfsync(4) support
+#SRCS+=	ifpfsync.c		# pfsync(4) support
 
 .if !defined(RELEASE_CRUNCH)
 SRCS+=	af_ipx.c		# IPX support

==== //depot/projects/vap/sbin/ifconfig/ifieee80211.c#3 (text+ko) ====

@@ -422,6 +422,12 @@
 }
 
 static void
+set80211bgscan(const char *val, int d, int s, const struct afswtch *rafp)
+{
+	set80211(s, IEEE80211_IOC_BGSCAN, d, 0, NULL);
+}
+
+static void
 set80211chanlist(const char *val, int d, int s, const struct afswtch *rafp)
 {
 	struct ieee80211req_chanlist chanlist;
@@ -592,6 +598,18 @@
 	set80211(s, IEEE80211_IOC_BEACON_INTERVAL, atoi(val), 0, NULL);
 }
 
+static
+DECL_CMD_FUNC(set80211bgscanidle, val, d)
+{
+	set80211(s, IEEE80211_IOC_BGSCAN_IDLE, atoi(val), 0, NULL);
+}
+
+static
+DECL_CMD_FUNC(set80211bgscanintvl, val, d)
+{
+	set80211(s, IEEE80211_IOC_BGSCAN_INTERVAL, atoi(val), 0, NULL);
+}
+
 static void
 set80211macmac(int s, int op, const char *val)
 {
@@ -1339,7 +1357,7 @@
 {
 	static const uint8_t zerobssid[IEEE80211_ADDR_LEN];
 	enum ieee80211_opmode opmode = get80211opmode(s);
-	int i, num, wpa, wme;
+	int i, num, wpa, wme, bgscan;
 	struct ieee80211req ireq;
 	u_int8_t data[32];
 	const struct ieee80211_channel *c;
@@ -1642,6 +1660,26 @@
 				}
 			}
 		}
+		ireq.i_type = IEEE80211_IOC_BGSCAN;
+		if (ioctl(s, SIOCG80211, &ireq) != -1) {
+			bgscan = ireq.i_val;
+			if (!bgscan)
+				LINE_CHECK("%c-bgscan", spacer);
+			else if (verbose)
+				LINE_CHECK("%cbgscan", spacer);
+			if (bgscan || verbose) {
+				ireq.i_type = IEEE80211_IOC_BGSCAN_IDLE;
+				if (ioctl(s, SIOCG80211, &ireq) != -1)
+					LINE_CHECK("%cbgscanidle %u",
+						spacer, ireq.i_val / 1000);
+			}
+			if (bgscan || verbose) {
+				ireq.i_type = IEEE80211_IOC_BGSCAN_INTERVAL;
+				if (ioctl(s, SIOCG80211, &ireq) != -1)
+					LINE_CHECK("%cbgscanintvl %u",
+						spacer, ireq.i_val);
+			}
+		}
 	}
 	ireq.i_type = IEEE80211_IOC_BEACON_INTERVAL;
 	if (ioctl(s, SIOCG80211, &ireq) != -1) {
@@ -1863,6 +1901,10 @@
 	DEF_CMD("-turbo",	0,	set80211turbo),
 	DEF_CMD_ARG("wlandev",		set80211wlandev),
 	DEF_CMD_ARG("wlanmode",		set80211wlanmode),
+	DEF_CMD("bgscan",	1,	set80211bgscan),
+	DEF_CMD("-bgscan",	0,	set80211bgscan),
+	DEF_CMD_ARG("bgscanidle",	set80211bgscanidle),
+	DEF_CMD_ARG("bgscanintvl",	set80211bgscanintvl),
 };
 static struct afswtch af_ieee80211 = {
 	.af_name	= "af_ieee80211",



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505152244.j4FMi6XJ033495>