Working on mods...
FossilOrigin-Name: 38c2ad1dd0ad8734bd1c30721f63fecfc6f011c32163b750757ef50a961c131d
This commit is contained in:
@ -47,7 +47,7 @@ LOGOBJS=log.o \
|
||||
log_file.o \
|
||||
dbg_strings.o\
|
||||
dbg.o \
|
||||
cw_get_mods.o
|
||||
cw_get_mod_ac.o
|
||||
|
||||
|
||||
WTPINFOOBJS =\
|
||||
@ -290,6 +290,7 @@ CFLAGS += $(GNUTLS_CFLAGS) \
|
||||
|
||||
|
||||
#SRCS = $(OBJS:.o=.c)
|
||||
MODOBJS=$(wildcard ./mod/cipwap/$(ARCH)/*.o)
|
||||
|
||||
$(ARCH)/%.o:%.c
|
||||
@mkdir -p $(ARCH)
|
||||
@ -297,7 +298,7 @@ $(ARCH)/%.o:%.c
|
||||
@$(CC) -c $(CFLAGS) $< -o $@
|
||||
# @$(CC) -MM $(CFLAGS) $< > $*.d
|
||||
|
||||
$(ARCH)/$(NAME) : $(OBJS)
|
||||
$(ARCH)/$(NAME) : $(OBJS) $(MODOBJS)
|
||||
@echo " AR $(ARCH)/$(NAME)"
|
||||
@$(AR) rcs $(ARCH)/$(NAME) $(OBJS) $(MODOBJS)
|
||||
|
||||
@ -305,17 +306,23 @@ $(ARCH)/$(NAME) : $(OBJS)
|
||||
SRCS = $(OBJS:.o=.c)
|
||||
DEPS := $(OBJS:.o=.d)
|
||||
|
||||
mod_cipwap:
|
||||
$(MAKE) -C mod/cipwap
|
||||
|
||||
|
||||
.PHONY: deps clean clean_libs libs
|
||||
|
||||
|
||||
# top-level rule, to compile everything.
|
||||
all: $(ARCH)/$(NAME)
|
||||
all:
|
||||
$(MAKE) mod_cipwap
|
||||
$(MAKE) capwap
|
||||
|
||||
|
||||
capwap: $(ARCH)/$(NAME)
|
||||
|
||||
|
||||
|
||||
|
||||
mod_cipwap:
|
||||
$(MAKE) -C mod/cipwap
|
||||
|
||||
|
||||
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "intavltree.h"
|
||||
|
||||
#include "mbag.h"
|
||||
#include "mod.h"
|
||||
|
||||
/**
|
||||
* Connection Object
|
||||
@ -181,8 +182,10 @@ struct conn {
|
||||
int (*process_packet)(struct conn *conn, uint8_t * packet, int len,struct sockaddr *from);
|
||||
int (*process_message)(struct conn *conn, uint8_t * rawmsg, int rawlen,
|
||||
struct sockaddr *from);
|
||||
|
||||
|
||||
|
||||
void * mods;
|
||||
|
||||
};
|
||||
|
||||
|
@ -1,8 +1,11 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#include "mod.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
struct mod_ac *(*mods_ac[])() = MODS_AC;
|
||||
|
||||
@ -11,11 +14,10 @@ struct mod_ac * cw_get_mod_ac(const char *name)
|
||||
{
|
||||
int i;
|
||||
for (i=0; mods_ac[i];i++){
|
||||
|
||||
struct mod_ac * m = mods_ac[i]();
|
||||
if (strcmp(m->name,name)==0)
|
||||
return m;
|
||||
|
||||
|
||||
}
|
||||
return NULL;
|
||||
}
|
@ -3,12 +3,20 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "sock.h"
|
||||
#include "conn.h"
|
||||
|
||||
struct mod_ac
|
||||
{
|
||||
/** Name of the mod */
|
||||
const char *name;
|
||||
/** Initializion method */
|
||||
int (*init)();
|
||||
int (*detect_by_raw)(const char *msg, int len);
|
||||
int (*detect_by_discovery)(const char*);
|
||||
/** Detect capwap
|
||||
This function ifter receiving and disassembling a complete
|
||||
CAPWAP message. Either on Discovery Request or Join Request
|
||||
**/
|
||||
int (*detect)(struct conn *conn,const char *rawmsg, int rawlen,struct sockaddr *from);
|
||||
};
|
||||
|
||||
|
||||
@ -18,5 +26,6 @@ struct mod_ac
|
||||
#define MODS_AC { mod_cipwap_ac,NULL }
|
||||
|
||||
|
||||
extern struct mod_ac * cw_get_mod_ac(const char *name);
|
||||
|
||||
#endif
|
||||
|
@ -11,8 +11,8 @@ int cipwap_init()
|
||||
|
||||
|
||||
static struct mod_ac cipwap_ac = {
|
||||
// .init = cipwap_init()
|
||||
|
||||
.init = cipwap_init,
|
||||
.name ="cipwap"
|
||||
};
|
||||
|
||||
struct mod_ac * mod_cipwap_ac(){
|
||||
|
Reference in New Issue
Block a user