static int output_wrapper_n(FILE* fp, const char* fmt, ...){ va_list ap; va_start(ap, fmt); int ret = vlogmsg(fp, CONTROL, fmt, ap); va_end(ap); return ret; }
int logmsg(FILE* fp, const char* tag, const char* fmt, ...){ va_list ap; va_start(ap, fmt); int ret = vlogmsg(fp, tag, fmt, ap); va_end(ap); return ret; }
void logchild(int level, char *format, ...) { va_list va; va_start(va, format); vlogmsg(level, child_log_ident, format, va); va_end(va); }
/***************************** int logmsg(logmsg_priority_t, const char*, ...) Prints a message to the appropriate destination. The message is formatted according to syslog() conventions. PARAMS: logmsg_priority_t priority - the priority of the message. How this is interpreted depends on the facility: file, stdout, stderr -> prepends a string indicating the priority syslog -> uses te equivalent syslog priority const char* format - a printf()-style format string, followed by arguments. Returns: 0 on success -1 on failure */ int logmsg(logmsg_priority_t priority, const char* format, ...) { va_list args; int ret; va_start(args, format); ret = vlogmsg(priority, format, args); va_end(args); return ret; }
void logparent(int level, char *format, ...) { va_list va; pid_t pid; /* Check to see if our pid has changed. This does happen, when we do the process gymnastics to detach from our terminal and become a daemon. The only down side here is a getpid() call on every log message, but that's not a huge penalty. */ if ( (pid = getpid()) != parent_pid) { format_parent_log_ident(pid); } va_start(va, format); vlogmsg(level, parent_log_ident, format, va); va_end(va); }
static int output_wrapper_v(FILE* fp, const char* fmt, va_list ap){ return vlogmsg(fp, CONTROL, fmt, ap); }