1 | #ifndef _SYSLOG_H
|
---|
2 | #define _SYSLOG_H
|
---|
3 |
|
---|
4 | #ifdef __cplusplus
|
---|
5 | extern "C" {
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | #include <features.h>
|
---|
9 |
|
---|
10 | #define LOG_EMERG 0
|
---|
11 | #define LOG_ALERT 1
|
---|
12 | #define LOG_CRIT 2
|
---|
13 | #define LOG_ERR 3
|
---|
14 | #define LOG_WARNING 4
|
---|
15 | #define LOG_NOTICE 5
|
---|
16 | #define LOG_INFO 6
|
---|
17 | #define LOG_DEBUG 7
|
---|
18 |
|
---|
19 | #define LOG_PRIMASK 7
|
---|
20 | #define LOG_PRI(p) ((p)&LOG_PRIMASK)
|
---|
21 | #define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
|
---|
22 |
|
---|
23 | #define LOG_MASK(p) (1<<(p))
|
---|
24 | #define LOG_UPTO(p) ((1<<((p)+1))-1)
|
---|
25 |
|
---|
26 | #define LOG_KERN (0<<3)
|
---|
27 | #define LOG_USER (1<<3)
|
---|
28 | #define LOG_MAIL (2<<3)
|
---|
29 | #define LOG_DAEMON (3<<3)
|
---|
30 | #define LOG_AUTH (4<<3)
|
---|
31 | #define LOG_SYSLOG (5<<3)
|
---|
32 | #define LOG_LPR (6<<3)
|
---|
33 | #define LOG_NEWS (7<<3)
|
---|
34 | #define LOG_UUCP (8<<3)
|
---|
35 | #define LOG_CRON (9<<3)
|
---|
36 | #define LOG_AUTHPRIV (10<<3)
|
---|
37 | #define LOG_FTP (11<<3)
|
---|
38 |
|
---|
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 | #define LOG_NFACILITIES 24
|
---|
49 | #define LOG_FACMASK 0x3f8
|
---|
50 | #define LOG_FAC(p) (((p)&LOG_FACMASK)>>3)
|
---|
51 |
|
---|
52 | #define LOG_PID 0x01
|
---|
53 | #define LOG_CONS 0x02
|
---|
54 | #define LOG_ODELAY 0x04
|
---|
55 | #define LOG_NDELAY 0x08
|
---|
56 | #define LOG_NOWAIT 0x10
|
---|
57 | #define LOG_PERROR 0x20
|
---|
58 |
|
---|
59 | void closelog (void);
|
---|
60 | void openlog (const char *, int, int);
|
---|
61 | int setlogmask (int);
|
---|
62 | void syslog (int, const char *, ...);
|
---|
63 |
|
---|
64 | #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
---|
65 | #define _PATH_LOG "/dev/log"
|
---|
66 | #define __NEED_va_list
|
---|
67 | #include <bits/alltypes.h>
|
---|
68 | void vsyslog (int, const char *, va_list);
|
---|
69 | #if defined(SYSLOG_NAMES)
|
---|
70 | #define INTERNAL_NOPRI 0x10
|
---|
71 | #define INTERNAL_MARK (LOG_NFACILITIES<<3)
|
---|
72 | typedef struct {
|
---|
73 | char *c_name;
|
---|
74 | int c_val;
|
---|
75 | } CODE;
|
---|
76 | #define prioritynames ((CODE *)(const CODE []){ \
|
---|
77 | { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, \
|
---|
78 | { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, \
|
---|
79 | { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, \
|
---|
80 | { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, \
|
---|
81 | { "warn", LOG_WARNING }, { "warning", LOG_WARNING }, { 0, -1 } })
|
---|
82 | #define facilitynames ((CODE *)(const CODE []){ \
|
---|
83 | { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, \
|
---|
84 | { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, \
|
---|
85 | { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, \
|
---|
86 | { "mark", INTERNAL_MARK }, { "news", LOG_NEWS }, \
|
---|
87 | { "security", LOG_AUTH }, { "syslog", LOG_SYSLOG }, \
|
---|
88 | { "user", LOG_USER }, { "uucp", LOG_UUCP }, \
|
---|
89 | { "local0", LOG_LOCAL0 }, { "local1", LOG_LOCAL1 }, \
|
---|
90 | { "local2", LOG_LOCAL2 }, { "local3", LOG_LOCAL3 }, \
|
---|
91 | { "local4", LOG_LOCAL4 }, { "local5", LOG_LOCAL5 }, \
|
---|
92 | { "local6", LOG_LOCAL6 }, { "local7", LOG_LOCAL7 }, { 0, -1 } })
|
---|
93 | #endif
|
---|
94 | #endif
|
---|
95 |
|
---|
96 | #ifdef __cplusplus
|
---|
97 | }
|
---|
98 | #endif
|
---|
99 |
|
---|
100 | #endif
|
---|