blob: fd1a3f4a918cd047c07f4aab3c99d20b6ae57ed8 [file] [log] [blame]
/*
* xlog Logging functionality
*
* Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
*/
#ifndef XLOG_H
#define XLOG_H
#include <stdarg.h>
/* These are logged always. L_FATAL also does exit(1) */
#define L_FATAL 0x0100
#define L_ERROR 0x0200
#define L_WARNING 0x0400
#define L_NOTICE 0x0800
#define L_ALL 0xFF00
/* These are logged if enabled with xlog_[s]config */
/* NB: code does not expect ORing together D_ and L_ */
#define D_GENERAL 0x0001 /* general debug info */
#define D_CALL 0x0002
#define D_AUTH 0x0004
#define D_FAC3 0x0008
#define D_FAC4 0x0010
#define D_FAC5 0x0020
#define D_PARSE 0x0040
#define D_FAC7 0x0080
#define D_ALL 0x00FF
/* This can be used to define symbolic log names that can be passed to
* xlog_config. */
struct xlog_debugfac {
char *df_name;
int df_fac;
};
void xlog_open(char *progname);
void xlog_stderr(int on);
void xlog_syslog(int on);
void xlog_config(int fac, int on);
void xlog_sconfig(char *, int on);
int xlog_enabled(int fac);
void xlog(int fac, const char *fmt, ...);
void xlog_warn(const char *fmt, ...);
void xlog_err(const char *fmt, ...);
void xlog_backend(int fac, const char *fmt, va_list args);
#endif /* XLOG_H */