The attached patch adds a simple, function-based api to logsys, allowing
simple programs to use it more cleanly (without macros).

Dave

Index: logsys.c
===================================================================
--- logsys.c    (revision 1568)
+++ logsys.c    (working copy)
@@ -632,3 +632,39 @@
 {
        worker_thread_group_wait (&log_thread_group);
 }
+
+int logsys_init(char *name, int mode, int facility, int priority, char *file)
+{
+       char *errstr;
+
+       strncpy(logsys_loggers[0].subsys, name,
+               sizeof(logsys_loggers[0].subsys));
+       logsys_config_mode_set(mode);
+       logsys_config_facility_set(name, facility);
+       logsys_config_file_set(&errstr, file);
+       _logsys_config_priority_set(0, priority);
+       if ((mode & LOG_MODE_BUFFER_BEFORE_CONFIG) == 0) {
+               _logsys_wthread_create();
+       }
+       return 0;
+}
+
+int logsys_conf(char *name, int mode, int facility, int priority, char *file)
+{
+       char *errstr;
+
+       strncpy(logsys_loggers[0].subsys, name,
+               sizeof(logsys_loggers[0].subsys));
+       logsys_config_mode_set(mode);
+       logsys_config_facility_set(name, facility);
+       logsys_config_file_set(&errstr, file);
+       _logsys_config_priority_set(0, priority);
+       return 0;
+}
+
+int logsys_exit(void)
+{
+       /* nothing for this to do yet, maybe later? */
+       return 0;
+}
+
Index: logsys.h
===================================================================
--- logsys.h    (revision 1568)
+++ logsys.h    (working copy)
@@ -170,8 +170,9 @@
        }                                                               \
 }
 
+static unsigned int logsys_subsys_id __attribute__((unused));          \
+
 #define LOGSYS_DECLARE_NOSUBSYS(priority)                              \
-static unsigned int logsys_subsys_id __attribute__((unused));          \
 __attribute__ ((constructor)) static void logsys_nosubsys_init (void)  \
 {                                                                      \
        _logsys_nosubsys_set();                                         \
@@ -180,7 +181,6 @@
 }
 
 #define LOGSYS_DECLARE_SUBSYS(subsys,priority)                         \
-static unsigned int logsys_subsys_id __attribute__((unused));          \
 __attribute__ ((constructor)) static void logsys_subsys_init (void)    \
 {                                                                      \
        logsys_subsys_id =                                              \
@@ -293,4 +293,10 @@
        _logsys_config_priority_set (logsys_subsys_id, priority);       \
 } while(0)
 
+/* simple, function-based api */
+
+int logsys_init(char *name, int mode, int facility, int priority, char *file);
+int logsys_conf(char *name, int mode, int facility, int priority, char *file);
+int logsys_exit(void);
+
 #endif /* LOGSYS_H_DEFINED */
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to