xref: /openbsd/usr.sbin/npppd/common/debugutil.h (revision ae505340)
1*ae505340Stb /*	$OpenBSD: debugutil.h,v 1.4 2015/12/17 08:01:55 tb Exp $ */
20fbf3537Syasuoka /*-
30fbf3537Syasuoka  * Copyright (c) 2009 Internet Initiative Japan Inc.
40fbf3537Syasuoka  * All rights reserved.
50fbf3537Syasuoka  *
60fbf3537Syasuoka  * Redistribution and use in source and binary forms, with or without
70fbf3537Syasuoka  * modification, are permitted provided that the following conditions
80fbf3537Syasuoka  * are met:
90fbf3537Syasuoka  * 1. Redistributions of source code must retain the above copyright
100fbf3537Syasuoka  *    notice, this list of conditions and the following disclaimer.
110fbf3537Syasuoka  * 2. Redistributions in binary form must reproduce the above copyright
120fbf3537Syasuoka  *    notice, this list of conditions and the following disclaimer in the
130fbf3537Syasuoka  *    documentation and/or other materials provided with the distribution.
140fbf3537Syasuoka  *
150fbf3537Syasuoka  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
160fbf3537Syasuoka  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
170fbf3537Syasuoka  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
180fbf3537Syasuoka  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
190fbf3537Syasuoka  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
200fbf3537Syasuoka  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
210fbf3537Syasuoka  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
220fbf3537Syasuoka  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
230fbf3537Syasuoka  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
240fbf3537Syasuoka  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
250fbf3537Syasuoka  * SUCH DAMAGE.
260fbf3537Syasuoka  */
270fbf3537Syasuoka #ifndef	DEBUG_UTIL_H
280fbf3537Syasuoka #define	DEBUG_UTIL_H 1
290fbf3537Syasuoka 
3034682664Syasuoka #include <stdio.h>	/* for FILE * */
310fbf3537Syasuoka #include "debugmacro.h"
320fbf3537Syasuoka 
330fbf3537Syasuoka #define	DEBUG_LEVEL_1	( 1 << 24)
340fbf3537Syasuoka #define	DEBUG_LEVEL_2	( 2 << 24)
350fbf3537Syasuoka #define	DEBUG_LEVEL_3	( 3 << 24)
360fbf3537Syasuoka #define	DEBUG_LEVEL_4	( 4 << 24)
370fbf3537Syasuoka #define	DEBUG_LEVEL_5	( 5 << 24)
380fbf3537Syasuoka #define	DEBUG_LEVEL_6	( 6 << 24)
390fbf3537Syasuoka #define	DEBUG_LEVEL_7	( 7 << 24)
400fbf3537Syasuoka #define	DEBUG_LEVEL_8	( 8 << 24)
410fbf3537Syasuoka #define	DEBUG_LEVEL_9	( 9 << 24)
420fbf3537Syasuoka #define	DEBUG_LEVEL_10	(10 << 24)
430fbf3537Syasuoka #define	DEBUG_LEVEL_11	(11 << 24)
440fbf3537Syasuoka #define	DEBUG_LEVEL_12	(12 << 24)
450fbf3537Syasuoka #define	DEBUG_LEVEL_13	(13 << 24)
460fbf3537Syasuoka #define	DEBUG_LEVEL_14	(14 << 24)
470fbf3537Syasuoka #define	DEBUG_LEVEL_15	(15 << 24)
480fbf3537Syasuoka 
490fbf3537Syasuoka extern int debuglevel;
500fbf3537Syasuoka 
510fbf3537Syasuoka /* adapted from FreeBSD:/usr/include/sys/cdefs */
520fbf3537Syasuoka #ifndef __printflike
530fbf3537Syasuoka #define __printflike(fmtarg, firstvararg) \
540fbf3537Syasuoka 		__attribute__((__format__ (__printf__, fmtarg, firstvararg)))
550fbf3537Syasuoka #endif
560fbf3537Syasuoka 
570fbf3537Syasuoka #ifdef __cplusplus
580fbf3537Syasuoka extern "C" {
590fbf3537Syasuoka #endif
600fbf3537Syasuoka 
610fbf3537Syasuoka #include <stdarg.h>
620fbf3537Syasuoka 
630fbf3537Syasuoka void  debug_set_debugfp (FILE *);
640fbf3537Syasuoka FILE  *debug_get_debugfp (void);
650fbf3537Syasuoka int   vlog_printf (uint32_t, const char *, va_list);
660fbf3537Syasuoka int   log_printf (int, const char *, ...) __printflike(2, 3);
670fbf3537Syasuoka void  show_hd (FILE *, const u_char *, int);
680fbf3537Syasuoka void  debug_use_syslog (int);
690fbf3537Syasuoka void  debug_set_syslog_level_adjust (int);
700fbf3537Syasuoka int   debug_get_syslog_level_adjust (void);
710fbf3537Syasuoka void  debug_set_no_debuglog (int);
720fbf3537Syasuoka 
730fbf3537Syasuoka #ifdef __cplusplus
740fbf3537Syasuoka }
750fbf3537Syasuoka #endif
760fbf3537Syasuoka 
770fbf3537Syasuoka 
780fbf3537Syasuoka #endif
79