Simplify logging, update copyrights and some minor cleanups.
[tinc] / src / logger.h
1 #ifndef __TINC_LOGGER_H__
2
3 #include <syslog.h>
4 #include <stdarg.h>
5
6 enum {
7         DEBUG_NOTHING = 0,                      /* Quiet mode, only show starting/stopping of the daemon */
8         DEBUG_ALWAYS = 0,
9         DEBUG_CONNECTIONS = 1,          /* Show (dis)connects of other tinc daemons via TCP */
10         DEBUG_ERROR = 2,                        /* Show error messages received from other hosts */
11         DEBUG_STATUS = 2,                       /* Show status messages received from other hosts */
12         DEBUG_PROTOCOL = 3,                     /* Show the requests that are sent/received */
13         DEBUG_META = 4,                         /* Show contents of every request that is sent/received */
14         DEBUG_TRAFFIC = 5,                      /* Show network traffic information */
15         DEBUG_PACKET = 6,                       /* Show contents of each packet that is being sent/received */
16         DEBUG_SCARY_THINGS = 10         /* You have been warned */
17 };
18
19 enum {
20         LOGMODE_NULL,
21         LOGMODE_STDERR,
22         LOGMODE_FILE,
23         LOGMODE_SYSLOG
24 };
25
26 extern int debug_level;
27 extern void openlogger(const char *, int);
28 extern void logger(int, const char *, ...);
29 extern void closelogger(void);
30
31 #define ifdebug(l) if(debug_level >= DEBUG_##l)
32
33 #endif /* __TINC_LOGGER_H__ */