mirror of https://gerrit.osmocom.org/libosmocore
add value strings for enum osmo_fsm_term_cause and use for logging
Change-Id: Iaf63d3cadb0d46bf454e3314ebb439240cafd834
This commit is contained in:
parent
a3953e0536
commit
5c5c78aacd
|
@ -30,6 +30,13 @@ enum osmo_fsm_term_cause {
|
|||
OSMO_FSM_TERM_TIMEOUT,
|
||||
};
|
||||
|
||||
extern const struct value_string osmo_fsm_term_cause_names[];
|
||||
static inline const char *osmo_fsm_term_cause_name(enum osmo_fsm_term_cause cause)
|
||||
{
|
||||
return get_value_string(osmo_fsm_term_cause_names, cause);
|
||||
}
|
||||
|
||||
|
||||
/*! \brief description of a rule in the FSM */
|
||||
struct osmo_fsm_state {
|
||||
/*! \brief bit-mask of permitted input events for this state */
|
||||
|
|
14
src/fsm.c
14
src/fsm.c
|
@ -431,7 +431,8 @@ void _osmo_fsm_inst_term(struct osmo_fsm_inst *fi,
|
|||
struct osmo_fsm_inst *parent = fi->proc.parent;
|
||||
uint32_t parent_term_event = fi->proc.parent_term_event;
|
||||
|
||||
LOGPFSMSRC(fi, file, line, "Terminating (cause = %u)\n", cause);
|
||||
LOGPFSMSRC(fi, file, line, "Terminating (cause = %s)\n",
|
||||
osmo_fsm_term_cause_name(cause));
|
||||
|
||||
/* iterate over all children */
|
||||
llist_for_each_entry_safe(child, child2, &fi->proc.children, proc.child) {
|
||||
|
@ -456,4 +457,15 @@ void _osmo_fsm_inst_term(struct osmo_fsm_inst *fi,
|
|||
file, line);
|
||||
}
|
||||
|
||||
#define ENUM_VAL_TO_VALUE_STRING(X) { X, #X }
|
||||
|
||||
const struct value_string osmo_fsm_term_cause_names[] = {
|
||||
ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_PARENT),
|
||||
ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REQUEST),
|
||||
ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REGULAR),
|
||||
ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_ERROR),
|
||||
ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_TIMEOUT),
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
/*! @} */
|
||||
|
|
Loading…
Reference in New Issue