Working ...
FossilOrigin-Name: 0b484bb6111d188fefc9543e9c09e9b4e1e15aac6877dc4d23d48163f9d22f26
This commit is contained in:
parent
e509c8ccce
commit
c576a8d722
@ -1,5 +1,5 @@
|
|||||||
#ifndef __WTPLIST_H
|
#ifndef __WTPLIST_H
|
||||||
#define __WPTLIST_H
|
#define __WTPLIST_H
|
||||||
|
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
#include "capwap.h"
|
#include "capwap.h"
|
||||||
#include "lwapp.h"
|
#include "lwapp.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include "string.h" //tube
|
||||||
/*
|
/*
|
||||||
static void cwmsg_addelem_image_data(struct cwmsg *cwmsg, struct image_data *data)
|
static void cwmsg_addelem_image_data(struct cwmsg *cwmsg, struct image_data *data)
|
||||||
{
|
{
|
||||||
@ -36,7 +39,8 @@ int conn_prepare_image_data_request(struct conn * conn, struct image_data * data
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//uint8_t buf[1024];
|
||||||
|
//memset(buf,0xff,1024);
|
||||||
|
|
||||||
|
|
||||||
uint8_t type=3;
|
uint8_t type=3;
|
||||||
@ -51,6 +55,7 @@ int conn_prepare_image_data_request(struct conn * conn, struct image_data * data
|
|||||||
&checksum,2,
|
&checksum,2,
|
||||||
// d, sizeof(d)
|
// d, sizeof(d)
|
||||||
data->data, data->len
|
data->data, data->len
|
||||||
|
// buf,1024
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,10 +38,10 @@ void cwmsg_addelem_ac_descriptor(struct cwmsg *msg,struct ac_info * acinfo)
|
|||||||
len+=4;
|
len+=4;
|
||||||
*((uint32_t*)(acd+len))=htonl((1<<16)|sublen);
|
*((uint32_t*)(acd+len))=htonl((1<<16)|sublen);
|
||||||
len+=4;
|
len+=4;
|
||||||
*(acd+len)=7; len++;
|
*(acd+len)=5; len++;
|
||||||
*(acd+len)=4; len++;
|
*(acd+len)=0; len++;
|
||||||
*(acd+len)=1; len++;
|
|
||||||
*(acd+len)=72; len++;
|
*(acd+len)=72; len++;
|
||||||
|
*(acd+len)=71; len++;
|
||||||
*(acd+len)=5; len++;
|
*(acd+len)=5; len++;
|
||||||
*(acd+len)=6; len++;
|
*(acd+len)=6; len++;
|
||||||
*(acd+len)=7; len++;
|
*(acd+len)=7; len++;
|
||||||
|
@ -30,9 +30,7 @@ struct eparm{
|
|||||||
|
|
||||||
static int readelem(void * eparm,int type,uint8_t* msgelem,int len)
|
static int readelem(void * eparm,int type,uint8_t* msgelem,int len)
|
||||||
{
|
{
|
||||||
|
|
||||||
struct eparm * e = (struct eparm*)eparm;
|
struct eparm * e = (struct eparm*)eparm;
|
||||||
// cw_dbg(DBG_CW_MSGELEM,"Reading conf staus req msgelem, type=%d - %s ,len=%d\n",type,cw_msgelemtostr(type),len);
|
|
||||||
cw_dbg_msgelem(CWMSG_CONFIGURATION_STATUS_REQUEST, type, msgelem,len);
|
cw_dbg_msgelem(CWMSG_CONFIGURATION_STATUS_REQUEST, type, msgelem,len);
|
||||||
|
|
||||||
/* mandatory elements */
|
/* mandatory elements */
|
||||||
|
@ -23,11 +23,11 @@
|
|||||||
* elements with opcode 3 - used by Cisco also in CAPWAP
|
* elements with opcode 3 - used by Cisco also in CAPWAP
|
||||||
* (But it's not always correct, the real algo might be another)
|
* (But it's not always correct, the real algo might be another)
|
||||||
*/
|
*/
|
||||||
uint16_t lw_checksum(uint8_t * d, int len)
|
uint16_t lw1_checksum(uint8_t * d, int len)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
// uint32_t cs = 0xffff;
|
// uint32_t cs = 0xffff;
|
||||||
if (len==0)
|
if (len == 0)
|
||||||
return 0xffff;
|
return 0xffff;
|
||||||
|
|
||||||
uint32_t cs = 0;
|
uint32_t cs = 0;
|
||||||
@ -41,9 +41,28 @@ uint16_t lw_checksum(uint8_t * d, int len)
|
|||||||
cs += cs >> 16;
|
cs += cs >> 16;
|
||||||
cs &= 0xffff;
|
cs &= 0xffff;
|
||||||
}
|
}
|
||||||
return (uint16_t) cs&0xffff;
|
return (uint16_t) cs & 0xffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint16_t lw_checksum(uint8_t * d, int len)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
// uint32_t cs = 0xffff;
|
||||||
|
if (len == 0)
|
||||||
|
return 0xffff;
|
||||||
|
|
||||||
|
uint32_t cs = 0x0;
|
||||||
|
for (i = 0; i < len; i += 2) {
|
||||||
|
cs += (cs >> 16);
|
||||||
|
cs &= 0xffff;
|
||||||
|
uint16_t w = d[i] << 8;
|
||||||
|
|
||||||
|
if (i + 1 < len)
|
||||||
|
w |= d[i + 1];
|
||||||
|
|
||||||
|
cs += w ^= 0xffff;
|
||||||
|
}
|
||||||
|
cs += (cs >> 16);
|
||||||
|
return (uint16_t) cs & 0xffff;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user