1 /* 2 * Copyright 2003-2008, Haiku Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _SYSLOG_H_ 6 #define _SYSLOG_H_ 7 8 9 #include <stdarg.h> 10 11 12 /* options for openlog() */ 13 14 #define LOG_PID (1 << 12) /* log the process (thread/team) ID with each message */ 15 #define LOG_CONS (2 << 12) /* log to the system console on error */ 16 #define LOG_ODELAY (4 << 12) /* delay open until syslog() is called */ 17 #define LOG_NDELAY (8 << 12) /* connect to the syslog daemon immediately */ 18 #define LOG_SERIAL (16 << 12) /* dump to serial output as well (not implemented) */ 19 #define LOG_PERROR (32 << 12) /* dump to stderr as well */ 20 #define LOG_NOWAIT (64 << 12) /* do not wait for child processes */ 21 22 23 /* facilities */ 24 25 #define LOG_KERN (0 << 3) /* messages generated by the kernel */ 26 #define LOG_USER (1 << 3) /* by user processes */ 27 #define LOG_MAIL (2 << 3) 28 #define LOG_DAEMON (3 << 3) 29 #define LOG_AUTH (4 << 3) 30 #define LOG_SYSLOG (5 << 3) 31 #define LOG_LPR (6 << 3) 32 #define LOG_NEWS (7 << 3) 33 #define LOG_UUCP (8 << 3) 34 #define LOG_CRON (9 << 3) 35 #define LOG_AUTHPRIV (10 << 3) 36 #define LOG_FTP (11 << 3) 37 38 /* these are for local use: */ 39 #define LOG_LOCAL0 (16 << 3) 40 #define LOG_LOCAL1 (17 << 3) 41 #define LOG_LOCAL2 (18 << 3) 42 #define LOG_LOCAL3 (19 << 3) 43 #define LOG_LOCAL4 (20 << 3) 44 #define LOG_LOCAL5 (21 << 3) 45 #define LOG_LOCAL6 (22 << 3) 46 #define LOG_LOCAL7 (23 << 3) 47 48 49 /* priorities */ 50 51 #define LOG_EMERG 0 /* a panic condition */ 52 #define LOG_PANIC LOG_EMERG 53 #define LOG_ALERT 1 /* a condition that should be corrected immediately */ 54 #define LOG_CRIT 2 /* critical conditions like hard drive errors */ 55 #define LOG_ERR 3 56 #define LOG_WARNING 4 57 #define LOG_NOTICE 5 58 #define LOG_INFO 6 59 #define LOG_DEBUG 7 60 61 /* turns a priority into a mask usable for setlogmask() */ 62 #define LOG_MASK(pri) (1 << (pri)) 63 #define LOG_UPTO(pri) ((1 << ((pri) + 1)) - 1) 64 65 66 #ifdef __cplusplus 67 extern "C" { 68 #endif 69 70 /* POSIX calls */ 71 extern void closelog(void); 72 extern void openlog(const char *ident, int options, int facility); 73 extern int setlogmask(int priorityMask); 74 extern void syslog(int priority, const char *message, ...); 75 76 /* Be extensions */ 77 extern void closelog_team(void); 78 extern void openlog_team(const char *ident, int logopt, int facility); 79 extern void log_team(int priority, const char *message, ...); 80 extern int setlogmask_team(int priorityMask); 81 82 extern void closelog_thread(void); 83 extern void openlog_thread(const char *ident, int logopt, int facility); 84 extern void log_thread(int priority, const char *message, ...); 85 extern int setlogmask_thread(int priorityMask); 86 87 /* BSD extensions */ 88 extern void vsyslog(int priority, const char *message, va_list args); 89 90 #ifdef __cplusplus 91 } 92 #endif 93 94 #endif /* _SYSLOG_H_ */ 95