syslog.c revision 1.8 1 1.8 christos #include "namespace.h"
2 1.1 christos #include <sys/types.h>
3 1.1 christos #include <sys/syslog.h>
4 1.1 christos #include <stdio.h>
5 1.7 abs #include <string.h>
6 1.7 abs #include <errno.h>
7 1.1 christos #include <stdarg.h>
8 1.8 christos #include "extern.h"
9 1.8 christos
10 1.8 christos #ifdef __weak_alias
11 1.8 christos __weak_alias(closelog,_closelog)
12 1.8 christos __weak_alias(openlog,_openlog)
13 1.8 christos __weak_alias(setlogmask,_setlogmask)
14 1.8 christos __weak_alias(syslog,_syslog)
15 1.8 christos __weak_alias(vsyslog,_vsyslog)
16 1.8 christos __weak_alias(syslogp,_syslogp)
17 1.8 christos __weak_alias(vsyslogp,_vsyslogp)
18 1.8 christos #endif
19 1.1 christos
20 1.1 christos void
21 1.1 christos openlog(const char *path, int opt, int fac)
22 1.1 christos {
23 1.1 christos }
24 1.1 christos
25 1.1 christos void
26 1.1 christos closelog(void)
27 1.1 christos {
28 1.1 christos }
29 1.1 christos
30 1.2 christos int
31 1.2 christos setlogmask(int mask)
32 1.2 christos {
33 1.4 he return 0xff;
34 1.2 christos }
35 1.2 christos
36 1.1 christos void
37 1.1 christos syslog(int fac, const char *fmt, ...)
38 1.1 christos {
39 1.1 christos va_list ap;
40 1.1 christos va_start(ap, fmt);
41 1.7 abs vsyslog(fac, fmt, ap);
42 1.1 christos va_end(ap);
43 1.1 christos }
44 1.1 christos
45 1.1 christos void
46 1.1 christos vsyslog(int fac, const char *fmt, va_list ap)
47 1.1 christos {
48 1.1 christos (void)vfprintf(stderr, fmt, ap);
49 1.7 abs /* Cheap hack to ensure %m causes error message string to be shown */
50 1.7 abs if (strstr(fmt, "%m"))
51 1.7 abs (void)fprintf(stderr, " (%s)", strerror(errno));
52 1.3 dsl (void)fprintf(stderr, "\n");
53 1.3 dsl fflush(stderr);
54 1.1 christos }
55 1.5 he
56 1.5 he void
57 1.5 he syslog_ss(int priority, struct syslog_data *data, const char *fmt, ...)
58 1.5 he {
59 1.5 he va_list ap;
60 1.5 he va_start(ap, fmt);
61 1.5 he vsyslog(priority, fmt, ap);
62 1.5 he va_end(ap);
63 1.5 he }
64 1.5 he
65 1.5 he void
66 1.5 he vsyslog_ss(int priority, struct syslog_data *data, const char *fmt, va_list ap)
67 1.5 he {
68 1.5 he vsyslog(priority, fmt, ap);
69 1.5 he }
70 1.5 he
71 1.5 he void
72 1.5 he syslog_r(int priority, struct syslog_data *data, const char *fmt, ...)
73 1.5 he {
74 1.5 he va_list ap;
75 1.5 he va_start(ap, fmt);
76 1.5 he vsyslog(priority, fmt, ap);
77 1.5 he va_end(ap);
78 1.5 he }
79 1.5 he
80 1.5 he void
81 1.5 he vsyslog_r(int priority, struct syslog_data *data, const char *fmt, va_list ap)
82 1.5 he {
83 1.5 he vsyslog(priority, fmt, ap);
84 1.5 he }
85 1.5 he
86 1.5 he void
87 1.5 he closelog_r(struct syslog_data *data)
88 1.5 he {
89 1.5 he }
90 1.5 he
91 1.5 he int
92 1.5 he setlogmask_r(int maskpri, struct syslog_data *data)
93 1.5 he {
94 1.5 he return 0xff;
95 1.5 he }
96 1.5 he
97 1.5 he void
98 1.5 he openlog_r(const char *id, int logopt, int facility, struct syslog_data *data)
99 1.5 he {
100 1.5 he }
101 1.8 christos
102 1.8 christos void
103 1.8 christos syslogp_r(int priority, struct syslog_data *data, const char *msgid,
104 1.8 christos const char *sdfmt, const char *fmt, ...)
105 1.8 christos {
106 1.8 christos va_list ap;
107 1.8 christos va_start(ap, fmt);
108 1.8 christos vsyslog(priority, fmt, ap);
109 1.8 christos va_end(ap);
110 1.8 christos }
111 1.8 christos
112 1.8 christos void
113 1.8 christos vsyslogp_r(int priority, struct syslog_data *data, const char *msgid,
114 1.8 christos const char *sdfmt, const char *fmt, va_list ap)
115 1.8 christos {
116 1.8 christos vsyslog(priority, fmt, ap);
117 1.8 christos }
118 1.8 christos
119 1.8 christos void
120 1.8 christos syslogp_ss(int priority, struct syslog_data *data, const char *msgid,
121 1.8 christos const char *sdfmt, const char *fmt, ...)
122 1.8 christos {
123 1.8 christos va_list ap;
124 1.8 christos va_start(ap, fmt);
125 1.8 christos vsyslog(priority, fmt, ap);
126 1.8 christos va_end(ap);
127 1.8 christos }
128 1.8 christos
129 1.8 christos void
130 1.8 christos vsyslogp_ss(int priority, struct syslog_data *data, const char *msgid,
131 1.8 christos const char *sdfmt, const char *fmt, va_list ap)
132 1.8 christos {
133 1.8 christos vsyslog(priority, fmt, ap);
134 1.8 christos }
135 1.8 christos
136 1.8 christos void
137 1.8 christos syslogp(int priority, const char *msgid, const char *sdfmt, const char *fmt,
138 1.8 christos ...)
139 1.8 christos {
140 1.8 christos va_list ap;
141 1.8 christos va_start(ap, fmt);
142 1.8 christos vsyslog(priority, fmt, ap);
143 1.8 christos va_end(ap);
144 1.8 christos }
145 1.8 christos
146 1.8 christos void
147 1.8 christos vsyslogp(int priority, const char *msgid, const char *sdfmt, const char *fmt,
148 1.8 christos va_list ap)
149 1.8 christos {
150 1.8 christos vsyslog(priority, fmt, ap);
151 1.8 christos }
152