More message set work
FossilOrigin-Name: e77c8337093cd404440cc8c2e05429178f18569d4611489fd7ff468949352954
This commit is contained in:
@ -249,10 +249,10 @@
|
||||
* about the WTP */
|
||||
#define CAPWAP_ELEM_WTP_DESCRIPTOR 39
|
||||
#define CW_ELEM_WTP_FALLBACK 40
|
||||
#define CW_ELEM_WTP_FRAME_TUNNEL_MODE 41
|
||||
#define CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE 41
|
||||
#define CW_ELEM_RESERVED_42 42
|
||||
#define CW_ELEM_RESERVED_43 43
|
||||
#define CW_ELEM_WTP_MAC_TYPE 44
|
||||
#define CAPWAP_ELEM_WTP_MAC_TYPE 44
|
||||
#define CW_ELEM_WTP_NAME 45
|
||||
#define CW_ELEM_RESERVED_46 46
|
||||
#define CW_ELEM_WTP_RADIO_STATISTICS 47
|
||||
|
@ -47,10 +47,10 @@ struct cw_strlist_elem capwap_strings_elem[] = {
|
||||
{CAPWAP_ELEM_WTP_BOARD_DATA, "WTP Board Data"},
|
||||
{CAPWAP_ELEM_WTP_DESCRIPTOR, "WTP Descriptor"},
|
||||
{CW_ELEM_WTP_FALLBACK, "WTP Fallback"},
|
||||
{CW_ELEM_WTP_FRAME_TUNNEL_MODE, "WTP Frame Tunnel Mode"},
|
||||
{CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE, "WTP Frame Tunnel Mode"},
|
||||
{CW_ELEM_RESERVED_42, "Reserved 42"},
|
||||
{CW_ELEM_RESERVED_43, "Reserved 43"},
|
||||
{CW_ELEM_WTP_MAC_TYPE, "WTP MAC Type"},
|
||||
{CAPWAP_ELEM_WTP_MAC_TYPE, "WTP MAC Type"},
|
||||
{CW_ELEM_WTP_NAME, "WTP Name"},
|
||||
{CW_ELEM_RESERVED_46, "Reserved 46"},
|
||||
{CW_ELEM_WTP_RADIO_STATISTICS, "WTP Radio Statistics"},
|
||||
|
@ -4,12 +4,13 @@
|
||||
|
||||
#include "message_set.h"
|
||||
|
||||
struct message_search_elem{
|
||||
cw_messagedef_t *message;
|
||||
typedef struct {
|
||||
int type;
|
||||
const char * name;
|
||||
int * states;
|
||||
mavl_t elements_tree;
|
||||
mlist_t elements_list;
|
||||
};
|
||||
|
||||
}message2_t;
|
||||
|
||||
static inline int cmp_cw_message_element(const void *elem1, const void *elem2){
|
||||
cw_message_element_t * e1 = (cw_message_element_t*)elem1;
|
||||
@ -30,31 +31,10 @@ static inline int cmp_cw_message_element(const void *elem1, const void *elem2){
|
||||
|
||||
static inline int msg_cmp(const void *elem1, const void *elem2)
|
||||
{
|
||||
/* struct cw_action_in *e1 = (struct cw_action_in *) elem1;
|
||||
struct cw_action_in *e2 = (struct cw_action_in *) elem2;
|
||||
int r;
|
||||
|
||||
r = e1->capwap_state - e2->capwap_state;
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = e1->msg_id - e2->msg_id;
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = e1->elem_id - e2->elem_id;
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = e1->vendor_id - e2->vendor_id;
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
r = e1->proto - e2->proto;
|
||||
if (r != 0)
|
||||
return r;
|
||||
*/
|
||||
return 0;
|
||||
message2_t * e1 = (message2_t*)elem1;
|
||||
message2_t * e2 = (message2_t*)elem2;
|
||||
|
||||
return e1->type - e2->type;
|
||||
}
|
||||
|
||||
|
||||
@ -98,21 +78,23 @@ cw_message_set_t * cw_message_set_create(){
|
||||
|
||||
|
||||
void cw_message_set_add(cw_message_set_t * set,
|
||||
cw_message_t * messages,
|
||||
cw_message_element_t * elements[]){
|
||||
cw_message_t messages[],
|
||||
cw_message_element_t elements[]){
|
||||
|
||||
cw_message_element_t ** e;
|
||||
cw_message_element_t * e;
|
||||
for (e=elements; e->id!=0; e++){
|
||||
|
||||
// mavl_add(set->all_elems, e);
|
||||
|
||||
printf("Add: %d %d %d %s\n",
|
||||
e->proto,
|
||||
e->vendor,
|
||||
e->id,
|
||||
e->name
|
||||
);
|
||||
|
||||
|
||||
mavl_replace(set->all_elems, e);
|
||||
}
|
||||
|
||||
cw_message_t * m;
|
||||
for (m=messages; m->type !=0; m++){
|
||||
printf("MESS: %d %s",m->type, m->name);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
cw_message_element_t * cw_message_set_find_element(
|
||||
cw_message_set_t * set,
|
||||
cw_message_element_t * element){
|
||||
return mavl_find(set->all_elems,element);
|
||||
}
|
@ -6,6 +6,6 @@
|
||||
extern void cw_message_set_destroy(cw_message_set_t * set);
|
||||
extern cw_message_set_t * cw_message_set_create();
|
||||
extern void cw_message_set_add(cw_message_set_t * set,
|
||||
cw_message_t * messages,
|
||||
cw_message_element_t * elements[]);
|
||||
cw_message_t messages[],
|
||||
cw_message_element_t elements[]);
|
||||
#endif
|
Reference in New Issue
Block a user