First actions to send managements frame into data channel

This commit is contained in:
vemax78
2014-02-16 15:28:27 +01:00
parent e1e4748367
commit 196d165119
5 changed files with 100 additions and 40 deletions

View File

@ -315,11 +315,21 @@ void capwap_header_set_wireless_information(struct capwap_header_data* data, voi
/* */
void capwap_header_set_keepalive_flag(struct capwap_header_data* data, int enable) {
struct capwap_header* header;
ASSERT(data != NULL);
header = (struct capwap_header*)&data->headerbuffer[0];
SET_FLAG_K_HEADER(header, ((enable != 0) ? 1 : 0));
SET_FLAG_K_HEADER(header, (enable ? 1 : 0));
}
/* */
void capwap_header_set_nativeframe_flag(struct capwap_header_data* data, int enable) {
struct capwap_header* header;
ASSERT(data != NULL);
header = (struct capwap_header*)&data->headerbuffer[0];
SET_FLAG_T_HEADER(header, (enable ? 1 : 0));
}
/* */
@ -600,6 +610,14 @@ struct capwap_packet_txmng* capwap_packet_txmng_create_data_message(struct capwa
return txmngpacket;
}
/* */
void capwap_packet_txmng_add_data(struct capwap_packet_txmng* txmngpacket, uint8_t* data, unsigned short length) {
ASSERT(txmngpacket != NULL);
ASSERT(txmngpacket->isctrlpacket == 0);
txmngpacket->write_ops.write_block((capwap_message_elements_handle)txmngpacket, data, length);
}
/* */
void capwap_packet_txmng_add_message_element(struct capwap_packet_txmng* txmngpacket, unsigned short type, void* data) {
struct capwap_message_elements_ops* func;

View File

@ -35,6 +35,7 @@ void capwap_header_init(struct capwap_header_data* data, unsigned short radioid,
void capwap_header_set_radio_macaddress(struct capwap_header_data* data, int radiotype, char* macaddress);
void capwap_header_set_wireless_information(struct capwap_header_data* data, void* buffer, unsigned char length);
void capwap_header_set_keepalive_flag(struct capwap_header_data* data, int enable);
void capwap_header_set_nativeframe_flag(struct capwap_header_data* data, int enable);
/* Management tx capwap packet */
struct write_block_from_pos {
@ -64,6 +65,7 @@ struct capwap_packet_txmng {
/* */
struct capwap_packet_txmng* capwap_packet_txmng_create_ctrl_message(struct capwap_header_data* data, unsigned long type, unsigned char seq, unsigned short mtu);
struct capwap_packet_txmng* capwap_packet_txmng_create_data_message(struct capwap_header_data* data, unsigned short mtu);
void capwap_packet_txmng_add_data(struct capwap_packet_txmng* txmngpacket, uint8_t* data, unsigned short length);
void capwap_packet_txmng_add_message_element(struct capwap_packet_txmng* txmngpacket, unsigned short type, void* data);
void capwap_packet_txmng_get_fragment_packets(struct capwap_packet_txmng* txmngpacket, struct capwap_list* fragmentlist, unsigned short fragmentid);
void capwap_packet_txmng_free(struct capwap_packet_txmng* txmngpacket);