Initial commit

FossilOrigin-Name: 1b0b90ca3d344f4326678e2504e20b03cfb155c63bc4edf6f55c52a601cb3ffe
This commit is contained in:
7u83@mail.ru 2014-08-17 16:32:13 +00:00
parent 9386daa98a
commit de831efd9c
3 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,58 @@
#include "capwap.h"
#include "cw_log.h"
#include "sock.h"
#include "cw_util.h"
#include <stdio.h>
struct cwrmsg * conn_get_response(struct conn * conn)
{
printf("Starting timer 120\n");
time_t timer = cw_timer_start(160);
struct cwmsg * cwmsg = &conn->req_msg;
int type = cwmsg->type+1;
printf ("Awaiting response message for type=%d\n",type);
struct cwrmsg * cwrmsg;
time_t rpt_timer = cw_timer_start(5);
do {
cwrmsg = conn_get_message(conn);
if (cwrmsg){
cw_dbg(DBG_CW_MSG,"Received message from %s, type=%d - %s"
,sock_addr2str(&conn->addr),cwrmsg->type,cw_msgtostr(cwrmsg->type));
if (cwrmsg->type == type){
printf("Jea!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11\n");
return cwrmsg;
}
}
if (cw_timer_timeout(rpt_timer)){
rpt_timer = cw_timer_start(5);
printf("Retransmitting request\n");
conn_send_cwmsg(conn,&conn->req_msg);
}
if (conn->dtls_error)
return 0;
}while(!cw_timer_timeout(timer));
printf("Timeout!!!!!\n");
return 0;
}

View File

@ -0,0 +1,15 @@
#include "capwap.h"
#include "cwmsg.h"
#include <string.h> //tube
void cwmsg_addelem_image_identifier(struct cwmsg *cwmsg,uint32_t vendor_id,uint8_t *img, int len)
{
// uint32_t net_vendor_id = htonl(vendor_id);
// cwmsg_vaddelem(cwmsg,CWMSGELEM_IMAGE_IDENTIFIER,2,&net_vendor_id,sizeof(net_vendor_id),img,len);
uint8_t name[]="/tobias_heere\0";
cwmsg_addelem(cwmsg,CWMSGELEM_IMAGE_IDENTIFIER,name,strlen((char*)name)+1);
}

View File

@ -0,0 +1,43 @@
/*
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"
void cwmsg_addelem_image_data(struct cwmsg *cwmsg, struct image_data *data)
{
}
int cwsend_image_data_request(struct conn * conn, struct image_data * data, struct image_identifier *id )
{
// uint8_t buffer[CWMSG_MAX_SIZE];
struct cwmsg * cwmsg = &conn->req_msg;
cwmsg_init(cwmsg,conn->req_buffer,CWMSG_IMAGE_DATA_REQUEST,conn_get_next_seqnum(conn),0);
if (data){
// cwmsg_addelem(&cwmsg,CWMSGELEM_IMAGE_DATA,(uint8_t*)&data->type,sizeof(data->type));
cwmsg_vaddelem(cwmsg,CWMSGELEM_IMAGE_DATA, 2,
&data->type, sizeof(data->type),
data->data, data->len
);
}
return conn_send_cwmsg(conn,cwmsg);
}