diff --git a/actube.workspace b/actube.workspace index e0162c79..c63c2d68 100644 --- a/actube.workspace +++ b/actube.workspace @@ -4,8 +4,8 @@ - - + + diff --git a/src/cw/cw_out_generic.c b/src/cw/cw_out_generic.c index 0a55a10b..88ee313e 100644 --- a/src/cw/cw_out_generic.c +++ b/src/cw/cw_out_generic.c @@ -44,10 +44,10 @@ int cw_out_generic(struct cw_ElemHandler * handler, struct cw_ElemHandlerParams } return 0; } - len = handler->type->put(elem,dst+start); + len = ((const cw_Type_t*)(handler->type))->put(elem,dst+start); - handler->type->to_str(elem,detail,120); + ((const cw_Type_t*)(handler->type))->to_str(elem,detail,120); sprintf(params->debug_details, " Value = %s", detail); params->elem = elem; diff --git a/src/cw/msgset.c b/src/cw/msgset.c index 08780ac8..9a1bd38f 100644 --- a/src/cw/msgset.c +++ b/src/cw/msgset.c @@ -172,13 +172,13 @@ static int update_msgdata(struct cw_MsgSet *set, struct cw_MsgData *msgdata, continue; } - if (handler->type != NULL){ +/* if (handler->type != NULL){ if (mavl_add_ptr( set->types_tree, handler->type ) == NULL){ cw_log(LOG_ERR, "Can't add type from handler: %s", strerror(errno)); continue; } } - +*/ ed.id = elemdef->id; ed.proto = elemdef->proto; diff --git a/src/cw/msgset.h b/src/cw/msgset.h index d1f0068a..b28b8664 100644 --- a/src/cw/msgset.h +++ b/src/cw/msgset.h @@ -40,10 +40,7 @@ struct cw_ElemHandlerParams { char * debug_details; }; -union handlerType{ - const struct cw_Type type; - int x; -}; + struct cw_ElemHandler { const char * name; @@ -52,8 +49,8 @@ struct cw_ElemHandler { int proto; int min_len; int max_len; - const struct cw_Type * type; -/* union handlerType type; */ + /*const struct cw_Type * type;*/ + const void * type; const char * key; int (*get)(struct cw_ElemHandler * handler, struct cw_ElemHandlerParams * params, uint8_t*data, int len); diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions_ac.c index e855631c..e2876ee4 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions_ac.c @@ -35,8 +35,17 @@ /* #include "include/capwap_actions.h" */ +/* + const struct cw_Type * type; + const char * key; + int len; + int position; +*/ - +static cw_KTVStruct_t ap_time_sync[] = { + {CW_TYPE_DWORD, "timestamp", 4,-1}, + {CW_TYPE_BYTE, "type", 1,-1} +}; static struct cw_ElemHandler handlers[] = { { @@ -87,11 +96,11 @@ static struct cw_ElemHandler handlers[] = { "AP Time Sync", /* name */ CISCO_ELEM_AP_TIMESYNC, /* Element ID */ CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ - 4,4, /* min/max length */ - CW_TYPE_DWORD, /* type */ + 5,5, /* min/max length */ + ap_time_sync, /* type */ "cisco/ap-timesync", /* Key */ - cw_in_generic, /* handler */ - cw_out_generic /* put */ + NULL, /* handler */ + NULL /* put */ } ,