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