sync 8.09 with changes from trunk
[openwrt/svn-archive/archive.git] / package / madwifi / patches / 102-multicall_binary.patch
index 8fa65676d4c76c975ff0e0aee22955eca7cf8783..d3533ec68abcec5e0d27521799d99f7676e791d7 100644 (file)
-diff -urN madwifi-0.9.2.old/tools/80211debug.c madwifi-0.9.2.dev/tools/80211debug.c
---- madwifi-0.9.2.old/tools/80211debug.c       2006-03-10 14:23:50.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/80211debug.c       2006-08-29 17:49:50.000000000 +0200
-@@ -49,6 +49,10 @@
+--- a/tools/80211debug.c
++++ b/tools/80211debug.c
+@@ -48,6 +48,7 @@
+ #include <ctype.h>
  #include <getopt.h>
  #include <err.h>
-+#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 @@
  #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 -urN madwifi-0.9.2.old/tools/80211stats.c madwifi-0.9.2.dev/tools/80211stats.c
---- madwifi-0.9.2.old/tools/80211stats.c       2006-05-27 08:21:18.000000000 +0200
-+++ madwifi-0.9.2.dev/tools/80211stats.c       2006-08-29 17:49:50.000000000 +0200
-@@ -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 @@
  }
  
-+#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 -urN madwifi-0.9.2.old/tools/athchans.c madwifi-0.9.2.dev/tools/athchans.c
---- madwifi-0.9.2.old/tools/athchans.c 2006-02-01 21:07:11.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/athchans.c 2006-08-29 17:49:50.000000000 +0200
-@@ -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 @@
  }
  
  #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 -urN madwifi-0.9.2.old/tools/athctrl.c madwifi-0.9.2.dev/tools/athctrl.c
---- madwifi-0.9.2.old/tools/athctrl.c  2006-02-03 13:03:03.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/athctrl.c  2006-08-29 17:49:50.000000000 +0200
-@@ -53,6 +53,10 @@
+--- a/tools/athctrl.c
++++ b/tools/athctrl.c
+@@ -52,6 +52,7 @@
+ #include <err.h>
  
  #include <net/if.h>
-+#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 @@
  }
  
-+#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 -urN madwifi-0.9.2.old/tools/athdebug.c madwifi-0.9.2.dev/tools/athdebug.c
---- madwifi-0.9.2.old/tools/athdebug.c 2006-05-05 06:17:59.000000000 +0200
-+++ madwifi-0.9.2.dev/tools/athdebug.c 2006-08-29 17:49:50.000000000 +0200
-@@ -52,6 +52,10 @@
+--- a/tools/athdebug.c
++++ b/tools/athdebug.c
+@@ -51,6 +51,7 @@
+ #include <ctype.h>
  #include <getopt.h>
  #include <err.h>
-+#ifdef DOMULTI
 +#include "do_multi.h"
-+#endif
-+
- #define       N(a)    (sizeof(a)/sizeof(a[0]))
  
- const char *progname;
-@@ -179,9 +183,20 @@
- }
+ #undef ARRAY_SIZE
+ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+@@ -194,7 +195,7 @@
  #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 -urN madwifi-0.9.2.old/tools/athkey.c madwifi-0.9.2.dev/tools/athkey.c
---- madwifi-0.9.2.old/tools/athkey.c   2006-02-01 21:07:11.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/athkey.c   2006-08-29 17:49:50.000000000 +0200
-@@ -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 @@
        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 -urN madwifi-0.9.2.old/tools/athstats.c madwifi-0.9.2.dev/tools/athstats.c
---- madwifi-0.9.2.old/tools/athstats.c 2006-05-05 06:20:50.000000000 +0200
-+++ madwifi-0.9.2.dev/tools/athstats.c 2006-08-29 17:49:50.000000000 +0200
-@@ -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;
-@@ -227,9 +231,20 @@
-       signalled = 1;
+@@ -228,7 +229,7 @@
  }
  
-+#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 -urN madwifi-0.9.2.old/tools/do_multi.c madwifi-0.9.2.dev/tools/do_multi.c
---- madwifi-0.9.2.old/tools/do_multi.c 1970-01-01 01:00:00.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/do_multi.c 2006-08-29 17:49:50.000000000 +0200
-@@ -0,0 +1,30 @@
+--- /dev/null
++++ b/tools/do_multi.c
+@@ -0,0 +1,33 @@
 +#include <string.h>
++#include <libgen.h>
 +#include "do_multi.h"
 +
 +int
@@ -270,14 +165,15 @@ diff -urN madwifi-0.9.2.old/tools/do_multi.c madwifi-0.9.2.dev/tools/do_multi.c
 +      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 -urN madwifi-0.9.2.old/tools/do_multi.h madwifi-0.9.2.dev/tools/do_multi.h
---- madwifi-0.9.2.old/tools/do_multi.h 1970-01-01 01:00:00.000000000 +0100
-+++ madwifi-0.9.2.dev/tools/do_multi.h 2006-08-29 17:49:50.000000000 +0200
-@@ -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[]);
@@ -286,84 +182,134 @@ diff -urN madwifi-0.9.2.old/tools/do_multi.h madwifi-0.9.2.dev/tools/do_multi.h
 +int athkey_init(int argc, char *argv[]);
 +int athstats_init(int argc, char *argv[]);
 +int wlanconfig_init(int argc, char *argv[]);
-diff -urN madwifi-0.9.2.old/tools/Makefile madwifi-0.9.2.dev/tools/Makefile
---- madwifi-0.9.2.old/tools/Makefile   2006-07-14 07:15:56.000000000 +0200
-+++ madwifi-0.9.2.dev/tools/Makefile   2006-08-29 17:49:50.000000000 +0200
-@@ -49,6 +49,12 @@
++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 @@
+ HAL=   $(TOP)/hal
+ endif
  
- 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: compile
+-ALL=  athstats 80211stats athkey athchans athctrl \
++ALLPROGS=     athstats 80211stats athkey athchans athctrl \
+       athdebug 80211debug wlanconfig ath_info
  
- all:  $(ALL)
+-all:  $(ALL)
++OBJS= $(patsubst %,%.o,$(ALLPROGS))
  
-@@ -59,6 +65,30 @@
+-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)
+-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; \
+-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
 +
- athstats: athstats.c
-       $(CC) -o athstats $(ALL_CFLAGS) -I../ath $(LDFLAGS) athstats.c
- 80211stats: 80211stats.c
-diff -urN madwifi-0.9.2.old/tools/wlanconfig.c madwifi-0.9.2.dev/tools/wlanconfig.c
---- madwifi-0.9.2.old/tools/wlanconfig.c       2006-05-14 09:17:29.000000000 +0200
-+++ madwifi-0.9.2.dev/tools/wlanconfig.c       2006-08-29 17:49:50.000000000 +0200
-@@ -60,6 +60,10 @@
++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
-  */
-@@ -96,9 +100,19 @@
+@@ -100,7 +101,7 @@
+ 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;
-       char *if_base = NULL;
+--- a/tools/ath_info.c
++++ b/tools/ath_info.c
+@@ -98,6 +98,7 @@
+ #include <sys/mman.h>
+ #include <endian.h>
+ #include <byteswap.h>
++#include "do_multi.h"
+ #undef ARRAY_SIZE
+ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+@@ -738,7 +739,8 @@
+               "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;