source: trunk/package/madwifi/patches/102-multicall_binary.patch @ 13096

Last change on this file since 13096 was 13096, checked in by nbd, 8 years ago

madwifi: fix noderef and state machine issues in the currently unused ap-to-ap wds mode; refresh patches

  • Property svn:eol-style set to native
File size: 7.7 KB
  • tools/80211debug.c

    a b  
    4848#include <ctype.h> 
    4949#include <getopt.h> 
    5050#include <err.h> 
     51#include "do_multi.h" 
    5152 
    5253#undef ARRAY_SIZE 
    5354#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 
    sysctlbyname(const char *oid0, void *old 
    185186#endif /* __linux__ */ 
    186187 
    187188int 
    188 main(int argc, char *argv[]) 
     189CMD(a80211debug)(int argc, char *argv[]) 
    189190{ 
    190191        const char *ifname = "ath0"; 
    191192        const char *cp, *tp; 
  • tools/80211stats.c

    a b  
    5959#include "net80211/ieee80211.h" 
    6060#include "net80211/ieee80211_crypto.h" 
    6161#include "net80211/ieee80211_ioctl.h" 
     62#include "do_multi.h" 
    6263 
    6364#ifndef SIOCG80211STATS 
    6465#define SIOCG80211STATS (SIOCDEVPRIVATE + 2) 
    print_sta_stats(FILE *fd, const u_int8_t 
    240241} 
    241242 
    242243int 
    243 main(int argc, char *argv[]) 
     244CMD(a80211stats)(int argc, char *argv[]) 
    244245{ 
    245246        int c, len; 
    246247        struct ieee80211req_sta_info *si; 
  • tools/athchans.c

    a b  
    5858#include "net80211/ieee80211.h" 
    5959#include "net80211/ieee80211_crypto.h" 
    6060#include "net80211/ieee80211_ioctl.h" 
     61#include "do_multi.h" 
    6162 
    6263static  int s = -1; 
    6364static const char *progname; 
    usage(void) 
    140141} 
    141142 
    142143#define MAXCHAN ((int)(sizeof(struct ieee80211req_chanlist) * NBBY)) 
     144 
    143145int 
    144 main(int argc, char *argv[]) 
     146CMD(athchans)(int argc, char *argv[]) 
    145147{ 
    146148        const char *ifname = "wifi0"; 
    147149        struct ieee80211req_chanlist chanlist; 
  • tools/athctrl.c

    a b  
    5252#include <err.h> 
    5353 
    5454#include <net/if.h> 
     55#include "do_multi.h" 
    5556 
    5657static int 
    5758setsysctrl(const char *dev, const char *control , u_long value) 
    static void usage(void) 
    8889} 
    8990 
    9091int 
    91 main(int argc, char *argv[]) 
     92CMD(athctrl)(int argc, char *argv[]) 
    9293{ 
    9394        char device[IFNAMSIZ + 1]; 
    9495        int distance = -1; 
  • tools/athdebug.c

    a b  
    5151#include <ctype.h> 
    5252#include <getopt.h> 
    5353#include <err.h> 
     54#include "do_multi.h" 
    5455 
    5556#undef ARRAY_SIZE 
    5657#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 
    sysctlbyname(const char *oid0, void *old 
    194195#endif /* __linux__ */ 
    195196 
    196197int 
    197 main(int argc, char *argv[]) 
     198CMD(athdebug)(int argc, char *argv[]) 
    198199{ 
    199200#ifdef __linux__ 
    200201        const char *ifname = "wifi0"; 
  • tools/athkey.c

    a b  
    5858#include "net80211/ieee80211.h" 
    5959#include "net80211/ieee80211_crypto.h" 
    6060#include "net80211/ieee80211_ioctl.h" 
     61#include "do_multi.h" 
    6162 
    6263static int s = -1; 
    6364static const char *progname; 
    usage(void) 
    213214        exit(-1); 
    214215} 
    215216 
    216 int 
    217 main(int argc, char *argv[]) 
     217int CMD(athkey)(int argc, char *argv[]) 
    218218{ 
    219219        const char *ifname = "wifi0"; 
    220220        struct ieee80211req_key setkey; 
  • tools/athstats.c

    a b  
    6565 
    6666#undef ARRAY_SIZE 
    6767#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 
     68#include "do_multi.h" 
    6869 
    6970static const struct { 
    7071        u_int           phyerr; 
    catchalarm(int signo) 
    228229} 
    229230 
    230231int 
    231 main(int argc, char *argv[]) 
     232CMD(athstats)(int argc, char *argv[]) 
    232233{ 
    233234#ifdef __linux__ 
    234235        const char *ifname = "wifi0"; 
  • new file tools/do_multi.c

    - +  
     1#include <string.h> 
     2#include <libgen.h> 
     3#include "do_multi.h" 
     4 
     5int 
     6main(int argc, char *argv[]) 
     7{ 
     8    char *progname; 
     9    int ret = 0; 
     10 
     11    progname = basename(argv[0]); 
     12 
     13    if(strcmp(progname, "80211debug") == 0) 
     14        ret = a80211debug_init(argc, argv); 
     15    if(strcmp(progname, "80211stats") == 0) 
     16        ret = a80211stats_init(argc, argv); 
     17    if(strcmp(progname, "athchans") == 0) 
     18        ret = athchans_init(argc, argv); 
     19    if(strcmp(progname, "athctrl") == 0) 
     20        ret =  athctrl_init(argc, argv); 
     21    if(strcmp(progname, "athdebug") == 0) 
     22        ret =  athdebug_init(argc, argv); 
     23    if(strcmp(progname, "athkey") == 0) 
     24        ret =  athkey_init(argc, argv); 
     25    if(strcmp(progname, "athstats") == 0) 
     26        ret =  athstats_init(argc, argv); 
     27    if(strcmp(progname, "wlanconfig") == 0) 
     28        ret =  wlanconfig_init(argc, argv); 
     29    if(strcmp(progname, "ath_info") == 0) 
     30        ret =  athinfo_init(argc, argv); 
     31 
     32    return ret; 
     33} 
  • new file tools/do_multi.h

    - +  
     1#ifdef DO_MULTI 
     2int a80211debug_init(int argc, char *argv[]); 
     3int a80211stats_init(int argc, char *argv[]); 
     4int athchans_init(int argc, char *argv[]); 
     5int athctrl_init(int argc, char *argv[]); 
     6int athdebug_init(int argc, char *argv[]); 
     7int athkey_init(int argc, char *argv[]); 
     8int athstats_init(int argc, char *argv[]); 
     9int wlanconfig_init(int argc, char *argv[]); 
     10int athinfo_init(int argc, char *argv[]); 
     11 
     12#define CMD(name) name##_init 
     13#else 
     14#define CMD(name) main 
     15#endif 
  • tools/Makefile

    a b ifeq ($(HAL),) 
    4646HAL=   $(TOP)/hal 
    4747endif 
    4848 
     49all: compile 
    4950 
    50 ALL=    athstats 80211stats athkey athchans athctrl \ 
     51ALLPROGS=       athstats 80211stats athkey athchans athctrl \ 
    5152        athdebug 80211debug wlanconfig ath_info 
    5253 
    53 all:    $(ALL) 
     54OBJS=   $(patsubst %,%.o,$(ALLPROGS)) 
    5455 
    55 INCS=   -I. -I$(HAL) -I$(TOP) -I$(ATH_HAL) 
     56INCS=   -I. -I../ath -I$(HAL) -I$(TOP) -I$(ATH_HAL) 
    5657CFLAGS= -g -O2 -Wall 
    5758ALL_CFLAGS= $(CFLAGS) $(INCS) 
    5859LDFLAGS= 
    5960 
    60 all:    $(ALL) 
    6161 
    62 athstats: athstats.c 
    63         $(CC) -o athstats $(ALL_CFLAGS) -I$(TOP)/ath $(LDFLAGS) athstats.c 
    64 80211stats: 80211stats.c 
    65         $(CC) -o 80211stats $(ALL_CFLAGS) $(LDFLAGS) 80211stats.c 
    66 athkey: athkey.c 
    67         $(CC) -o athkey $(ALL_CFLAGS) $(LDFLAGS) athkey.c 
    68 athchans: athchans.c 
    69         $(CC) -o athchans $(ALL_CFLAGS) $(LDFLAGS) athchans.c 
    70 athctrl: athctrl.c 
    71         $(CC) -o athctrl $(ALL_CFLAGS) $(LDFLAGS) athctrl.c 
    72 athdebug: athdebug.c 
    73         $(CC) -o athdebug $(ALL_CFLAGS) $(LDFLAGS) athdebug.c 
    74 wlanconfig: wlanconfig.c 
    75         $(CC) -o wlanconfig $(ALL_CFLAGS) $(LDFLAGS) wlanconfig.c 
    76 80211debug: 80211debug.c 
    77         $(CC) -o 80211debug $(ALL_CFLAGS) $(LDFLAGS) 80211debug.c 
    78 ath_info: ath_info.c 
    79         $(CC) -o ath_info $(CFLAGS) ath_info.c 
     62ifneq ($(DO_MULTI),) 
     63ALL_CFLAGS += -DDO_MULTI=1 
     64%.o: %.c 
     65        ${CC} $(ALL_CFLAGS) -c -o $@  $< 
     66 
     67madwifi_multi: $(OBJS) do_multi.o 
     68        $(CC) -o $@ $^ 
     69 
     70compile: madwifi_multi 
     71        for i in $(ALLPROGS); do \ 
     72                ln -s -f madwifi_multi $$i; \ 
     73        done 
     74else 
     75$(ALLPROGS): 
     76        $(CC) $(ALL_CFLAGS) -o $@ $@.c 
     77 
     78compile: $(ALLPROGS) 
     79endif 
    8080 
    8181 
    8282install: $(ALL)  
    8383        install -d $(DESTDIR)$(BINDIR) 
    84         for i in $(ALL); do \ 
     84        for i in $(ALLPROGS) $(if $(DO_MULTI),madwifi_multi); do \ 
    8585                install $$i $(DESTDIR)$(BINDIR)/$$i; \ 
    86                 $(STRIP) $(DESTDIR)$(BINDIR)/$$i; \ 
    8786        done 
    8887        install -d $(DESTDIR)$(MANDIR)/man8 
    8988        install -m 0644 man/*.8 $(DESTDIR)$(MANDIR)/man8 
    9089        install $(TOP)/scripts/madwifi-unload $(DESTDIR)$(BINDIR)/madwifi-unload 
    9190 
    9291uninstall: 
    93         for i in $(ALL); do \ 
     92        for i in $(ALLPROGS) $(if $(DO_MULTI),madwifi_multi); do \ 
    9493                rm -f $(DESTDIR)$(BINDIR)/$$i; \ 
    9594        done 
    96         for i in $(ALL:=.8); do \ 
    97                 rm -f $(DESTDIR)$(MANDIR)/man8/$$i; \ 
     95        for i in $(ALLPROGS); do \ 
     96                rm -f $(DESTDIR)$(MANDIR)/man8/$$i.8; \ 
    9897        done 
    9998 
    10099clean: 
    101         rm -f $(ALL) core a.out 
     100        rm -f $(ALLPROGS) madwifi_multi *.o core a.out 
  • tools/wlanconfig.c

    a b  
    6161#include "net80211/ieee80211.h" 
    6262#include "net80211/ieee80211_crypto.h" 
    6363#include "net80211/ieee80211_ioctl.h" 
     64#include "do_multi.h" 
    6465 
    6566/* 
    6667 * These are taken from ieee80211_node.h 
    size_t strlcat(char *, const char *, siz 
    100101static int verbose = 0; 
    101102 
    102103int 
    103 main(int argc, char *argv[]) 
     104CMD(wlanconfig)(int argc, char *argv[]) 
    104105{ 
    105106        const char *ifname, *cmd; 
    106107        unsigned char bnounit = 0; 
  • tools/ath_info.c

    a b  
    9898#include <sys/mman.h> 
    9999#include <endian.h> 
    100100#include <byteswap.h> 
     101#include "do_multi.h" 
    101102 
    102103#undef ARRAY_SIZE 
    103104#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 
    static void usage(const char *n) 
    738739                "unlawful radio transmissions!\n\n"); 
    739740} 
    740741 
    741 int main(int argc, char *argv[]) 
     742int 
     743CMD(athinfo)(int argc, char *argv[]) 
    742744{ 
    743745        u_int32_t dev_addr; 
    744746        u_int16_t eeprom_header, srev, phy_rev_5ghz, phy_rev_2ghz; 
Note: See TracBrowser for help on using the repository browser.