Initial commit
FossilOrigin-Name: c53d95729c009f8f80a7d63847cef7668ff73f8af0523ab65f7734696f85399c
This commit is contained in:
51
src/capwap/conn_get_message.c
Normal file
51
src/capwap/conn_get_message.c
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "conn.h"
|
||||
#include "cwrmsg.h"
|
||||
|
||||
|
||||
|
||||
|
||||
static int pmessage(void *w, struct cwrmsg * cwrmsg)
|
||||
{
|
||||
uint8_t * buffer;
|
||||
buffer = malloc( sizeof (struct cwrmsg) + cwrmsg->msgelems_len);
|
||||
memcpy(buffer,cwrmsg,sizeof(struct cwrmsg));
|
||||
memcpy(buffer+sizeof(struct cwrmsg),cwrmsg->msgelems,cwrmsg->msgelems_len);
|
||||
((struct cwrmsg*)(buffer))->msgelems=buffer+sizeof(struct cwrmsg);
|
||||
*((void**)w) = (void*)buffer;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
struct cwrmsg * conn_get_message(struct conn * conn)
|
||||
{
|
||||
struct cwrmsg * cwrmsg=0;
|
||||
// conn->process_message=pmessage;
|
||||
// conn->pmsgarg=&cwrmsg;
|
||||
|
||||
uint8_t buf[2048];
|
||||
int len=2048;
|
||||
// int flags=0;
|
||||
|
||||
|
||||
int n;
|
||||
// do {
|
||||
// n = conn->recv_packet(conn,(char*)buf,len);
|
||||
n = conn->read(conn,buf,len);
|
||||
//
|
||||
// printf("GETMPACK %i\n",n);
|
||||
if (n>0)
|
||||
conn_process_packet(conn,buf,n,pmessage,&cwrmsg);
|
||||
|
||||
// } while (cwrmsg==0);
|
||||
|
||||
return cwrmsg;
|
||||
}
|
||||
|
Reference in New Issue
Block a user