HERMES Modem
Hermes ARQ/Broadcast modem
Loading...
Searching...
No Matches
Functions | Variables
fsm.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include "fsm.h"
#include "hermes_log.h"
Include dependency graph for fsm.c:

Functions

void fsm_init (fsm_handle *fsm, fsm_state initial_state)
 Initialize FSM instance.
 
void fsm_dispatch (fsm_handle *fsm, int event)
 Dispatch an event into current FSM state.
 
void fsm_destroy (fsm_handle *fsm)
 Destroy FSM synchronization resources.
 

Variables

const char * fsm_event_names []
 

Function Documentation

◆ fsm_destroy()

void fsm_destroy ( fsm_handle fsm)

Destroy FSM synchronization resources.

Parameters
fsmFSM handle.

◆ fsm_dispatch()

void fsm_dispatch ( fsm_handle fsm,
int  event 
)

Dispatch an event into current FSM state.

Parameters
fsmFSM handle.
eventEvent identifier.

◆ fsm_init()

void fsm_init ( fsm_handle fsm,
fsm_state  initial_state 
)

Initialize FSM instance.

Parameters
fsmFSM handle.
initial_stateInitial state callback.

Variable Documentation

◆ fsm_event_names

const char* fsm_event_names[]
Initial value:
= {
"EV_CLIENT_CONNECT",
"EV_CLIENT_DISCONNECT",
"EV_START_LISTEN",
"EV_STOP_LISTEN",
"EV_LINK_CALL_REMOTE",
"EV_LINK_INCOMING_CALL",
"EV_LINK_DISCONNECT",
"EV_LINK_ESTABLISHMENT_TIMEOUT",
"EV_LINK_ESTABLISHED"
}