defer free of thread-local dlerror buffers from inconsistent context
[musl.git] / include / syslog.h
blob5b4d2964e780e6cc7c300756ebc4c7b0447887f6
1 #ifndef _SYSLOG_H
2 #define _SYSLOG_H
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
8 #include <features.h>
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
19 #define LOG_PRIMASK 7
20 #define LOG_PRI(p) ((p)&LOG_PRIMASK)
21 #define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
23 #define LOG_MASK(p) (1<<(p))
24 #define LOG_UPTO(p) ((1<<((p)+1))-1)
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)
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)
48 #define LOG_NFACILITIES 24
49 #define LOG_FACMASK 0x3f8
50 #define LOG_FAC(p) (((p)&LOG_FACMASK)>>3)
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
59 void closelog (void);
60 void openlog (const char *, int, int);
61 int setlogmask (int);
62 void syslog (int, const char *, ...);
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
96 #ifdef __cplusplus
98 #endif
100 #endif