43 lines
1.5 KiB
C
43 lines
1.5 KiB
C
|
#ifndef __CAPWAP_ELEMENT_WTPDESCRIPTOR_HEADER__
|
||
|
#define __CAPWAP_ELEMENT_WTPDESCRIPTOR_HEADER__
|
||
|
|
||
|
#define CAPWAP_ELEMENT_WTPDESCRIPTOR 39
|
||
|
|
||
|
struct capwap_wtpdescriptor_element {
|
||
|
unsigned char maxradios;
|
||
|
unsigned char radiosinuse;
|
||
|
struct capwap_array* encryptsubelement;
|
||
|
struct capwap_array* descsubelement;
|
||
|
};
|
||
|
|
||
|
struct capwap_wtpdescriptor_encrypt_subelement {
|
||
|
unsigned char wbid;
|
||
|
unsigned short capabilities;
|
||
|
};
|
||
|
|
||
|
#define CAPWAP_WTPDESC_SUBELEMENT_HARDWAREVERSION 0
|
||
|
#define CAPWAP_WTPDESC_SUBELEMENT_SOFTWAREVERSION 1
|
||
|
#define CAPWAP_WTPDESC_SUBELEMENT_BOOTVERSION 2
|
||
|
#define CAPWAP_WTPDESC_SUBELEMENT_OTHERVERSION 3
|
||
|
#define CAPWAP_WTPDESC_SUBELEMENT_MAXDATA 1024
|
||
|
|
||
|
struct capwap_wtpdescriptor_desc_subelement {
|
||
|
unsigned long vendor;
|
||
|
unsigned short type;
|
||
|
unsigned short length;
|
||
|
char data[CAPWAP_WTPDESC_SUBELEMENT_MAXDATA];
|
||
|
};
|
||
|
|
||
|
struct capwap_message_element* capwap_wtpdescriptor_element_create(void* data, unsigned long datalength);
|
||
|
int capwap_wtpdescriptor_element_validate(struct capwap_message_element* element);
|
||
|
void* capwap_wtpdescriptor_element_parsing(struct capwap_message_element* element);
|
||
|
void capwap_wtpdescriptor_element_free(void* data);
|
||
|
|
||
|
/* Helper */
|
||
|
#define CAPWAP_CREATE_WTPDESCRIPTOR_ELEMENT(x) ({ \
|
||
|
struct capwap_message_elements_func* f = capwap_get_message_element(CAPWAP_ELEMENT_WTPDESCRIPTOR); \
|
||
|
f->create(x, sizeof(struct capwap_wtpdescriptor_element)); \
|
||
|
})
|
||
|
|
||
|
#endif /* __CAPWAP_ELEMENT_WTPDESCRIPTOR_HEADER__ */
|