[Openais] logsys patch
David Teigland
teigland at redhat.com
Tue Jul 1 12:32:41 PDT 2008
The attached patch adds a simple, function-based api to logsys, allowing
simple programs to use it more cleanly (without macros).
Dave
-------------- next part --------------
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 */
More information about the Openais
mailing list