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