fsm: Add osmo_fsm_inst_broadcast_children()

This is a helper function to broadcast an event to all of the
siblings of a specified FSM instance.

Change-Id: I2ce398741a8672d7b7c4058d056f46e2fe7353c1
diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h
index 7b262c7..77ebe7c 100644
--- a/include/osmocom/core/fsm.h
+++ b/include/osmocom/core/fsm.h
@@ -326,4 +326,15 @@
 				  void *data,
 				  const char *file, int line);
 
+/*! dispatch an event to all children of an osmocom finite state machine instance
+ *
+ *  This is a macro that calls _osmo_fsm_inst_broadcast_children() with the given
+ *  parameters as well as the caller's source file and line number for logging
+ *  purposes. See there for documentation.
+ */
+#define osmo_fsm_inst_broadcast_children(fi, cause, data) \
+	_osmo_fsm_inst_broadcast_children(fi, cause, data, __FILE__, __LINE__)
+void _osmo_fsm_inst_broadcast_children(struct osmo_fsm_inst *fi, uint32_t event,
+					void *data, const char *file, int line);
+
 /*! @} */