/*************************************************************************** * LPRng - An Extended Print Spooler System * * Copyright 1988-2001, Patrick Powell, San Diego, CA * papowell@lprng.com * See LICENSE for conditions of use. * $Id: debug.h,v 1.2 2002/01/30 14:34:18 papowell Exp papowell $ ***************************************************************************/ #ifndef _DEBUG_H_ #define _DEBUG_H_ 1 /* to remove all debugging, redefine this as follows * note that a good optimizing compiler should not produce code * for the logDebug call. It may produce lots of warnings, but no code... */ #if !defined(EXTERN) # define EXTERN extern #endif EXTERN int Debug; /* debug flags */ EXTERN int DbgFlag; /* debug flags */ EXTERN int DbgTest; /* debug flags */ #ifdef NODEBUG #define DEBUGFSET(FLAG) ( 0 ) #define DEBUGF(FLAG) if( 0 ) logDebug #define DEBUGFC(FLAG) if( 0 ) #define DEBUG1 if(0) logDebug #define DEBUGL1 (0) #define DEBUG2 if(0) logDebug #define DEBUGL2 (0) #define DEBUG3 if(0) logDebug #define DEBUGL3 (0) #define DEBUG4 if(0) logDebug #define DEBUGL4 (0) #define DEBUG5 if(0) logDebug #define DEBUGL5 (0) #define DEBUG6 if(0) logDebug #define DEBUGL6 (0) #else /* general purpose debug test */ #define DEBUGC(VAL,FLAG) if( (Debug >= (VAL) ) || ((FLAG) & DbgFlag) ) logDebug #define DEBUGL(VAL,FLAG) ( (Debug >= (VAL) ) || ((FLAG) & DbgFlag) ) #define DEBUGF(FLAG) if( (FLAG & DbgFlag) ) logDebug #define DEBUGFC(FLAG) if( (FLAG & DbgFlag) ) #define DEBUGFSET(FLAG) ( (FLAG & DbgFlag) ) /* Debug variable level */ #define DEBUG1 DEBUGC(1,DRECV1|DCTRL1|DLPQ1|DLPRM1) #define DEBUGL1 DEBUGL(1,DRECV1|DCTRL1|DLPQ1|DLPRM1) #define DEBUG2 DEBUGC(2,DRECV2|DCTRL2|DLPQ2|DLPRM2) #define DEBUGL2 DEBUGL(2,DRECV2|DCTRL2|DLPQ2|DLPRM2) #define DEBUG3 DEBUGC(3,DRECV3|DCTRL3|DLPQ3|DLPRM3) #define DEBUGL3 DEBUGL(3,DRECV3|DCTRL3|DLPQ3|DLPRM3) #define DEBUG4 DEBUGC(4,DRECV4|DCTRL4|DLPQ4|DLPRM4) #define DEBUGL4 DEBUGL(4,DRECV4|DCTRL4|DLPQ4|DLPRM4) #define DEBUG5 DEBUGC(5,0) #define DEBUGL5 DEBUGL(5,0) #define DEBUG6 DEBUGC(6,0) #define DEBUGL6 DEBUGL(6,0) #endif /* Flags for debugging */ #define DPRSHIFT 0 #define DLOGMASK ((0xF<