Refactoring ...
FossilOrigin-Name: 0e582e687c5fe1fc78b2f5a0545c6be8633bbbe011d8ac04dae76866e3347c48
This commit is contained in:
		
							
								
								
									
										15
									
								
								src/cw/cw.h
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								src/cw/cw.h
									
									
									
									
									
								
							| @ -114,7 +114,11 @@ typedef struct { | |||||||
| 	int id; | 	int id; | ||||||
| 	int min_len; | 	int min_len; | ||||||
| 	int max_len; | 	int max_len; | ||||||
| }cw_msgelemdef_t; |  | ||||||
|  |         int (*start_in)(struct conn *conn,struct cw_action_in *a,uint8_t*data,int len,struct sockaddr *from); | ||||||
|  |         int (*end_in)(struct conn *conn,struct cw_action_in *a,uint8_t*elem,int len,struct sockaddr *from); | ||||||
|  |  | ||||||
|  | }cw_elem_handler_t; | ||||||
|  |  | ||||||
| typedef struct { | typedef struct { | ||||||
| 	mavl_t messages; | 	mavl_t messages; | ||||||
| @ -122,8 +126,9 @@ typedef struct { | |||||||
| }cw_message_set_t; | }cw_message_set_t; | ||||||
|  |  | ||||||
| typedef struct{ | typedef struct{ | ||||||
| 	cw_msgelemdef_t * elem; | 	cw_elem_handler_t * elem; | ||||||
| 	int mand; | 	int mand; | ||||||
|  | 	int op; | ||||||
| }cw_msgelemprops_t; | }cw_msgelemprops_t; | ||||||
|  |  | ||||||
| typedef struct { | typedef struct { | ||||||
| @ -467,6 +472,12 @@ struct cw_descriptor_subelem_def { | |||||||
| 	int mand; | 	int mand; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | #define CW_DELETE 1 | ||||||
|  | #define CW_APPEND 2 | ||||||
|  | #define CW_PREPEND 3 | ||||||
|  | #define CW_REPLACE 4 | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| extern int cw_read_descriptor_subelems(mbag_t store, uint8_t * data, int len, | extern int cw_read_descriptor_subelems(mbag_t store, uint8_t * data, int len, | ||||||
| 				       struct cw_descriptor_subelem_def *elems); | 				       struct cw_descriptor_subelem_def *elems); | ||||||
|  | |||||||
| @ -14,8 +14,8 @@ typedef struct { | |||||||
| }message2_t; | }message2_t; | ||||||
|  |  | ||||||
| static inline int cmp_cw_msgelemprops(const void *elem1, const void *elem2){ | static inline int cmp_cw_msgelemprops(const void *elem1, const void *elem2){ | ||||||
| 	cw_msgelemdef_t * e1 = ((cw_msgelemprops_t*)elem1)->elem; | 	cw_elem_handler_t * e1 = ((cw_msgelemprops_t*)elem1)->elem; | ||||||
| 	cw_msgelemdef_t * e2 = ((cw_msgelemprops_t*)elem2)->elem; | 	cw_elem_handler_t * e2 = ((cw_msgelemprops_t*)elem2)->elem; | ||||||
| 	int r; | 	int r; | ||||||
| 	r = e1->id - e2->id; | 	r = e1->id - e2->id; | ||||||
| 	if (r!=0) | 	if (r!=0) | ||||||
| @ -141,9 +141,9 @@ void cw_message_set_add(cw_message_set_t * set, | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
| cw_msgelemdef_t * cw_message_set_find_element( | cw_elem_handler_t * cw_message_set_find_element( | ||||||
| 			cw_message_set_t * set, | 			cw_message_set_t * set, | ||||||
| 			cw_msgelemdef_t * element){ | 			cw_elem_handler_t * element){ | ||||||
| 	return mavl_find(set->all_elems,element); | 	return mavl_find(set->all_elems,element); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -29,6 +29,13 @@ struct mlist_elem * mlist_append(mlist_t l, void *data) | |||||||
| 	return *n; | 	return *n; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | struct mlist_elem * mlist_prepend(mlist_t l, void *data){ | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| struct mlist_elem *mlist_find(mlist_t l, struct mlist_elem *start, void *data) | struct mlist_elem *mlist_find(mlist_t l, struct mlist_elem *start, void *data) | ||||||
| { | { | ||||||
| 	struct mlist_elem *e; | 	struct mlist_elem *e; | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ | |||||||
|  |  | ||||||
| #include "mod_capwap.h" | #include "mod_capwap.h" | ||||||
|  |  | ||||||
| static cw_msgelemdef_t _DISCOVERY_TYPE = { | static cw_elem_handler_t _DISCOVERY_TYPE = { | ||||||
| 	.name = "Discovery Type", | 	.name = "Discovery Type", | ||||||
| 	.id = CAPWAP_ELEM_DISCOVERY_TYPE, | 	.id = CAPWAP_ELEM_DISCOVERY_TYPE, | ||||||
|  	//.start = cw_in_generic2,  |  	//.start = cw_in_generic2,  | ||||||
| @ -37,21 +37,21 @@ static cw_msgelemdef_t _DISCOVERY_TYPE = { | |||||||
| 	.min_len = 1,  | 	.min_len = 1,  | ||||||
| 	.max_len = 1 | 	.max_len = 1 | ||||||
| }; | }; | ||||||
| static cw_msgelemdef_t _WTP_BOARD_DATA = { | static cw_elem_handler_t _WTP_BOARD_DATA = { | ||||||
| 	.name = "WTP Board Data", | 	.name = "WTP Board Data", | ||||||
| 	.id = CAPWAP_ELEM_WTP_BOARD_DATA, | 	.id = CAPWAP_ELEM_WTP_BOARD_DATA, | ||||||
| //	.start = cw_in_wtp_board_data,  | //	.start = cw_in_wtp_board_data,  | ||||||
| //	.item_id = CW_ITEM_WTP_BOARD_DATA,  | //	.item_id = CW_ITEM_WTP_BOARD_DATA,  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static cw_msgelemdef_t _WTP_DESCRIPTOR = { | static cw_elem_handler_t _WTP_DESCRIPTOR = { | ||||||
| 	.id = CAPWAP_ELEM_WTP_DESCRIPTOR, | 	.id = CAPWAP_ELEM_WTP_DESCRIPTOR, | ||||||
| 	.name = "WTP Descriptor", | 	.name = "WTP Descriptor", | ||||||
|  	//.start = capwap_in_wtp_descriptor,  |  	//.start = capwap_in_wtp_descriptor,  | ||||||
| 	//.item_id = "wtp_descriptor",  | 	//.item_id = "wtp_descriptor",  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static cw_msgelemdef_t _WTP_FRAME_TUNNEL_MODE = { | static cw_elem_handler_t _WTP_FRAME_TUNNEL_MODE = { | ||||||
| 	.id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE, | 	.id = CAPWAP_ELEM_WTP_FRAME_TUNNEL_MODE, | ||||||
| 	.name = "WTP Frame Tunnel Mode", | 	.name = "WTP Frame Tunnel Mode", | ||||||
| // 	.start = cw_in_generic2,  | // 	.start = cw_in_generic2,  | ||||||
| @ -60,7 +60,7 @@ static cw_msgelemdef_t _WTP_FRAME_TUNNEL_MODE = { | |||||||
| 	.max_len = 1 | 	.max_len = 1 | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static cw_msgelemdef_t _WTP_MAC_TYPE = { | static cw_elem_handler_t _WTP_MAC_TYPE = { | ||||||
| 	.id = CAPWAP_ELEM_WTP_MAC_TYPE, | 	.id = CAPWAP_ELEM_WTP_MAC_TYPE, | ||||||
| 	.name = "WTP Mac Type", | 	.name = "WTP Mac Type", | ||||||
| //	.start = cw_in_generic2,  | //	.start = cw_in_generic2,  | ||||||
| @ -70,13 +70,13 @@ static cw_msgelemdef_t _WTP_MAC_TYPE = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| /* MTU Discovery Padding  */ | /* MTU Discovery Padding  */ | ||||||
| static cw_msgelemdef_t _MTU_DISCOVERY_PADDING = { | static cw_elem_handler_t _MTU_DISCOVERY_PADDING = { | ||||||
| 	.id = CW_ELEM_MTU_DISCOVERY_PADDING, | 	.id = CW_ELEM_MTU_DISCOVERY_PADDING, | ||||||
| 	.name = "MTU Discovery Padding" | 	.name = "MTU Discovery Padding" | ||||||
| // 	.start = cw_in_mtu_discovery_padding,  | // 	.start = cw_in_mtu_discovery_padding,  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static cw_msgelemdef_t _VENDOR_SPECIFIC_PAYLOAD = { | static cw_elem_handler_t _VENDOR_SPECIFIC_PAYLOAD = { | ||||||
| 	.name = "Vendor Specific Payload", | 	.name = "Vendor Specific Payload", | ||||||
| 	.id = CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD, | 	.id = CAPWAP_ELEM_VENDOR_SPECIFIC_PAYLOAD, | ||||||
|  |  | ||||||
| @ -85,7 +85,7 @@ static cw_msgelemdef_t _VENDOR_SPECIFIC_PAYLOAD = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| /* AC Descriptor - Discovery Response */ | /* AC Descriptor - Discovery Response */ | ||||||
| static cw_msgelemdef_t _AC_DESCRIPTOR = { | static cw_elem_handler_t _AC_DESCRIPTOR = { | ||||||
| 	.name = "AC Descriptor", | 	.name = "AC Descriptor", | ||||||
| 	.id  = CAPWAP_ELEM_AC_DESCRIPTOR, | 	.id  = CAPWAP_ELEM_AC_DESCRIPTOR, | ||||||
| 	//.item_id = CW_ITEM_AC_DESCRIPTOR,  | 	//.item_id = CW_ITEM_AC_DESCRIPTOR,  | ||||||
| @ -137,7 +137,7 @@ void test_sets(){ | |||||||
| 	 | 	 | ||||||
| 	cw_message_set_add(set,messages); | 	cw_message_set_add(set,messages); | ||||||
| 	 | 	 | ||||||
| 	cw_msgelemdef_t el;  | 	cw_elem_handler_t el;  | ||||||
| 	memset(&el,0,sizeof(el)); | 	memset(&el,0,sizeof(el)); | ||||||
| 	el.id=CAPWAP_ELEM_DISCOVERY_TYPE; | 	el.id=CAPWAP_ELEM_DISCOVERY_TYPE; | ||||||
| 	 | 	 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user