Refactoring ...

FossilOrigin-Name: 29a45fd6c217dc9d1d0f050cfc636be7ae4b6473631bb0ab14493e0395f0e3a9
This commit is contained in:
7u83@mail.ru
2018-03-05 08:56:39 +00:00
parent f866dc6b25
commit 94dce70a75
9 changed files with 45 additions and 44 deletions

View File

@ -34,6 +34,7 @@
#include "mod.h"
#include "message_set.h"
int conn_send_msg(struct conn *conn, uint8_t * rawmsg);
@ -44,22 +45,25 @@ int conn_send_msg(struct conn *conn, uint8_t * rawmsg);
*/
void cw_init_response(struct conn *conn, uint8_t * req)
{
uint8_t *buffer = conn->resp_buffer;
int shbytes = cw_get_hdr_msg_offset(req);
int dhbytes;
uint8_t *buffer;
int shbytes, dhbytes;
uint8_t *msgptr, *dmsgptr;
buffer = conn->resp_buffer;
shbytes = cw_get_hdr_msg_offset(req);
memcpy(buffer, req, shbytes);
cw_set_hdr_rmac(buffer, conn->base_rmac);
/*
// cw_set_hdr_hlen(buffer, 2);
// cw_set_hdr_flags(buffer, CW_FLAG_HDR_M, 1);
*/
dhbytes = cw_get_hdr_msg_offset(buffer);
uint8_t *msgptr = req + shbytes;
uint8_t *dmsgptr = buffer + dhbytes;
msgptr = req + shbytes;
dmsgptr = buffer + dhbytes;
cw_set_msg_type(dmsgptr, cw_get_msg_type(msgptr) + 1);
cw_set_msg_seqnum(dmsgptr, cw_get_msg_seqnum(msgptr));
@ -69,7 +73,8 @@ void cw_init_response(struct conn *conn, uint8_t * req)
void cw_init_request(struct conn *conn, int msg_id)
{
uint8_t *buffer = conn->req_buffer;
uint8_t *msgptr;
/* zero the first 8 bytes */
cw_put_dword(buffer + 0, 0);
cw_put_dword(buffer + 4, 0);
@ -78,15 +83,16 @@ void cw_init_request(struct conn *conn, int msg_id)
cw_set_hdr_preamble(buffer, CAPWAP_VERSION << 4 | 0);
cw_set_hdr_rmac(buffer, conn->base_rmac);
/*
//cw_set_hdr_hlen(buffer, 2);
*/
cw_set_hdr_wbid(buffer, conn->wbid);
cw_set_hdr_rid(buffer, 0);
uint8_t *msgptr = cw_get_hdr_msg_offset(buffer) + buffer;
msgptr = cw_get_hdr_msg_offset(buffer) + buffer;
cw_set_msg_type(msgptr, msg_id);
cw_set_msg_flags(msgptr, 0);
cw_set_msg_elems_len(msgptr, 0);
@ -131,12 +137,15 @@ int cw_send_response(struct conn *conn, uint8_t * rawmsg, int len)
*/
int cw_send_error_response(struct conn *conn, uint8_t * rawmsg, uint32_t result_code)
{
uint8_t *out,*dst;
int l;
cw_init_response(conn, rawmsg);
uint8_t *out = conn->resp_buffer;
out = conn->resp_buffer;
uint8_t *dst = cw_get_hdr_msg_elems_ptr(out);
int l = cw_put_elem_result_code(dst, result_code);
dst = cw_get_hdr_msg_elems_ptr(out);
l = cw_put_elem_result_code(dst, result_code);
cw_set_msg_elems_len(out + cw_get_hdr_msg_offset(out), l);