#define ASP_SESS_PEER_FSM_TRACE_LEAVE()
typedef struct asp_sess_peer {
- gfsm_context_t context;
+ gfsm_context_s *context;
GSocketAddress *p_sock_addr;
guint8 seq_num;
guint8 retry;
guint timer_id;
- gpointer p_sending_msg_data;
+ void *p_sending_msg_data;
GTree *p_sess_tree;
} asp_sess_peer_t;
};
static asp_sess_peer_t *_asp_sess_peer_create_peer(GSocketAddress *p_sock_addr);
-static void _asp_sess_peer_destroy_peer(gpointer p_peer);
+static void _asp_sess_peer_destroy_peer(void *p_peer);
static asp_sess_peer_t *_asp_sess_peer_tree_find_peer(GSocketAddress
*p_sock_addr);
static gboolean _asp_sess_peer_tree_insert_peer(GSocketAddress *p_sock_addr,
gpointer p_user_data);
static void _asp_sess_peer_tree_key_destructor_cb(gpointer a);
static void _asp_sess_peer_tree_value_destructor_cb(gpointer a);
-static gpointer asp_sess_peer_dup_msg_data(gpointer p_msg);
+static void *asp_sess_peer_dup_msg_data(void *p_msg);
static void _asp_sess_peer_set_sending_msg_data(asp_sess_peer_t *p_peer,
- gpointer p_msg);
+ void *p_msg);
static asp_sess_peer_sess_key_t *_asp_sess_peer_sess_tree_create_key(
guint8 session_mac[], guint32 session_id);
static gint _asp_sess_peer_sess_tree_compare_cb(gconstpointer a,
static void _asp_sess_peer_start_timer(asp_sess_peer_t *p_peer, guint sec);
static gboolean _asp_sess_peer_send_req(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_send_ack(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_send_nack(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_recv_req(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_recv_ack(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_recv_nack(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static gboolean _asp_sess_peer_recv_version(GSocketAddress *p_sock_addr,
- gpointer p_msg);
+ void *p_msg);
static void _asp_sess_peer_send_nack_to_protocol(GSocketAddress *p_sock_addr,
guint8 seq_num, guint8 reason);
-void _asp_sess_peer_state_init_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_init_exit_action(gpointer p_context_data);
+void _asp_sess_peer_state_init_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_init_exit_action(void *p_context_data);
static gfsm_state_id_t _asp_sess_peer_state_init_reaction_start(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _asp_sess_peer_state_created_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_created_exit_action(gpointer p_context_data);
+static void _asp_sess_peer_state_created_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_created_exit_action(void *p_context_data);
static gfsm_state_id_t _asp_sess_peer_state_created_reaction_add_session(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_created_reaction_del_session(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_created_reaction_close(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_created_reaction_send_ack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_created_reaction_send_nack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static void _asp_sess_peer_state_version_sent_entry_action(
- gpointer p_context_data);
-static void _asp_sess_peer_state_version_sent_exit_action(
- gpointer p_context_data);
+ void *p_context_data);
+static void _asp_sess_peer_state_version_sent_exit_action(void *p_context_data);
/*static gfsm_state_id_t asp_sess_peer_state_version_sent_reaction_send_req (void* p_context_data, void* p_event_data); */
/*static gfsm_state_id_t asp_sess_peer_state_version_sent_reaction_recv_version (void* p_context_data, void* p_event_data); */
/*static gfsm_state_id_t asp_sess_peer_state_version_sent_reaction_recv_req (void* p_context_data, void* p_event_data); */
static gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_recv_ack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_recv_nack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static void _asp_sess_peer_state_wait_version_entry_action(
- gpointer p_context_data);
-static void _asp_sess_peer_state_wait_version_exit_action(
- gpointer p_context_data);
+ void *p_context_data);
+static void _asp_sess_peer_state_wait_version_exit_action(void *p_context_data);
/*static gfsm_state_id_t asp_sess_peer_state_wait_version_reaction_send_req (void* p_context_data, void* p_event_data); */
static gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_recv_version(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_recv_req(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
/*static gfsm_state_id_t asp_sess_peer_state_wait_version_reaction_recv_ack (void* p_context_data, void* p_event_data); */
/*static gfsm_state_id_t asp_sess_peer_state_wait_version_reaction_recv_nack (void* p_context_data, void* p_event_data); */
static gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _asp_sess_peer_state_opened_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_opened_exit_action(gpointer p_context_data);
+static void _asp_sess_peer_state_opened_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_opened_exit_action(void *p_context_data);
static gfsm_state_id_t _asp_sess_peer_state_opened_reaction_recv_version(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_opened_reaction_recv_req(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _asp_sess_peer_state_idle_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_idle_exit_action(gpointer p_context_data);
+static void _asp_sess_peer_state_idle_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_idle_exit_action(void *p_context_data);
static gfsm_state_id_t _asp_sess_peer_state_idle_reaction_send_req(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _asp_sess_peer_state_wait_ack_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_wait_ack_exit_action(gpointer p_context_data);
+static void _asp_sess_peer_state_wait_ack_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_wait_ack_exit_action(void *p_context_data);
/*static gfsm_state_id_t asp_sess_peer_state_wait_ack_reaction_send_req (void* p_context_data, void* p_event_data); */
static gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_recv_ack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_recv_nack(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _asp_sess_peer_state_close_entry_action(gpointer p_context_data);
-static void _asp_sess_peer_state_close_exit_action(gpointer p_context_data);
+static void _asp_sess_peer_state_close_entry_action(void *p_context_data);
+static void _asp_sess_peer_state_close_exit_action(void *p_context_data);
static void asp_sess_peer_fsm_init();
-static gfsm_t asm_sess_peer_fsm;
-static gfsm_state_t asp_sess_peer_state_init;
-static gfsm_state_t asp_sess_peer_state_created;
-static gfsm_state_t asp_sess_peer_state_version_sent;
-static gfsm_state_t asp_sess_peer_state_wait_version;
-static gfsm_state_t asp_sess_peer_state_opened;
-static gfsm_state_t asp_sess_peer_state_idle;
-/*static gfsm_state_t asp_sess_peer_state_req_sent; */
-static gfsm_state_t asp_sess_peer_state_wait_ack;
-static gfsm_state_t asp_sess_peer_state_closed;
+static gfsm_s *asm_sess_peer_fsm;
+static gfsm_state_s *asp_sess_peer_state_init;
+static gfsm_state_s *asp_sess_peer_state_created;
+static gfsm_state_s *asp_sess_peer_state_version_sent;
+static gfsm_state_s *asp_sess_peer_state_wait_version;
+static gfsm_state_s *asp_sess_peer_state_opened;
+static gfsm_state_s *asp_sess_peer_state_idle;
+/*static gfsm_state_s asp_sess_peer_state_req_sent; */
+static gfsm_state_s *asp_sess_peer_state_wait_ack;
+static gfsm_state_s *asp_sess_peer_state_closed;
static GTree *gp_peer_tree = 0;
void asp_sess_peer_init()
{
INFO_MSG;
- gfsm_terminate_fsm(&asm_sess_peer_fsm);
+ gfsm_destroy_fsm(asm_sess_peer_fsm);
g_tree_destroy(gp_peer_tree);
gp_peer_tree = 0;
}
-gboolean asp_sess_peer_send_msg(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean asp_sess_peer_send_msg(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_msg;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_msg;
switch (p_header->opcode) {
case ASP_OPCODE_REQUEST_SESSION:
ASP_LOGD("%s asp_sess_peer_send_msg, ASP_OPCODE_REQUEST_SESSION session_id:%d",
- ROLE, ((asp_request_session_t *) p_msg)->session_id);
+ ROLE, ((asp_request_session_s *)p_msg)->session_id);
return _asp_sess_peer_send_req(p_sock_addr, p_msg);
case ASP_OPCODE_ADDED_SESSION:
/*FALL THROUGH */
return TRUE;
}
-gboolean asp_sess_peer_recv_msg(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean asp_sess_peer_recv_msg(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_msg;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_msg;
switch (p_header->opcode) {
case ASP_OPCODE_REQUEST_SESSION:
return TRUE;
}
-gboolean _asp_sess_peer_send_req(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_send_req(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
p_peer = _asp_sess_peer_create_peer(p_sock_addr);
g_assert(p_peer);
- gfsm_process_event(&p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
NULL, NULL));
}
- gfsm_process_event(&p_peer->context,
- gfsm_create_event(ASP_S_PEER_EVENT_SEND_REQ, asp_sess_peer_dup_msg_data(p_msg),
- g_free));
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_SEND_REQ,
+ asp_sess_peer_dup_msg_data(p_msg), g_free));
return TRUE;
}
-gboolean _asp_sess_peer_send_ack(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_send_ack(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
if (NULL == p_peer)
return FALSE;
- gfsm_process_event(&p_peer->context,
- gfsm_create_event(ASP_S_PEER_EVENT_SEND_ACK, asp_sess_peer_dup_msg_data(p_msg),
- g_free));
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_SEND_ACK,
+ asp_sess_peer_dup_msg_data(p_msg), g_free));
return TRUE;
}
-gboolean _asp_sess_peer_send_nack(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_send_nack(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
if (NULL == p_peer)
return FALSE;
- gfsm_process_event(&p_peer->context,
+ gfsm_process_event(p_peer->context,
gfsm_create_event(ASP_S_PEER_EVENT_SEND_NACK, asp_sess_peer_dup_msg_data(p_msg),
g_free));
return TRUE;
}
-gboolean _asp_sess_peer_recv_version(GSocketAddress *p_sock_addr,
- gpointer p_msg)
+gboolean _asp_sess_peer_recv_version(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
g_assert(p_peer);
- asp_ack_t ack;
+ asp_ack_s ack;
ack.opcode = ASP_OPCODE_ACK;
- ack.seq_num = ((asp_version_t *) p_msg)->seq_num;
+ ack.seq_num = ((asp_version_s *)p_msg)->seq_num;
asp_coordination_protocol_send_msg(p_sock_addr, &ack);
- gfsm_process_event(&p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
NULL, NULL));
} else {
- asp_ack_t ack;
+ asp_ack_s ack;
ack.opcode = ASP_OPCODE_ACK;
- ack.seq_num = ((asp_version_t *) p_msg)->seq_num;
+ ack.seq_num = ((asp_version_s *)p_msg)->seq_num;
asp_coordination_protocol_send_msg(p_sock_addr, &ack);
}
- gfsm_process_event(&p_peer->context,
+ gfsm_process_event(p_peer->context,
gfsm_create_event(ASP_S_PEER_EVENT_RECV_VERSION,
asp_sess_peer_dup_msg_data(p_msg), g_free));
return TRUE;
}
-gboolean _asp_sess_peer_recv_req(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_recv_req(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
asp_sess_peer_t *p_peer = _asp_sess_peer_tree_find_peer(p_sock_addr);
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_msg;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_msg;
if (NULL == p_peer) {
_asp_sess_peer_send_nack_to_protocol(p_sock_addr, p_header->seq_num,
return FALSE;
}
- gfsm_process_event(&p_peer->context,
- gfsm_create_event(ASP_S_PEER_EVENT_RECV_REQ, asp_sess_peer_dup_msg_data(p_msg),
- g_free));
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_RECV_REQ,
+ asp_sess_peer_dup_msg_data(p_msg), g_free));
return TRUE;
}
-gboolean _asp_sess_peer_recv_ack(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_recv_ack(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
if (NULL == p_peer)
return FALSE;
- asp_request_header_t *p_header = (asp_request_header_t *)
+ asp_request_header_s *p_header = (asp_request_header_s *)
p_peer->p_sending_msg_data;
ASP_LOGD("%s _asp_sess_peer_recv_ack, opcode:%d session_id:%d", ROLE,
p_header->opcode, p_header->session_id);
- gfsm_process_event(&p_peer->context,
- gfsm_create_event(ASP_S_PEER_EVENT_RECV_ACK, asp_sess_peer_dup_msg_data(p_msg),
- g_free));
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_RECV_ACK,
+ asp_sess_peer_dup_msg_data(p_msg), g_free));
return TRUE;
}
-gboolean _asp_sess_peer_recv_nack(GSocketAddress *p_sock_addr, gpointer p_msg)
+gboolean _asp_sess_peer_recv_nack(GSocketAddress *p_sock_addr, void *p_msg)
{
INFO_MSG;
if (NULL == p_peer)
return FALSE;
- gfsm_process_event(&p_peer->context,
+ gfsm_process_event(p_peer->context,
gfsm_create_event(ASP_S_PEER_EVENT_RECV_NACK, asp_sess_peer_dup_msg_data(p_msg),
g_free));
p_peer = _asp_sess_peer_create_peer(p_sock_addr);
g_assert(p_peer);
- gfsm_process_event(&p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START,
NULL, NULL));
}
- gfsm_process_event(&p_peer->context,
+ gfsm_process_event(p_peer->context,
gfsm_create_event(ASP_S_PEER_EVENT_ADD_SESSION,
_asp_sess_peer_sess_tree_create_key(session_mac, session_id), g_free));
return TRUE;
/*asp_sess_peer_remove_session(p_peer,session_mac,sessiond_id); */
- gfsm_process_event(&p_peer->context,
+ gfsm_process_event(p_peer->context,
gfsm_create_event(ASP_S_PEER_EVENT_DEL_SESSION,
_asp_sess_peer_sess_tree_create_key(session_mac, session_id), g_free));
asp_sess_peer_key_t *_asp_sess_peer_tree_create_peer_key(
GSocketAddress *p_sock_addr)
{
- INFO_MSG;
-
GInetSocketAddress *p_inet_sock_addr = G_INET_SOCKET_ADDRESS(p_sock_addr);
g_assert(p_inet_sock_addr);
g_assert(p_inet_addr);
- asp_sess_peer_key_t *p_key = g_malloc(sizeof(asp_sess_peer_key_t));
+ asp_sess_peer_key_t *p_key = (asp_sess_peer_key_t *) g_malloc(sizeof(
+ asp_sess_peer_key_t));
g_assert(p_key);
asp_sess_peer_t *_asp_sess_peer_tree_find_peer(GSocketAddress *p_sock_addr)
{
- INFO_MSG;
-
asp_sess_peer_key_t *p_key = _asp_sess_peer_tree_create_peer_key(p_sock_addr);
g_assert(p_key);
gboolean _asp_sess_peer_tree_insert_peer(GSocketAddress *p_sock_addr,
asp_sess_peer_t *p_peer)
{
- INFO_MSG;
-
asp_sess_peer_key_t *p_key = _asp_sess_peer_tree_create_peer_key(p_sock_addr);
g_assert(p_key);
gint _asp_sess_peer_tree_compare_cb(gconstpointer a, gconstpointer b,
gpointer p_user_data)
{
- INFO_MSG;
-
asp_sess_peer_key_t *p_l = (asp_sess_peer_key_t *) a;
asp_sess_peer_key_t *p_r = (asp_sess_peer_key_t *) b;
void _asp_sess_peer_tree_key_destructor_cb(gpointer a)
{
- INFO_MSG;
-
g_free(a);
}
void _asp_sess_peer_tree_value_destructor_cb(gpointer a)
{
- INFO_MSG;
-
g_free(a);
}
{
INFO_MSG;
- asp_sess_peer_t *p_peer = g_malloc(sizeof(asp_sess_peer_t));
+ asp_sess_peer_t *p_peer = (asp_sess_peer_t *) g_malloc(sizeof(asp_sess_peer_t));
g_assert(p_peer);
- p_peer->p_sock_addr = g_object_ref(p_sock_addr);
+ p_peer->p_sock_addr = (GSocketAddress *) g_object_ref(p_sock_addr);
p_peer->seq_num = 0;
p_peer->retry = 0;
p_peer->timer_id = 0;
_asp_sess_peer_tree_insert_peer(p_sock_addr, p_peer);
- gfsm_init_context(&p_peer->context, &asm_sess_peer_fsm,
- _asp_sess_peer_destroy_peer, p_peer);
+ p_peer->context = gfsm_create_context(asm_sess_peer_fsm,
+ _asp_sess_peer_destroy_peer, p_peer);
return p_peer;
}
-void _asp_sess_peer_destroy_peer(gpointer p_context_data)
+void _asp_sess_peer_destroy_peer(void *p_context_data)
{
- INFO_MSG;
-
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
if (p_peer->p_sock_addr) {
g_free(p_peer);
}
-void _asp_sess_peer_set_sending_msg_data(asp_sess_peer_t *p_peer,
- gpointer p_msg)
+void _asp_sess_peer_set_sending_msg_data(asp_sess_peer_t *p_peer, void *p_msg)
{
INFO_MSG;
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_msg;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_msg;
if (p_peer->p_sending_msg_data)
g_free(p_peer->p_sending_msg_data);
}
void _asp_sess_peer_forward_req_to_sessmgmt(asp_sess_peer_t *p_peer,
- gpointer p_msg_data)
+ void *p_msg_data)
{
- INFO_MSG;
-
asp_session_recv_req(p_peer->p_sock_addr, p_msg_data);
}
void _asp_sess_peer_forward_ack_to_sessmgmt(asp_sess_peer_t *p_peer,
- gpointer p_msg_data)
+ void *p_msg_data)
{
- INFO_MSG;
-
- asp_request_header_t *p_header = (asp_request_header_t *)
+ asp_request_header_s *p_header = (asp_request_header_s *)
p_peer->p_sending_msg_data;
asp_session_recv_ack(p_peer->p_sock_addr, p_header->session_mac,
p_header->session_id, p_msg_data);
}
void _asp_sess_peer_forward_nack_to_sessmgmt(asp_sess_peer_t *p_peer,
- gpointer p_msg_data)
+ void *p_msg_data)
{
- INFO_MSG;
-
- asp_request_header_t *p_header = (asp_request_header_t *)
+ asp_request_header_s *p_header = (asp_request_header_s *)
p_peer->p_sending_msg_data;
asp_session_recv_nack(p_peer->p_sock_addr, p_header->session_mac,
p_header->session_id, p_msg_data);
gboolean _asp_sess_peer_notify_timeout_cb(gpointer p_user_data)
{
- INFO_MSG;
-
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_user_data;
p_peer->timer_id = 0;
- gfsm_process_event(&p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_TIMEOUT,
+ gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_TIMEOUT,
NULL, NULL));
return FALSE;
void _asp_sess_peer_increase_seq_num(asp_sess_peer_t *p_peer)
{
- INFO_MSG;
-
++p_peer->retry;
}
asp_sess_peer_sess_key_t *_asp_sess_peer_sess_tree_create_key(
guint8 session_mac[], guint32 session_id)
{
- INFO_MSG;
-
- asp_sess_peer_sess_key_t *p_key = g_malloc(sizeof(asp_sess_peer_sess_key_t));
+ asp_sess_peer_sess_key_t *p_key = (asp_sess_peer_sess_key_t *) g_malloc(sizeof(
+ asp_sess_peer_sess_key_t));
g_assert(p_key);
void _asp_sess_peer_insert_session(asp_sess_peer_t *p_peer,
asp_sess_peer_sess_key_t *p_key)
{
- INFO_MSG;
-
asp_sess_peer_sess_key_t *p_value = (asp_sess_peer_sess_key_t *) g_tree_lookup(
p_peer->p_sess_tree, p_key);
void _asp_sess_peer_remove_session(asp_sess_peer_t *p_peer,
asp_sess_peer_sess_key_t *p_key)
{
- INFO_MSG;
-
g_tree_remove(p_peer->p_sess_tree, p_key);
}
gint _asp_sess_peer_sess_tree_compare_cb(gconstpointer a, gconstpointer b,
gpointer user_data)
{
- INFO_MSG;
-
asp_sess_peer_sess_key_t *p_l = (asp_sess_peer_sess_key_t *) a;
asp_sess_peer_sess_key_t *p_r = (asp_sess_peer_sess_key_t *) b;
void _asp_sess_peer_sess_tree_key_destructor_cb(gpointer p_data)
{
- INFO_MSG;
-
asp_sess_peer_sess_key_t *p_key = (asp_sess_peer_sess_key_t *) p_data;
asp_session_peer_destroyed(p_key->sess_mac, p_key->sess_id);
g_free(p_key);
void _asp_sess_peer_sess_tree_value_destructor_cb(gpointer p_value)
{
- INFO_MSG;
-
/*do nothing. */
/*p_key and p_value is same pointer. */
}
-gpointer _asp_sess_peer_dup_request_session(gpointer p_msg)
+void *_asp_sess_peer_dup_request_session(void *p_msg)
{
- INFO_MSG;
-
- asp_request_session_t *p_dup_msg = g_malloc(sizeof(asp_request_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_request_session_t));
+ asp_request_session_s *p_dup_msg = (asp_request_session_s *)g_malloc(sizeof(
+ asp_request_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_request_session_s));
- ASP_LOGD("%s _asp_sess_peer_dup_request_session, session_id:%d", ROLE,
- p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_added_session(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_added_session(void *p_msg)
{
- INFO_MSG;
-
- asp_added_session_t *p_dup_msg = g_malloc(sizeof(asp_added_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_added_session_t));
+ asp_added_session_s *p_dup_msg = (asp_added_session_s *)g_malloc(sizeof(
+ asp_added_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_added_session_s));
- ASP_LOGD("%s _asp_sess_peer_dup_msg_added_session, session_id:%d", ROLE,
- p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_rejected_session(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_rejected_session(void *p_msg)
{
- INFO_MSG;
-
- asp_rejected_session_t *p_dup_msg = g_malloc(sizeof(asp_rejected_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_rejected_session_t));
+ asp_rejected_session_s *p_dup_msg = (asp_rejected_session_s *)g_malloc(sizeof(
+ asp_rejected_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_rejected_session_s));
- ASP_LOGD("%s _asp_sess_peer_dup_msg_rejected_session, session_id:%d", ROLE,
- p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_remove_session(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_remove_session(void *p_msg)
{
- INFO_MSG;
-
- asp_remove_session_t *p_dup_msg = g_malloc(sizeof(asp_remove_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_remove_session_t));
+ asp_remove_session_s *p_dup_msg = (asp_remove_session_s *)g_malloc(sizeof(
+ asp_remove_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_remove_session_s));
- ASP_LOGD("%s _asp_sess_peer_dup_msg_remove_session, session_id:%d", ROLE,
- p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_allowed_port(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_allowed_port(void *p_msg)
{
- INFO_MSG;
-
- asp_allowed_port_t *p_dup_msg = g_malloc(sizeof(asp_allowed_port_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_allowed_port_t));
+ asp_allowed_port_s *p_dup_msg = (asp_allowed_port_s *)g_malloc(sizeof(
+ asp_allowed_port_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_allowed_port_s));
- ASP_LOGD("%s, _asp_sess_peer_dup_msg_allowed_port, session_id:%d", ROLE,
- p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_version(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_version(void *p_msg)
{
- INFO_MSG;
-
- asp_version_t *p_dup_msg = g_malloc(sizeof(asp_version_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_version_t));
+ asp_version_s *p_dup_msg = (asp_version_s *)g_malloc(sizeof(asp_version_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_version_s));
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_deferred_session(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_deferred_session(void *p_msg)
{
- INFO_MSG;
-
- asp_deferred_session_t *p_dup_msg = g_malloc(sizeof(asp_deferred_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_deferred_session_t));
+ asp_deferred_session_s *p_dup_msg = (asp_deferred_session_s *)g_malloc(sizeof(
+ asp_deferred_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_deferred_session_s));
- ASP_LOGD("_asp_sess_peer_dup_msg_deferred_session, session_id:%d",
- p_dup_msg->session_id);
+ printf("_asp_sess_peer_dup_msg_deferred_session, session_id:%d\n",
+ p_dup_msg->session_id);
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_ack(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_ack(void *p_msg)
{
- INFO_MSG;
-
- asp_ack_t *p_dup_msg = g_malloc(sizeof(asp_ack_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_ack_t));
+ asp_ack_s *p_dup_msg = (asp_ack_s *)g_malloc(sizeof(asp_ack_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_ack_s));
return p_dup_msg;
}
-gpointer _asp_sess_peer_dup_msg_nack(gpointer p_msg)
+void *_asp_sess_peer_dup_msg_nack(void *p_msg)
{
- INFO_MSG;
-
- asp_nack_t *p_dup_msg = g_malloc(sizeof(asp_nack_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_nack_t));
+ asp_nack_s *p_dup_msg = (asp_nack_s *)g_malloc(sizeof(asp_nack_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_nack_s));
return p_dup_msg;
}
-gpointer asp_sess_peer_dup_msg_data(gpointer p_msg)
+void *asp_sess_peer_dup_msg_data(void *p_msg)
{
- INFO_MSG;
-
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_msg;
- gpointer ret = NULL;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_msg;
+ void *ret = NULL;
switch (p_header->opcode) {
case ASP_OPCODE_REQUEST_SESSION:
break;
}
- return (gpointer)ret;
+ return (void *)ret;
}
void _asp_sess_peer_send_nack_to_protocol(GSocketAddress *p_sock_addr,
guint8 seq_num, guint8 reason)
{
- INFO_MSG;
-
- asp_nack_t nack_msg;
+ asp_nack_s nack_msg;
nack_msg.opcode = ASP_OPCODE_NACK;
nack_msg.seq_num = seq_num;;
{
INFO_MSG;
- gfsm_init_fsm(&asm_sess_peer_fsm, ASP_S_PEER_STATE_MAX, ASP_S_PEER_EVENT_MAX,
- ASP_S_PEER_STATE_INIT);
+ asm_sess_peer_fsm = gfsm_create_fsm(ASP_S_PEER_STATE_MAX, ASP_S_PEER_EVENT_MAX,
+ ASP_S_PEER_STATE_INIT);
- gfsm_init_state(&asp_sess_peer_state_init, ASP_S_PEER_STATE_INIT,
- &asm_sess_peer_fsm, _asp_sess_peer_state_init_entry_action,
- _asp_sess_peer_state_init_exit_action);
- gfsm_add_reaction(&asp_sess_peer_state_init, ASP_S_PEER_EVENT_START,
+ asp_sess_peer_state_init = gfsm_create_state(ASP_S_PEER_STATE_INIT,
+ asm_sess_peer_fsm, _asp_sess_peer_state_init_entry_action,
+ _asp_sess_peer_state_init_exit_action);
+ gfsm_add_reaction(asp_sess_peer_state_init, ASP_S_PEER_EVENT_START,
_asp_sess_peer_state_init_reaction_start);
- gfsm_init_state(&asp_sess_peer_state_created, ASP_S_PEER_STATE_CREATED,
- &asm_sess_peer_fsm, _asp_sess_peer_state_created_entry_action,
- _asp_sess_peer_state_created_exit_action);
- gfsm_add_reaction(&asp_sess_peer_state_created, ASP_S_PEER_EVENT_ADD_SESSION,
+ asp_sess_peer_state_created = gfsm_create_state(ASP_S_PEER_STATE_CREATED,
+ asm_sess_peer_fsm, _asp_sess_peer_state_created_entry_action,
+ _asp_sess_peer_state_created_exit_action);
+ gfsm_add_reaction(asp_sess_peer_state_created, ASP_S_PEER_EVENT_ADD_SESSION,
_asp_sess_peer_state_created_reaction_add_session);
- gfsm_add_reaction(&asp_sess_peer_state_created, ASP_S_PEER_EVENT_DEL_SESSION,
+ gfsm_add_reaction(asp_sess_peer_state_created, ASP_S_PEER_EVENT_DEL_SESSION,
_asp_sess_peer_state_created_reaction_del_session);
- gfsm_add_reaction(&asp_sess_peer_state_created, ASP_S_PEER_EVENT_CLOSE,
+ gfsm_add_reaction(asp_sess_peer_state_created, ASP_S_PEER_EVENT_CLOSE,
_asp_sess_peer_state_created_reaction_close);
- gfsm_add_reaction(&asp_sess_peer_state_created, ASP_S_PEER_EVENT_SEND_ACK,
+ gfsm_add_reaction(asp_sess_peer_state_created, ASP_S_PEER_EVENT_SEND_ACK,
_asp_sess_peer_state_created_reaction_send_ack);
- gfsm_add_reaction(&asp_sess_peer_state_created, ASP_S_PEER_EVENT_SEND_NACK,
+ gfsm_add_reaction(asp_sess_peer_state_created, ASP_S_PEER_EVENT_SEND_NACK,
_asp_sess_peer_state_created_reaction_send_nack);
- gfsm_init_state(&asp_sess_peer_state_version_sent,
- ASP_S_PEER_STATE_VERSION_SENT, &asm_sess_peer_fsm,
+ asp_sess_peer_state_version_sent = gfsm_create_state(
+ ASP_S_PEER_STATE_VERSION_SENT, asm_sess_peer_fsm,
_asp_sess_peer_state_version_sent_entry_action,
_asp_sess_peer_state_version_sent_exit_action);
- gfsm_set_parent_state(&asp_sess_peer_state_version_sent,
- &asp_sess_peer_state_created);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent,
+ gfsm_set_parent_state(asp_sess_peer_state_version_sent,
+ asp_sess_peer_state_created);
+ gfsm_add_reaction(asp_sess_peer_state_version_sent,
ASP_S_PEER_EVENT_ADD_SESSION, gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent,
ASP_S_PEER_EVENT_DEL_SESSION, gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_SEND_REQ,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_SEND_REQ,
gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent,
ASP_S_PEER_EVENT_RECV_VERSION, gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_REQ,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_REQ,
gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_ACK,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_ACK,
_asp_sess_peer_state_version_sent_reaction_recv_ack);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_NACK,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_RECV_NACK,
_asp_sess_peer_state_version_sent_reaction_recv_nack);
- gfsm_add_reaction(&asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_TIMEOUT,
+ gfsm_add_reaction(asp_sess_peer_state_version_sent, ASP_S_PEER_EVENT_TIMEOUT,
_asp_sess_peer_state_version_sent_reaction_timeout);
- gfsm_init_state(&asp_sess_peer_state_wait_version,
- ASP_S_PEER_STATE_WAIT_VERSION, &asm_sess_peer_fsm,
+ asp_sess_peer_state_wait_version = gfsm_create_state(
+ ASP_S_PEER_STATE_WAIT_VERSION, asm_sess_peer_fsm,
_asp_sess_peer_state_wait_version_entry_action,
_asp_sess_peer_state_wait_version_exit_action);
- gfsm_set_parent_state(&asp_sess_peer_state_wait_version,
- &asp_sess_peer_state_created);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version,
+ gfsm_set_parent_state(asp_sess_peer_state_wait_version,
+ asp_sess_peer_state_created);
+ gfsm_add_reaction(asp_sess_peer_state_wait_version,
ASP_S_PEER_EVENT_ADD_SESSION, gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version,
+ gfsm_add_reaction(asp_sess_peer_state_wait_version,
ASP_S_PEER_EVENT_DEL_SESSION, gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_SEND_REQ,
+ gfsm_add_reaction(asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_SEND_REQ,
gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version,
+ gfsm_add_reaction(asp_sess_peer_state_wait_version,
ASP_S_PEER_EVENT_RECV_VERSION,
_asp_sess_peer_state_wait_version_reaction_recv_version);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_RECV_REQ,
+ gfsm_add_reaction(asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_RECV_REQ,
_asp_sess_peer_state_wait_version_reaction_recv_req);
- gfsm_add_reaction(&asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_TIMEOUT,
+ gfsm_add_reaction(asp_sess_peer_state_wait_version, ASP_S_PEER_EVENT_TIMEOUT,
_asp_sess_peer_state_wait_version_reaction_timeout);
- gfsm_init_state(&asp_sess_peer_state_opened, ASP_S_PEER_STATE_OPENED,
- &asm_sess_peer_fsm, _asp_sess_peer_state_opened_entry_action,
- _asp_sess_peer_state_opened_exit_action);
- gfsm_set_parent_state(&asp_sess_peer_state_opened,
- &asp_sess_peer_state_created);
- gfsm_add_reaction(&asp_sess_peer_state_opened, ASP_S_PEER_EVENT_RECV_VERSION,
+ asp_sess_peer_state_opened = gfsm_create_state(ASP_S_PEER_STATE_OPENED,
+ asm_sess_peer_fsm, _asp_sess_peer_state_opened_entry_action,
+ _asp_sess_peer_state_opened_exit_action);
+ gfsm_set_parent_state(asp_sess_peer_state_opened, asp_sess_peer_state_created);
+ gfsm_add_reaction(asp_sess_peer_state_opened, ASP_S_PEER_EVENT_RECV_VERSION,
_asp_sess_peer_state_opened_reaction_recv_version);
- gfsm_add_reaction(&asp_sess_peer_state_opened, ASP_S_PEER_EVENT_RECV_REQ,
+ gfsm_add_reaction(asp_sess_peer_state_opened, ASP_S_PEER_EVENT_RECV_REQ,
_asp_sess_peer_state_opened_reaction_recv_req);
- gfsm_init_state(&asp_sess_peer_state_idle, ASP_S_PEER_STATE_IDLE,
- &asm_sess_peer_fsm, _asp_sess_peer_state_idle_entry_action,
- _asp_sess_peer_state_idle_exit_action);
- gfsm_set_parent_state(&asp_sess_peer_state_idle, &asp_sess_peer_state_opened);
- gfsm_add_reaction(&asp_sess_peer_state_idle, ASP_S_PEER_EVENT_SEND_REQ,
+ asp_sess_peer_state_idle = gfsm_create_state(ASP_S_PEER_STATE_IDLE,
+ asm_sess_peer_fsm, _asp_sess_peer_state_idle_entry_action,
+ _asp_sess_peer_state_idle_exit_action);
+ gfsm_set_parent_state(asp_sess_peer_state_idle, asp_sess_peer_state_opened);
+ gfsm_add_reaction(asp_sess_peer_state_idle, ASP_S_PEER_EVENT_SEND_REQ,
_asp_sess_peer_state_idle_reaction_send_req);
- gfsm_init_state(&asp_sess_peer_state_wait_ack, ASP_S_PEER_STATE_WAIT_ACK,
- &asm_sess_peer_fsm, _asp_sess_peer_state_wait_ack_entry_action,
- _asp_sess_peer_state_wait_ack_exit_action);
- gfsm_set_parent_state(&asp_sess_peer_state_wait_ack,
- &asp_sess_peer_state_opened);
- gfsm_add_reaction(&asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_SEND_REQ,
+ asp_sess_peer_state_wait_ack = gfsm_create_state(ASP_S_PEER_STATE_WAIT_ACK,
+ asm_sess_peer_fsm, _asp_sess_peer_state_wait_ack_entry_action,
+ _asp_sess_peer_state_wait_ack_exit_action);
+ gfsm_set_parent_state(asp_sess_peer_state_wait_ack, asp_sess_peer_state_opened);
+ gfsm_add_reaction(asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_SEND_REQ,
gfsm_deferral_reaction);
- gfsm_add_reaction(&asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_RECV_ACK,
+ gfsm_add_reaction(asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_RECV_ACK,
_asp_sess_peer_state_wait_ack_reaction_recv_ack);
- gfsm_add_reaction(&asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_RECV_NACK,
+ gfsm_add_reaction(asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_RECV_NACK,
_asp_sess_peer_state_wait_ack_reaction_recv_nack);
- gfsm_add_reaction(&asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_TIMEOUT,
+ gfsm_add_reaction(asp_sess_peer_state_wait_ack, ASP_S_PEER_EVENT_TIMEOUT,
_asp_sess_peer_state_wait_ack_reaction_timeout);
- gfsm_init_state(&asp_sess_peer_state_closed, ASP_S_PEER_STATE_CLOSED,
- &asm_sess_peer_fsm, _asp_sess_peer_state_close_entry_action,
- _asp_sess_peer_state_close_exit_action);
-
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_init);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_created);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_version_sent);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_wait_version);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_opened);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_idle);
+ asp_sess_peer_state_closed = gfsm_create_state(ASP_S_PEER_STATE_CLOSED,
+ asm_sess_peer_fsm, _asp_sess_peer_state_close_entry_action,
+ _asp_sess_peer_state_close_exit_action);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_init);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_created);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_version_sent);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_wait_version);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_opened);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_idle);
/*gfsm_add_state(&asm_sess_peer_fsm,&asp_sess_peer_state_req_sent); */
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_wait_ack);
- gfsm_add_state(&asm_sess_peer_fsm, &asp_sess_peer_state_closed);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_wait_ack);
+ gfsm_add_state(asm_sess_peer_fsm, asp_sess_peer_state_closed);
}
-void _asp_sess_peer_state_init_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_init_entry_action(void *p_context_data)
{
INFO_MSG;
ASP_SESS_PEER_FSM_TRACE_LEAVE();
}
-void _asp_sess_peer_state_init_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_init_exit_action(void *p_context_data)
{
INFO_MSG;
ASP_SESS_PEER_FSM_TRACE_LEAVE();
}
-gfsm_state_id_t _asp_sess_peer_state_init_reaction_start(
- gpointer p_context_data, gpointer p_event_data)
+gfsm_state_id_t _asp_sess_peer_state_init_reaction_start(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
return ASP_S_PEER_STATE_VERSION_SENT;
}
-void _asp_sess_peer_state_created_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_created_entry_action(void *p_context_data)
{
INFO_MSG;
/* asp_sess_peer_t* p_peer = (asp_sess_peer_t*)p_context_data; */
}
-void _asp_sess_peer_state_created_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_created_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_created_reaction_add_session(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_created_reaction_del_session(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_created_reaction_close(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_created_reaction_send_ack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_created_reaction_send_nack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
return GFSM_DISCARD_EVENT;
}
-void _asp_sess_peer_state_version_sent_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_version_sent_entry_action(void *p_context_data)
{
INFO_MSG;
ASP_SESS_PEER_FSM_TRACE_ENTER();
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_version_t *p_msg_version = g_malloc(sizeof(asp_version_t));
+ asp_version_s *p_msg_version = (asp_version_s *)g_malloc(sizeof(
+ asp_version_s));
p_msg_version->opcode = ASP_OPCODE_VERSION;
p_msg_version->seq_num = p_peer->seq_num;
asp_coordination_protocol_send_msg(p_peer->p_sock_addr, p_msg_version);
- _asp_sess_peer_start_timer(p_peer, 1 /*sec */);
+ _asp_sess_peer_start_timer(p_peer, 1);
ASP_SESS_PEER_FSM_TRACE_LEAVE();
}
-void _asp_sess_peer_state_version_sent_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_version_sent_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_recv_ack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_ack_t *p_ack = (asp_ack_t *) p_event_data;
+ asp_ack_s *p_ack = (asp_ack_s *)p_event_data;
if (p_peer->seq_num != p_ack->seq_num)
return GFSM_DISCARD_EVENT;
}
gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_recv_nack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_nack_t *p_nack = (asp_nack_t *) p_event_data;
+ asp_nack_s *p_nack = (asp_nack_s *)p_event_data;
if (p_peer->seq_num != p_nack->seq_num)
return GFSM_DISCARD_EVENT;
}
gfsm_state_id_t _asp_sess_peer_state_version_sent_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
return ASP_S_PEER_STATE_VERSION_SENT;
}
-void _asp_sess_peer_state_wait_version_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_wait_version_entry_action(void *p_context_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- _asp_sess_peer_start_timer(p_peer, 10 /*sec */);
+ _asp_sess_peer_start_timer(p_peer, 10);
}
-void _asp_sess_peer_state_wait_version_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_wait_version_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_recv_version(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
/* asp_sess_peer_t* p_peer = (asp_sess_peer_t*)p_context_data; */
- /* asp_coord_header_t* p_header = (asp_coord_header_t*)p_event_data; */
+ /* asp_coord_header_s* p_header = (asp_coord_header_s*)p_event_data; */
return ASP_S_PEER_STATE_IDLE;
}
gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_recv_req(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_coord_header_t *p_header = (asp_coord_header_t *) p_event_data;
+ asp_coord_header_s *p_header = (asp_coord_header_s *)p_event_data;
_asp_sess_peer_send_nack_to_protocol(p_peer->p_sock_addr, p_header->seq_num,
ASP_NACK_REASON_NO_SESSION_EXIST);
}
gfsm_state_id_t _asp_sess_peer_state_wait_version_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
return ASP_S_PEER_STATE_CLOSED;
}
-void _asp_sess_peer_state_opened_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_opened_entry_action(void *p_context_data)
{
INFO_MSG;
/*asp_sess_peer_t* p_peer = (asp_sess_peer_t*)p_context_data; */
}
-void _asp_sess_peer_state_opened_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_opened_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_opened_reaction_recv_version(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_opened_reaction_recv_req(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
return GFSM_DISCARD_EVENT;
}
-void _asp_sess_peer_state_idle_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_idle_entry_action(void *p_context_data)
{
INFO_MSG;
/*asp_sess_peer_t* p_peer = (asp_sess_peer_t*)p_context_data; */
}
-void _asp_sess_peer_state_idle_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_idle_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_idle_reaction_send_req(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- gpointer p_msg_data = asp_sess_peer_dup_msg_data(p_event_data);
+ void *p_msg_data = asp_sess_peer_dup_msg_data(p_event_data);
/*asp_sess_peer_add_sess_list(p_msg_data); */
_asp_sess_peer_set_sending_msg_data(p_peer, p_msg_data);
return ASP_S_PEER_STATE_WAIT_ACK;
}
-void _asp_sess_peer_state_wait_ack_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_wait_ack_entry_action(void *p_context_data)
{
INFO_MSG;
_asp_sess_peer_start_timer(p_peer, 1);
}
-void _asp_sess_peer_state_wait_ack_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_wait_ack_exit_action(void *p_context_data)
{
INFO_MSG;
}
gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_recv_ack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_ack_t *p_ack = (asp_ack_t *) p_event_data;
+ asp_ack_s *p_ack = (asp_ack_s *)p_event_data;
if (p_ack->seq_num != p_peer->seq_num)
return GFSM_DISCARD_EVENT;
}
gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_recv_nack(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- asp_nack_t *p_nack = (asp_nack_t *) p_event_data;
+ asp_nack_s *p_nack = (asp_nack_s *)p_event_data;
if (p_nack->seq_num != p_peer->seq_num)
return GFSM_DISCARD_EVENT;
}
gfsm_state_id_t _asp_sess_peer_state_wait_ack_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
}
-void _asp_sess_peer_state_close_entry_action(gpointer p_context_data)
+void _asp_sess_peer_state_close_entry_action(void *p_context_data)
{
INFO_MSG;
asp_sess_peer_t *p_peer = (asp_sess_peer_t *) p_context_data;
- gfsm_terminate_context(&p_peer->context);
+ gfsm_destroy_context(p_peer->context);
}
-void _asp_sess_peer_state_close_exit_action(gpointer p_context_data)
+void _asp_sess_peer_state_close_exit_action(void *p_context_data)
{
INFO_MSG;
typedef struct asp_session {
/* Can be used as session argument from below */
- gfsm_context_t context;
+ gfsm_context_s *context;
asp_role_e asp_role;
guint8 session_mac[MAC_ADDRESS_LEN]; /* the MAC address of the P2P device that generated the session ID */
guint32 session_id;
/*GSocketFamily sock_family; // ipv4 or ipv6 */
asp_session_closed_state_e closed_state;
gboolean over_p2p; /*p2p or infra */
-} asp_session_t;
+} asp_session_s;
typedef struct session_request_cb {
asp_session_session_request_cb cb;
gpointer user_data;
-} session_request_cb_t;
+} session_request_cb_s;
typedef struct session_config_request_cb {
asp_session_session_config_request_cb cb;
gpointer user_data;
-} session_config_request_cb_t;
+} session_config_request_cb_s;
typedef struct connect_status_cb {
asp_session_connect_status_cb cb;
gpointer user_data;
-} connect_status_cb_t;
+} connect_status_cb_s;
typedef struct port_status_cb {
asp_session_port_status_cb cb;
gpointer user_data;
-} port_status_cb_t;
+} port_status_cb_s;
typedef struct session_status_cb {
asp_session_session_status_cb cb;
gpointer user_data;
-} session_status_cb_t;
+} session_status_cb_s;
typedef struct asp_session_cb_v_table {
- session_request_cb_t session_request;
- session_config_request_cb_t session_config_request;
- connect_status_cb_t connect_status;
- port_status_cb_t port_status;
- session_status_cb_t session_status;
-} asp_session_cb_v_table_t;
+ session_request_cb_s session_request;
+ session_config_request_cb_s session_config_request;
+ connect_status_cb_s connect_status;
+ port_status_cb_s port_status;
+ session_status_cb_s session_status;
+} asp_session_cb_v_table_s;
typedef struct asp_session_key {
guint32 session_id;
guint8 session_mac[MAC_ADDRESS_LEN];
-} asp_session_key_t;
+} asp_session_key_s;
typedef struct connect_session_param {
guint8 service_mac[MAC_ADDRESS_LEN]; /* the MAC address of the P2P device that generated the session ID */
size_t info_length;
guint8 network_role;
guint8 network_config;
-} connect_session_param_t;
+} connect_session_param_s;
typedef struct defer_session_param {
guint8 deferred_response[ASP_DEFER_RESPONSE_BYTE_MAX];
size_t length;
-} defer_session_param_t;
+} defer_session_param_s;
typedef struct confirm_session_param {
gboolean confirmed;
guint32 pin;
-} confirm_session_param_t;
+} confirm_session_param_s;
typedef struct bound_port_param {
gchar local_ip[ASP_SESSION_IPV4_STR_LEN];
guint16 local_port;
guint8 proto;
-} bound_port_param_t;
+} bound_port_param_s;
typedef struct session_request_param {
- gint32 error_code;
+ int error_code;
guint32 advertisement_id;
gchar device_name[ASP_MAX_DEVICE_NAME_LEN + 1];
size_t name_length;
size_t info_length;
gboolean get_pin;
guint32 pin;
-} session_request_param_t;
+} session_request_param_s;
typedef struct connect_status_param {
asp_session_connect_status_e status;
- gchar deferred_resp[ASP_DEFER_RESPONSE_BYTE_MAX];
+ char deferred_resp[ASP_DEFER_RESPONSE_BYTE_MAX];
size_t length;
-} connect_status_param_t;
+} connect_status_param_s;
typedef struct session_config_request_param {
gboolean get_network_config_pin;
guint32 network_config_pin;
-} session_config_request_param_t;
+} session_config_request_param_s;
typedef struct ip_assigned_param {
- gchar peer_ip_addr[ASP_SESSION_IPV4_STR_LEN];
+ char peer_ip_addr[ASP_SESSION_IPV4_STR_LEN];
size_t length;
-} ip_assigned_param_t;
+} ip_assigned_param_s;
-enum asp_session_state_e {
+enum {
SESSION_STATE_NONE,
SESSION_STATE_CLOSED,
SESSION_STATE_RUNNING,
SESSION_STATE_REJECT_SESSION_SENT,
SESSION_STATE_REMOVE_SESSION_SENT,
SESSION_STATE_MAX
-};
+} asp_session_state_e;
-enum asp_session_event_e {
+enum {
SESSION_EVENT_BOUND_PORT_CALLED,
SESSION_EVENT_CLOSE_SESSION_CALLED,
SESSION_EVENT_CONNECT_SESSION_CALLED,
SESSION_EVENT_PEER_DESTROYED,
SESSION_EVENT_TIMEOUT,
+ SESSION_EVENT_DELETE_SESSION,
SESSION_EVENT_MAX
-};
+} asp_session_event_e;
/*****************************************************************************
* Global Variables
*****************************************************************************/
static GTree *sessionTree =
- NULL; /* [key] - [asp_session_key_t*], [value] - [asp_session_t*] */
-static asp_session_cb_v_table_t session_cb_v_table;
-static gchar g_my_p2p_mac[MAC_ADDRESS_LEN];
+ NULL; /* [key] - [asp_session_key_s*], [value] - [asp_session_s*] */
+static asp_session_cb_v_table_s session_cb_v_table;
+static char g_my_p2p_mac[MAC_ADDRESS_LEN];
+
static guint16 g_asp_cordination_port = 7235;
-static gfsm_t session_fsm;
-static gfsm_state_t session_state_none;
-static gfsm_state_t session_state_closed;
-static gfsm_state_t session_state_running;
-static gfsm_state_t session_state_l2connecting;
-static gfsm_state_t session_state_session_request_sent;
-static gfsm_state_t session_state_session_request_defered;
-static gfsm_state_t session_state_entering_pin;
-static gfsm_state_t session_state_session_request_received;
-static gfsm_state_t session_state_session_request_accepted;
-static gfsm_state_t session_state_entering_pin;
-static gfsm_state_t session_state_group_formation_completed;
-static gfsm_state_t session_state_l2connected;
-static gfsm_state_t session_state_request_session_sent;
-static gfsm_state_t session_state_open;
-static gfsm_state_t session_state_request_session_received;
-static gfsm_state_t session_state_reject_session_sent;
-static gfsm_state_t session_state_remove_session_sent;
+static gfsm_s *session_fsm;
+static gfsm_state_s *session_state_none;
+static gfsm_state_s *session_state_closed;
+static gfsm_state_s *session_state_running;
+static gfsm_state_s *session_state_l2connecting;
+static gfsm_state_s *session_state_session_request_sent;
+static gfsm_state_s *session_state_session_request_defered;
+static gfsm_state_s *session_state_entering_pin;
+static gfsm_state_s *session_state_session_request_received;
+static gfsm_state_s *session_state_session_request_accepted;
+static gfsm_state_s *session_state_group_formation_completed;
+static gfsm_state_s *session_state_l2connected;
+static gfsm_state_s *session_state_request_session_sent;
+static gfsm_state_s *session_state_open;
+static gfsm_state_s *session_state_request_session_received;
+static gfsm_state_s *session_state_reject_session_sent;
+static gfsm_state_s *session_state_remove_session_sent;
/*****************************************************************************
* Local Functions Declaration
*****************************************************************************/
/* send coordination protocol message */
-static gboolean _send_request_session(asp_session_t *session,
+static gboolean _send_request_session(asp_session_s *session,
guint8 *session_info, size_t session_info_len);
-static gboolean _send_added_session(asp_session_t *session);
-static gboolean _send_reject_session(asp_session_t *session);
-static gboolean _send_remove_session(asp_session_t *session,
+static gboolean _send_added_session(asp_session_s *session);
+static gboolean _send_reject_session(asp_session_s *session);
+static gboolean _send_remove_session(asp_session_s *session,
guint8 remove_reason);
-static gboolean _send_allowed_port(asp_session_t *session, guint16 port,
+static gboolean _send_allowed_port(asp_session_s *session, guint16 port,
guint8 protocol);
-static gboolean _send_deferred_session(asp_session_t *session,
+static gboolean _send_deferred_session(asp_session_s *session,
guint8 *deferred_response, size_t length);
static gboolean _send_nack(GSocketAddress *sock_addr, guint8 seq_num,
guint8 reason);
static gint _session_tree_compare_func(gconstpointer a, gconstpointer b);
static void _session_tree_value_destoryed(gpointer data);
static void _session_tree_key_destoryed(gpointer data);
-static void _insert_session(asp_session_t *session);
+static void _insert_session(asp_session_s *session);
static void _remove_session(guint8 *session_mac, guint32 session_id);
static void _get_ip_from_socketaddress(GSocketAddress *sock_addr,
gchar *peer_ip);
static guint32 _alloc_session_id();
-static asp_session_t *_get_exist_session(guint32 session_id,
+static asp_session_s *_get_exist_session(guint32 session_id,
const guint8 *session_mac);
-static asp_session_t *_new_session_by_request_session(GSocketAddress *sock_addr,
+static asp_session_s *_new_session_by_request_session(GSocketAddress *sock_addr,
const gchar *peer_ip, gpointer p_msg);
-static asp_session_t *_new_session_over_infra(guint8 *session_mac,
+static asp_session_s *_new_session_over_infra(guint8 *session_mac,
guint32 session_id, asp_role_e asp_role, guint32 advertisement_id,
GSocketAddress *sock_addr, const gchar *peer_ip);
-static asp_session_t *_new_session_over_p2p(const guint8 *session_mac,
+static asp_session_s *_new_session_over_p2p(const guint8 *session_mac,
guint32 session_id, asp_role_e asp_role, const guint8 *service_mac,
guint32 advertisement_id);
-static asp_session_t *_new_session_from_session_request(
+static asp_session_s *_new_session_from_session_request(
const guint8 *session_mac, guint32 session_id, guint32 advertisement_id);
-static void _asp_session_destroy_session(gpointer p_context_data);
+static void _asp_session_destroy_session(void *p_context_data);
static asp_session_status_e _get_session_state(guint8 *session_mac,
guint32 session_id);
-static asp_session_key_t *_get_session_key(guint32 session_id,
+static asp_session_key_s *_get_session_key(guint32 session_id,
const guint8 *session_mac);
-static void _store_peer_ip_addr(asp_session_t *session, gchar *peer_ip,
+static void _store_peer_ip_addr(asp_session_s *session, char *peer_ip,
size_t length);
#ifdef HAVE_ASP_P2P_CONN
-static guint8 *_get_peer_mac(asp_session_t *session);
+static guint8 *_get_peer_mac(asp_session_s *session);
#endif
static gpointer _asp_session_dup_reqeust_session(gpointer p_msg);
gpointer user_data);
void _p2p_conn_connect_status_cb(gint32 error_code, const guint8 *session_mac,
guint32 session_id, asp_session_connect_status_e status, gpointer user_data);
+void _p2p_conn_ip_assigned_cb(gint32 error_code, const guint8 *session_mac,
+ guint32 session_id, gchar *service_mac, gchar *peer_ip_addr, gint32 ip_length,
+ gpointer user_data);
/* state machine using gfsm */
static void _asp_session_fsm_init();
static void _asp_session_fsm_terminate();
-static void _state_none_entry_action(gpointer p_context_data);
-static void _state_none_exit_action(gpointer p_context_data);
+static void _state_none_entry_action(void *p_context_data);
+static void _state_none_exit_action(void *p_context_data);
static gfsm_state_id_t _state_none_reaction_connect_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_none_reaction_request_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_none_reaction_session_request_received(
- gpointer p_context_data, gpointer p_event_data);
-static void _state_closed_entry_action(gpointer p_context_data);
-static void _state_closed_exit_action(gpointer p_context_data);
+ void *p_context_data, void *p_event_data);
+static void _state_closed_entry_action(void *p_context_data);
+static void _state_closed_exit_action(void *p_context_data);
+static gfsm_state_id_t _state_closed_reaction_delete_session(
+ void *p_context_data, void *p_event_data);
/*static gfsm_state_id_t _state_closed_reaction_connect_session_called (void* p_context_data, void* p_event_data); */
/*static gfsm_state_id_t _state_closed_reaction_request_session_received(void* p_context_data, void* p_event_data); */
-static void _state_running_entry_action(gpointer p_context_data);
-static void _state_running_exit_action(gpointer p_context_data);
+static void _state_running_entry_action(void *p_context_data);
+static void _state_running_exit_action(void *p_context_data);
-static void _state_l2connecting_entry_action(gpointer p_context_data);
-static void _state_l2connecting_exit_action(gpointer p_context_data);
+static void _state_l2connecting_entry_action(void *p_context_data);
+static void _state_l2connecting_exit_action(void *p_context_data);
static gfsm_state_id_t _state_l2connecting_reaction_close_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_l2connecting_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_session_request_sent_entry_action(gpointer p_context_data);
-static void _state_session_request_sent_exit_action(gpointer p_context_data);
+static void _state_session_request_sent_entry_action(void *p_context_data);
+static void _state_session_request_sent_exit_action(void *p_context_data);
static gfsm_state_id_t
-_state_session_request_sent_reaction_connect_status_called(
- gpointer p_context_data, gpointer p_event_data);
+_state_session_request_sent_reaction_connect_status_called(void *p_context_data,
+ void *p_event_data);
static gfsm_state_id_t
_state_session_request_sent_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_session_request_defered_entry_action(
- gpointer p_context_data);
-static void _state_session_request_defered_exit_action(gpointer p_context_data);
+static void _state_session_request_defered_entry_action(void *p_context_data);
+static void _state_session_request_defered_exit_action(void *p_context_data);
static gfsm_state_id_t
_state_session_request_defered_reaction_connect_status_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_session_request_defered_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_session_request_received_entry_action(
- gpointer p_context_data);
-static void _state_session_request_received_exit_action(
- gpointer p_context_data);
+static void _state_session_request_received_entry_action(void *p_context_data);
+static void _state_session_request_received_exit_action(void *p_context_data);
static gfsm_state_id_t
_state_session_request_received_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_session_request_accepted_entry_action(
- gpointer p_context_data);
-static void _state_session_request_accepted_exit_action(
- gpointer p_context_data);
+static void _state_session_request_accepted_entry_action(void *p_context_data);
+static void _state_session_request_accepted_exit_action(void *p_context_data);
static gfsm_state_id_t
_state_session_request_accepted_reaction_connect_status_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_session_request_accepted_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
+static gfsm_state_id_t
+_state_session_request_accepted_reaction_set_session_ready_called(
+ void *p_context_data, void *p_event_data);
-static void _state_entering_pin_entry_action(gpointer p_context_data);
-static void _state_entering_pin_exit_action(gpointer p_context_data);
+static void _state_entering_pin_entry_action(void *p_context_data);
+static void _state_entering_pin_exit_action(void *p_context_data);
static gfsm_state_id_t _state_entering_pin_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_group_formation_completed_entry_action(
- gpointer p_context_data);
-static void _state_group_formation_completed_exit_action(
- gpointer p_context_data);
+static void _state_group_formation_completed_entry_action(void *p_context_data);
+static void _state_group_formation_completed_exit_action(void *p_context_data);
static gfsm_state_id_t _state_group_formation_completed_reaction_ip_assigned(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_group_formation_completed_reaction_request_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
+static gfsm_state_id_t
+_state_group_formation_completed_reaction_set_session_ready_called(
+ void *p_context_data, void *p_event_data);
-static void _state_l2connected_entry_action(gpointer p_context_data);
-static void _state_l2connected_exit_action(gpointer p_context_data);
+static void _state_l2connected_entry_action(void *p_context_data);
+static void _state_l2connected_exit_action(void *p_context_data);
static gfsm_state_id_t _state_l2connected_reaction_close_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_l2connected_reaction_remove_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_l2connected_reaction_peer_destroyed(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
-static void _state_request_session_sent_entry_action(gpointer p_context_data);
-static void _state_request_session_sent_exit_action(gpointer p_context_data);
+static void _state_request_session_sent_entry_action(void *p_context_data);
+static void _state_request_session_sent_exit_action(void *p_context_data);
static gfsm_state_id_t
_state_request_session_sent_reaction_added_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_request_session_sent_reaction_deferred_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_request_session_sent_reaction_rejected_session_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_request_session_sent_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data);
-static void _state_request_session_received_entry_action(
- gpointer p_context_data);
-static void _state_request_session_received_exit_action(
- gpointer p_context_data);
+ void *p_context_data, void *p_event_data);
+static void _state_request_session_received_entry_action(void *p_context_data);
+static void _state_request_session_received_exit_action(void *p_context_data);
static gfsm_state_id_t
_state_request_session_received_reaction_set_session_ready_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_request_session_received_reaction_defer_session_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t
_state_request_session_received_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data);
-static void _state_open_entry_action(gpointer p_context_data);
-static void _state_open_exit_action(gpointer p_context_data);
+ void *p_context_data, void *p_event_data);
+static void _state_open_entry_action(void *p_context_data);
+static void _state_open_exit_action(void *p_context_data);
static gfsm_state_id_t _state_open_reaction_bound_port_called(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_open_reaction_allowed_port_received(
- gpointer p_context_data, gpointer p_event_data);
-static void _state_reject_session_sent_entry_action(gpointer p_context_data);
-static void _state_reject_session_sent_exit_action(gpointer p_context_data);
+ void *p_context_data, void *p_event_data);
+static void _state_reject_session_sent_entry_action(void *p_context_data);
+static void _state_reject_session_sent_exit_action(void *p_context_data);
static gfsm_state_id_t _state_reject_session_sent_reaction_ack_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_reject_session_sent_reaction_nack_received(
- gpointer p_context_data, gpointer p_event_data);
-static void _state_remove_session_sent_entry_action(gpointer p_context_data);
-static void _state_remove_session_sent_exit_action(gpointer p_context_data);
+ void *p_context_data, void *p_event_data);
+static void _state_remove_session_sent_entry_action(void *p_context_data);
+static void _state_remove_session_sent_exit_action(void *p_context_data);
static gfsm_state_id_t _state_remove_session_sent_reaction_ack_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
static gfsm_state_id_t _state_remove_session_sent_reaction_nack_received(
- gpointer p_context_data, gpointer p_event_data);
+ void *p_context_data, void *p_event_data);
/*****************************************************************************
* API Definition
asp_p2p_conn_set_session_config_request_cb(_p2p_conn_session_config_request_cb,
NULL);
asp_p2p_conn_set_connect_status_cb(_p2p_conn_connect_status_cb, NULL);
+ asp_p2p_conn_set_ip_assigned_cb(_p2p_conn_ip_assigned_cb, NULL);
#endif
return TRUE;
*p_session_id = _alloc_session_id();
} while (_get_exist_session(*p_session_id, session_mac) != NULL);
- asp_session_t *session = _new_session_over_p2p(session_mac, *p_session_id,
+ asp_session_s *session = _new_session_over_p2p(session_mac, *p_session_id,
ASP_ROLE_SEEKER, service_mac,
advertisement_id); /*this function is not implemented yet, hjjee */
g_assert(session);
- connect_session_param_t *p_connect_session = (connect_session_param_t *)
- g_malloc(sizeof(connect_session_param_t));
+ connect_session_param_s *p_connect_session = (connect_session_param_s *)
+ g_malloc(sizeof(connect_session_param_s));
memcpy(p_connect_session->service_mac, service_mac, MAC_ADDRESS_LEN);
if (session_info) {
p_connect_session->network_role = network_role;
p_connect_session->network_config = network_config;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_CONNECT_SESSION_CALLED, p_connect_session,
g_free));
return TRUE;
}
-gboolean asp_session_connect_session_over_infa(const gchar *peer_ip,
+gboolean asp_session_connect_session_over_infra(const gchar *peer_ip,
guint32 advertisement_id, guint8 *session_info, size_t info_length,
guint8 *session_mac, guint32 *p_session_id)
{
*p_session_id = _alloc_session_id();
} while (_get_exist_session(*p_session_id, session_mac) != NULL);
- asp_session_t *session = _new_session_over_infra(session_mac, *p_session_id,
+ asp_session_s *session = _new_session_over_infra(session_mac, *p_session_id,
ASP_ROLE_SEEKER, advertisement_id, NULL,
peer_ip); /*this function needs to be modified because there is new element in session structure., hjjee */
g_assert(session);
- connect_session_param_t *p_connect_session = (connect_session_param_t *)
- g_malloc(sizeof(connect_session_param_t));
+ connect_session_param_s *p_connect_session = (connect_session_param_s *)
+ g_malloc(sizeof(connect_session_param_s));
memset(p_connect_session->service_mac, 0, MAC_ADDRESS_LEN);
if (session_info) {
p_connect_session->network_role = 0;
p_connect_session->network_config = 0;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_CONNECT_SESSION_CALLED, p_connect_session,
g_free));
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
- defer_session_param_t *defer_session_param = (defer_session_param_t *) g_malloc(
- sizeof(defer_session_param_t));
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
+ defer_session_param_s *defer_session_param = (defer_session_param_s *)g_malloc(
+ sizeof(defer_session_param_s));
g_assert(session);
memcpy(defer_session_param->deferred_response, deferred_response, MIN(length,
ASP_DEFER_RESPONSE_BYTE_MAX));
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_DEFER_SESSION_CALLED, defer_session_param,
g_free));
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- confirm_session_param_t *confirmed_param = (confirm_session_param_t *) g_malloc(
- sizeof(confirm_session_param_t));
+ confirm_session_param_s *confirmed_param = (confirm_session_param_s *)g_malloc(
+ sizeof(confirm_session_param_s));
confirmed_param->confirmed = confirmed;
confirmed_param->pin = pin;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_CONFIRM_SESSION_CALLED, confirmed_param,
g_free));
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_SET_SESSION_READY_CALLED, NULL, NULL));
return TRUE;
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
guint8 *close_reason = (guint8 *) g_malloc(sizeof(guint8));
*close_reason = (guint8) reason;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_CLOSE_SESSION_CALLED, close_reason, g_free));
return TRUE;
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- bound_port_param_t *bound_port_param = (bound_port_param_t *) g_malloc(sizeof(
- bound_port_param_t));
+ bound_port_param_s *bound_port_param = (bound_port_param_s *)g_malloc(sizeof(
+ bound_port_param_s));
g_strlcpy(bound_port_param->local_ip, local_ip, ASP_SESSION_IPV4_STR_LEN);
bound_port_param->local_port = local_port;
bound_port_param->proto = protocol;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_BOUND_PORT_CALLED, bound_port_param, g_free));
return TRUE;
size_t name_length, const guint8 *session_info, size_t info_length,
gboolean get_pin, guint32 pin, gpointer user_data)
{
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
if (session) {
/* Discard or delete previous session??? */
advertisement_id);
g_assert(session);
- session_request_param_t *p_param = (session_request_param_t *) g_malloc(sizeof(
- session_request_param_t));
+ session_request_param_s *p_param = (session_request_param_s *)g_malloc(sizeof(
+ session_request_param_s));
p_param->name_length = MIN(ASP_MAX_DEVICE_NAME_LEN, name_length);
memcpy(p_param->device_name, device_name, p_param->name_length);
p_param->get_pin = get_pin;
p_param->pin = pin;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_SESSION_REQUEST_CALLED, p_param, g_free));
}
}
const guint8 *session_mac, guint32 session_id, gboolean get_pin, guint32 pin,
gpointer user_data)
{
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
if (session) {
- session_config_request_param_t *p_param = (session_config_request_param_t *)
- g_malloc(sizeof(session_config_request_param_t));
+ session_config_request_param_s *p_param = (session_config_request_param_s *)
+ g_malloc(sizeof(session_config_request_param_s));
p_param->get_network_config_pin = get_pin;
p_param->network_config_pin = pin;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_SESSION_CONFIG_REQUEST_CALLED, p_param,
g_free));
}
void _p2p_conn_connect_status_cb(gint32 error_code, const guint8 *session_mac,
guint32 session_id, asp_session_connect_status_e status, gpointer user_data)
{
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
if (session) {
- connect_status_param_t *p_param = (connect_status_param_t *) g_malloc(sizeof(
- connect_status_param_t));
+ connect_status_param_s *p_param = (connect_status_param_s *)g_malloc(sizeof(
+ connect_status_param_s));
p_param->status = status;
p_param->length = 0;
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_CONNECT_STATUS_CALLED, p_param, g_free));
}
}
+void _p2p_conn_ip_assigned_cb(gint32 error_code, const guint8 *session_mac,
+ guint32 session_id, gchar *service_mac, gchar *peer_ip_addr, gint32 ip_length,
+ gpointer user_data)
+{
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
+
+ if (session) {
+ ip_assigned_param_s *p_param = (ip_assigned_param_s *)g_malloc(sizeof(
+ ip_assigned_param_s));
+ memcpy(p_param->peer_ip_addr, peer_ip_addr, ip_length);
+ p_param->length = ip_length;
+
+ gfsm_process_event(session->context,
+ gfsm_create_event(SESSION_EVENT_IP_ASSIGNED, p_param, g_free));
+ }
+}
+
gboolean asp_session_set_session_request_cb(asp_session_session_request_cb cb,
gpointer user_data)
{
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
*advertisement_id = session->advertisement_id;
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
g_strlcpy(peer_ip, session->peer_ip, ASP_SESSION_IPV4_STR_LEN);
{
INFO_MSG;
- asp_request_header_t *p_header = (asp_request_header_t *) p_msg;
+ asp_request_header_s *p_header = (asp_request_header_s *)p_msg;
ASP_LOGD("%s asp_session_recv_req(), opcode:%d", ROLE, p_header->opcode);
- asp_session_t *session = _get_exist_session(p_header->session_id,
+ asp_session_s *session = _get_exist_session(p_header->session_id,
p_header->session_mac);
- if (NULL == session && ASP_OPCODE_REQUEST_SESSION != p_header->opcode) {
- /* in case of session not found for reqeust message */
+ if (!session->over_p2p && NULL == session &&
+ ASP_OPCODE_REQUEST_SESSION != p_header->opcode) {
+ /* over infra */
/* NACK shall be sent */
_send_nack(sock_addr, p_header->seq_num, ASP_NACK_REASON_NO_SESSION_EXIST);
return;
}
+ if (session->over_p2p && NULL == session) {
+ /* over p2p */
+ _send_nack(sock_addr, p_header->seq_num, ASP_NACK_REASON_NO_SESSION_EXIST);
+ return;
+ }
+
switch (p_header->opcode) {
case ASP_OPCODE_REQUEST_SESSION: {
gchar peer_ip[ASP_SESSION_IPV4_STR_LEN];
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_REQUEST_SESSION_RECEIVED,
_asp_session_dup_reqeust_session(p_msg), g_free));
}
break;
case ASP_OPCODE_ADDED_SESSION:
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
- gfsm_create_event(SESSION_EVENT_ADDED_SESSION_RECEIVED, NULL,
- NULL /*_asp_session_dup_added_session(p_msg), g_free*/));
+ gfsm_process_event(session->context,
+ gfsm_create_event(SESSION_EVENT_ADDED_SESSION_RECEIVED, NULL, NULL));
break;
case ASP_OPCODE_REJECTED_SESSION:
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_REJECTED_SESSION_RECEIVED, NULL, NULL));
break;
case ASP_OPCODE_REMOVE_SESSION:
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_REMOVE_SESSION_RECEIVED,
- &((asp_remove_session_t *) p_msg)->reason, NULL));
+ &((asp_remove_session_s *)p_msg)->reason, NULL));
break;
case ASP_OPCODE_ALLOWED_PORT:
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_ALLOWED_PORT_RECEIVED,
_asp_session_dup_allowed_session(p_msg), g_free));
break;
case ASP_OPCODE_DEFERRED_SESSION:
_send_ack(sock_addr, p_header->seq_num);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_DEFERRED_SESSION_RECEIVED, NULL, NULL));
break;
ASP_LOGD("%s asp_session_recv_ack: session_id:%d, session_mac[0]:%x", ROLE,
session_id, session_mac[0]);
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_ACK_RECEIVED, NULL, NULL));
}
{
INFO_MSG;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- gfsm_process_event(&session->context,
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_NACK_RECEIVED, NULL, NULL));
}
INFO_MSG;
/*_remove_session(session_mac, session_id); */
- asp_session_t *session = _get_exist_session(session_id, session_mac);
- gfsm_process_event(&session->context,
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
+ gfsm_process_event(session->context,
gfsm_create_event(SESSION_EVENT_PEER_DESTROYED, NULL, NULL));
}
* Local Function Definition
*****************************************************************************/
-gboolean _send_request_session(asp_session_t *session, guint8 *session_info,
+gboolean _send_request_session(asp_session_s *session, guint8 *session_info,
size_t session_info_len)
{
INFO_MSG;
- asp_request_session_t request_session_data;
+ asp_request_session_s request_session_data;
request_session_data.opcode = ASP_OPCODE_REQUEST_SESSION;
memcpy(request_session_data.session_mac, session->session_mac, MAC_ADDRESS_LEN);
request_session_data.session_information_length = 0;
return asp_sess_peer_send_msg(session->sock_addr,
- (gpointer)&request_session_data);
+ (void *)&request_session_data);
}
-gboolean _send_remove_session(asp_session_t *session, guint8 remove_reason)
+gboolean _send_remove_session(asp_session_s *session, guint8 remove_reason)
{
INFO_MSG;
- asp_remove_session_t remove_session_data;
+ asp_remove_session_s remove_session_data;
remove_session_data.opcode = ASP_OPCODE_REMOVE_SESSION;
memcpy(remove_session_data.session_mac, session->session_mac, MAC_ADDRESS_LEN);
remove_session_data.session_id = session->session_id;
remove_session_data.reason = remove_reason;
- return asp_sess_peer_send_msg(session->sock_addr,
- (gpointer)&remove_session_data);
+ return asp_sess_peer_send_msg(session->sock_addr, (void *)&remove_session_data);
}
-gboolean _send_reject_session(asp_session_t *session)
+gboolean _send_reject_session(asp_session_s *session)
{
INFO_MSG;
- asp_rejected_session_t rejected_session_data;
+ asp_rejected_session_s rejected_session_data;
rejected_session_data.opcode = ASP_OPCODE_REJECTED_SESSION;
memcpy(rejected_session_data.session_mac, session->session_mac,
MAC_ADDRESS_LEN);
rejected_session_data.session_id = session->session_id;
return asp_sess_peer_send_msg(session->sock_addr,
- (gpointer)&rejected_session_data);
+ (void *)&rejected_session_data);
}
-gboolean _send_added_session(asp_session_t *session)
+gboolean _send_added_session(asp_session_s *session)
{
INFO_MSG;
- asp_added_session_t add_session_data;
+ asp_added_session_s add_session_data;
add_session_data.opcode = ASP_OPCODE_ADDED_SESSION;
memcpy(add_session_data.session_mac, session->session_mac, MAC_ADDRESS_LEN);
add_session_data.session_id = session->session_id;
- return asp_sess_peer_send_msg(session->sock_addr, (gpointer)&add_session_data);
+ return asp_sess_peer_send_msg(session->sock_addr, (void *)&add_session_data);
}
-gboolean _send_deferred_session(asp_session_t *session,
+gboolean _send_deferred_session(asp_session_s *session,
guint8 *deferred_response, size_t length)
{
INFO_MSG;
- asp_deferred_session_t deferred_session_data;
+ asp_deferred_session_s deferred_session_data;
deferred_session_data.opcode = ASP_OPCODE_DEFERRED_SESSION;
memcpy(deferred_session_data.session_mac, session->session_mac,
MAC_ADDRESS_LEN);
length);
return asp_sess_peer_send_msg(session->sock_addr,
- (gpointer)&deferred_session_data);
+ (void *)&deferred_session_data);
}
-gboolean _send_allowed_port(asp_session_t *session, guint16 port,
+gboolean _send_allowed_port(asp_session_s *session, guint16 port,
guint8 protocol)
{
INFO_MSG;
- asp_allowed_port_t allowed_port_data;
+ asp_allowed_port_s allowed_port_data;
allowed_port_data.opcode = ASP_OPCODE_ALLOWED_PORT;
memcpy(allowed_port_data.session_mac, session->session_mac, MAC_ADDRESS_LEN);
allowed_port_data.session_id = session->session_id;
allowed_port_data.port = port;
allowed_port_data.proto = protocol;
- return asp_sess_peer_send_msg(session->sock_addr, (gpointer)&allowed_port_data);
+ return asp_sess_peer_send_msg(session->sock_addr, (void *)&allowed_port_data);
}
gboolean _send_nack(GSocketAddress *sock_addr, guint8 seq_num, guint8 reason)
{
INFO_MSG;
- asp_nack_t nack_data;
+ asp_nack_s nack_data;
nack_data.opcode = ASP_OPCODE_NACK;
nack_data.seq_num = seq_num;
nack_data.reason = reason;
- return asp_sess_peer_send_msg(sock_addr, (gpointer)&nack_data);
+ return asp_sess_peer_send_msg(sock_addr, (void *)&nack_data);
}
gboolean _send_ack(GSocketAddress *sock_addr, guint8 seq_num)
{
INFO_MSG;
- asp_nack_t ack_data;
+ asp_nack_s ack_data;
ack_data.opcode = ASP_OPCODE_ACK;
ack_data.seq_num = seq_num;
- return asp_sess_peer_send_msg(sock_addr, (gpointer)&ack_data);
+ return asp_sess_peer_send_msg(sock_addr, (void *)&ack_data);
}
void _session_tree_value_destoryed(gpointer data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) data;
+ asp_session_s *session = (asp_session_s *)data;
- /* terminate gfsm context */
- gfsm_terminate_context(&session->context);
+ /* destroy gfsm context */
+ /*gfsm_destroy_context(session->context); */
if (session->sock_addr) {
g_object_unref(session->sock_addr);
void _session_tree_key_destoryed(gpointer data)
{
- INFO_MSG;
-
- asp_session_key_t *key = (asp_session_key_t *) data;
+ asp_session_key_s *key = (asp_session_key_s *)data;
g_free(key);
}
gint _session_tree_compare_func(gconstpointer a, gconstpointer b)
{
- INFO_MSG;
-
- asp_session_key_t *s1 = (asp_session_key_t *) a;
- asp_session_key_t *s2 = (asp_session_key_t *) b;
+ asp_session_key_s *s1 = (asp_session_key_s *)a;
+ asp_session_key_s *s2 = (asp_session_key_s *)b;
/* ascending sort */
- if (s1->session_id != s2->session_id) {
- ASP_LOGD("%s s1-id:%d, s2-id:%d", ROLE, s1->session_id, s2->session_id);
+ if (s1->session_id != s2->session_id)
return s1->session_id - s2->session_id;
- } else
+ else
return memcmp(s1->session_mac, s2->session_mac, MAC_ADDRESS_LEN);
}
g_assert(session_cb_v_table.session_status.cb);
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
session_cb_v_table.session_status.cb(error_code, session_mac, session_id,
g_assert(session_cb_v_table.session_status.cb);
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
/* temporary code */
gpointer _asp_session_dup_reqeust_session(gpointer p_msg)
{
- asp_request_session_t *p_dup_msg = (asp_request_session_t *) g_malloc(sizeof(
- asp_request_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_request_session_t));
+ asp_request_session_s *p_dup_msg = (asp_request_session_s *)g_malloc(sizeof(
+ asp_request_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_request_session_s));
return (gpointer) p_dup_msg;
}
gpointer _asp_session_dup_added_session(gpointer p_msg)
{
- asp_added_session_t* p_dup_msg = (asp_added_session_t*)g_malloc(sizeof(asp_added_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_added_session_t));
+ asp_added_session_s* p_dup_msg = (asp_added_session_s*)g_malloc(sizeof(asp_added_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_added_session_s));
return (gpointer)p_dup_msg;
}
gpointer _asp_session_dup_rejected_session(gpointer p_msg)
{
- asp_rejected_session_t* p_dup_msg = (asp_rejected_session_t*)g_malloc(sizeof(asp_rejected_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_rejected_session_t));
+ asp_rejected_session_s* p_dup_msg = (asp_rejected_session_s*)g_malloc(sizeof(asp_rejected_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_rejected_session_s));
return (gpointer)p_dup_msg;
}
gpointer _asp_session_dup_remove_session(gpointer p_msg)
{
- asp_remove_session_t* p_dup_msg = (asp_remove_session_t*)g_malloc(sizeof(asp_remove_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_remove_session_t));
+ asp_remove_session_s* p_dup_msg = (asp_remove_session_s*)g_malloc(sizeof(asp_remove_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_remove_session_s));
return (gpointer)p_dup_msg;
}
gpointer _asp_session_dup_deferred_session(gpointer p_msg)
{
- asp_deferred_session_t* p_dup_msg = (asp_deferred_session_t*)g_malloc(sizeof(asp_deferred_session_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_deferred_session_t));
+ asp_deferred_session_s* p_dup_msg = (asp_deferred_session_s*)g_malloc(sizeof(asp_deferred_session_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_deferred_session_s));
return (gpointer)p_dup_msg;
}
*/
{
INFO_MSG;
- asp_allowed_port_t *p_dup_msg = (asp_allowed_port_t *) g_malloc(sizeof(
- asp_allowed_port_t));
- memcpy(p_dup_msg, p_msg, sizeof(asp_allowed_port_t));
+ asp_allowed_port_s *p_dup_msg = (asp_allowed_port_s *)g_malloc(sizeof(
+ asp_allowed_port_s));
+ memcpy(p_dup_msg, p_msg, sizeof(asp_allowed_port_s));
return (gpointer) p_dup_msg;
}
asp_session_status_e ret = ASP_SESSION_STATE_ERROR;
- asp_session_t *session = _get_exist_session(session_id, session_mac);
+ asp_session_s *session = _get_exist_session(session_id, session_mac);
g_assert(session);
- gfsm_state_id_t current_state = gfsm_get_current_state_id(&session->context);
+ gfsm_state_id_t current_state = gfsm_get_current_state_id(session->context);
switch (current_state) {
+ case SESSION_STATE_NONE:
case SESSION_STATE_CLOSED:
case SESSION_STATE_RUNNING:
ret = ASP_SESSION_STATE_CLOSED;
return ret;
}
-asp_session_t *_new_session_by_request_session(GSocketAddress *sock_addr,
+asp_session_s *_new_session_by_request_session(GSocketAddress *sock_addr,
const gchar *peer_ip, gpointer p_msg)
{
INFO_MSG;
- asp_session_t *session = NULL;
- asp_request_session_t *p_req_session = (asp_request_session_t *) p_msg;
+ asp_session_s *session = NULL;
+ asp_request_session_s *p_req_session = (asp_request_session_s *)p_msg;
g_assert(p_req_session);
session = _new_session_over_infra(p_req_session->session_mac,
return session;
}
-asp_session_t *_new_session_over_infra(guint8 *session_mac, guint32 session_id,
+asp_session_s *_new_session_over_infra(guint8 *session_mac, guint32 session_id,
asp_role_e asp_role, guint32 advertisement_id, GSocketAddress *sock_addr,
const gchar *peer_ip)
{
INFO_MSG;
- asp_session_t *session = NULL;
+ asp_session_s *session = NULL;
- session = (asp_session_t *) g_malloc0(sizeof(asp_session_t));
+ session = (asp_session_s *)g_malloc0(sizeof(asp_session_s));
session->asp_role = asp_role;
session->sock_addr = g_inet_socket_address_new_from_string(peer_ip,
(guint) g_asp_cordination_port);
else /* advertiser side */
- session->sock_addr = g_object_ref(sock_addr);
+ session->sock_addr = (GSocketAddress *) g_object_ref(sock_addr);
/*session->sock_family = G_SOCKET_FAMILY_IPV4; // temporary */
session->over_p2p = FALSE;
- gfsm_init_context(&(session->context), &session_fsm,
- _asp_session_destroy_session, session);
+ session->context = gfsm_create_context(session_fsm,
+ _asp_session_destroy_session, session);
_insert_session(session);
return session;
}
-asp_session_t *_new_session_over_p2p(const guint8 *session_mac,
+asp_session_s *_new_session_over_p2p(const guint8 *session_mac,
guint32 session_id, asp_role_e asp_role, const guint8 *service_mac,
guint32 advertisement_id)
{
INFO_MSG;
- asp_session_t *session = NULL;
+ asp_session_s *session = NULL;
- session = (asp_session_t *) g_malloc0(sizeof(asp_session_t));
+ session = (asp_session_s *)g_malloc0(sizeof(asp_session_s));
memcpy(session->session_mac, session_mac, MAC_ADDRESS_LEN);
session->session_id = session_id;
session->asp_role = asp_role;
memcpy(session->service_mac, service_mac, MAC_ADDRESS_LEN);
- session->advertisement_id = advertisement_id;
- /* temporal code session->sock_family = G_SOCKET_FAMILY_IPV4; */
- session->over_p2p = TRUE;
+ session->advertisement_id = advertisement_id,
+ /*session->sock_family = G_SOCKET_FAMILY_IPV4; // temporary */
+ session->over_p2p = TRUE;
- gfsm_init_context(&(session->context), &session_fsm,
- _asp_session_destroy_session, session);
+ session->context = gfsm_create_context(session_fsm,
+ _asp_session_destroy_session, session);
_insert_session(session);
return session;
}
-asp_session_t *_new_session_from_session_request(const guint8 *session_mac,
+asp_session_s *_new_session_from_session_request(const guint8 *session_mac,
guint32 session_id, guint32 advertisement_id)
{
INFO_MSG;
- asp_session_t *session = NULL;
+ asp_session_s *session = NULL;
- session = (asp_session_t *) g_malloc0(sizeof(asp_session_t));
+ session = (asp_session_s *)g_malloc0(sizeof(asp_session_s));
memcpy(session->session_mac, session_mac, MAC_ADDRESS_LEN);
session->session_id = session_id;
/*session->sock_family = G_SOCKET_FAMILY_IPV4; // temporary */
session->over_p2p = TRUE;
- gfsm_init_context(&(session->context), &session_fsm,
- _asp_session_destroy_session, session);
+ session->context = gfsm_create_context(session_fsm,
+ _asp_session_destroy_session, session);
_insert_session(session);
return session;
}
-void _store_peer_ip_addr(asp_session_t *session, gchar *peer_ip, size_t length)
+void _store_peer_ip_addr(asp_session_s *session, char *peer_ip, size_t length)
{
- g_strlcpy(session->peer_ip, peer_ip, ASP_SESSION_IPV4_STR_LEN);
+ g_strlcpy(session->peer_ip, peer_ip, length);
session->sock_addr = g_inet_socket_address_new_from_string(peer_ip,
(guint) g_asp_cordination_port);
}
#ifdef HAVE_ASP_P2P_CONN
-guint8 *_get_peer_mac(asp_session_t *session)
+guint8 *_get_peer_mac(asp_session_s *session)
{
if (session->asp_role == ASP_ROLE_ADVERTIZER)
return session->session_mac;
}
#endif
-void _asp_session_destroy_session(gpointer p_context_data)
+void _asp_session_destroy_session(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_remove_session(session->session_mac, session->session_id);
}
/* key & value pair in tree will be freed _session_tree_key_destoryed and _session_tree_value_destoryed */
}
-asp_session_t *_get_exist_session(guint32 session_id, const guint8 *session_mac)
+asp_session_s *_get_exist_session(guint32 session_id, const guint8 *session_mac)
{
- INFO_MSG;
- ASP_LOGD("%s _get_exist_session() session_id:%u, session_mac[0]:%x", ROLE,
- session_id, session_mac[0]);
-
- asp_session_t *session = NULL;
+ asp_session_s *session = NULL;
- session = (asp_session_t *) g_tree_lookup(sessionTree,
+ session = (asp_session_s *)g_tree_lookup(sessionTree,
_get_session_key(session_id, session_mac));
return session;
}
-asp_session_key_t *_get_session_key(guint32 session_id,
+asp_session_key_s *_get_session_key(guint32 session_id,
const guint8 *session_mac)
{
- INFO_MSG;
-
- asp_session_key_t *key = (asp_session_key_t *) g_malloc(sizeof(
- asp_session_key_t));
+ asp_session_key_s *key = (asp_session_key_s *)g_malloc(sizeof(
+ asp_session_key_s));
key->session_id = session_id;
memcpy(key->session_mac, session_mac, MAC_ADDRESS_LEN); /* 6 bytes */
return key;
}
-void _insert_session(asp_session_t *session)
+void _insert_session(asp_session_s *session)
{
- INFO_MSG;
-
- /* add a new session to hash table ( key - session_id, value - asp_session_t*) */
+ /* add a new session to hash table ( key - session_id, value - asp_session_s*) */
g_tree_insert(sessionTree, _get_session_key(session->session_id,
session->session_mac), session);
}
void _get_ip_from_socketaddress(GSocketAddress *sock_addr, gchar *peer_ip)
{
- INFO_MSG;
-
GInetSocketAddress *inetaddr;
GInetAddress *hostaddr;
{
INFO_MSG;
- gfsm_init_fsm(&session_fsm, SESSION_STATE_MAX, SESSION_EVENT_MAX,
- SESSION_STATE_NONE);
+ session_fsm = gfsm_create_fsm(SESSION_STATE_MAX, SESSION_EVENT_MAX,
+ SESSION_STATE_NONE);
- gfsm_init_state(&session_state_none, SESSION_STATE_NONE, &session_fsm,
- _state_none_entry_action, _state_none_exit_action);
- gfsm_add_reaction(&session_state_none, SESSION_EVENT_CONNECT_SESSION_CALLED,
+ session_state_none = gfsm_create_state(SESSION_STATE_NONE, session_fsm,
+ _state_none_entry_action, _state_none_exit_action);
+ gfsm_add_reaction(session_state_none, SESSION_EVENT_CONNECT_SESSION_CALLED,
_state_none_reaction_connect_session_called);
- gfsm_add_reaction(&session_state_none, SESSION_EVENT_REQUEST_SESSION_RECEIVED,
+ gfsm_add_reaction(session_state_none, SESSION_EVENT_REQUEST_SESSION_RECEIVED,
_state_none_reaction_request_session_received);
- gfsm_add_reaction(&session_state_none, SESSION_EVENT_SESSION_REQUEST_CALLED,
+ gfsm_add_reaction(session_state_none, SESSION_EVENT_SESSION_REQUEST_CALLED,
_state_none_reaction_session_request_received);
- gfsm_init_state(&session_state_closed, SESSION_STATE_CLOSED, &session_fsm,
- _state_closed_entry_action, _state_closed_exit_action);
+ session_state_closed = gfsm_create_state(SESSION_STATE_CLOSED, session_fsm,
+ _state_closed_entry_action, _state_closed_exit_action);
+ gfsm_add_reaction(session_state_closed, SESSION_EVENT_DELETE_SESSION,
+ _state_closed_reaction_delete_session);
/*gfsm_add_reaction(&session_state_closed, SESSION_EVENT_CONNECT_SESSION_CALLED, _state_closed_reaction_connect_session_called); */
/*gfsm_add_reaction(&session_state_closed, SESSION_EVENT_REQUEST_SESSION_RECEIVED, _state_closed_reaction_request_session_received); */
/*gfsm_add_reaction(&session_state_closed, SESSION_EVENT_SESSION_REQUEST_CALLED, _state_closed_reaction_session_request_received); // ???? */
- gfsm_init_state(&session_state_running, SESSION_STATE_RUNNING, &session_fsm,
- _state_running_entry_action, _state_running_exit_action);
+ session_state_running = gfsm_create_state(SESSION_STATE_RUNNING, session_fsm,
+ _state_running_entry_action, _state_running_exit_action);
- gfsm_init_state(&session_state_l2connecting, SESSION_STATE_L2CONNECTING,
- &session_fsm, _state_l2connecting_entry_action,
- _state_l2connecting_exit_action);
- gfsm_set_parent_state(&session_state_l2connecting, &session_state_running);
- gfsm_add_reaction(&session_state_l2connecting,
+ session_state_l2connecting = gfsm_create_state(SESSION_STATE_L2CONNECTING,
+ session_fsm, _state_l2connecting_entry_action, _state_l2connecting_exit_action);
+ gfsm_set_parent_state(session_state_l2connecting, session_state_running);
+ gfsm_add_reaction(session_state_l2connecting,
SESSION_EVENT_CLOSE_SESSION_CALLED,
_state_l2connecting_reaction_close_session_called);
- gfsm_add_reaction(&session_state_l2connecting, SESSION_EVENT_TIMEOUT,
+ gfsm_add_reaction(session_state_l2connecting, SESSION_EVENT_TIMEOUT,
_state_l2connecting_reaction_timeout);
- gfsm_init_state(&session_state_session_request_sent,
- SESSION_STATE_SESSION_REQUEST_SENT, &session_fsm,
+ session_state_session_request_sent = gfsm_create_state(
+ SESSION_STATE_SESSION_REQUEST_SENT, session_fsm,
_state_session_request_sent_entry_action,
_state_session_request_sent_exit_action);
- gfsm_set_parent_state(&session_state_session_request_sent,
- &session_state_l2connecting);
- gfsm_add_reaction(&session_state_session_request_sent,
+ gfsm_set_parent_state(session_state_session_request_sent,
+ session_state_l2connecting);
+ gfsm_add_reaction(session_state_session_request_sent,
SESSION_EVENT_CONNECT_STATUS_CALLED,
_state_session_request_sent_reaction_connect_status_called);
- gfsm_add_reaction(&session_state_session_request_sent,
+ gfsm_add_reaction(session_state_session_request_sent,
SESSION_EVENT_SESSION_CONFIG_REQUEST_CALLED,
_state_session_request_sent_reaction_session_config_request_called);
- gfsm_init_state(&session_state_session_request_defered,
- SESSION_STATE_SESSION_REQUEST_DEFERED, &session_fsm,
+ session_state_session_request_defered = gfsm_create_state(
+ SESSION_STATE_SESSION_REQUEST_DEFERED, session_fsm,
_state_session_request_defered_entry_action,
_state_session_request_defered_exit_action);
- gfsm_set_parent_state(&session_state_session_request_defered,
- &session_state_l2connecting);
- gfsm_add_reaction(&session_state_session_request_defered,
+ gfsm_set_parent_state(session_state_session_request_defered,
+ session_state_l2connecting);
+ gfsm_add_reaction(session_state_session_request_defered,
SESSION_EVENT_CONNECT_STATUS_CALLED,
_state_session_request_defered_reaction_connect_status_called);
- gfsm_add_reaction(&session_state_session_request_defered,
+ gfsm_add_reaction(session_state_session_request_defered,
SESSION_EVENT_SESSION_CONFIG_REQUEST_CALLED,
_state_session_request_defered_reaction_session_config_request_called);
- gfsm_init_state(&session_state_session_request_received,
- SESSION_STATE_SESSION_REQUEST_RECEIVED, &session_fsm,
- _state_session_request_received_entry_action,
- _state_session_request_received_exit_action);
- gfsm_set_parent_state(&session_state_session_request_received,
- &session_state_l2connecting);
- gfsm_add_reaction(&session_state_session_request_received,
+ session_state_session_request_received = gfsm_create_state(
+ SESSION_STATE_SESSION_REQUEST_RECEIVED, session_fsm,
+ _state_session_request_received_entry_action,
+ _state_session_request_received_exit_action);
+ gfsm_set_parent_state(session_state_session_request_received,
+ session_state_l2connecting);
+ gfsm_add_reaction(session_state_session_request_received,
SESSION_EVENT_CONFIRM_SESSION_CALLED,
_state_session_request_received_reaction_confirm_session_called);
- gfsm_init_state(&session_state_session_request_accepted,
- SESSION_STATE_SESSION_REQUEST_ACCEPTED, &session_fsm,
- _state_session_request_accepted_entry_action,
- _state_session_request_accepted_exit_action);
- gfsm_set_parent_state(&session_state_session_request_accepted,
- &session_state_l2connecting);
- gfsm_add_reaction(&session_state_session_request_accepted,
+ session_state_session_request_accepted = gfsm_create_state(
+ SESSION_STATE_SESSION_REQUEST_ACCEPTED, session_fsm,
+ _state_session_request_accepted_entry_action,
+ _state_session_request_accepted_exit_action);
+ gfsm_set_parent_state(session_state_session_request_accepted,
+ session_state_l2connecting);
+ gfsm_add_reaction(session_state_session_request_accepted,
SESSION_EVENT_CONNECT_STATUS_CALLED,
_state_session_request_accepted_reaction_connect_status_received);
- gfsm_add_reaction(&session_state_session_request_accepted,
+ gfsm_add_reaction(session_state_session_request_accepted,
SESSION_EVENT_SESSION_CONFIG_REQUEST_CALLED,
_state_session_request_accepted_reaction_session_config_request_called);
+ gfsm_add_reaction(session_state_session_request_accepted,
+ SESSION_EVENT_SET_SESSION_READY_CALLED,
+ _state_session_request_accepted_reaction_set_session_ready_called);
- gfsm_init_state(&session_state_entering_pin, SESSION_STATE_ENTERING_PIN,
- &session_fsm, _state_entering_pin_entry_action,
- _state_entering_pin_exit_action);
- gfsm_set_parent_state(&session_state_entering_pin, &session_state_l2connecting);
- gfsm_add_reaction(&session_state_entering_pin,
+ session_state_entering_pin = gfsm_create_state(SESSION_STATE_ENTERING_PIN,
+ session_fsm, _state_entering_pin_entry_action, _state_entering_pin_exit_action);
+ gfsm_set_parent_state(session_state_entering_pin, session_state_l2connecting);
+ gfsm_add_reaction(session_state_entering_pin,
SESSION_EVENT_CONFIRM_SESSION_CALLED,
_state_entering_pin_reaction_confirm_session_called);
- gfsm_init_state(&session_state_group_formation_completed,
- SESSION_STATE_GROUP_FORMATION_COMPLETED, &session_fsm,
- _state_group_formation_completed_entry_action,
- _state_group_formation_completed_exit_action);
- gfsm_set_parent_state(&session_state_group_formation_completed,
- &session_state_l2connecting);
- gfsm_add_reaction(&session_state_group_formation_completed,
+ session_state_group_formation_completed = gfsm_create_state(
+ SESSION_STATE_GROUP_FORMATION_COMPLETED, session_fsm,
+ _state_group_formation_completed_entry_action,
+ _state_group_formation_completed_exit_action);
+ gfsm_set_parent_state(session_state_group_formation_completed,
+ session_state_l2connecting);
+ gfsm_add_reaction(session_state_group_formation_completed,
SESSION_EVENT_IP_ASSIGNED,
_state_group_formation_completed_reaction_ip_assigned);
- gfsm_add_reaction(&session_state_group_formation_completed,
+ gfsm_add_reaction(session_state_group_formation_completed,
SESSION_EVENT_REQUEST_SESSION_RECEIVED,
_state_group_formation_completed_reaction_request_session_received);
+ gfsm_add_reaction(session_state_group_formation_completed,
+ SESSION_EVENT_SET_SESSION_READY_CALLED,
+ _state_group_formation_completed_reaction_set_session_ready_called);
- gfsm_init_state(&session_state_l2connected, SESSION_STATE_L2CONNECTED,
- &session_fsm, _state_l2connected_entry_action, _state_l2connected_exit_action);
- gfsm_set_parent_state(&session_state_l2connected, &session_state_running);
- gfsm_add_reaction(&session_state_l2connected,
- SESSION_EVENT_CLOSE_SESSION_CALLED,
+ session_state_l2connected = gfsm_create_state(SESSION_STATE_L2CONNECTED,
+ session_fsm, _state_l2connected_entry_action, _state_l2connected_exit_action);
+ gfsm_set_parent_state(session_state_l2connected, session_state_running);
+ gfsm_add_reaction(session_state_l2connected, SESSION_EVENT_CLOSE_SESSION_CALLED,
_state_l2connected_reaction_close_session_called);
- gfsm_add_reaction(&session_state_l2connected,
+ gfsm_add_reaction(session_state_l2connected,
SESSION_EVENT_REMOVE_SESSION_RECEIVED,
_state_l2connected_reaction_remove_session_received);
- gfsm_add_reaction(&session_state_l2connected, SESSION_EVENT_PEER_DESTROYED,
+ gfsm_add_reaction(session_state_l2connected, SESSION_EVENT_PEER_DESTROYED,
_state_l2connected_reaction_peer_destroyed);
- gfsm_init_state(&session_state_request_session_sent,
- SESSION_STATE_REQUEST_SESSION_SENT, &session_fsm,
+ session_state_request_session_sent = gfsm_create_state(
+ SESSION_STATE_REQUEST_SESSION_SENT, session_fsm,
_state_request_session_sent_entry_action,
_state_request_session_sent_exit_action);
- gfsm_set_parent_state(&session_state_request_session_sent,
- &session_state_l2connected);
- gfsm_add_reaction(&session_state_request_session_sent,
+ gfsm_set_parent_state(session_state_request_session_sent,
+ session_state_l2connected);
+ gfsm_add_reaction(session_state_request_session_sent,
SESSION_EVENT_ADDED_SESSION_RECEIVED,
_state_request_session_sent_reaction_added_session_received);
- gfsm_add_reaction(&session_state_request_session_sent,
+ gfsm_add_reaction(session_state_request_session_sent,
SESSION_EVENT_DEFERRED_SESSION_RECEIVED,
_state_request_session_sent_reaction_deferred_session_received);
- gfsm_add_reaction(&session_state_request_session_sent,
+ gfsm_add_reaction(session_state_request_session_sent,
SESSION_EVENT_REJECTED_SESSION_RECEIVED,
_state_request_session_sent_reaction_rejected_session_received);
- gfsm_add_reaction(&session_state_request_session_sent, SESSION_EVENT_TIMEOUT,
+ gfsm_add_reaction(session_state_request_session_sent, SESSION_EVENT_TIMEOUT,
_state_request_session_sent_reaction_timeout);
- gfsm_init_state(&session_state_request_session_received,
- SESSION_STATE_REQUEST_SESSION_RECEIVED, &session_fsm,
- _state_request_session_received_entry_action,
- _state_request_session_received_exit_action);
- gfsm_set_parent_state(&session_state_request_session_received,
- &session_state_l2connected);
- gfsm_add_reaction(&session_state_request_session_received,
+ session_state_request_session_received = gfsm_create_state(
+ SESSION_STATE_REQUEST_SESSION_RECEIVED, session_fsm,
+ _state_request_session_received_entry_action,
+ _state_request_session_received_exit_action);
+ gfsm_set_parent_state(session_state_request_session_received,
+ session_state_l2connected);
+ gfsm_add_reaction(session_state_request_session_received,
SESSION_EVENT_SET_SESSION_READY_CALLED,
_state_request_session_received_reaction_set_session_ready_called);
- gfsm_add_reaction(&session_state_request_session_received,
+ gfsm_add_reaction(session_state_request_session_received,
SESSION_EVENT_DEFER_SESSION_CALLED,
_state_request_session_received_reaction_defer_session_called);
- gfsm_add_reaction(&session_state_request_session_received,
+ gfsm_add_reaction(session_state_request_session_received,
SESSION_EVENT_CONFIRM_SESSION_CALLED,
_state_request_session_received_reaction_confirm_session_called);
- gfsm_init_state(&session_state_open, SESSION_STATE_OPEN, &session_fsm,
- _state_open_entry_action, _state_open_exit_action);
- gfsm_set_parent_state(&session_state_open, &session_state_l2connected);
- gfsm_add_reaction(&session_state_open, SESSION_EVENT_BOUND_PORT_CALLED,
+ session_state_open = gfsm_create_state(SESSION_STATE_OPEN, session_fsm,
+ _state_open_entry_action, _state_open_exit_action);
+ gfsm_set_parent_state(session_state_open, session_state_l2connected);
+ gfsm_add_reaction(session_state_open, SESSION_EVENT_BOUND_PORT_CALLED,
_state_open_reaction_bound_port_called);
- gfsm_add_reaction(&session_state_open, SESSION_EVENT_ALLOWED_PORT_RECEIVED,
+ gfsm_add_reaction(session_state_open, SESSION_EVENT_ALLOWED_PORT_RECEIVED,
_state_open_reaction_allowed_port_received);
- gfsm_init_state(&session_state_reject_session_sent,
- SESSION_STATE_REJECT_SESSION_SENT, &session_fsm,
+ session_state_reject_session_sent = gfsm_create_state(
+ SESSION_STATE_REJECT_SESSION_SENT, session_fsm,
_state_reject_session_sent_entry_action,
_state_reject_session_sent_exit_action);
- gfsm_add_reaction(&session_state_reject_session_sent,
- SESSION_EVENT_ACK_RECEIVED, _state_reject_session_sent_reaction_ack_received);
- gfsm_add_reaction(&session_state_reject_session_sent,
+ gfsm_add_reaction(session_state_reject_session_sent, SESSION_EVENT_ACK_RECEIVED,
+ _state_reject_session_sent_reaction_ack_received);
+ gfsm_add_reaction(session_state_reject_session_sent,
SESSION_EVENT_NACK_RECEIVED, _state_reject_session_sent_reaction_nack_received);
- gfsm_init_state(&session_state_remove_session_sent,
- SESSION_STATE_REMOVE_SESSION_SENT, &session_fsm,
+ session_state_remove_session_sent = gfsm_create_state(
+ SESSION_STATE_REMOVE_SESSION_SENT, session_fsm,
_state_remove_session_sent_entry_action,
_state_remove_session_sent_exit_action);
- gfsm_add_reaction(&session_state_remove_session_sent,
- SESSION_EVENT_ACK_RECEIVED, _state_remove_session_sent_reaction_ack_received);
- gfsm_add_reaction(&session_state_remove_session_sent,
+ gfsm_add_reaction(session_state_remove_session_sent, SESSION_EVENT_ACK_RECEIVED,
+ _state_remove_session_sent_reaction_ack_received);
+ gfsm_add_reaction(session_state_remove_session_sent,
SESSION_EVENT_NACK_RECEIVED, _state_remove_session_sent_reaction_nack_received);
- gfsm_add_state(&session_fsm, &session_state_none);
- gfsm_add_state(&session_fsm, &session_state_closed);
- gfsm_add_state(&session_fsm, &session_state_running);
+ gfsm_add_state(session_fsm, session_state_none);
+ gfsm_add_state(session_fsm, session_state_closed);
+ gfsm_add_state(session_fsm, session_state_running);
- gfsm_add_state(&session_fsm, &session_state_l2connecting);
- gfsm_add_state(&session_fsm, &session_state_session_request_sent);
- gfsm_add_state(&session_fsm, &session_state_session_request_defered);
- gfsm_add_state(&session_fsm, &session_state_session_request_received);
- gfsm_add_state(&session_fsm, &session_state_session_request_accepted);
- gfsm_add_state(&session_fsm, &session_state_group_formation_completed);
+ gfsm_add_state(session_fsm, session_state_l2connecting);
+ gfsm_add_state(session_fsm, session_state_session_request_sent);
+ gfsm_add_state(session_fsm, session_state_session_request_defered);
+ gfsm_add_state(session_fsm, session_state_session_request_received);
+ gfsm_add_state(session_fsm, session_state_session_request_accepted);
+ gfsm_add_state(session_fsm, session_state_group_formation_completed);
- gfsm_add_state(&session_fsm, &session_state_l2connected);
- gfsm_add_state(&session_fsm, &session_state_request_session_sent);
- gfsm_add_state(&session_fsm, &session_state_request_session_received);
- gfsm_add_state(&session_fsm, &session_state_open);
+ gfsm_add_state(session_fsm, session_state_l2connected);
+ gfsm_add_state(session_fsm, session_state_request_session_sent);
+ gfsm_add_state(session_fsm, session_state_request_session_received);
+ gfsm_add_state(session_fsm, session_state_open);
- gfsm_add_state(&session_fsm, &session_state_reject_session_sent);
- gfsm_add_state(&session_fsm, &session_state_remove_session_sent);
+ gfsm_add_state(session_fsm, session_state_reject_session_sent);
+ gfsm_add_state(session_fsm, session_state_remove_session_sent);
}
void _asp_session_fsm_terminate()
{
- INFO_MSG;
- gfsm_terminate_state(&session_state_none);
- gfsm_terminate_state(&session_state_closed);
- gfsm_terminate_state(&session_state_running);
- gfsm_terminate_state(&session_state_request_session_sent);
- gfsm_terminate_state(&session_state_request_session_received);
- gfsm_terminate_state(&session_state_open);
- gfsm_terminate_state(&session_state_reject_session_sent);
- gfsm_terminate_state(&session_state_remove_session_sent);
+ gfsm_destroy_state(session_state_none);
+ gfsm_destroy_state(session_state_closed);
+ gfsm_destroy_state(session_state_running);
+ gfsm_destroy_state(session_state_request_session_sent);
+ gfsm_destroy_state(session_state_request_session_received);
+ gfsm_destroy_state(session_state_open);
+ gfsm_destroy_state(session_state_reject_session_sent);
+ gfsm_destroy_state(session_state_remove_session_sent);
- gfsm_terminate_fsm(&session_fsm);
+ gfsm_destroy_fsm(session_fsm);
}
-void _state_none_entry_action(gpointer p_context_data)
+void _state_none_entry_action(void *p_context_data)
{
INFO_MSG;
}
-void _state_none_exit_action(gpointer p_context_data)
+void _state_none_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_none_reaction_request_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- asp_request_session_t *p_msg = (asp_request_session_t *) p_event_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ asp_request_session_s *p_msg = (asp_request_session_s *)p_event_data;
- _call_session_request_cb(0, session->session_mac, session->session_id,
- session->advertisement_id, NULL, 0, p_msg->session_information,
- p_msg->session_information_length, 0, 0);
+ if (!session->over_p2p)
+ _call_session_request_cb(0, session->session_mac, session->session_id,
+ session->advertisement_id, NULL, 0, p_msg->session_information,
+ p_msg->session_information_length, 0, 0);
return SESSION_STATE_REQUEST_SESSION_RECEIVED;
}
gfsm_state_id_t _state_none_reaction_connect_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- connect_session_param_t *p_connect_session = (connect_session_param_t *)
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ connect_session_param_s *p_connect_session = (connect_session_param_s *)
p_event_data;
g_assert(session);
}
gfsm_state_id_t _state_none_reaction_session_request_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- session_request_param_t *p_session_request = (session_request_param_t *)
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session_request_param_s *p_session_request = (session_request_param_s *)
p_event_data;
_call_session_request_cb(0, session->session_mac, session->session_id,
return SESSION_STATE_SESSION_REQUEST_RECEIVED;
}
-void _state_closed_entry_action(gpointer p_context_data)
+void _state_closed_entry_action(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
g_assert(session);
+ _call_session_status_cb(0, session->session_mac, session->session_id,
+ session->closed_state);
+
asp_sess_peer_del_session(session->sock_addr, session->session_mac,
session->session_id);
- gfsm_terminate_context(&session->context);
+ gfsm_process_event(session->context,
+ gfsm_create_event(SESSION_EVENT_DELETE_SESSION, NULL, NULL));
+}
+
+void _state_closed_exit_action(void *p_context_data)
+{
}
-void _state_closed_exit_action(gpointer p_context_data)
+gfsm_state_id_t _state_closed_reaction_delete_session(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
+ asp_session_s *session = (asp_session_s *)p_context_data;
+
+ g_assert(session);
+
+ gfsm_destroy_context(session->context);
+
+ return GFSM_DISCARD_EVENT;
}
#if 0
gfsm_state_id_t _state_closed_reaction_connect_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- /*asp_session_t* session = (asp_session_t*)p_context_data; */
+ /*asp_session_s* session = (asp_session_s*)p_context_data; */
/*ASP_LOGD("_state_closed_reaction_connect_session_called - session_id : %d, peer_ip:%s, peer_port:%d", session->session_id, session->peer_ip, session->peer_port); */
}
gfsm_state_id_t _state_closed_reaction_request_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
#endif
-void _state_running_entry_action(gpointer p_context_data)
+void _state_running_entry_action(void *p_context_data)
{
INFO_MSG;
}
-void _state_running_exit_action(gpointer p_context_data)
+void _state_running_exit_action(void *p_context_data)
{
- INFO_MSG;
}
-void _state_l2connecting_entry_action(gpointer p_context_data)
+void _state_l2connecting_entry_action(void *p_context_data)
{
INFO_MSG;
}
-void _state_l2connecting_exit_action(gpointer p_context_data)
+void _state_l2connecting_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_l2connecting_reaction_close_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
+
+ asp_session_s *session = (asp_session_s *)p_context_data;
+
#ifdef HAVE_ASP_P2P_CONN
- asp_session_t *session = (asp_session_t *) p_context_data;
asp_p2p_conn_disconnect_p2p(_get_peer_mac(session));
#endif
+
+ session->closed_state =
+ ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE; /* temporary value. shall be changed */
+
return SESSION_STATE_CLOSED;
}
-gfsm_state_id_t _state_l2connecting_reaction_timeout(gpointer p_context_data,
- gpointer p_event_data)
+gfsm_state_id_t _state_l2connecting_reaction_timeout(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
+
+ asp_session_s *session = (asp_session_s *)p_context_data;
#ifdef HAVE_ASP_P2P_CONN
- asp_session_t *session = (asp_session_t *) p_context_data;
+
asp_p2p_conn_disconnect_p2p(_get_peer_mac(session));
#endif
+
+ session->closed_state = ASP_SESSION_CLOSED_STATE_DISASSOCIATED;
+
return SESSION_STATE_CLOSED;
}
-void _state_session_request_sent_entry_action(gpointer p_context_data)
+void _state_session_request_sent_entry_action(void *p_context_data)
{
INFO_MSG;
- /*asp_session_t* session = (asp_session_t*)p_context_data; */
+ /*asp_session_s* session = (asp_session_s*)p_context_data; */
/*_start_timer(...); */
}
-void _state_session_request_sent_exit_action(gpointer p_context_data)
+void _state_session_request_sent_exit_action(void *p_context_data)
{
- INFO_MSG;
/*_stop_timer(...); */
}
gfsm_state_id_t _state_session_request_sent_reaction_connect_status_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- connect_status_param_t *p_connect_status = (connect_status_param_t *)
+ connect_status_param_s *p_connect_status = (connect_status_param_s *)
p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_connect_status_cb(0 /*?? */ , session->session_mac, session->session_id,
p_connect_status->status);
switch (p_connect_status->status) {
case ASP_SESSION_CONNECT_STATUS_NETWORK_ROLE_REJECTED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_NO_MORE_CONNECTION:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_ACCEPTED:
return SESSION_STATE_SESSION_REQUEST_DEFERED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_FAILED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_SENT: /*Fall through */
gfsm_state_id_t
_state_session_request_sent_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
- asp_session_t *session = (asp_session_t *) p_context_data;
- session_config_request_param_t *p_config_request_param =
- (session_config_request_param_t *) p_event_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session_config_request_param_s *p_config_request_param =
+ (session_config_request_param_s *)p_event_data;
g_assert(p_config_request_param);
_call_session_config_request_cb(0, session->session_mac, session->session_id,
return GFSM_DISCARD_EVENT;
}
-void _state_session_request_defered_entry_action(gpointer p_context_data)
+void _state_session_request_defered_entry_action(void *p_context_data)
{
INFO_MSG;
/*_start_timer(...); */
}
-void _state_session_request_defered_exit_action(gpointer p_context_data)
+void _state_session_request_defered_exit_action(void *p_context_data)
{
- INFO_MSG;
/*_stop_timer(...); */
}
gfsm_state_id_t _state_session_request_defered_reaction_connect_status_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- connect_status_param_t *p_connect_status = (connect_status_param_t *)
+ connect_status_param_s *p_connect_status = (connect_status_param_s *)
p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_connect_status_cb(0 /*?? */ , session->session_mac, session->session_id,
p_connect_status->status);
switch (p_connect_status->status) {
case ASP_SESSION_CONNECT_STATUS_NETWORK_ROLE_REJECTED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_NO_MORE_CONNECTION:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_ACCEPTED:
return SESSION_STATE_SESSION_REQUEST_ACCEPTED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_FAILED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_SENT: /*Fall through */
gfsm_state_id_t
_state_session_request_defered_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
- asp_session_t *session = (asp_session_t *) p_context_data;
- session_config_request_param_t *p_config_request_param =
- (session_config_request_param_t *) p_event_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session_config_request_param_s *p_config_request_param =
+ (session_config_request_param_s *)p_event_data;
g_assert(p_config_request_param);
_call_session_config_request_cb(0, session->session_mac, session->session_id,
return GFSM_DISCARD_EVENT;
}
-void _state_session_request_received_entry_action(gpointer p_context_data)
+void _state_session_request_received_entry_action(void *p_context_data)
{
INFO_MSG;
/*_start_timer(..); */
}
-void _state_session_request_received_exit_action(gpointer p_context_data)
+void _state_session_request_received_exit_action(void *p_context_data)
{
- INFO_MSG;
/*_stop_timer(..); */
}
gfsm_state_id_t _state_session_request_received_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
#ifdef HAVE_ASP_P2P_CONN
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
#endif
- confirm_session_param_t *p_confirm_session = (confirm_session_param_t *)
+ confirm_session_param_s *p_confirm_session = (confirm_session_param_s *)
p_event_data;
g_assert(p_confirm_session);
if (p_confirm_session->confirmed)
return SESSION_STATE_SESSION_REQUEST_ACCEPTED;
- else
+ else {
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
+ }
}
-void _state_session_request_accepted_entry_action(gpointer p_context_data)
+void _state_session_request_accepted_entry_action(void *p_context_data)
{
INFO_MSG;
/*_start_timer(...) */
}
-void _state_session_request_accepted_exit_action(gpointer p_context_data)
+void _state_session_request_accepted_exit_action(void *p_context_data)
{
- INFO_MSG;
/*_stop_timer(...) */
}
gfsm_state_id_t
_state_session_request_accepted_reaction_connect_status_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- connect_status_param_t *p_connect_status = (connect_status_param_t *)
+ connect_status_param_s *p_connect_status = (connect_status_param_s *)
p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_connect_status_cb(0 /*?? */ , session->session_mac, session->session_id,
p_connect_status->status);
switch (p_connect_status->status) {
case ASP_SESSION_CONNECT_STATUS_NETWORK_ROLE_REJECTED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_NO_MORE_CONNECTION:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_FAILED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_GROUP_FORMATION_COMPLETED: /* ???? */
return SESSION_STATE_GROUP_FORMATION_COMPLETED;
break;
case ASP_SESSION_CONNECT_STATUS_GROUP_FORMATION_FAILED:
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
break;
case ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_SENT: /*Fall through */
gfsm_state_id_t
_state_session_request_accepted_reaction_session_config_request_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
- asp_session_t *session = (asp_session_t *) p_context_data;
- session_config_request_param_t *p_config_request_param =
- (session_config_request_param_t *) p_event_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session_config_request_param_s *p_config_request_param =
+ (session_config_request_param_s *)p_event_data;
g_assert(p_config_request_param);
_call_session_config_request_cb(0, session->session_mac, session->session_id,
return GFSM_DISCARD_EVENT;
}
-void _state_entering_pin_entry_action(gpointer p_context_data)
+gfsm_state_id_t
+_state_session_request_accepted_reaction_set_session_ready_called(
+ void *p_context_data, void *p_event_data)
+{
+ return GFSM_DEFER_EVENT;
+}
+
+void _state_entering_pin_entry_action(void *p_context_data)
{
/*start_timer */
}
-void _state_entering_pin_exit_action(gpointer p_context_data)
+void _state_entering_pin_exit_action(void *p_context_data)
{
/*stop_timer */
}
gfsm_state_id_t _state_entering_pin_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
#ifdef HAVE_ASP_P2P_CONN
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
#endif
- confirm_session_param_t *p_confirm_session = (confirm_session_param_t *)
+ confirm_session_param_s *p_confirm_session = (confirm_session_param_s *)
p_event_data;
g_assert(p_confirm_session);
if (p_confirm_session->confirmed)
return SESSION_STATE_SESSION_REQUEST_ACCEPTED;
- else
+ else {
+ /* need to assign a proper closed_state "session->closed_state = ???; */
return SESSION_STATE_CLOSED;
+ }
}
-void _state_group_formation_completed_entry_action(gpointer p_context_data)
+void _state_group_formation_completed_entry_action(void *p_context_data)
{
/*_start_timer(...); */
INFO_MSG;
}
-void _state_group_formation_completed_exit_action(gpointer p_context_data)
+void _state_group_formation_completed_exit_action(void *p_context_data)
{
/*_stop_timer(...); */
- INFO_MSG;
}
gfsm_state_id_t _state_group_formation_completed_reaction_ip_assigned(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
g_assert(session);
if (session->asp_role == ASP_ROLE_ADVERTIZER)
return GFSM_DISCARD_EVENT;
- ip_assigned_param_t *p_ip_assigned_param = (ip_assigned_param_t *) p_event_data;
+ ip_assigned_param_s *p_ip_assigned_param = (ip_assigned_param_s *)p_event_data;
g_assert(p_ip_assigned_param);
_store_peer_ip_addr(session, p_ip_assigned_param->peer_ip_addr,
gfsm_state_id_t
_state_group_formation_completed_reaction_request_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
return SESSION_STATE_REQUEST_SESSION_RECEIVED;
}
-void _state_l2connected_entry_action(gpointer p_context_data)
+gfsm_state_id_t
+_state_group_formation_completed_reaction_set_session_ready_called(
+ void *p_context_data, void *p_event_data)
+{
+ INFO_MSG;
+ return GFSM_DEFER_EVENT;
+}
+
+void _state_l2connected_entry_action(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
asp_sess_peer_add_session(session->sock_addr, session->session_mac,
session->session_id); /* into running state */
}
-void _state_l2connected_exit_action(gpointer p_context_data)
+void _state_l2connected_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_l2connected_reaction_close_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
guint8 *close_reason = (guint8 *) p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_send_remove_session(session, *close_reason);
}
gfsm_state_id_t _state_l2connected_reaction_remove_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
/*guint8 remove_reason = *((guint8*)p_event_data); */
- asp_session_t *session = (asp_session_t *) p_context_data;
-
- /* temporary error_code as 0 */
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_REMOTE_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_REMOTE_CLOSE;
return SESSION_STATE_CLOSED;
}
-gfsm_state_id_t _state_l2connected_reaction_peer_destroyed(
- gpointer p_context_data, gpointer p_event_data)
+gfsm_state_id_t _state_l2connected_reaction_peer_destroyed(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
return SESSION_STATE_CLOSED;
}
-void _state_request_session_sent_entry_action(gpointer p_context_data)
+void _state_request_session_sent_entry_action(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_connect_status_cb(0, session->session_mac, session->session_id,
ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_SENT);
}
-void _state_request_session_sent_exit_action(gpointer p_context_data)
+void _state_request_session_sent_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_request_session_sent_reaction_added_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
}
gfsm_state_id_t _state_request_session_sent_reaction_deferred_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_connect_status_cb(0, session->session_mac, session->session_id,
ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_DEFFERED);
}
gfsm_state_id_t _state_request_session_sent_reaction_rejected_session_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_REMOTE_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_REMOTE_CLOSE;
+
return SESSION_STATE_CLOSED;
}
gfsm_state_id_t _state_request_session_sent_reaction_timeout(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
guint8 *remove_reason = (guint8 *) p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_send_remove_session(session, *remove_reason);
return SESSION_STATE_REMOVE_SESSION_SENT;
}
-void _state_request_session_received_entry_action(gpointer p_context_data)
+void _state_request_session_received_entry_action(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
/* session_request_cb */
/* what is user data ? */
ASP_SESSION_CONNECT_STATUS_SESSION_REQUEST_RECEIVED);
}
-void _state_request_session_received_exit_action(gpointer p_context_data)
+void _state_request_session_received_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t
_state_request_session_received_reaction_set_session_ready_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_send_added_session(session);
}
gfsm_state_id_t _state_request_session_received_reaction_defer_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- defer_session_param_t *defer_session_param = (defer_session_param_t *)
+ defer_session_param_s *defer_session_param = (defer_session_param_s *)
p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_send_deferred_session(session, defer_session_param->deferred_response,
defer_session_param->length);
}
gfsm_state_id_t _state_request_session_received_reaction_confirm_session_called(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- confirm_session_param_t *p_confirmed_param = (confirm_session_param_t *)
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ confirm_session_param_s *p_confirmed_param = (confirm_session_param_s *)
p_event_data;
if (FALSE == p_confirmed_param->confirmed) {
return GFSM_DISCARD_EVENT;
}
-void _state_open_entry_action(gpointer p_context_data)
+void _state_open_entry_action(void *p_context_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
_call_session_status_cb(0, session->session_mac, session->session_id,
ASP_SESSION_CLOSED_STATE_NONE);
}
-void _state_open_exit_action(gpointer p_context_data)
+void _state_open_exit_action(void *p_context_data)
{
- INFO_MSG;
}
-gfsm_state_id_t _state_open_reaction_bound_port_called(gpointer p_context_data,
- gpointer p_event_data)
+gfsm_state_id_t _state_open_reaction_bound_port_called(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
- bound_port_param_t *bound_port_param = (bound_port_param_t *) p_event_data;
- asp_session_t *session = (asp_session_t *) p_context_data;
+ bound_port_param_s *bound_port_param = (bound_port_param_s *)p_event_data;
+ asp_session_s *session = (asp_session_s *)p_context_data;
if (_send_allowed_port(session, bound_port_param->local_port,
bound_port_param->proto)) {
return GFSM_DISCARD_EVENT;
}
-gfsm_state_id_t _state_open_reaction_allowed_port_received(
- gpointer p_context_data, gpointer p_event_data)
+gfsm_state_id_t _state_open_reaction_allowed_port_received(void *p_context_data,
+ void *p_event_data)
{
INFO_MSG;
- asp_allowed_port_t *p_allowed_port = (asp_allowed_port_t *) p_event_data;
+ asp_allowed_port_s *p_allowed_port = (asp_allowed_port_s *)p_event_data;
- asp_session_t *session = _get_exist_session(p_allowed_port->session_id,
+ asp_session_s *session = _get_exist_session(p_allowed_port->session_id,
p_allowed_port->session_mac);
g_assert(session);
return GFSM_DISCARD_EVENT;
}
-void _state_reject_session_sent_entry_action(gpointer p_context_data)
+void _state_reject_session_sent_entry_action(void *p_context_data)
{
INFO_MSG;
- /* asp_session_t* session = (asp_session_t*)p_context_data; */
+ /* asp_session_s* session = (asp_session_s*)p_context_data; */
}
-void _state_reject_session_sent_exit_action(gpointer p_context_data)
+void _state_reject_session_sent_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_reject_session_sent_reaction_ack_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE;
+
return SESSION_STATE_CLOSED;
}
gfsm_state_id_t _state_reject_session_sent_reaction_nack_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE;
+
return SESSION_STATE_CLOSED;
}
-void _state_remove_session_sent_entry_action(gpointer p_context_data)
+void _state_remove_session_sent_entry_action(void *p_context_data)
{
INFO_MSG;
- /*asp_session_t* session = (asp_session_t*)p_context_data; */
+ /*asp_session_s* session = (asp_session_s*)p_context_data; */
}
-void _state_remove_session_sent_exit_action(gpointer p_context_data)
+void _state_remove_session_sent_exit_action(void *p_context_data)
{
- INFO_MSG;
}
gfsm_state_id_t _state_remove_session_sent_reaction_ack_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE;
+
return SESSION_STATE_CLOSED;
}
gfsm_state_id_t _state_remove_session_sent_reaction_nack_received(
- gpointer p_context_data, gpointer p_event_data)
+ void *p_context_data, void *p_event_data)
{
INFO_MSG;
- asp_session_t *session = (asp_session_t *) p_context_data;
- _call_session_status_cb(0, session->session_mac, session->session_id,
- ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE);
+ asp_session_s *session = (asp_session_s *)p_context_data;
+ session->closed_state = ASP_SESSION_CLOSED_STATE_LOCAL_CLOSE;
+
return SESSION_STATE_CLOSED;
}