Home | History | Annotate | Line # | Download | only in libhack
      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
     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
     26 closelog(void)
     27 {
     28 }
     29 
     30 int
     31 setlogmask(int mask)
     32 {
     33 	return 0xff;
     34 }
     35 
     36 void
     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
     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
     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
     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
     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
     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
     87 closelog_r(struct syslog_data *data)
     88 {
     89 }
     90 
     91 int
     92 setlogmask_r(int maskpri, struct syslog_data *data)
     93 {
     94 	return 0xff;
     95 }
     96 
     97 void
     98 openlog_r(const char *id, int logopt, int facility, struct syslog_data *data)
     99 {
    100 }
    101 
    102 void
    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
    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
    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
    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
    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
    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