Work in progress ...
FossilOrigin-Name: a76e8760f309d36aad22507f961ac5a03f46df9ee585c2f8601ee0a5a088738e
This commit is contained in:
@ -3,35 +3,37 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "capwap.h"
|
||||
#include "bstr.h"
|
||||
|
||||
|
||||
void cwmsg_addelem_wtp_board_data(struct cwmsg * cwmsg, struct wtpinfo * wtpinfo)
|
||||
void cwmsg_addelem_wtp_board_data(struct cwmsg *cwmsg, struct wtpinfo *wtpinfo)
|
||||
{
|
||||
uint8_t msg[1030];
|
||||
*((uint32_t*)msg)=htonl(wtpinfo->vendor_id);
|
||||
*((uint32_t *) msg) = htonl(wtpinfo->vendor_id);
|
||||
|
||||
int l;
|
||||
int len=4;
|
||||
int len = 4;
|
||||
|
||||
if (wtpinfo->model_no){
|
||||
l=strlen((char*)wtpinfo->model_no);
|
||||
*((uint32_t*)(msg+len))=htonl(CWBOARDDATA_MODELNO<<16|l);
|
||||
memcpy(msg+len+4,wtpinfo->model_no,l);
|
||||
len+=l+4;
|
||||
if (wtpinfo->model_no) {
|
||||
l = bstr_len(wtpinfo->model_no);
|
||||
*((uint32_t *) (msg + len)) = htonl(CWBOARDDATA_MODELNO << 16 | l);
|
||||
memcpy(msg + len + 4, bstr_data(wtpinfo->model_no), l);
|
||||
len += l + 4;
|
||||
}
|
||||
|
||||
if (wtpinfo->serial_no){
|
||||
l=strlen((char*)wtpinfo->serial_no);
|
||||
*((uint32_t*)(msg+len))=htonl(CWBOARDDATA_SERIALNO<<16|l);
|
||||
memcpy(msg+len+4,wtpinfo->serial_no,l);
|
||||
len+=l+4;
|
||||
if (wtpinfo->serial_no) {
|
||||
l = strlen((char *) wtpinfo->serial_no);
|
||||
*((uint32_t *) (msg + len)) = htonl(CWBOARDDATA_SERIALNO << 16 | l);
|
||||
memcpy(msg + len + 4, wtpinfo->serial_no, l);
|
||||
len += l + 4;
|
||||
}
|
||||
|
||||
if (wtpinfo->macaddress){
|
||||
*((uint32_t*)(msg+len))=htonl(CWBOARDDATA_MACADDRESS<<16|wtpinfo->macaddress_len);
|
||||
memcpy(msg+len+4,wtpinfo->macaddress,wtpinfo->macaddress_len);
|
||||
len+=wtpinfo->macaddress_len+4;
|
||||
if (wtpinfo->macaddress) {
|
||||
*((uint32_t *) (msg + len)) =
|
||||
htonl(CWBOARDDATA_MACADDRESS << 16 | wtpinfo->macaddress_len);
|
||||
memcpy(msg + len + 4, wtpinfo->macaddress, wtpinfo->macaddress_len);
|
||||
len += wtpinfo->macaddress_len + 4;
|
||||
}
|
||||
|
||||
cwmsg_addelem(cwmsg,CWMSGELEM_WTP_BOARD_DATA,msg,len);
|
||||
cwmsg_addelem(cwmsg, CWMSGELEM_WTP_BOARD_DATA, msg, len);
|
||||
}
|
||||
|
Reference in New Issue
Block a user