xref: /freebsd-src/contrib/ntp/include/ntp_debug.h (revision 416ba5c74546f32a993436a99516d35008e9f384)
1ea906c41SOllivier Robert /*
2ea906c41SOllivier Robert  * $Header$
3ea906c41SOllivier Robert  *
4ea906c41SOllivier Robert  * $Created: Sat Aug 20 14:23:01 2005 $
5ea906c41SOllivier Robert  *
6ea906c41SOllivier Robert  * Copyright (C) 2005 by Frank Kardel
7ea906c41SOllivier Robert  */
8ea906c41SOllivier Robert #ifndef NTP_DEBUG_H
9ea906c41SOllivier Robert #define NTP_DEBUG_H
10ea906c41SOllivier Robert 
11ea906c41SOllivier Robert /*
12*2b15cb3dSCy Schubert  * macro for debugging output - cut down on #ifdef pollution.
13*2b15cb3dSCy Schubert  *
14*2b15cb3dSCy Schubert  * TRACE() is similar to ntpd's DPRINTF() for utilities and libntp.
15*2b15cb3dSCy Schubert  * Uses mprintf() and so supports %m, replaced by strerror(errno).
16*2b15cb3dSCy Schubert  *
17*2b15cb3dSCy Schubert  * The calling convention is not attractive:
18*2b15cb3dSCy Schubert  *     TRACE(debuglevel, (fmt, ...));
19*2b15cb3dSCy Schubert  *     TRACE(2, ("this will appear on stdout if debug >= %d\n", 2));
20ea906c41SOllivier Robert  */
21*2b15cb3dSCy Schubert #define TRACE(lvl, arg)					\
22eb6d21b4SOllivier Robert 	do { 						\
23*2b15cb3dSCy Schubert 		if (debug >= (lvl))			\
24*2b15cb3dSCy Schubert 			mprintf arg;			\
25eb6d21b4SOllivier Robert 	} while (0)
26ea906c41SOllivier Robert 
27*2b15cb3dSCy Schubert #endif	/* NTP_DEBUG_H */
28