2013-05-01 14:52:55 +02:00
|
|
|
#ifndef __WTP_DFA_HEADER__
|
|
|
|
#define __WTP_DFA_HEADER__
|
|
|
|
|
2016-03-30 10:39:04 +02:00
|
|
|
#include <ev.h>
|
|
|
|
|
2013-05-01 14:52:55 +02:00
|
|
|
#include "capwap_network.h"
|
|
|
|
#include "capwap_protocol.h"
|
|
|
|
#include "capwap_element.h"
|
|
|
|
|
2013-05-27 21:33:23 +02:00
|
|
|
/* */ /* TODO da rifare */
|
2013-05-01 14:52:55 +02:00
|
|
|
struct wtp_discovery_response {
|
2013-05-27 21:33:23 +02:00
|
|
|
struct capwap_array* controlipv4;
|
|
|
|
struct capwap_array* controlipv6;
|
2013-05-01 14:52:55 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
void wtp_free_discovery_response_array(void);
|
|
|
|
|
|
|
|
/* */
|
2014-02-19 19:16:33 +01:00
|
|
|
void wtp_teardown_connection(void);
|
2013-05-01 14:52:55 +02:00
|
|
|
|
2016-03-30 10:39:04 +02:00
|
|
|
/* */
|
|
|
|
void wtp_socket_io_start(void);
|
|
|
|
void wtp_socket_io_stop(void);
|
|
|
|
|
2013-05-01 14:52:55 +02:00
|
|
|
/* */
|
2014-09-10 21:58:23 +02:00
|
|
|
void wtp_free_packet_rxmng(void);
|
2013-05-01 14:52:55 +02:00
|
|
|
void wtp_free_reference_last_request(void);
|
|
|
|
void wtp_free_reference_last_response(void);
|
|
|
|
|
|
|
|
/* State machine */
|
2016-03-30 10:39:04 +02:00
|
|
|
int wtp_dfa_running();
|
2013-05-01 14:52:55 +02:00
|
|
|
void wtp_dfa_change_state(int state);
|
|
|
|
|
2013-11-07 22:06:29 +01:00
|
|
|
/* */
|
2014-02-19 19:16:33 +01:00
|
|
|
void wtp_start_dtlssetup(void);
|
|
|
|
void wtp_start_datachannel(void);
|
2013-05-01 14:52:55 +02:00
|
|
|
|
2013-11-07 22:06:29 +01:00
|
|
|
/* */
|
2014-02-19 19:16:33 +01:00
|
|
|
void wtp_send_datacheck(void);
|
2013-05-01 14:52:55 +02:00
|
|
|
|
2013-11-07 22:06:29 +01:00
|
|
|
/* */
|
2016-03-30 10:39:04 +02:00
|
|
|
void wtp_dfa_start_retransmition_timer(void);
|
|
|
|
void wtp_dfa_stop_retransmition_timer(void);
|
2014-06-07 22:37:19 +02:00
|
|
|
|
2014-03-02 19:31:27 +01:00
|
|
|
/* */
|
2016-03-30 10:39:04 +02:00
|
|
|
void wtp_dfa_state_idle_enter(void);
|
|
|
|
void wtp_dfa_state_discovery_enter(void);
|
|
|
|
void wtp_dfa_state_sulking_enter(void);
|
|
|
|
void wtp_dfa_state_dtlsconnect_enter(void);
|
|
|
|
void wtp_dfa_state_dtlsteardown_enter(void);
|
|
|
|
void wtp_dfa_state_join_enter(void);
|
|
|
|
void wtp_dfa_state_configure_enter(void);
|
|
|
|
void wtp_dfa_state_reset_enter(void);
|
|
|
|
void wtp_dfa_state_datacheck_enter(void);
|
|
|
|
void wtp_dfa_state_run_enter(void);
|
|
|
|
void wtp_dfa_state_dead_enter(void);
|
2014-03-02 19:31:27 +01:00
|
|
|
|
2014-02-19 19:16:33 +01:00
|
|
|
void wtp_dfa_state_discovery(struct capwap_parsed_packet* packet);
|
|
|
|
void wtp_dfa_state_sulking(struct capwap_parsed_packet* packet);
|
2016-03-30 10:39:04 +02:00
|
|
|
void wtp_dfa_state_dtlsteardown(struct capwap_parsed_packet* packet);
|
2014-02-19 19:16:33 +01:00
|
|
|
void wtp_dfa_state_join(struct capwap_parsed_packet* packet);
|
|
|
|
void wtp_dfa_state_configure(struct capwap_parsed_packet* packet);
|
|
|
|
void wtp_dfa_state_datacheck(struct capwap_parsed_packet* packet);
|
|
|
|
void wtp_dfa_state_run(struct capwap_parsed_packet* packet);
|
2013-05-01 14:52:55 +02:00
|
|
|
|
2014-02-16 15:28:27 +01:00
|
|
|
/* */
|
2014-04-21 23:16:56 +02:00
|
|
|
void wtp_ieee80211_packet(uint8_t radioid, const struct ieee80211_header* header, int length);
|
2014-09-10 21:58:23 +02:00
|
|
|
|
|
|
|
void wtp_recv_data_keepalive(void);
|
|
|
|
void wtp_recv_data(uint8_t* buffer, int length);
|
2014-02-16 15:28:27 +01:00
|
|
|
|
2016-03-30 10:39:04 +02:00
|
|
|
void wtp_timeout_stop_all(void);
|
2016-03-26 21:08:25 +01:00
|
|
|
void wtp_reset_state(void);
|
|
|
|
|
2013-05-01 14:52:55 +02:00
|
|
|
#endif /* __WTP_DFA_HEADER__ */
|