X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/9e0015224dd9496dcbeef5c6eaa5af7232ff7b9b..31a40f97ef54e10e2b3dc3cacb9cff436657c586:/package/madwifi/patches/102-multicall_binary.patch?ds=inline diff --git a/package/madwifi/patches/102-multicall_binary.patch b/package/madwifi/patches/102-multicall_binary.patch index 8f20e467b..887a462e9 100644 --- a/package/madwifi/patches/102-multicall_binary.patch +++ b/package/madwifi/patches/102-multicall_binary.patch @@ -1,667 +1,144 @@ -diff -ruN madwifi-ng-r1486-20060329/102-multicall_binary.patch madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch ---- madwifi-ng-r1486-20060329/102-multicall_binary.patch 1969-12-31 19:00:00.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch 2006-03-31 10:58:27.000000000 -0500 -@@ -0,0 +1,367 @@ -+diff -urN madwifi-ng-r1416-20060126/tools/80211debug.c madwifi-ng-r1416-20060126-owrt/tools/80211debug.c -+--- madwifi-ng-r1416-20060126/tools/80211debug.c 2005-11-23 22:23:20.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/80211debug.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -49,6 +49,10 @@ -+ #include -+ #include -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ #define N(a) (sizeof(a)/sizeof(a[0])) -+ -+ const char *progname; -+@@ -176,9 +180,19 @@ -+ } -+ #endif /* __linux__ */ -+ -++#ifdef DOMULTI -++ -++int -++a80211debug_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ const char *ifname = "ath0"; -+ const char *cp, *tp; -+ const char *sep; -+diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126-owrt/tools/80211stats.c -+--- madwifi-ng-r1416-20060126/tools/80211stats.c 2005-11-23 22:52:24.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/80211stats.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -58,6 +58,10 @@ -+ #include "net80211/ieee80211_crypto.h" -+ #include "net80211/ieee80211_ioctl.h" -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ #ifndef SIOCG80211STATS -+ #define SIOCG80211STATS (SIOCDEVPRIVATE+2) -+ #endif -+@@ -239,9 +243,19 @@ -+ #undef STAT -+ } -+ -++#ifdef DOMULTI -++ -++int -++a80211stats_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ int c, len; -+ struct ieee80211req_sta_info *si; -+ u_int8_t buf[24*1024], *cp; -+diff -urN madwifi-ng-r1416-20060126/tools/athchans.c madwifi-ng-r1416-20060126-owrt/tools/athchans.c -+--- madwifi-ng-r1416-20060126/tools/athchans.c 2005-11-24 00:07:30.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/athchans.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -57,6 +57,10 @@ -+ #include "net80211/ieee80211_crypto.h" -+ #include "net80211/ieee80211_ioctl.h" -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ static int s = -1; -+ const char *progname; -+ -+@@ -134,9 +138,20 @@ -+ } -+ -+ #define MAXCHAN ((int)(sizeof(struct ieee80211req_chanlist) * NBBY)) -++ -++#ifdef DOMULTI -++ -++int -++athchans_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ const char *ifname = "wifi0"; -+ struct ieee80211req_chanlist chanlist; -+ int c; -+diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-owrt/tools/athctrl.c -+--- madwifi-ng-r1416-20060126/tools/athctrl.c 2005-11-23 22:23:20.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/athctrl.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -52,6 +52,10 @@ -+ -+ #include -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ static int -+ setsysctrl(const char *dev, const char *control , u_long value) -+ { -+@@ -83,9 +87,19 @@ -+ exit(1); -+ } -+ -++#ifdef DOMULTI -++ -++int -++athctrl_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ char device[IFNAMSIZ + 1]; -+ int distance = -1; -+ int c; -+diff -urN madwifi-ng-r1416-20060126/tools/athdebug.c madwifi-ng-r1416-20060126-owrt/tools/athdebug.c -+--- madwifi-ng-r1416-20060126/tools/athdebug.c 2005-11-23 22:23:20.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/athdebug.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -52,6 +52,10 @@ -+ #include -+ #include -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ #define N(a) (sizeof(a)/sizeof(a[0])) -+ -+ const char *progname; -+@@ -170,9 +174,20 @@ -+ } -+ #endif /* __linux__ */ -+ -++#ifdef DOMULTI -++ -++int -++athdebug_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -++ -+ #ifdef __linux__ -+ const char *ifname = "wifi0"; -+ #else -+diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owrt/tools/athkey.c -+--- madwifi-ng-r1416-20060126/tools/athkey.c 2005-11-24 00:07:30.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/athkey.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -57,6 +57,10 @@ -+ #include "net80211/ieee80211_crypto.h" -+ #include "net80211/ieee80211_ioctl.h" -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ static int s = -1; -+ const char *progname; -+ -+@@ -207,9 +211,19 @@ -+ exit(-1); -+ } -+ -++#ifdef DOMULTI -++ -++int -++athkey_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ const char *ifname = "wifi0"; -+ struct ieee80211req_key setkey; -+ struct ieee80211req_del_key delkey; -+diff -urN madwifi-ng-r1416-20060126/tools/athstats.c madwifi-ng-r1416-20060126-owrt/tools/athstats.c -+--- madwifi-ng-r1416-20060126/tools/athstats.c 2006-01-16 09:59:07.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/athstats.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -64,6 +64,10 @@ -+ #include "ah_desc.h" -+ #include "if_athioctl.h" -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ static const struct { -+ u_int phyerr; -+ const char* desc; -+@@ -242,9 +246,20 @@ -+ signalled = 1; -+ } -+ -++#ifdef DOMULTI -++ -++int -++athstats_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -++ -+ #ifdef __linux__ -+ const char *ifname = "wifi0"; -+ #else -+diff -urN madwifi-ng-r1416-20060126/tools/do_multi.c madwifi-ng-r1416-20060126-owrt/tools/do_multi.c -+--- madwifi-ng-r1416-20060126/tools/do_multi.c 1970-01-01 01:00:00.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -0,0 +1,30 @@ -++#include -++#include "do_multi.h" -++ -++int -++main(int argc, char *argv[]) -++{ -++ char *progname; -++ int ret = 0; -++ -++ progname = basename(argv[0]); -++ -++ if(strcmp(progname, "80211debug") == 0) -++ ret = a80211debug_init(argc, argv); -++ if(strcmp(progname, "80211stats") == 0) -++ ret = a80211stats_init(argc, argv); -++ if(strcmp(progname, "athchans") == 0) -++ ret = athchans_init(argc, argv); -++ if(strcmp(progname, "athctrl") == 0) -++ ret = athctrl_init(argc, argv); -++ if(strcmp(progname, "athdebug") == 0) -++ ret = athdebug_init(argc, argv); -++ if(strcmp(progname, "athkey") == 0) -++ ret = athkey_init(argc, argv); -++ if(strcmp(progname, "athstats") == 0) -++ ret = athstats_init(argc, argv); -++ if(strcmp(progname, "wlanconfig") == 0) -++ ret = wlanconfig_init(argc, argv); -++ -++ return ret; -++} -+diff -urN madwifi-ng-r1416-20060126/tools/do_multi.h madwifi-ng-r1416-20060126-owrt/tools/do_multi.h -+--- madwifi-ng-r1416-20060126/tools/do_multi.h 1970-01-01 01:00:00.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.h 2006-01-26 11:26:44.000000000 +0100 -+@@ -0,0 +1,9 @@ -++ -++int a80211debug_init(int argc, char *argv[]); -++int a80211stats_init(int argc, char *argv[]); -++int athchans_init(int argc, char *argv[]); -++int athctrl_init(int argc, char *argv[]); -++int athdebug_init(int argc, char *argv[]); -++int athkey_init(int argc, char *argv[]); -++int athstats_init(int argc, char *argv[]); -++int wlanconfig_init(int argc, char *argv[]); -+diff -urN madwifi-ng-r1416-20060126/tools/Makefile madwifi-ng-r1416-20060126-owrt/tools/Makefile -+--- madwifi-ng-r1416-20060126/tools/Makefile 2006-01-04 09:16:11.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/Makefile 2006-01-26 14:52:45.000000000 +0100 -+@@ -50,6 +50,12 @@ -+ ALL= athstats 80211stats athkey athchans athctrl \ -+ athdebug 80211debug wlanconfig -+ -++ifdef DOMULTI -++OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ -++ athdebug.o 80211debug.o wlanconfig.o -++ALL= ${OBJS} madwifi_multi -++endif -++ -+ all: ${ALL} -+ -+ INCS+= -I. -I${HAL} -I${DEPTH} -+@@ -59,6 +65,28 @@ -+ -+ all: ${ALL} -+ -++athstats.o: athstats.c -++ ${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c -++80211stats.o: 80211stats.c -++ ${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c -++athkey.o: athkey.c -++ ${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c -++athchans.o: athchans.c -++ ${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c -++athctrl.o: athctrl.c -++ ${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c -++athdebug.o: athdebug.c -++ ${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c -++wlanconfig.o: wlanconfig.c -++ ${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c -++80211debug.o: 80211debug.c -++ ${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c -++madwifi_multi: -++ ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} -++ for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ -++ ln -s -f madwifi_multi $$i; \ -++ done -++ -+ athstats: athstats.c -+ ${CC} -o athstats ${ALL_CFLAGS} -I../ath ${LDFLAGS} athstats.c -+ 80211stats: 80211stats.c -+diff -urN madwifi-ng-r1416-20060126/tools/wlanconfig.c madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c -+--- madwifi-ng-r1416-20060126/tools/wlanconfig.c 2006-01-22 10:58:31.000000000 +0100 -++++ madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c 2006-01-26 11:26:44.000000000 +0100 -+@@ -57,6 +57,10 @@ -+ #include "net80211/ieee80211_crypto.h" -+ #include "net80211/ieee80211_ioctl.h" -+ -++#ifdef DOMULTI -++#include "do_multi.h" -++#endif -++ -+ /* -+ * These are taken from ieee80211_node.h -+ */ -+@@ -91,9 +95,19 @@ -+ -+ int verbose = 0; -+ -++#ifdef DOMULTI -++ -++int -++wlanconfig_init(int argc, char *argv[]) -++{ -++ -++#else -++ -+ int -+ main(int argc, char *argv[]) -+ { -++ -++#endif -+ const char *ifname, *cmd; -+ -+ if (argc < 2) -diff -ruN madwifi-ng-r1486-20060329/tools/80211debug.c madwifi-ng-r1486-20060329-patch/tools/80211debug.c ---- madwifi-ng-r1486-20060329/tools/80211debug.c 2006-03-10 08:23:50.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/80211debug.c 2006-03-31 10:58:27.000000000 -0500 -@@ -49,6 +49,10 @@ +--- a/tools/80211debug.c ++++ b/tools/80211debug.c +@@ -48,6 +48,7 @@ + #include #include #include - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ - #define N(a) (sizeof(a)/sizeof(a[0])) - const char *progname; -@@ -180,9 +184,19 @@ - } + #undef ARRAY_SIZE + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +@@ -185,7 +186,7 @@ sysctlbyname(const char *oid0, void *old #endif /* __linux__ */ -+#ifdef DOMULTI -+ -+int -+a80211debug_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(a80211debug)(int argc, char *argv[]) { -+ -+#endif const char *ifname = "ath0"; const char *cp, *tp; - const char *sep; -diff -ruN madwifi-ng-r1486-20060329/tools/80211stats.c madwifi-ng-r1486-20060329-patch/tools/80211stats.c ---- madwifi-ng-r1486-20060329/tools/80211stats.c 2006-03-10 08:23:50.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/80211stats.c 2006-03-31 10:58:27.000000000 -0500 -@@ -58,6 +58,10 @@ +--- a/tools/80211stats.c ++++ b/tools/80211stats.c +@@ -59,6 +59,7 @@ + #include "net80211/ieee80211.h" #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ + #ifndef SIOCG80211STATS #define SIOCG80211STATS (SIOCDEVPRIVATE + 2) - #endif -@@ -241,9 +245,19 @@ - #undef STAT +@@ -240,7 +241,7 @@ print_sta_stats(FILE *fd, const u_int8_t } -+#ifdef DOMULTI -+ -+int -+a80211stats_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(a80211stats)(int argc, char *argv[]) { -+ -+#endif int c, len; struct ieee80211req_sta_info *si; - u_int8_t buf[24*1024], *cp; -diff -ruN madwifi-ng-r1486-20060329/tools/Makefile madwifi-ng-r1486-20060329-patch/tools/Makefile ---- madwifi-ng-r1486-20060329/tools/Makefile 2006-01-04 03:16:11.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/Makefile 2006-03-31 10:58:27.000000000 -0500 -@@ -50,6 +50,12 @@ - ALL= athstats 80211stats athkey athchans athctrl \ - athdebug 80211debug wlanconfig - -+ifdef DOMULTI -+OBJS= do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ -+ athdebug.o 80211debug.o wlanconfig.o -+ALL= ${OBJS} madwifi_multi -+endif -+ - all: ${ALL} - - INCS+= -I. -I${HAL} -I${DEPTH} -@@ -59,6 +65,30 @@ - - all: ${ALL} - -+athstats.o: athstats.c -+ ${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c -+80211stats.o: 80211stats.c -+ ${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c -+athkey.o: athkey.c -+ ${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c -+athchans.o: athchans.c -+ ${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c -+athctrl.o: athctrl.c -+ ${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c -+athdebug.o: athdebug.c -+ ${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c -+wlanconfig.o: wlanconfig.c -+ ${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c -+80211debug.o: 80211debug.c -+ ${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c -+do_multi.o: do_multi.c -+ ${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c -+madwifi_multi: -+ ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} -+ for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ -+ ln -s -f madwifi_multi $$i; \ -+ done -+ - athstats: athstats.c - ${CC} -o athstats ${ALL_CFLAGS} -I../ath ${LDFLAGS} athstats.c - 80211stats: 80211stats.c -diff -ruN madwifi-ng-r1486-20060329/tools/athchans.c madwifi-ng-r1486-20060329-patch/tools/athchans.c ---- madwifi-ng-r1486-20060329/tools/athchans.c 2006-02-01 15:07:11.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/athchans.c 2006-03-31 10:58:27.000000000 -0500 -@@ -57,6 +57,10 @@ +--- a/tools/athchans.c ++++ b/tools/athchans.c +@@ -58,6 +58,7 @@ + #include "net80211/ieee80211.h" #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ - static int s = -1; - const char *progname; -@@ -134,9 +138,20 @@ + static int s = -1; + static const char *progname; +@@ -140,8 +141,9 @@ usage(void) } #define MAXCHAN ((int)(sizeof(struct ieee80211req_chanlist) * NBBY)) -+ -+#ifdef DOMULTI -+ -+int -+athchans_init(int argc, char *argv[]) -+{ -+ -+#else + int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(athchans)(int argc, char *argv[]) { -+ -+#endif const char *ifname = "wifi0"; struct ieee80211req_chanlist chanlist; - int c; -diff -ruN madwifi-ng-r1486-20060329/tools/athctrl.c madwifi-ng-r1486-20060329-patch/tools/athctrl.c ---- madwifi-ng-r1486-20060329/tools/athctrl.c 2006-02-03 07:03:03.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/athctrl.c 2006-03-31 10:58:27.000000000 -0500 -@@ -53,6 +53,10 @@ +--- a/tools/athctrl.c ++++ b/tools/athctrl.c +@@ -52,6 +52,7 @@ + #include #include - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ + static int setsysctrl(const char *dev, const char *control , u_long value) - { -@@ -87,9 +91,19 @@ - exit(1); +@@ -88,7 +89,7 @@ static void usage(void) } -+#ifdef DOMULTI -+ -+int -+athctrl_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(athctrl)(int argc, char *argv[]) { -+ -+#endif char device[IFNAMSIZ + 1]; int distance = -1; - int c; -diff -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-patch/tools/athdebug.c ---- madwifi-ng-r1486-20060329/tools/athdebug.c 2006-03-10 08:23:50.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/athdebug.c 2006-03-31 10:58:27.000000000 -0500 -@@ -52,6 +52,10 @@ +--- a/tools/athdebug.c ++++ b/tools/athdebug.c +@@ -51,6 +51,7 @@ + #include #include #include - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ - #define N(a) (sizeof(a)/sizeof(a[0])) - const char *progname; -@@ -171,9 +175,20 @@ - } + #undef ARRAY_SIZE + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +@@ -194,7 +195,7 @@ sysctlbyname(const char *oid0, void *old #endif /* __linux__ */ -+#ifdef DOMULTI -+ -+int -+athdebug_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(athdebug)(int argc, char *argv[]) { -+ -+#endif -+ #ifdef __linux__ const char *ifname = "wifi0"; - #else -diff -ruN madwifi-ng-r1486-20060329/tools/athkey.c madwifi-ng-r1486-20060329-patch/tools/athkey.c ---- madwifi-ng-r1486-20060329/tools/athkey.c 2006-02-01 15:07:11.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/athkey.c 2006-03-31 10:58:27.000000000 -0500 -@@ -57,6 +57,10 @@ +--- a/tools/athkey.c ++++ b/tools/athkey.c +@@ -58,6 +58,7 @@ + #include "net80211/ieee80211.h" #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ - static int s = -1; - const char *progname; -@@ -207,9 +211,19 @@ + static int s = -1; + static const char *progname; +@@ -213,8 +214,7 @@ usage(void) exit(-1); } -+#ifdef DOMULTI -+ -+int -+athkey_init(int argc, char *argv[]) -+{ -+ -+#else -+ - int - main(int argc, char *argv[]) +-int +-main(int argc, char *argv[]) ++int CMD(athkey)(int argc, char *argv[]) { -+ -+#endif const char *ifname = "wifi0"; struct ieee80211req_key setkey; - struct ieee80211req_del_key delkey; -diff -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-patch/tools/athstats.c ---- madwifi-ng-r1486-20060329/tools/athstats.c 2006-02-01 15:07:11.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/athstats.c 2006-03-31 10:58:27.000000000 -0500 -@@ -64,6 +64,10 @@ - #include "ah_desc.h" - #include "if_athioctl.h" +--- a/tools/athstats.c ++++ b/tools/athstats.c +@@ -65,6 +65,7 @@ -+#ifdef DOMULTI + #undef ARRAY_SIZE + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#include "do_multi.h" -+#endif -+ + static const struct { u_int phyerr; - const char* desc; -@@ -242,9 +246,20 @@ - signalled = 1; +@@ -228,7 +229,7 @@ catchalarm(int signo) } -+#ifdef DOMULTI -+ -+int -+athstats_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(athstats)(int argc, char *argv[]) { -+ -+#endif -+ #ifdef __linux__ const char *ifname = "wifi0"; - #else -diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-patch/tools/do_multi.c ---- madwifi-ng-r1486-20060329/tools/do_multi.c 1969-12-31 19:00:00.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.c 2006-03-31 10:58:27.000000000 -0500 -@@ -0,0 +1,30 @@ +--- /dev/null ++++ b/tools/do_multi.c +@@ -0,0 +1,33 @@ +#include ++#include +#include "do_multi.h" + +int @@ -688,14 +165,15 @@ diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-p + ret = athstats_init(argc, argv); + if(strcmp(progname, "wlanconfig") == 0) + ret = wlanconfig_init(argc, argv); -+ ++ if(strcmp(progname, "ath_info") == 0) ++ ret = athinfo_init(argc, argv); ++ + return ret; +} -diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-patch/tools/do_multi.h ---- madwifi-ng-r1486-20060329/tools/do_multi.h 1969-12-31 19:00:00.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.h 2006-03-31 10:58:27.000000000 -0500 -@@ -0,0 +1,9 @@ -+ +--- /dev/null ++++ b/tools/do_multi.h +@@ -0,0 +1,15 @@ ++#ifdef DO_MULTI +int a80211debug_init(int argc, char *argv[]); +int a80211stats_init(int argc, char *argv[]); +int athchans_init(int argc, char *argv[]); @@ -704,37 +182,134 @@ diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-p +int athkey_init(int argc, char *argv[]); +int athstats_init(int argc, char *argv[]); +int wlanconfig_init(int argc, char *argv[]); -diff -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c ---- madwifi-ng-r1486-20060329/tools/wlanconfig.c 2006-02-01 15:07:11.000000000 -0500 -+++ madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c 2006-03-31 10:58:27.000000000 -0500 -@@ -59,6 +59,10 @@ ++int athinfo_init(int argc, char *argv[]); ++ ++#define CMD(name) name##_init ++#else ++#define CMD(name) main ++#endif +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -46,56 +46,55 @@ ifeq ($(HAL),) + HAL= $(TOP)/hal + endif + ++all: compile + +-ALL= athstats 80211stats athkey athchans athctrl \ ++ALLPROGS= athstats 80211stats athkey athchans athctrl \ + athdebug 80211debug wlanconfig ath_info + +-all: $(ALL) ++OBJS= $(patsubst %,%.o,$(ALLPROGS)) + +-INCS= -I. -I$(HAL) -I$(TOP) -I$(ATH_HAL) ++INCS= -I. -I../ath -I$(HAL) -I$(TOP) -I$(ATH_HAL) + CFLAGS= -g -O2 -Wall + ALL_CFLAGS= $(CFLAGS) $(INCS) + LDFLAGS= + +-all: $(ALL) + +-athstats: athstats.c +- $(CC) -o athstats $(ALL_CFLAGS) -I$(TOP)/ath $(LDFLAGS) athstats.c +-80211stats: 80211stats.c +- $(CC) -o 80211stats $(ALL_CFLAGS) $(LDFLAGS) 80211stats.c +-athkey: athkey.c +- $(CC) -o athkey $(ALL_CFLAGS) $(LDFLAGS) athkey.c +-athchans: athchans.c +- $(CC) -o athchans $(ALL_CFLAGS) $(LDFLAGS) athchans.c +-athctrl: athctrl.c +- $(CC) -o athctrl $(ALL_CFLAGS) $(LDFLAGS) athctrl.c +-athdebug: athdebug.c +- $(CC) -o athdebug $(ALL_CFLAGS) $(LDFLAGS) athdebug.c +-wlanconfig: wlanconfig.c +- $(CC) -o wlanconfig $(ALL_CFLAGS) $(LDFLAGS) wlanconfig.c +-80211debug: 80211debug.c +- $(CC) -o 80211debug $(ALL_CFLAGS) $(LDFLAGS) 80211debug.c +-ath_info: ath_info.c +- $(CC) -o ath_info $(CFLAGS) ath_info.c ++ifneq ($(DO_MULTI),) ++ALL_CFLAGS += -DDO_MULTI=1 ++%.o: %.c ++ ${CC} $(ALL_CFLAGS) -c -o $@ $< ++ ++madwifi_multi: $(OBJS) do_multi.o ++ $(CC) -o $@ $^ ++ ++compile: madwifi_multi ++ for i in $(ALLPROGS); do \ ++ ln -s -f madwifi_multi $$i; \ ++ done ++else ++$(ALLPROGS): ++ $(CC) $(ALL_CFLAGS) -o $@ $@.c ++ ++compile: $(ALLPROGS) ++endif + + + install: $(ALL) + install -d $(DESTDIR)$(BINDIR) +- for i in $(ALL); do \ ++ for i in $(ALLPROGS) $(if $(DO_MULTI),madwifi_multi); do \ + install $$i $(DESTDIR)$(BINDIR)/$$i; \ +- $(STRIP) $(DESTDIR)$(BINDIR)/$$i; \ + done + install -d $(DESTDIR)$(MANDIR)/man8 + install -m 0644 man/*.8 $(DESTDIR)$(MANDIR)/man8 + install $(TOP)/scripts/madwifi-unload $(DESTDIR)$(BINDIR)/madwifi-unload + + uninstall: +- for i in $(ALL); do \ ++ for i in $(ALLPROGS) $(if $(DO_MULTI),madwifi_multi); do \ + rm -f $(DESTDIR)$(BINDIR)/$$i; \ + done +- for i in $(ALL:=.8); do \ +- rm -f $(DESTDIR)$(MANDIR)/man8/$$i; \ ++ for i in $(ALLPROGS); do \ ++ rm -f $(DESTDIR)$(MANDIR)/man8/$$i.8; \ + done + + clean: +- rm -f $(ALL) core a.out ++ rm -f $(ALLPROGS) madwifi_multi *.o core a.out +--- a/tools/wlanconfig.c ++++ b/tools/wlanconfig.c +@@ -61,6 +61,7 @@ + #include "net80211/ieee80211.h" #include "net80211/ieee80211_crypto.h" #include "net80211/ieee80211_ioctl.h" - -+#ifdef DOMULTI +#include "do_multi.h" -+#endif -+ + /* * These are taken from ieee80211_node.h - */ -@@ -92,9 +96,19 @@ +@@ -100,7 +101,7 @@ size_t strlcat(char *, const char *, siz + static int verbose = 0; - int verbose = 0; - -+#ifdef DOMULTI -+ -+int -+wlanconfig_init(int argc, char *argv[]) -+{ -+ -+#else -+ int - main(int argc, char *argv[]) +-main(int argc, char *argv[]) ++CMD(wlanconfig)(int argc, char *argv[]) { -+ -+#endif const char *ifname, *cmd; + unsigned char bnounit = 0; +--- a/tools/ath_info.c ++++ b/tools/ath_info.c +@@ -98,6 +98,7 @@ + #include + #include + #include ++#include "do_multi.h" - if (argc < 2) + #undef ARRAY_SIZE + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +@@ -738,7 +739,8 @@ static void usage(const char *n) + "unlawful radio transmissions!\n\n"); + } + +-int main(int argc, char *argv[]) ++int ++CMD(athinfo)(int argc, char *argv[]) + { + u_int32_t dev_addr; + u_int16_t eeprom_header, srev, phy_rev_5ghz, phy_rev_2ghz;