From e509c8ccce244ec99ba737d3f1afde496921fed3 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 25 Aug 2014 22:57:13 +0000 Subject: [PATCH] cw_read_vendor_specific_payload added. FossilOrigin-Name: 1963a9cc1de49b23879b592a13f99c7a8abb5885904187c0e8560b300d0c947b --- src/capwap/Makefile | 1 + src/capwap/capwap.h | 3 +++ src/capwap/cwread_discovery_request.c | 7 +++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/capwap/Makefile b/src/capwap/Makefile index 0a4d40a5..93d8a313 100644 --- a/src/capwap/Makefile +++ b/src/capwap/Makefile @@ -122,6 +122,7 @@ CAPWAPOBJS= \ cw_readelem_radio_operational_state.o \ cw_readelem_statistics_timer.o \ cw_readelem_mtu_discovery_padding.o \ + cw_readelem_vendor_specific_payload.o \ cw_readelem_wtp_reboot_statistics.o\ cwmsg_addelem_vendor_cisco_ap_timesync.o \ lw_checksum.o diff --git a/src/capwap/capwap.h b/src/capwap/capwap.h index 01c07f59..7486f65e 100644 --- a/src/capwap/capwap.h +++ b/src/capwap/capwap.h @@ -373,6 +373,7 @@ extern void cwsend_conf_status_response(struct conn * conn,int seqnum, int rc, s extern void cwsend_unknown_response(struct conn * conn,int seqnum, int unknow_request); + extern const char * cw_msgelemtostr(int elem); extern const char * cw_msgtostr(int type); @@ -388,6 +389,8 @@ extern int cw_readelem_radio_operational_state(struct radioinfo * radioinfo, int extern int cw_readelem_statistics_timer(uint16_t *timer, int type, uint8_t * msgelem, int len); extern int cw_readelem_result_code(uint32_t *result_code, int type, uint8_t * msgelem, int len); +extern int cw_readelem_mtu_discovery_padding(int type,uint8_t *msgelem, int len); +extern int cw_readelem_vendor_specific_payload(void * data, int msgtype, int elemtype,uint8_t *msgelem, int len); diff --git a/src/capwap/cwread_discovery_request.c b/src/capwap/cwread_discovery_request.c index de03eaf1..c05ed902 100644 --- a/src/capwap/cwread_discovery_request.c +++ b/src/capwap/cwread_discovery_request.c @@ -62,9 +62,12 @@ static int wtpinfo_readelem_discovery_req(void *eparm, int type, goto foundX; /* non-mandatory mesage lements */ - if (cw_readelem_mtu_discovery_padding(type,msgelem,len)) + if (cw_readelem_mtu_discovery_padding(type, msgelem, len)) + return 1; + + if (cw_readelem_vendor_specific_payload + (e->wtpinfo, CWMSG_DISCOVERY_REQUEST, type, msgelem, len)) return 1; - return 0; foundX: