From 40387cc1280e34ab9c5e77e65eb6815fe9c27fad Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Sat, 28 Mar 2015 09:13:57 +0000 Subject: [PATCH] Maxro cw_get_elem_data added. FossilOrigin-Name: d3985faaa7ead05c52ca6479ba3b96282c5517d3cf6e7e2197eeb3cf1c115466 --- src/capwap/capwap.h | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/src/capwap/capwap.h b/src/capwap/capwap.h index b56648c0..bb6cc5a1 100644 --- a/src/capwap/capwap.h +++ b/src/capwap/capwap.h @@ -493,6 +493,10 @@ extern int cw_send_echo_response(struct conn *conn, int seqnum, struct radioinfo extern int cw_handle_echo_request(void *d); extern void cw_send_image_file(struct conn *conn, FILE * infile); +extern int cw_readmsg_configuration_status_response(uint8_t *elems,int elems_len); + + + /* Use some macros from LWAPP */ #define cw_put_byte lw_put_byte @@ -537,17 +541,42 @@ extern void cw_send_image_file(struct conn *conn, FILE * infile); * @return length of element */ #define cw_get_elem_type(e) cw_get_word(e) +#define cw_get_elem_id(e) cw_get_elem_type(e) /** * Get type of a CAPWAP message element * @pram e pointer to element (uint8_t*) * @return type of element */ -#define cw_get_elem_len(e) cw_get_word(e+2) +#define cw_get_elem_len(e) cw_get_word(e+2) + +/** + * Get a pinter to the data of a CAPWAP message element + * @param e pointer to message element + * @return pointer to data + */ +#define cw_get_elem_data(e) (e+4) + +/** + * Iterate through message elements of a CAPWAP message + * @param i iterator witch points to the current element (uint8_t*) + * @param elems pointer to message elements (uint8_t*) + * @param len length of message element buffer + * + * You can use this macro like a for loop. + * + * uint8_t * i + * cw_foreach_elem(i,elem,len){ + * ... + * print_message(i); + * ... + * } + */ +#define cw_foreach_elem(i,elems,len) for(i=elems; i