Reads Cisco 1048 elements
FossilOrigin-Name: 862bfe7c8db943b9aada1de60f3c537ffe7fd0fc0f943d952c6a912ff9f53cdd
This commit is contained in:
@ -106,7 +106,8 @@ CWSRC=\
|
||||
cw_type_ipaddress.c\
|
||||
cw_type_word.c\
|
||||
cw_util.c\
|
||||
cw_write_descriptor_subelem.c
|
||||
cw_write_descriptor_subelem.c\
|
||||
cw_read_from.c
|
||||
|
||||
|
||||
LWSRC=\
|
||||
|
@ -561,7 +561,7 @@ extern struct cw_StrListElem capwap_strings_vendor[];
|
||||
extern struct cw_StrListElem capwap_strings_elem[];
|
||||
extern struct cw_StrListElem capwap_strings_result[];
|
||||
extern struct cw_StrListElem capwap_strings_board[];
|
||||
extern struct cw_StrListElem mbag_item_strings[];
|
||||
/*extern struct cw_StrListElem mbag_item_strings[];*/
|
||||
|
||||
|
||||
|
||||
@ -574,7 +574,7 @@ extern struct cw_StrListElem mbag_item_strings[];
|
||||
|
||||
#define cw_strboardelem(id) cw_strlist_get_str(capwap_strings_board,id)
|
||||
|
||||
#define cw_stritem(id) cw_strlist_get_str(mbag_item_strings,(id))
|
||||
/*#define cw_stritem(id) cw_strlist_get_str(mbag_item_strings,(id))*/
|
||||
|
||||
/*
|
||||
#define cw_strrc(rc) \
|
||||
|
@ -309,7 +309,7 @@ extern int conn_recvfrom_packet(struct conn *conn, uint8_t * buf, int len,
|
||||
struct sockaddr_storage *from);
|
||||
|
||||
int conn_send_msg(struct conn * conn, uint8_t *rawmsg);
|
||||
int cw_read_from(struct conn * conn);
|
||||
int cw_read_from(struct conn * conn, struct sockaddr_storage * from);
|
||||
|
||||
int conn_send_msg(struct conn *conn, uint8_t * rawmsg);
|
||||
|
||||
|
@ -722,29 +722,3 @@ int cw_read_messages(struct conn *conn)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int cw_read_from(struct conn *conn)
|
||||
{
|
||||
int n;
|
||||
struct sockaddr_storage from;
|
||||
uint8_t buf[2024];
|
||||
int len = 2024;
|
||||
|
||||
if (!conn->readfrom) {
|
||||
cw_log(LOG_ERR, "Fatal error, no readfrom method available.");
|
||||
errno = EPROTO;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
n = conn->readfrom(conn, buf, len, &from);
|
||||
if (n < 0)
|
||||
return n;
|
||||
|
||||
if (n > 0) {
|
||||
return conn->process_packet(conn, buf, n, (struct sockaddr *) &from);
|
||||
}
|
||||
errno = EAGAIN;
|
||||
return -1;
|
||||
}
|
||||
|
@ -51,11 +51,9 @@ int cw_out_radio_generic(struct cw_ElemHandler * handler, struct cw_ElemHandlerP
|
||||
len =0;
|
||||
|
||||
radios = cw_ktv_get_byte(params->conn->local_cfg,"wtp-descriptor/max-radios",0);
|
||||
printf("Must put radios: %d\n",radios);
|
||||
|
||||
for(i=1;i<radios+1;i++){
|
||||
l = cw_put_radio_generic(handler,i,params,dst+len);
|
||||
printf("put radio %i, returns %d\n",i,l);
|
||||
cw_dbg_elem(DBG_ELEM_OUT,params->conn,params->msgdata->type,handler,dst,l);
|
||||
len+=l;
|
||||
}
|
||||
|
29
src/cw/cw_read_from.c
Normal file
29
src/cw/cw_read_from.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include "cw.h"
|
||||
#include "log.h"
|
||||
|
||||
|
||||
int cw_read_from(struct conn *conn, struct sockaddr_storage * from)
|
||||
{
|
||||
int n;
|
||||
uint8_t buf[2024];
|
||||
int len = 2024;
|
||||
|
||||
if (!conn->readfrom) {
|
||||
cw_log(LOG_ERR, "Fatal error, no readfrom method available.");
|
||||
errno = EPROTO;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
n = conn->readfrom(conn, buf, len, from);
|
||||
if (n < 0)
|
||||
return n;
|
||||
|
||||
if (n > 0) {
|
||||
return conn->process_packet(conn, buf, n, (struct sockaddr *) from);
|
||||
}
|
||||
errno = EAGAIN;
|
||||
return -1;
|
||||
}
|
@ -259,8 +259,17 @@ static inline void *mavl_replace(struct mavl *t,void *data){
|
||||
|
||||
|
||||
void mavl_freeptr(void *ptr);
|
||||
|
||||
/**
|
||||
* Create a mavl_t object which stores pointers.
|
||||
* @param cmp a pointer to the compare function
|
||||
* @param del a pointer to a delete function
|
||||
* @return The mavl_t object or NULL if an error has occured.
|
||||
*/
|
||||
#define mavl_create_ptr(cmp,del)\
|
||||
mavl_create(cmp,del,sizeof(void*))
|
||||
|
||||
|
||||
int mavl_cmpstr(const void *p1, const void *p2);
|
||||
#define mavl_create_str() mavl_create_ptr(mavl_cmpstr,mavl_freeptr)
|
||||
#define mavl_create_conststr() mavl_create_ptr(mavl_cmpstr,NULL)
|
||||
@ -271,6 +280,7 @@ void * mavl_add_ptr ( mavl_t tree, const void *ptr );
|
||||
#define mavl_add_str(tree,str) mavl_add_ptr(tree,str)
|
||||
#define mavl_get_str(tree,search) ((char *)(mavl_get_ptr(tree,search)))
|
||||
#define mavliter_get_str(iter) ((char*)(mavliter_get_ptr(iter)))
|
||||
#define mavliter_get_conststr(iter) ((const char*)(mavliter_get_ptr(iter)))
|
||||
|
||||
/**
|
||||
* @} MAVL
|
||||
|
Reference in New Issue
Block a user