static void function_name##_on_init(void) UL_ATTR_CONSTRUCTOR; \
static void function_name##_on_init(void) { function_name(); }
+#define UL_LOGREG_SINGLE_DOMAIN_INIT_FUNCTION(function_name, domain_name) \
+int function_name(void) \
+{ \
+ int ret; \
+ static int domain_registered = 0; \
+ if (domain_registered) \
+ return 0; \
+ ret = ul_logreg_domain(&domain_name); \
+ if (ret >= 0) \
+ domain_registered = 1; \
+ return ret; \
+} \
+static void function_name##_on_init(void) UL_ATTR_CONSTRUCTOR; \
+static void function_name##_on_init(void) { function_name(); }
+
#ifdef __cplusplus
} /* extern "C"*/
#endif