2018-03-26 00:00:21 +02:00
|
|
|
|
|
|
|
#include "capwap.h"
|
|
|
|
#include "msgset.h"
|
2022-07-31 17:15:32 +02:00
|
|
|
#include "val.h"
|
2018-03-26 00:00:21 +02:00
|
|
|
#include "log.h"
|
|
|
|
|
|
|
|
int cw_in_generic_struct(struct cw_ElemHandler * handler, struct cw_ElemHandlerParams * params,
|
|
|
|
uint8_t * elem_data, int elem_len)
|
|
|
|
{
|
2018-04-23 07:51:56 +02:00
|
|
|
const char * key;
|
|
|
|
char tmpkey[CW_KTV_MAX_KEY_LEN];
|
|
|
|
|
|
|
|
if (handler->mkkey != NULL){
|
|
|
|
handler->mkkey(key,elem_data,elem_len, tmpkey);
|
|
|
|
key = tmpkey;
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
key = handler->key;
|
|
|
|
}
|
|
|
|
|
2022-07-30 19:44:57 +02:00
|
|
|
printf("CW_IN_GENERIC STRUCT: %s\n",key);
|
|
|
|
|
2018-04-23 07:51:56 +02:00
|
|
|
/* int (*mkkey)(struct cw_ElemHandler * handler, char *dst, struct cw_ElemHandlerParams * params,
|
|
|
|
uint8_t*data, int len);
|
|
|
|
*/
|
2018-03-26 00:00:21 +02:00
|
|
|
|
|
|
|
if (!handler->type){
|
|
|
|
cw_log(LOG_ERR,"Can't handle element: %s, no type defined",handler->name);
|
|
|
|
return CAPWAP_RESULT_UNRECOGNIZED_MESSAGE_ELEMENT;
|
|
|
|
}
|
|
|
|
|
2022-07-28 01:36:16 +02:00
|
|
|
cw_ktv_read_struct(params->remote_cfg,handler->type,key,elem_data,elem_len);
|
2018-04-23 07:51:56 +02:00
|
|
|
|
2018-03-26 00:00:21 +02:00
|
|
|
return CAPWAP_RESULT_SUCCESS;
|
|
|
|
}
|