libosmocore 1.10.0.57-8972
Osmocom core library
|
API to define Tnnn timers globally and use for FSM state changes. More...
Go to the source code of this file.
Data Structures | |
struct | osmo_tdef |
Define a GSM timer of the form Tnnn, with unit, default value and doc string. More... | |
struct | osmo_tdef_state_timeout |
Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions. More... | |
struct | osmo_tdef_group |
Manage timer definitions in named groups. More... | |
Macros | |
#define | osmo_tdef_for_each(t, tdefs) for (t = tdefs; t && (t->T || t->default_val || t->desc); t++) |
Iterate an array of struct osmo_tdef, the last item should be fully zero, i.e. More... | |
#define | osmo_tdef_fsm_inst_state_chg(fi, state, timeouts_array, tdefs, default_timeout) |
Call osmo_fsm_inst_state_chg[_ms]() or osmo_fsm_inst_state_chg_keep_timer[_ms](), depending on the timeouts_array, tdefs and default_timeout. More... | |
#define | osmo_tdef_groups_for_each(g, tdef_groups) for (g = tdef_groups; g && g->tdefs; g++) |
Iterate an array of struct osmo_tdef_group, the last item should be fully zero, i.e. More... | |
Enumerations | |
enum | osmo_tdef_unit { OSMO_TDEF_S = 0 , OSMO_TDEF_MS , OSMO_TDEF_M , OSMO_TDEF_CUSTOM , OSMO_TDEF_US } |
Functions | |
static const char * | osmo_tdef_unit_name (enum osmo_tdef_unit val) |
void | osmo_tdefs_reset (struct osmo_tdef *tdefs) |
Set all osmo_tdef values to the default_val. More... | |
unsigned long | osmo_tdef_get (const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit, long val_if_not_present) |
Return the value of a T timer from a list of osmo_tdef, in the given unit. More... | |
struct osmo_tdef * | osmo_tdef_get_entry (struct osmo_tdef *tdefs, int T) |
Find tdef entry matching T. More... | |
int | osmo_tdef_set (struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit) |
Set value in entry matching T, converting val from val_unit to unit of T. More... | |
bool | osmo_tdef_val_in_range (struct osmo_tdef *tdef, unsigned long new_val) |
Check if value new_val is in range of valid possible values for timer entry tdef. More... | |
int | osmo_tdef_range_str_buf (char *buf, size_t buf_len, struct osmo_tdef *t) |
Write string representation of osmo_tdef range into buf. More... | |
const struct osmo_tdef_state_timeout * | osmo_tdef_get_state_timeout (uint32_t state, const struct osmo_tdef_state_timeout *timeouts_array) |
Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry. More... | |
int | _osmo_tdef_fsm_inst_state_chg (struct osmo_fsm_inst *fi, uint32_t state, const struct osmo_tdef_state_timeout *timeouts_array, const struct osmo_tdef *tdefs, signed long default_timeout, const char *file, int line) |
Variables | |
const struct value_string | osmo_tdef_unit_names [] |
API to define Tnnn timers globally and use for FSM state changes.