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

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