osmo_fsm_inst Struct Reference
Finite State Machine abstraction

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_fsm * | fsm
| 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

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

## children

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

## fsm

struct osmo_fsm* osmo_fsm_inst::fsm

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

## id

const char* osmo_fsm_inst::id

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

## list

struct llist_head osmo_fsm_inst::list

member in the fsm->instances list

Referenced by osmo_fsm_inst_alloc(), and osmo_fsm_inst_free().

## 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_alloc_child(), 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_alloc_child(), 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().

##

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

## state

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

## 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:

- include/osmocom/core/fsm.h