libosmocore  1.4.0.80-4fb27
Osmocom core library
osmo_fsm_inst Struct Reference

a single instanceof an osmocom finite state machine More...

#include <fsm.h>

Data Fields

struct llist_head list
 member in the fsm->instances list More...
 
struct osmo_fsmfsm
 back-pointer to the FSM of which we are an instance More...
 
const char * id
 human readable identifier More...
 
const char * name
 human readable fully-qualified name More...
 
void * priv
 some private data of this instance More...
 
int log_level
 logging level for this FSM More...
 
uint32_t state
 current state of the FSM More...
 
int T
 timer number for states with time-out More...
 
struct osmo_timer_list timer
 timer back-end for states with time-out More...
 
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 More...
 

Detailed Description

a single instanceof an osmocom finite state machine

Field Documentation

◆ child

struct llist_head osmo_fsm_inst::child

◆ children

struct llist_head osmo_fsm_inst::children

a list of children processes

Referenced by _osmo_fsm_inst_term_children(), osmo_fsm_inst_alloc(), and osmo_fsm_inst_change_parent().

◆ fsm

◆ id

const char* osmo_fsm_inst::id

◆ list

struct llist_head osmo_fsm_inst::list

◆ log_level

int osmo_fsm_inst::log_level

logging level for this FSM

Referenced by osmo_fsm_inst_alloc(), and osmo_fsm_inst_alloc_child().

◆ name

const char* osmo_fsm_inst::name

human readable fully-qualified name

Referenced by osmo_fsm_inst_find_by_name(), osmo_fsm_inst_name(), and update_name().

◆ parent

struct osmo_fsm_inst* osmo_fsm_inst::parent

the parent FSM that has created us

Referenced by _osmo_fsm_inst_term(), osmo_fsm_inst_change_parent(), and osmo_fsm_inst_unlink_parent().

◆ parent_term_event

uint32_t osmo_fsm_inst::parent_term_event

the event we should send upon termination

Referenced by _osmo_fsm_inst_term(), osmo_fsm_inst_change_parent(), and osmo_fsm_inst_unlink_parent().

◆ priv

void* osmo_fsm_inst::priv

some private data of this instance

Referenced by osmo_fsm_inst_alloc().

◆ proc

◆ state

uint32_t osmo_fsm_inst::state

◆ T

int osmo_fsm_inst::T

timer number for states with time-out

Referenced by fsm_tmr_cb(), and state_chg().

◆ terminating

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().

◆ timer

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().


The documentation for this struct was generated from the following file: