separated from mbag.c

FossilOrigin-Name: 6abe9eb7aa44bcfb3314621e6dd437e9cc278ce08fd5cc8683a5c5f8ebaa3377
This commit is contained in:
7u83@mail.ru 2016-03-27 20:15:45 +00:00
parent 7058a5ac46
commit 93d53d3351
2 changed files with 26 additions and 87 deletions

26
src/cw/mbag_type_str.c Normal file
View File

@ -0,0 +1,26 @@
#include "mbag.h"
static int to_str(void *item,char *dst)
{
mbag_item_t *i= item;
return sprintf(dst, "%s", (char*)i->data);
}
static struct mbag_item * from_str(const char *src)
{
struct mbag_item *i= malloc(sizeof(mbag_item_t));
if (!i)
return NULL;
i->type = MBAG_STR;
i->dynid=0;
i->data = strndup(src,2000);
return i;
}
const struct mbag_typedef mbag_type_str = {
"Sstr",free,to_str,from_str
};

View File

@ -1,87 +0,0 @@
/*
This file is part of libcapwap.
libcapwap is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
libcapwap is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Foobar. If not, see <http://www.gnu.org/licenses/>.
*/
#include "capwap.h"
#include "capwap_80211.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "wtpinfo.h"
#include "cw_util.h"
#include "cw_log.h"
static int process_elem(void *w,int type,uint8_t* msgelem,int len)
{
struct wtpinfo * wtpinfo = (struct wtpinfo*)w;
cw_dbg(DBG_ELEM,"Process conf status req msgelem, type=%d (%s), len=%d",type,cw_msgelemtostr(type),len);
cw_dbg_dmp(DBG_ELEM_DMP,msgelem,len,"Dump for msgelem ...");
if (wtpinfo_readelem_ac_name(wtpinfo,type,msgelem,len))
return 1;
if (cw_readelem_wtp_reboot_statistics(&wtpinfo->reboot_statistics,type,msgelem,len))
return 1;
/*
if (wtpinfo_readelem_location_data(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_board_data(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_descriptor(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_name(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_session_id(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_frame_tunnel_mode(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_mac_type(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_wtp_radio_info(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_ecn_support(wtpinfo,type,msgelem,len))
return 1;
if (wtpinfo_readelem_cw_local_ip_addr(wtpinfo,type,msgelem,len))
return 1;
*/
return 0;
}
void process_conf_status_request(struct wtpinfo * wtpinfo, uint8_t * msg, int len)
{
cw_foreach_msgelem(msg,len,process_elem,(void*)wtpinfo);
}