A lot of inline functions added.
FossilOrigin-Name: 61efee7650b25c9d7178211a2f2d41181bf75c621fd5cee0456deebfcea52251
This commit is contained in:
parent
58b1653aad
commit
fb28fed7f9
@ -18,23 +18,25 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief Ciscospcific CAPWAP definitions
|
||||
* @brief Cisco specific CAPWAP definitions
|
||||
*/
|
||||
|
||||
#ifndef __CAPWAP_CISCO_H
|
||||
#define __CAPWAP_CISCO_H
|
||||
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "lwapp.h"
|
||||
#include "capwap.h"
|
||||
|
||||
#define CWVENDOR_CISCO_MWAR_ADDR 2
|
||||
#define CWVENDOR_CISCO_RAD 3
|
||||
#define CWVENDOR_CISCO_RAD_SLOT 4
|
||||
#define CWVENDOR_CISCO_RAD_NAME LW_ELEM_WTP_NAME /* 5 */
|
||||
#define CWVENDOR_CISCO_MWAR 6
|
||||
#define CW_CISCO_RAD_SLOT 4
|
||||
#define CW_CISCO_RAD_NAME LW_ELEM_WTP_NAME /* 5 */
|
||||
#define CW_CISCO_MWAR LW_ELEM_AC_DESCRIPTOR /* 6 */
|
||||
|
||||
#define CWVENDOR_CISCO_BOARD DATA LW_ELEM_WTP_BOARD_DATA /* 50 */
|
||||
#define CWVENDOR_CISCO_BOARD DATA LW_ELEM_WTP_BOARD_DATA /* 50 */
|
||||
#define CWVENDER_CISCO_AP_MODE_AND_TYPE 54
|
||||
|
||||
#define CWVENDOR_CISCO_AP_IP_ADDR 83
|
||||
@ -50,26 +52,89 @@
|
||||
|
||||
#define CW_CISCO_AP_TIMESYNC 151
|
||||
|
||||
#define CW_CISCO_BOARD_DATA_OPTIONS 207
|
||||
#define CW_CISCO_BOARD_DATA_OPTIONS 207
|
||||
#define CW_CISCO_MWAR_TYPE 208
|
||||
|
||||
|
||||
|
||||
extern void cwmsg_addelem_vendor_cisco_ap_timesync(struct cwmsg * cwmsg);
|
||||
/**
|
||||
* Add a Cisco AP Timesync message element to a buffer
|
||||
* @param dst destination buffer
|
||||
* @param time a unix timestamp
|
||||
* @param type of time
|
||||
* @return number of bytes put (15)
|
||||
*/
|
||||
|
||||
static inline int cw_addelem_cisco_ap_timesync(uint8_t * dst, time_t time, uint8_t type)
|
||||
{
|
||||
cw_put_dword(dst + 10, time);
|
||||
cw_put_byte(dst + 14, type);
|
||||
return 5 + cw_put_elem_vendor_hdr(dst, CW_VENDOR_ID_CISCO, CW_CISCO_AP_TIMESYNC, 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a Cisco RAD Name message element to buffer
|
||||
* @param dst destination buffer
|
||||
* @param name RAD name, zero terminated
|
||||
* @return number of bytes put
|
||||
*/
|
||||
static inline int cw_addelem_cisco_rad_name(uint8_t * dst, uint8_t * name)
|
||||
{
|
||||
return cw_addelem_vendor_specific_payload(dst, CW_VENDOR_ID_CISCO, CW_CISCO_RAD_NAME, name,
|
||||
strlen((char *) name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a Cisco Group Name message element to buffer
|
||||
* @param dst destination buffer
|
||||
* @param name Group name, zero terminated
|
||||
* @return number of bytes put
|
||||
*/
|
||||
static inline int cw_addelem_cisco_ap_group_name(uint8_t * dst, uint8_t * name)
|
||||
{
|
||||
return cw_addelem_vendor_specific_payload(dst, CW_VENDOR_ID_CISCO, CW_CISCO_AP_GROUP_NAME, name,
|
||||
strlen((char *) name));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add Cisco rad_name payload
|
||||
* @param cwmsg message to add payload to
|
||||
* @param str data to add
|
||||
/**
|
||||
* Add a Cisco MWAR message element.
|
||||
* @param dst destinnation buffer
|
||||
* @param acinfo AC data
|
||||
* @return number of bytes put
|
||||
*
|
||||
* This message elemet is basically an LWAPP AC Descriptor
|
||||
* encapsulated in a CAPWAP vendor specific payload message
|
||||
*/
|
||||
|
||||
static inline int cw_addelem_cisco_mwar(uint8_t *dst, struct ac_info *acinfo){
|
||||
int l = lw_put_ac_descriptor(dst+10,acinfo);
|
||||
return l+cw_put_elem_vendor_hdr(dst,CW_VENDOR_ID_CISCO,CW_CISCO_MWAR,l);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
#define cw_addelem_cisco_rad(dst,acinfo)\
|
||||
lw_put_ac_descriptor(dst+10,acinfo)
|
||||
cw_put_elem_vedor_hdr(dst,CW_VENDOR_ID_CISCO,CW_CISCO_RAD,
|
||||
*/
|
||||
#define cwmsg_addelem_vendor_cisco_rad_name(cwmsg,str) \
|
||||
cwmsg_addelem_vendor_specific_payload(cwmsg,CW_VENDOR_ID_CISCO, \
|
||||
CWVENDOR_CISCO_RAD_NAME,str,strlen((char*)str))
|
||||
/** Add group name payload */
|
||||
#define cwmsg_addelem_vendor_cisco_group_name(cwmsg,str) \
|
||||
cwmsg_addelem_vendor_secific_payload(cwmsg,CW_VENDOR_ID_CISCO, \
|
||||
CWVENDOR_CISCO_GROUP_NAME,str,strlen((char*)str));
|
||||
|
||||
|
||||
|
||||
/* cwmsg methods */
|
||||
#define cwmsg_addelem_cisco_ap_timesync(cwmsg,time,type)\
|
||||
(cwmsg)->pos+=cw_addelem_cisco_ap_timesync(((cwmsg)->msgelems+(cwmsg)->pos),time,type)
|
||||
|
||||
#define cwmsg_addelem_cisco_rad_name(cwmsg,name)\
|
||||
(cwmsg)->pos+=cw_addelem_cisco_rad_name(((cwmsg)->msgelems+(cwmsg)->pos),(name))
|
||||
|
||||
#define cwmsg_addelem_cisco_ap_grpoup_name(cwmsg,name)\
|
||||
(cwmsg)->pos+=cw_addelem_ap_group_name(((cwmsg)->msgelems+(cwmsg)->pos),(name))
|
||||
|
||||
#define cwmsg_addelem_cisco_mwar(cwmsg,acinfo)\
|
||||
(cwmsg)->pos+=cw_addelem_cisco_mwar(((cwmsg)->msgelems+(cwmsg)->pos),(acinfo))
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user