diff --git a/src/capwap/cw_in_check_cfg_update_req.c b/src/capwap/cw_in_check_cfg_update_req.c new file mode 100644 index 00000000..10ad6d63 --- /dev/null +++ b/src/capwap/cw_in_check_cfg_update_req.c @@ -0,0 +1,31 @@ + +#include "capwap.h" +#include "intavltree.h" +#include "dbg.h" +#include "log.h" +#include "capwap_items.h" + +int cw_in_check_cfg_update_req(struct conn *conn, struct cw_action_in *a, uint8_t * data, + int len,struct sockaddr *from) +{ + + cw_action_in_t * mlist[60]; + + /* Check for mandatory elements */ + int n = cw_check_missing_mand(mlist,conn,a); + if (n) { + if ( conn->strict_capwap ){ + cw_dbg_missing_mand(DBG_MSG_ERR,conn,mlist,n,a); + conn->capwap_state=CW_STATE_JOIN; + return CW_RESULT_MISSING_MAND_ELEM; + } + cw_dbg_missing_mand(DBG_RFC,conn,mlist,n,a); + } + + + /* set result code to ok and change to configure state */ + mbag_set_dword(conn->outgoing,CW_ITEM_RESULT_CODE,0); + + + return 0; +} diff --git a/src/capwap/cw_in_check_chng_state_evnt_req.c b/src/capwap/cw_in_check_chng_state_evnt_req.c new file mode 100644 index 00000000..d762e460 --- /dev/null +++ b/src/capwap/cw_in_check_chng_state_evnt_req.c @@ -0,0 +1,13 @@ + +#include "capwap.h" +#include "intavltree.h" +#include "dbg.h" +#include "log.h" +#include "capwap_items.h" + +int cw_in_check_chng_state_evnt_req(struct conn *conn, struct cw_action_in *a, uint8_t * data, + int len,struct sockaddr *from) +{ + conn->capwap_state = CW_STATE_RUN; + return 0; +} diff --git a/src/capwap/cw_in_radio_administrative_state_wtp.c b/src/capwap/cw_in_radio_administrative_state_wtp.c new file mode 100644 index 00000000..7b284322 --- /dev/null +++ b/src/capwap/cw_in_radio_administrative_state_wtp.c @@ -0,0 +1,25 @@ + +#include "action.h" +#include "dbg.h" +#include "log.h" +#include "mbag.h" +#include "capwap.h" +#include "radio.h" + + + + +int cw_in_radio_administrative_state_wtp(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len, + struct sockaddr *from) +{ + + if (!cw_in_radio_administrative_state(conn,a,data,len,from) ) + return 0; + + + return 1; + +} + + + diff --git a/src/capwap/cw_in_radio_operational_state.c b/src/capwap/cw_in_radio_operational_state.c new file mode 100644 index 00000000..986aa27f --- /dev/null +++ b/src/capwap/cw_in_radio_operational_state.c @@ -0,0 +1,17 @@ + +#include "action.h" +#include "dbg.h" +#include "log.h" +#include "mbag.h" +#include "capwap.h" + + + +int cw_in_radio_operational_state(struct conn *conn, struct cw_action_in *a, uint8_t * data, + int len, struct sockaddr *from) +{ + + + +} +