actube/src/wtp/configure.c

59 lines
1.4 KiB
C

#include "cw/capwap.h"
#include "cw/conn.h"
#include "cw/log.h"
#include "cw/dbg.h"
#include "wtp_interface.h"
#include "wtp.h"
static int config_cb(struct cw_ElemHandlerParams * params, uint8_t * elems_ptr, int elems_len)
{
cw_dbg(DBG_X,"*** Configurations Status Response received ****");
cw_cfg_copy(params->cfg, params->conn->global_cfg,DBG_CFG_UPDATES,"GlbalCfg");
cw_cfg_save(bootcfg.cfgfilename, params->conn->global_cfg,
"#\n# This file is igenerated by WAT\n# If you edit this, your cahnges might be overwritten\n#\n");
cw_dbg(DBG_X,"*** Cnofig Saved ***");
return 0;
}
int configure(struct cw_Conn * conn)
{
char sockbuff[SOCK_ADDR_BUFSIZE];
cw_conn_set_msg_cb(conn,CAPWAP_MSG_CONFIGURATION_STATUS_RESPONSE,config_cb);
int rc;
cw_cfg_copy(conn->global_cfg,conn->update_cfg,0,"");
cw_cfg_dump(conn->update_cfg);
rc = cw_send_request(conn, CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST);
cw_cfg_clear(conn->update_cfg);
if (!cw_result_is_ok(rc)) {
if (rc > 0) {
cw_log(LOG_ERR,
"Error sending Configuration Status Request to AC at %s, AC said: %d - %s.",
sock_addr2str(&conn->addr,sockbuff), rc, cw_strerror(rc));
} else {
cw_log(LOG_ERR,
"Error sending Configuration Status Request to AC at %s: %d - %s.",
sock_addr2str(&conn->addr,sockbuff), errno, cw_strerror(rc));
}
/*cfg_to_json();*/
return 0;
}
return 1;
}