libosmocore 1.11.0.30-c17053.202507072026
Osmocom core library
|
a single instanceof an osmocom finite state machine More...
#include <fsm.h>
Data Fields | ||
struct llist_head | list | |
member in the fsm->instances list | ||
struct osmo_fsm * | fsm | |
back-pointer to the FSM of which we are an instance | ||
const char * | id | |
human readable identifier | ||
const char * | name | |
human readable fully-qualified name | ||
void * | priv | |
some private data of this instance | ||
int | log_level | |
logging level for this FSM | ||
uint32_t | state | |
current state of the FSM | ||
int | T | |
timer number for states with time-out | ||
struct osmo_timer_list | timer | |
timer back-end for states with time-out | ||
struct { | ||
struct osmo_fsm_inst * parent | ||
the parent FSM that has created us More... | ||
uint32_t parent_term_event | ||
the event we should send upon termination More... | ||
struct llist_head children | ||
a list of children processes More... | ||
struct llist_head child | ||
llist_head linked to parent->proc.children More... | ||
bool terminating | ||
Indicator whether osmo_fsm_inst_term() was already invoked on this instance. More... | ||
} | proc | |
support for fsm-based procedures | ||
a single instanceof an osmocom finite state machine
struct llist_head osmo_fsm_inst::child |
llist_head linked to parent->proc.children
Referenced by _osmo_fsm_inst_broadcast_children(), _osmo_fsm_inst_term(), osmo_fsm_inst_alloc(), osmo_fsm_inst_change_parent(), and osmo_fsm_inst_unlink_parent().
struct llist_head osmo_fsm_inst::children |
a list of children processes
Referenced by _osmo_fsm_inst_broadcast_children(), _osmo_fsm_inst_term_children(), osmo_fsm_inst_alloc(), and osmo_fsm_inst_change_parent().
back-pointer to the FSM of which we are an instance
Referenced by _osmo_fsm_inst_dispatch(), _osmo_fsm_inst_term(), fsm_tmr_cb(), osmo_fsm_event_name(), osmo_fsm_inst_alloc(), osmo_fsm_inst_alloc_child(), osmo_fsm_inst_find_by_id(), osmo_fsm_inst_find_by_name(), osmo_fsm_inst_name(), osmo_fsm_inst_state_name(), osmo_fsm_inst_update_id_f(), osmo_fsm_register(), osmo_fsm_state_name(), osmo_fsm_unregister(), state_chg(), and update_name().
human readable identifier
Referenced by osmo_fsm_inst_alloc_child(), osmo_fsm_inst_find_by_id(), osmo_fsm_inst_update_id_f(), and update_name().
struct llist_head osmo_fsm_inst::list |
member in the fsm->instances list
Referenced by osmo_fsm_inst_alloc(), osmo_fsm_inst_find_by_id(), osmo_fsm_inst_find_by_name(), and osmo_fsm_inst_free().
int osmo_fsm_inst::log_level |
logging level for this FSM
Referenced by osmo_fsm_inst_alloc(), and osmo_fsm_inst_alloc_child().
human readable fully-qualified name
Referenced by osmo_fsm_inst_find_by_name(), osmo_fsm_inst_free(), osmo_fsm_inst_name(), and update_name().
struct osmo_fsm_inst* osmo_fsm_inst::parent |
the parent FSM that has created us
Referenced by _osmo_fsm_inst_term(), osmo_fsm_inst_alloc_child(), osmo_fsm_inst_change_parent(), and osmo_fsm_inst_unlink_parent().
uint32_t osmo_fsm_inst::parent_term_event |
the event we should send upon termination
Referenced by _osmo_fsm_inst_term(), osmo_fsm_inst_alloc_child(), osmo_fsm_inst_change_parent(), and osmo_fsm_inst_unlink_parent().
void* osmo_fsm_inst::priv |
some private data of this instance
Referenced by osmo_fsm_inst_alloc().
struct { ... } osmo_fsm_inst::proc |
support for fsm-based procedures
Referenced by _osmo_fsm_inst_broadcast_children(), _osmo_fsm_inst_dispatch(), _osmo_fsm_inst_term(), _osmo_fsm_inst_term_children(), osmo_fsm_inst_alloc(), osmo_fsm_inst_change_parent(), osmo_fsm_inst_unlink_parent(), and state_chg().
uint32_t osmo_fsm_inst::state |
current state of the FSM
Referenced by _osmo_fsm_inst_dispatch(), osmo_fsm_inst_state_name(), osmo_fsm_state_name(), and state_chg().
int osmo_fsm_inst::T |
timer number for states with time-out
Referenced by _osmo_tdef_fsm_inst_state_chg(), fsm_tmr_cb(), and state_chg().
bool osmo_fsm_inst::terminating |
Indicator whether osmo_fsm_inst_term() was already invoked on this instance.
Referenced by _osmo_fsm_inst_dispatch(), _osmo_fsm_inst_term(), and state_chg().
struct osmo_timer_list osmo_fsm_inst::timer |
timer back-end for states with time-out
Referenced by osmo_fsm_inst_alloc(), osmo_fsm_inst_free(), and state_chg().