1/*	$OpenBSD: log.h,v 1.3 2021/12/13 18:28:39 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#include <stdlib.h>
24
25#ifndef	SMALL
26void	log_init(int, int);
27void	log_procinit(const char *);
28void	log_setverbose(int);
29int	log_getverbose(void);
30void	log_warn(const char *, ...)
31	    __attribute__((__format__ (printf, 1, 2)));
32void	log_warnx(const char *, ...)
33	    __attribute__((__format__ (printf, 1, 2)));
34void	log_info(const char *, ...)
35	    __attribute__((__format__ (printf, 1, 2)));
36void	log_debug(const char *, ...)
37	    __attribute__((__format__ (printf, 1, 2)));
38void	logit(int, const char *, ...)
39	    __attribute__((__format__ (printf, 2, 3)));
40void	vlog(int, const char *, va_list)
41	    __attribute__((__format__ (printf, 2, 0)));
42__dead void fatal(const char *, ...)
43	    __attribute__((__format__ (printf, 1, 2)));
44__dead void fatalx(const char *, ...)
45	    __attribute__((__format__ (printf, 1, 2)));
46#else
47#define log_init(x...)		do {} while(0)
48#define log_procinit(x...)	do {} while(0)
49#define log_setverbose(x...)	do {} while(0)
50#define log_getverbose(x...)	(0)
51#define log_warn(x...)		do {} while(0)
52#define log_warnx(x...)		do {} while(0)
53#define log_info(x...)		do {} while(0)
54#define log_debug(x...)		do {} while(0)
55#define logit(x...)		do {} while(0)
56#define vlog(x...)		do {} while(0)
57#define fatal(x...)		exit(1)
58#define fatalx(x...)		exit(1)
59#endif	/* SMALL */
60
61#endif /* LOG_H */
62