#ifndef included_trace_h
#define included_trace_h
#include <xterm.h>
#if OPT_TRACE
extern void Trace ( const char *, ... )
#ifdef GCC_PRINTF
__attribute__ ((format(printf,1,2)))
#endif
;
#define TRACE(p) Trace p
#if OPT_TRACE > 1
#define TRACE2(p) Trace p
#endif
extern const char * visibleChrsetName(int );
extern char * visibleChars (PAIRED_CHARS(Char * , Char * ), unsigned );
extern char * visibleIChar (IChar *, unsigned);
extern const char * visibleEventType (int);
extern const char * visibleXError (int );
extern void TraceArgv(const char * , char ** );
#define TRACE_ARGV(tag,argv) TraceArgv(tag,argv)
extern char *trace_who;
#define TRACE_CHILD int tracing_child = (trace_who = "child") != 0; (void) tracing_child;
extern void TraceSizeHints(XSizeHints *);
#define TRACE_HINTS(hints) TraceSizeHints(hints)
extern void TraceIds(const char * , int );
#define TRACE_IDS TraceIds(__FILE__, __LINE__)
extern void TraceOptions(OptionHelp * , XrmOptionDescRec * , Cardinal );
#define TRACE_OPTS(opts,ress,lens) TraceOptions(opts,ress,lens)
extern void TraceTranslations(const char *, Widget);
#define TRACE_TRANS(name,w) TraceTranslations(name,w)
extern void TraceWMSizeHints(XtermWidget);
#define TRACE_WM_HINTS(w) TraceWMSizeHints(w)
extern void TraceXtermResources(void);
#define TRACE_XRES() TraceXtermResources()
extern int TraceResizeRequest(const char * , int , Widget , Dimension , Dimension , Dimension * , Dimension * );
#define REQ_RESIZE(w, reqwide, reqhigh, gotwide, gothigh) \
TraceResizeRequest(__FILE__, __LINE__, w, reqwide, reqhigh, gotwide, gothigh)
#else
#define REQ_RESIZE(w, reqwide, reqhigh, gotwide, gothigh) \
XtMakeResizeRequest((Widget) (w), \
(Dimension) (reqwide), (Dimension) (reqhigh), \
(gotwide), (gothigh))
#endif
#endif