/*
 * @COPYRIGHT@
 *
 * x-kernel v3.3
 *
 * Copyright (c) 1993,1991,1990,1996  Arizona Board of Regents
 *
 * @COPYRIGHT@
 *
 * $RCSfile: scout_trace.h,v $
 *
 * HISTORY
 * $Log: scout_trace.h,v $
 * Revision 1.3  1996/02/01 15:18:54  slm
 * Updated copyright and version.
 *
 * Revision 1.2  1995/08/28  16:12:58  acb
 * Initial revision for x3.3
 *
 * Revision 1.1  1994/10/26  20:17:36  hkaram
 * Initial revision
 */
#ifndef scout_trace_h
#define scout_trace_h

#define TR_NEVER		100	/* we'll never use this */
#define TR_FULL_TRACE		 25	/* every subroutine entry/exit */
#define TR_DETAILED		  9	/* functions & data dumps */
#define TR_FUNCTIONAL_TRACE	  7	/* function entry w/parameters */
#define TR_EVENTS		  5	/* more detail than major events */
#define TR_SOFT_ERRORS		  4	/* mild warning */
#define TR_MAJOR_EVENTS		  3	/* open, close, etc. */
#define TR_ERRORS		  1	/* serious but non-fatal errors */
#define TR_ALWAYS		  0	/* used only during development */

#ifdef SCOUT_DEBUG

extern int	scout_trace_level;
extern void	scout_trace_printf (const char *format, ...);

# define ScoutTrace(t,l,a) \
{ \
    if (trace_##t >= l) { \
	scout_trace_level = l; \
	scout_trace_printf a; \
    } /* if */ \
}

#else

# define ScoutTrace(t,l,a)

#endif /* SCOUT_DEBUG */

#endif /* scout_trace_h */
