+#define VLOG_ONCE(LEVEL, ...) \
+ do { \
+ static bool already_logged; \
+ if (!already_logged) { \
+ already_logged = true; \
+ vlog(THIS_MODULE, LEVEL, __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define VLOG_DEFINE_MODULE__(MODULE) \
+ struct vlog_module VLM_##MODULE = \
+ { \
+ #MODULE, /* name */ \
+ { [ 0 ... VLF_N_FACILITIES - 1] = VLL_INFO }, /* levels */ \
+ VLL_INFO, /* min_level */ \
+ };
+