51 #define OCS_SM_EVENT_SHIFT 24
52 #define OCS_SM_EVENT_START(id) ((id) << OCS_SM_EVENT_SHIFT)
123 #define smtrace(sm) ocs_log_debug(NULL, "%s: %-20s --> %s\n", sm, ocs_sm_event_name(evt), __func__)
const char * ocs_sm_event_name(ocs_sm_event_t evt)
void *(* ocs_sm_function_t)(ocs_sm_ctx_t *, ocs_sm_event_t, void *)
void ocs_sm_transition(ocs_sm_ctx_t *ctx, ocs_sm_function_t state, void *data)
Transition to a new state.
State machine context header.
int ocs_sm_post_event(ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *data)
Post an event to a context.
#define OCS_SM_EVENT_START(id)
ocs_sm_function_t current_state
ocs_sm_event_t
State Machine Events.
void ocs_sm_disable(ocs_sm_ctx_t *ctx)
Disable further state machine processing.