actube/src/mod/capwap80211/mod_capwap80211_ac.c

61 lines
1.2 KiB
C

#include "cw/mod.h"
#include "cw/log.h"
#include "cw/dbg.h"
#include "cw/action.h"
#include "cw/cw.h"
#include "mod_capwap80211.h"
//extern int capwap_register_actions_ac(struct cw_actiondef *def);
static int init()
{
cw_dbg(DBG_INFO, "Initialiazing mod_capwap80211 ...");
// int rc = capwap_register_actions_ac(&actions);
//cw_dbg(DBG_INFO, "Initialized mod capwap80211 with %d actions", rc);
return 0;
}
static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int elems_len,
struct sockaddr *from, int mode)
{
if (mode != CW_MOD_MODE_BINDINGS)
return 0;
int wbid = cw_get_hdr_wbid(rawmsg);
if (wbid != CAPWAP_WBID_IEEE80211 ) {
cw_dbg(DBG_MOD,"CAPWAP80211 detected: no, my wbid=%d, remote wbid=%d",CAPWAP_WBID_IEEE80211,wbid);
return 0;
}
cw_dbg(DBG_MOD,"CAPWAP80211 detected: yes");
return 1;
}
static int register_actions(struct cw_actiondef *actions, int mode)
{
if (mode != CW_MOD_MODE_BINDINGS)
return 0;
return capwap80211_register_actions_ac(actions);
}
static struct cw_Mod capwap80211_ac = {
.name = "capwap80211",
.init = init,
.detect = detect,
.register_actions = register_actions
};
struct cw_Mod *mod_capwap80211_ac()
{
return &capwap80211_ac;
};