VSYSLOG(3)

NAME
vsyslog - log message with a varargs argument list

SYNOPSIS
#include <syslog.h>
#include <varargs.h>

int vsyslog(priority, message, ap)
char *message;
va_list ap;

DESCRIPTION

vsyslog() is the same as syslog(3) except that instead of being called with a variable number of arguments, it is called with an argument list as defined by varargs(3).

EXAMPLE
The following demonstrates how vsyslog() could be used to write an error routine.
    #include <syslog.h>
    #include <varargs.h>
    ...
    	/*  error should be called like:
    	*	error(pri, function_name, format, arg1, arg2...);
    	*  Note that pri, function_name, and format cannot be declared
    	*  separately because of the definition of varargs.
    	*/

    /*VARARGS0*/
    void
    error(va_alist)
    	va_dcl;
    {
    	va_list args;
    	int pri;
    	char *message;
    	va_start(args);
    	pri = va_arg(args, int);
    		/* log name of function causing error */
    	(void) syslog(pri, "ERROR in %s", va_arg(args, char *));
    	message = va_arg(args, char *);
    		/* log remainder of message */
    	(void) vsyslog(pri, fmt, args);
    	va_end(args);
    	(void) abort();
    }

SEE ALSO
syslog(3), varargs(3)