00001 #ifndef foodaemonloghfoo
00002 #define foodaemonloghfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <syslog.h>
00026 #include <stdarg.h>
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00039 enum daemon_log_flags {
00040 DAEMON_LOG_SYSLOG = 1,
00041 DAEMON_LOG_STDERR = 2,
00042 DAEMON_LOG_STDOUT = 4,
00043 DAEMON_LOG_AUTO = 8
00046 };
00047
00049 extern enum daemon_log_flags daemon_log_use;
00050
00053 extern const char* daemon_log_ident;
00054
00055 #if defined(__GNUC__) && ! defined(DAEMON_GCC_PRINTF_ATTR)
00056
00057 #define DAEMON_GCC_PRINTF_ATTR(a,b) __attribute__ ((format (printf, a, b)))
00058 #else
00059 #define DAEMON_GCC_PRINTF_ATTR(a,b)
00060 #endif
00061
00066 void daemon_log(int prio, const char* t, ...) DAEMON_GCC_PRINTF_ATTR(2,3);
00067
00069 #define DAEMON_LOGV_AVAILABLE 1
00070
00072 void daemon_logv(int prio, const char* t, va_list ap);
00073
00080 char *daemon_ident_from_argv0(char *argv0);
00081
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085
00086 #endif