*******************************************************************/
#include <ul_logbase.h>
+#include <ul_utdefs.h>
#ifndef _UL_LOGREG_H
#define _UL_LOGREG_H
int ul_logreg_domains_static(ul_log_domain_t *const *domains, int count);
int ul_log_domain_arg2levels(const char *arg);
+#define UL_LOGREG_DOMAINS_INIT_FUNCTION(function_name, array_name) \
+int function_name(void) \
+{ \
+ int ret; \
+ static int domains_registered = 0; \
+ if (domains_registered) \
+ return 0; \
+ ret = ul_logreg_domains_static(array_name, \
+ sizeof(array_name)/sizeof(array_name[0])); \
+ if (ret >= 0) \
+ domains_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