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