libosmocore 1.13.1.1-afb4 Osmocom core library

Data Fields
osmo_fsm Struct Reference
Finite State Machine abstraction

a description of an osmocom finite state machine More...

`#include <fsm.h>`

## Data Fields
struct llist_head | list
| global list More...
struct llist_head | instances
| list of instances of this FSM More...
const char * | name
| human readable name More...
const struct osmo_fsm_state * | states
| table of state transition rules More...
unsigned int | num_states
| number of entries in states More...
uint32_t | allstate_event_mask
| bit-mask of events permitted in all states More...
void(* | allstate_action )(struct osmo_fsm_inst *fi, uint32_t event, void *data)
| function pointer to be called for allstate events More...
void(* | cleanup )(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
| clean-up function, called during termination More...
int(* | timer_cb )(struct osmo_fsm_inst *fi)
| timer call-back for states with time-out. More...
int | log_subsys
| logging sub-system for this FSM More...
const struct value_string * | event_names
| human-readable names of events More...
void(* | pre_term )(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
| graceful exit function, called at the beginning of termination More...

## Detailed Description

a description of an osmocom finite state machine

## Field Documentation

## ◆ allstate_action

void(* osmo_fsm::allstate_action) (struct osmo_fsm_inst *fi, uint32_t event, void *data)

function pointer to be called for allstate events

Referenced by _osmo_fsm_inst_dispatch().

## ◆ allstate_event_mask

uint32_t osmo_fsm::allstate_event_mask

bit-mask of events permitted in all states

Referenced by _osmo_fsm_inst_dispatch().

## ◆ cleanup

void(* osmo_fsm::cleanup) (struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)

clean-up function, called during termination

Referenced by _osmo_fsm_inst_term().

## ◆ event_names

const struct value_string* osmo_fsm::event_names

human-readable names of events

Referenced by osmo_fsm_event_name(), and osmo_fsm_register().

## ◆ instances

struct llist_head osmo_fsm::instances

list of instances of this FSM

Referenced by osmo_fsm_inst_alloc(), osmo_fsm_inst_find_by_id(), osmo_fsm_inst_find_by_name(), and osmo_fsm_register().

## ◆ list

struct llist_head osmo_fsm::list

global list

Referenced by osmo_fsm_register(), and osmo_fsm_unregister().

## ◆ log_subsys

int osmo_fsm::log_subsys

logging sub-system for this FSM

## ◆ name

const char* osmo_fsm::name

human readable name

Referenced by osmo_fsm_find_by_name(), osmo_fsm_inst_name(), osmo_fsm_inst_update_id_f(), osmo_fsm_register(), and update_name().

## ◆ num_states

unsigned int osmo_fsm::num_states

number of entries in states

Referenced by _osmo_fsm_inst_dispatch(), and osmo_fsm_state_name().

## ◆ pre_term

void(* osmo_fsm::pre_term) (struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)

graceful exit function, called at the beginning of termination

Referenced by _osmo_fsm_inst_term().

## ◆ states

const struct osmo_fsm_state* osmo_fsm::states

table of state transition rules

Referenced by _osmo_fsm_inst_dispatch(), osmo_fsm_state_name(), and state_chg().

## ◆ timer_cb

int(* osmo_fsm::timer_cb) (struct osmo_fsm_inst *fi)

timer call-back for states with time-out.

Returns
  1 to request termination, 0 to keep running.

Referenced by fsm_tmr_cb().

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

- include/osmocom/core/fsm.h