mbag, mavl stuff, json writer - reader...
FossilOrigin-Name: fead99e8075b4f8aa183f6b13102f906fe886dcf1ed19312c035f5fd106d1b02
This commit is contained in:
@ -74,7 +74,8 @@ MAVLOBJS= \
|
||||
mavl_get_node.o \
|
||||
mavl_foreach.o \
|
||||
mavl_foreach_lr.o \
|
||||
utf8.o
|
||||
utf8.o \
|
||||
file.o
|
||||
|
||||
# cw_foreach_msgelem.o \
|
||||
|
||||
|
@ -1093,6 +1093,7 @@ int cw_out_wtp_board_data(struct conn *conn, struct cw_action_out *a, uint8_t *
|
||||
|
||||
void cw_init_request(struct conn *conn, int msg_id);
|
||||
struct mbag_item *cw_out_get_session_id(struct conn *conn, struct cw_action_out *a);
|
||||
struct mbag_item *cw_out_get_config(struct conn *conn, struct cw_action_out *a);
|
||||
|
||||
|
||||
|
||||
|
@ -27,6 +27,11 @@ struct mbag_item *cw_out_get_local(struct conn *conn, struct cw_action_out *a)
|
||||
return mbag_get(conn->local,a->item_id);
|
||||
}
|
||||
|
||||
struct mbag_item *cw_out_get_config(struct conn *conn, struct cw_action_out *a)
|
||||
{
|
||||
return mbag_get(conn->config,a->item_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#include "capwap.h"
|
||||
|
@ -197,7 +197,7 @@ cw_action_out_t capwap_actions_wtp_out[] = {
|
||||
|
||||
/* WTP Name */
|
||||
{CW_MSG_JOIN_REQUEST, CW_ITEM_WTP_NAME, 0,
|
||||
CW_ELEM_WTP_NAME, NULL,cw_out_generic, cw_out_get_local,1}
|
||||
CW_ELEM_WTP_NAME, NULL,cw_out_generic, cw_out_get_config,1}
|
||||
,
|
||||
|
||||
/* WTP MAC Type */
|
||||
|
@ -39,9 +39,10 @@ void conn_init(struct conn * conn)
|
||||
conn->wait_dtls=CAPWAP_WAIT_DTLS;
|
||||
conn->wait_join=CAPWAP_WAIT_JOIN;
|
||||
conn->mtu_discovery=1;
|
||||
conn->remote = mbag_create();
|
||||
conn->capwap_mode = CW_MODE_UNKNOWN;
|
||||
conn->strict_capwap=1;
|
||||
|
||||
conn->remote = mbag_create();
|
||||
}
|
||||
|
||||
|
||||
|
@ -35,6 +35,9 @@ int cw_in_check_disc_resp(struct conn *conn, struct cw_action_in *a, uint8_t * d
|
||||
discs = mbag_get_avltree_c(conn->remote, CW_ITEM_DISCOVERIES,
|
||||
mbag_create);
|
||||
|
||||
//mavl_del_all(discs);
|
||||
//exit(0);
|
||||
|
||||
if ( !discs ) {
|
||||
cw_log(LOG_ERR,"Can't allocate store for disc resp");
|
||||
errno = ENOMEM;
|
||||
|
@ -9,7 +9,7 @@
|
||||
int cw_out_wtp_board_data(struct conn *conn, struct cw_action_out *a, uint8_t * dst)
|
||||
{
|
||||
mbag_t board_data =
|
||||
mbag_get_avltree(conn->local, CW_ITEM_WTP_BOARD_DATA);
|
||||
mbag_get_mbag(conn->config, CW_ITEM_WTP_BOARD_DATA,NULL);
|
||||
if (!board_data) {
|
||||
cw_log(LOG_ERR, "Error: Can't send WTP Board Data element. WTP Board Data is not defined.");
|
||||
return 0;
|
||||
|
@ -37,11 +37,9 @@ const struct mbag_typedef mbag_type_vendorstr = {
|
||||
|
||||
|
||||
void free_avltree(void*t){
|
||||
mbag_item_t *i = (mbag_item_t *) t;
|
||||
mavl_t i = (mavl_t) t;
|
||||
|
||||
printf("the mavl deleer %p\n",i->data);
|
||||
mavl_destroy(i->data);
|
||||
printf("jo\n");
|
||||
mavl_destroy(i);
|
||||
|
||||
}
|
||||
const struct mbag_typedef mbag_type_avltree = {
|
||||
@ -53,10 +51,9 @@ const struct mbag_typedef mbag_type_avltree = {
|
||||
|
||||
static void mbag_type_mbag_del(void *i)
|
||||
{
|
||||
struct mbag_item *x = (struct mbag_item*)i;
|
||||
printf("MBAG DELETE %p\n",x->data);
|
||||
mbag_t x = (mbag_t)i;
|
||||
|
||||
mavl_destroy(x->data);
|
||||
mavl_destroy(x);
|
||||
}
|
||||
|
||||
const struct mbag_typedef mbag_type_mbag = {
|
||||
@ -66,17 +63,15 @@ const struct mbag_typedef mbag_type_mbag = {
|
||||
|
||||
static void mbag_del_data(struct mbag_item *i)
|
||||
{
|
||||
printf("Deling: %p\n",i->data);
|
||||
if (i->type->del) {
|
||||
printf("Calling deler\n");
|
||||
i->type->del(i);
|
||||
i->type->del(i->data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void mbag_del_fun(void *e)
|
||||
{
|
||||
|
||||
|
||||
mbag_del_data(e);
|
||||
free(e);
|
||||
}
|
||||
|
@ -276,7 +276,6 @@ static inline int mbag_set_avltree(mbag_t s, uint32_t id, struct avltree *t)
|
||||
return 0;
|
||||
i->type = MBAG_AVLTREE;
|
||||
i->data = t;
|
||||
printf("Adding AVL %p to %p\n",t,s);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user