1/*	$OpenBSD: log.h,v 1.3 2021/12/13 18:28:40 deraadt Exp $ */
2
3/*
4 * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#ifndef LOG_H
20#define LOG_H
21
22#include <stdarg.h>
23
24#ifndef	SMALL
25void	log_init(int, int);
26void	log_procinit(const char *);
27void	log_setverbose(int);
28int	log_getverbose(void);
29void	log_warn(const char *, ...)
30	    __attribute__((__format__ (printf, 1, 2)));
31void	log_warnx(const char *, ...)
32	    __attribute__((__format__ (printf, 1, 2)));
33void	log_info(const char *, ...)
34	    __attribute__((__format__ (printf, 1, 2)));
35void	log_debug(const char *, ...)
36	    __attribute__((__format__ (printf, 1, 2)));
37void	logit(int, const char *, ...)
38	    __attribute__((__format__ (printf, 2, 3)));
39void	vlog(int, const char *, va_list)
40	    __attribute__((__format__ (printf, 2, 0)));
41__dead void fatal(const char *, ...)
42	    __attribute__((__format__ (printf, 1, 2)));
43__dead void fatalx(const char *, ...)
44	    __attribute__((__format__ (printf, 1, 2)));
45#else
46#define log_init(x...)		do {} while(0)
47#define log_procinit(x...)	do {} while(0)
48#define log_setverbose(x...)	do {} while(0)
49#define log_warn(x...)		do {} while(0)
50#define log_warnx(x...)		do {} while(0)
51#define log_info(x...)		do {} while(0)
52#define log_debug(x...)		do {} while(0)
53#define logit(x...)		do {} while(0)
54#define vlog(x...)		do {} while(0)
55#define fatal(x...)		exit(1)
56#define fatalx(x...)		exit(1)
57#endif	/* SMALL */
58
59#endif /* LOG_H */
60