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