summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/tools/ath/Makefile50
-rw-r--r--tools/tools/ath/athdebug/Makefile7
-rw-r--r--tools/tools/ath/athdebug/athdebug.c (renamed from tools/tools/ath/athdebug.c)0
-rw-r--r--tools/tools/ath/athstats/Makefile7
-rw-r--r--tools/tools/ath/athstats/athstats.c (renamed from tools/tools/ath/athstats.c)0
-rw-r--r--tools/tools/net80211/wlandebug/Makefile7
-rw-r--r--tools/tools/net80211/wlandebug/wlandebug.c (renamed from tools/tools/ath/80211debug.c)2
-rw-r--r--tools/tools/net80211/wlanstats/Makefile7
-rw-r--r--tools/tools/net80211/wlanstats/wlanstats.c (renamed from tools/tools/ath/80211stats.c)2
-rw-r--r--tools/tools/net80211/wlanwatch/Makefile7
-rw-r--r--tools/tools/net80211/wlanwatch/wlanwatch.c (renamed from tools/tools/ath/80211watch.c)0
-rw-r--r--usr.sbin/wlandebug/Makefile7
-rw-r--r--usr.sbin/wlandebug/wlandebug.c237
13 files changed, 283 insertions, 50 deletions
diff --git a/tools/tools/ath/Makefile b/tools/tools/ath/Makefile
index 899ef47..34c732a 100644
--- a/tools/tools/ath/Makefile
+++ b/tools/tools/ath/Makefile
@@ -1,51 +1,5 @@
# $FreeBSD$
-#
-# Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-BINDIR= /usr/local/bin
-ALL= athstats 80211stats 80211watch athdebug 80211debug
+SUBDIR= athstats athdebug
-all: ${ALL}
-
-athstats: athstats.c
- ${CC} -o athstats athstats.c
-athdebug: athdebug.c
- ${CC} -o athdebug athdebug.c
-80211stats: 80211stats.c
- ${CC} -o 80211stats 80211stats.c
-80211watch: 80211watch.c
- ${CC} -o 80211watch 80211watch.c
-80211debug: 80211debug.c
- ${CC} -o 80211debug 80211debug.c
-install: ${ALL}
- install athstats ${DESTDIR}${BINDIR}
- install 80211stats ${DESTDIR}${BINDIR}
- install 80211watch ${DESTDIR}${BINDIR}
- install 80211debug ${DESTDIR}${BINDIR}
- install athdebug ${DESTDIR}${BINDIR}
-
-clean:
- rm -f ${ALL} core a.out
+.include <bsd.subdir.mk>
diff --git a/tools/tools/ath/athdebug/Makefile b/tools/tools/ath/athdebug/Makefile
new file mode 100644
index 0000000..ad46020
--- /dev/null
+++ b/tools/tools/ath/athdebug/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = athdebug
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/tools/tools/ath/athdebug.c b/tools/tools/ath/athdebug/athdebug.c
index 06591cd..06591cd 100644
--- a/tools/tools/ath/athdebug.c
+++ b/tools/tools/ath/athdebug/athdebug.c
diff --git a/tools/tools/ath/athstats/Makefile b/tools/tools/ath/athstats/Makefile
new file mode 100644
index 0000000..df04b5d
--- /dev/null
+++ b/tools/tools/ath/athstats/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = athstats
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/tools/tools/ath/athstats.c b/tools/tools/ath/athstats/athstats.c
index ed3a35b..ed3a35b 100644
--- a/tools/tools/ath/athstats.c
+++ b/tools/tools/ath/athstats/athstats.c
diff --git a/tools/tools/net80211/wlandebug/Makefile b/tools/tools/net80211/wlandebug/Makefile
new file mode 100644
index 0000000..26e6e51
--- /dev/null
+++ b/tools/tools/net80211/wlandebug/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = wlandebug
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/tools/tools/ath/80211debug.c b/tools/tools/net80211/wlandebug/wlandebug.c
index 1c65eaa..4d1bfd0 100644
--- a/tools/tools/ath/80211debug.c
+++ b/tools/tools/net80211/wlandebug/wlandebug.c
@@ -37,7 +37,7 @@
*/
/*
- * 80211debug [-i interface] flags
+ * wlandebug [-i interface] flags
* (default interface is wlan.0).
*/
#include <sys/types.h>
diff --git a/tools/tools/net80211/wlanstats/Makefile b/tools/tools/net80211/wlanstats/Makefile
new file mode 100644
index 0000000..3e2f726
--- /dev/null
+++ b/tools/tools/net80211/wlanstats/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = wlanstats
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/tools/tools/ath/80211stats.c b/tools/tools/net80211/wlanstats/wlanstats.c
index 4917b16..133a2b5 100644
--- a/tools/tools/ath/80211stats.c
+++ b/tools/tools/net80211/wlanstats/wlanstats.c
@@ -37,7 +37,7 @@
*/
/*
- * 80211stats [-i interface]
+ * wlanstats [-i interface]
* (default interface is ath0).
*/
#include <sys/types.h>
diff --git a/tools/tools/net80211/wlanwatch/Makefile b/tools/tools/net80211/wlanwatch/Makefile
new file mode 100644
index 0000000..e1f8dfe
--- /dev/null
+++ b/tools/tools/net80211/wlanwatch/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = wlanwatch
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/tools/tools/ath/80211watch.c b/tools/tools/net80211/wlanwatch/wlanwatch.c
index c169f99..c169f99 100644
--- a/tools/tools/ath/80211watch.c
+++ b/tools/tools/net80211/wlanwatch/wlanwatch.c
diff --git a/usr.sbin/wlandebug/Makefile b/usr.sbin/wlandebug/Makefile
new file mode 100644
index 0000000..26e6e51
--- /dev/null
+++ b/usr.sbin/wlandebug/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+PROG = wlandebug
+BINDIR = /usr/local/bin
+NO_MAN = noman
+
+.include <bsd.prog.mk>
diff --git a/usr.sbin/wlandebug/wlandebug.c b/usr.sbin/wlandebug/wlandebug.c
new file mode 100644
index 0000000..4d1bfd0
--- /dev/null
+++ b/usr.sbin/wlandebug/wlandebug.c
@@ -0,0 +1,237 @@
+/*-
+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
+ * redistribution must be conditioned upon including a substantially
+ * similar Disclaimer requirement for further binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
+ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGES.
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * wlandebug [-i interface] flags
+ * (default interface is wlan.0).
+ */
+#include <sys/types.h>
+
+#include <stdio.h>
+#include <ctype.h>
+#include <getopt.h>
+#include <string.h>
+
+#define N(a) (sizeof(a)/sizeof(a[0]))
+
+const char *progname;
+
+#define IEEE80211_MSG_DEBUG 0x40000000 /* IFF_DEBUG equivalent */
+#define IEEE80211_MSG_DUMPPKTS 0x20000000 /* IFF_LINK2 equivalant */
+#define IEEE80211_MSG_CRYPTO 0x10000000 /* crypto work */
+#define IEEE80211_MSG_INPUT 0x08000000 /* input handling */
+#define IEEE80211_MSG_XRATE 0x04000000 /* rate set handling */
+#define IEEE80211_MSG_ELEMID 0x02000000 /* element id parsing */
+#define IEEE80211_MSG_NODE 0x01000000 /* node handling */
+#define IEEE80211_MSG_ASSOC 0x00800000 /* association handling */
+#define IEEE80211_MSG_AUTH 0x00400000 /* authentication handling */
+#define IEEE80211_MSG_SCAN 0x00200000 /* scanning */
+#define IEEE80211_MSG_OUTPUT 0x00100000 /* output handling */
+#define IEEE80211_MSG_STATE 0x00080000 /* state machine */
+#define IEEE80211_MSG_POWER 0x00040000 /* power save handling */
+#define IEEE80211_MSG_DOT1X 0x00020000 /* 802.1x authenticator */
+#define IEEE80211_MSG_DOT1XSM 0x00010000 /* 802.1x state machine */
+#define IEEE80211_MSG_RADIUS 0x00008000 /* 802.1x radius client */
+#define IEEE80211_MSG_RADDUMP 0x00004000 /* dump 802.1x radius packets */
+#define IEEE80211_MSG_RADKEYS 0x00002000 /* dump 802.1x keys */
+#define IEEE80211_MSG_WPA 0x00001000 /* WPA/RSN protocol */
+#define IEEE80211_MSG_ACL 0x00000800 /* ACL handling */
+#define IEEE80211_MSG_WME 0x00000400 /* WME protocol */
+#define IEEE80211_MSG_SUPERG 0x00000200 /* Atheros SuperG protocol */
+#define IEEE80211_MSG_DOTH 0x00000100 /* 802.11h support */
+#define IEEE80211_MSG_INACT 0x00000080 /* inactivity handling */
+#define IEEE80211_MSG_ROAM 0x00000040 /* sta-mode roaming */
+
+static struct {
+ const char *name;
+ u_int bit;
+} flags[] = {
+ { "debug", IEEE80211_MSG_DEBUG },
+ { "dumppkts", IEEE80211_MSG_DUMPPKTS },
+ { "crypto", IEEE80211_MSG_CRYPTO },
+ { "input", IEEE80211_MSG_INPUT },
+ { "xrate", IEEE80211_MSG_XRATE },
+ { "elemid", IEEE80211_MSG_ELEMID },
+ { "node", IEEE80211_MSG_NODE },
+ { "assoc", IEEE80211_MSG_ASSOC },
+ { "auth", IEEE80211_MSG_AUTH },
+ { "scan", IEEE80211_MSG_SCAN },
+ { "output", IEEE80211_MSG_OUTPUT },
+ { "state", IEEE80211_MSG_STATE },
+ { "power", IEEE80211_MSG_POWER },
+ { "dotx1", IEEE80211_MSG_DOT1X },
+ { "dot1xsm", IEEE80211_MSG_DOT1XSM },
+ { "radius", IEEE80211_MSG_RADIUS },
+ { "raddump", IEEE80211_MSG_RADDUMP },
+ { "radkeys", IEEE80211_MSG_RADKEYS },
+ { "wpa", IEEE80211_MSG_WPA },
+ { "acl", IEEE80211_MSG_ACL },
+ { "wme", IEEE80211_MSG_WME },
+ { "superg", IEEE80211_MSG_SUPERG },
+ { "doth", IEEE80211_MSG_DOTH },
+ { "inact", IEEE80211_MSG_INACT },
+ { "roam", IEEE80211_MSG_ROAM },
+};
+
+static u_int
+getflag(const char *name, int len)
+{
+ int i;
+
+ for (i = 0; i < N(flags); i++)
+ if (strncasecmp(flags[i].name, name, len) == 0)
+ return flags[i].bit;
+ return 0;
+}
+
+static const char *
+getflagname(u_int flag)
+{
+ int i;
+
+ for (i = 0; i < N(flags); i++)
+ if (flags[i].bit == flag)
+ return flags[i].name;
+ return "???";
+}
+
+static void
+usage(void)
+{
+ int i;
+
+ fprintf(stderr, "usage: %s [-i device] [flags]\n", progname);
+ fprintf(stderr, "where flags are:\n");
+ for (i = 0; i < N(flags); i++)
+ printf("%s\n", flags[i].name);
+ exit(-1);
+}
+
+int
+main(int argc, char *argv[])
+{
+ const char *ifname = "ath0";
+ const char *cp, *tp;
+ const char *sep;
+ int c, op, i, unit;
+ u_int32_t debug, ndebug;
+ size_t debuglen, parentlen;
+ char oid[256], parent[256];
+
+ progname = argv[0];
+ if (argc > 1) {
+ if (strcmp(argv[1], "-i") == 0) {
+ if (argc < 2)
+ errx(1, "missing interface name for -i option");
+ ifname = argv[2];
+ argc -= 2, argv += 2;
+ } else if (strcmp(argv[1], "-?") == 0)
+ usage();
+ }
+
+ for (unit = 0; unit < 10; unit++) {
+#ifdef __linux__
+ snprintf(oid, sizeof(oid), "net.wlan%d.%%parent", unit);
+#else
+ snprintf(oid, sizeof(oid), "net.wlan.%d.%%parent", unit);
+#endif
+ parentlen = sizeof(parent);
+ if (sysctlbyname(oid, parent, &parentlen, NULL, 0) >= 0 &&
+ strncmp(parent, ifname, parentlen) == 0)
+ break;
+ }
+ if (unit == 10)
+ errx(1, "%s: cannot locate wlan sysctl node.", ifname);
+#ifdef __linux__
+ snprintf(oid, sizeof(oid), "net.wlan%d.debug", unit);
+#else
+ snprintf(oid, sizeof(oid), "net.wlan.%d.debug", unit);
+#endif
+ debuglen = sizeof(debug);
+ if (sysctlbyname(oid, &debug, &debuglen, NULL, 0) < 0)
+ err(1, "sysctl-get(%s)", oid);
+ ndebug = debug;
+ for (; argc > 1; argc--, argv++) {
+ cp = argv[1];
+ do {
+ u_int bit;
+
+ if (*cp == '-') {
+ cp++;
+ op = -1;
+ } else if (*cp == '+') {
+ cp++;
+ op = 1;
+ } else
+ op = 0;
+ for (tp = cp; *tp != '\0' && *tp != '+' && *tp != '-';)
+ tp++;
+ bit = getflag(cp, tp-cp);
+ if (op < 0)
+ ndebug &= ~bit;
+ else if (op > 0)
+ ndebug |= bit;
+ else {
+ if (bit == 0) {
+ if (isdigit(*cp))
+ bit = strtoul(cp, NULL, 0);
+ else
+ errx(1, "unknown flag %.*s",
+ tp-cp, cp);
+ }
+ ndebug = bit;
+ }
+ } while (*(cp = tp) != '\0');
+ }
+ if (debug != ndebug) {
+ printf("%s: 0x%x => ", oid, debug);
+ if (sysctlbyname(oid, NULL, NULL, &ndebug, sizeof(ndebug)) < 0)
+ err(1, "sysctl-set(%s)", oid);
+ printf("0x%x", ndebug);
+ debug = ndebug;
+ } else
+ printf("%s: 0x%x", oid, debug);
+ sep = "<";
+ for (i = 0; i < N(flags); i++)
+ if (debug & flags[i].bit) {
+ printf("%s%s", sep, flags[i].name);
+ sep = ",";
+ }
+ printf("%s\n", *sep != '<' ? ">" : "");
+ return 0;
+}
OpenPOWER on IntegriCloud