chiark / gitweb /
[PATCH] remove udev_dbus.h from Makefile
[elogind.git] / logging.h
index 1f2126839bf323faedfaf45f32fe0cc3a8253e63..40c342c3ab0c04c7b2690c1e34548f06c49ee0ee 100644 (file)
--- a/logging.h
+++ b/logging.h
@@ -1,9 +1,9 @@
 /*
  * logging.h
  *
- * Userspace devfs
+ * Simple logging functions that can be compiled away into nothing.
  *
- * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
  * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
  *
  *     This program is free software; you can redistribute it and/or modify it
 #ifndef LOGGING_H
 #define LOGGING_H
 
+#define info(format, arg...)           do { } while (0)
+#define dbg(format, arg...)            do { } while (0)
+#define dbg_parse(format, arg...)      do { } while (0)
+#define init_logging(foo)              do { } while (0)
+
 #ifdef LOG
+#include <stdarg.h>
+#include <unistd.h>
 #include <syslog.h>
+
+#define LOGNAME_SIZE                   42
+
+#undef info
 #define info(format, arg...)                                                           \
        do {                                                                            \
-               log_message (LOG_INFO , format , ## arg);       \
+               log_message(LOG_INFO , format , ## arg);                                \
        } while (0)
-#else
-       #define info(format, arg...) do { } while (0)
-#endif
 
 #ifdef DEBUG
+#undef dbg
 #define dbg(format, arg...)                                                            \
        do {                                                                            \
-               log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);        \
+               log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \
        } while (0)
-#else
-       #define dbg(format, arg...) do { } while (0)
 #endif
 
 /* Parser needs it's own debugging statement, we usually don't care about this at all */
 #ifdef DEBUG_PARSER
+#undef dbg_parse
 #define dbg_parse(format, arg...)                                                      \
        do {                                                                            \
-               log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);        \
+               log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \
        } while (0)
-#else
-       #define dbg_parse(format, arg...) do { } while (0)
 #endif
 
-
-extern int log_message (int level, const char *format, ...)
+extern void log_message(int level, const char *format, ...)
        __attribute__ ((format (printf, 2, 3)));
 
+/* each program that uses syslog must declare this variable somewhere */
+extern unsigned char logname[LOGNAME_SIZE];
+
+#undef init_logging
+static inline void init_logging(char *program_name)
+{
+       snprintf(logname, LOGNAME_SIZE,"%s[%d]", program_name, getpid());
+       openlog(logname, 0, LOG_DAEMON);
+}
+
+#endif /* LOG */
+
 #endif