openwrt/package/madwifi/patches/102-multicall_binary.patch

422 lines
10 KiB
Diff

Index: madwifi-ng-r2834-20071106/tools/80211debug.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/80211debug.c 2007-11-07 14:01:59.745356362 +0100
+++ madwifi-ng-r2834-20071106/tools/80211debug.c 2007-11-07 14:02:00.181381212 +0100
@@ -49,6 +49,10 @@
#include <getopt.h>
#include <err.h>
+#ifdef DOMULTI
+#include "do_multi.h"
+#endif
+
#define N(a) (sizeof(a)/sizeof(a[0]))
static const char *progname;
@@ -180,9 +184,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;
Index: madwifi-ng-r2834-20071106/tools/80211stats.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/80211stats.c 2007-11-07 14:01:59.753356821 +0100
+++ madwifi-ng-r2834-20071106/tools/80211stats.c 2007-11-07 14:02:00.181381212 +0100
@@ -60,6 +60,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
@@ -241,9 +245,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;
Index: madwifi-ng-r2834-20071106/tools/athchans.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/athchans.c 2007-11-07 14:01:59.757357047 +0100
+++ madwifi-ng-r2834-20071106/tools/athchans.c 2007-11-07 14:02:00.189381667 +0100
@@ -59,6 +59,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
+#ifdef DOMULTI
+#include "do_multi.h"
+#endif
+
static int s = -1;
static const char *progname;
@@ -139,9 +143,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;
Index: madwifi-ng-r2834-20071106/tools/athctrl.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/athctrl.c 2007-11-07 14:01:59.765357502 +0100
+++ madwifi-ng-r2834-20071106/tools/athctrl.c 2007-11-07 14:02:00.193381896 +0100
@@ -53,6 +53,10 @@
#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);
}
+#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;
Index: madwifi-ng-r2834-20071106/tools/athdebug.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/athdebug.c 2007-11-07 14:01:59.773357960 +0100
+++ madwifi-ng-r2834-20071106/tools/athdebug.c 2007-11-07 14:02:00.193381896 +0100
@@ -52,6 +52,10 @@
#include <getopt.h>
#include <err.h>
+#ifdef DOMULTI
+#include "do_multi.h"
+#endif
+
#define N(a) (sizeof(a)/sizeof(a[0]))
static const char *progname;
@@ -187,9 +191,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
Index: madwifi-ng-r2834-20071106/tools/athkey.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/athkey.c 2007-11-07 14:01:59.777358186 +0100
+++ madwifi-ng-r2834-20071106/tools/athkey.c 2007-11-07 14:02:00.193381896 +0100
@@ -59,6 +59,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
+#ifdef DOMULTI
+#include "do_multi.h"
+#endif
+
static int s = -1;
static const char *progname;
@@ -212,9 +216,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;
Index: madwifi-ng-r2834-20071106/tools/athstats.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/athstats.c 2007-11-07 14:01:59.785358642 +0100
+++ madwifi-ng-r2834-20071106/tools/athstats.c 2007-11-07 14:02:00.193381896 +0100
@@ -63,6 +63,10 @@
#include "wireless_copy.h"
#include "if_athioctl.h"
+#ifdef DOMULTI
+#include "do_multi.h"
+#endif
+
static const struct {
u_int phyerr;
const char* desc;
@@ -226,9 +230,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
Index: madwifi-ng-r2834-20071106/tools/do_multi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ madwifi-ng-r2834-20071106/tools/do_multi.c 2007-11-07 14:02:00.197382122 +0100
@@ -0,0 +1,32 @@
+#include <string.h>
+#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);
+ if(strcmp(progname, "ath_info") == 0)
+ ret = athinfo_init(argc, argv);
+
+ return ret;
+}
Index: madwifi-ng-r2834-20071106/tools/do_multi.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ madwifi-ng-r2834-20071106/tools/do_multi.h 2007-11-07 14:02:00.197382122 +0100
@@ -0,0 +1,10 @@
+
+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[]);
+int athinfo_init(int argc, char *argv[]);
Index: madwifi-ng-r2834-20071106/tools/Makefile
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/Makefile 2007-11-07 14:01:59.801359556 +0100
+++ madwifi-ng-r2834-20071106/tools/Makefile 2007-11-07 14:02:00.197382122 +0100
@@ -47,9 +47,12 @@
endif
-ALL= athstats 80211stats athkey athchans athctrl \
+ALLPROGS= athstats 80211stats athkey athchans athctrl \
athdebug 80211debug wlanconfig ath_info
+OBJS= $(patsubst %,%.o,$(ALLPROGS) do_multi)
+ALL= ${OBJS} madwifi_multi
+
all: $(ALL)
INCS= -I. -I$(HAL) -I$(TOP) -I$(ATH_HAL)
@@ -59,25 +62,31 @@
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
-
+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
+ath_info.o: ath_info.c
+ ${CC} -c -o ath_info.o -DDOMULTI=1 ${ALL_CFLAGS} ath_info.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: $(OBJS)
+ ${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
install: $(ALL)
install -d $(DESTDIR)$(BINDIR)
Index: madwifi-ng-r2834-20071106/tools/wlanconfig.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/wlanconfig.c 2007-11-07 14:01:59.809360011 +0100
+++ madwifi-ng-r2834-20071106/tools/wlanconfig.c 2007-11-07 14:02:00.197382122 +0100
@@ -62,6 +62,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
*/
@@ -96,9 +100,19 @@
static int verbose = 0;
+#ifdef DOMULTI
+
+int
+wlanconfig_init(int argc, char *argv[])
+{
+
+#else
+
int
main(int argc, char *argv[])
{
+
+#endif
const char *ifname, *cmd;
unsigned char bnounit = 0;
char *if_base = NULL;
Index: madwifi-ng-r2834-20071106/tools/ath_info.c
===================================================================
--- madwifi-ng-r2834-20071106.orig/tools/ath_info.c 2007-11-07 14:01:59.817360466 +0100
+++ madwifi-ng-r2834-20071106/tools/ath_info.c 2007-11-07 14:02:00.201382352 +0100
@@ -736,7 +736,12 @@
"unlawful radio transmissions!\n\n");
}
+#ifdef DOMULTI
+int
+athinfo_init(int argc, char *argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
u_int32_t dev_addr;
u_int16_t eeprom_header, srev, phy_rev_5ghz, phy_rev_2ghz;