summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-12-23 01:00:13 +0100
committerHarald Welte <laforge@gnumonks.org>2016-12-24 17:11:52 +0000
commiteeacf906dd961002dba7e53ec9144d08a2b2d0ee (patch)
treeda408ee85169f22fc12254e6b2210993996133fc /include
parentc7155df3ecb0a4f583a7d0e0bedc8cbb847a8fb4 (diff)
fsm: move LOGPFSMSRC and LOGPFSMLSRC to .h
LOGPFSM and LOGPFSML are in the header file, put the *SRC variants also there so users of the osmo_fsm_inst API may conveniently create own functions that log the caller's source file and line. Very useful if many action functions call the same event dispatching function, like foo_fsm_done(), and one needs to know which of the callers to debug. Change-Id: I39447b1d15237b28f88d8c5f08d82c764679dc80
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/core/fsm.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h
index 57d9a76c..8f65533b 100644
--- a/include/osmocom/core/fsm.h
+++ b/include/osmocom/core/fsm.h
@@ -125,6 +125,19 @@ void osmo_fsm_log_addr(bool log_addr);
#define LOGPFSM(fi, fmt, args...) \
LOGPFSML(fi, (fi)->log_level, fmt, ## args)
+#define LOGPFSMLSRC(fi, level, caller_file, caller_line, fmt, args...) \
+ LOGPSRC((fi)->fsm->log_subsys, level, \
+ caller_file, caller_line, \
+ "%s{%s}: " fmt, \
+ osmo_fsm_inst_name(fi), \
+ osmo_fsm_state_name((fi)->fsm, (fi)->state), \
+ ## args)
+
+#define LOGPFSMSRC(fi, caller_file, caller_line, fmt, args...) \
+ LOGPFSMLSRC(fi, (fi)->log_level, \
+ caller_file, caller_line, \
+ fmt, ## args)
+
int osmo_fsm_register(struct osmo_fsm *fsm);
void osmo_fsm_unregister(struct osmo_fsm *fsm);
struct osmo_fsm_inst *osmo_fsm_inst_alloc(struct osmo_fsm *fsm, void *ctx, void *priv,