trace.h revision 2eaa94a1
12eaa94a1Schristos/* $XTermId: trace.h,v 1.44 2008/07/27 15:21:20 tom Exp $ */ 2d522f475Smrg 3d522f475Smrg/************************************************************ 4d522f475Smrg 52eaa94a1SchristosCopyright 1997-2007,2008 by Thomas E. Dickey 6d522f475Smrg 7d522f475Smrg All Rights Reserved 8d522f475Smrg 9d522f475SmrgPermission to use, copy, modify, and distribute this software and its 10d522f475Smrgdocumentation for any purpose and without fee is hereby granted, 11d522f475Smrgprovided that the above copyright notice appear in all copies and that 12d522f475Smrgboth that copyright notice and this permission notice appear in 13d522f475Smrgsupporting documentation, and that the name of the above listed 14d522f475Smrgcopyright holder(s) not be used in advertising or publicity pertaining 15d522f475Smrgto distribution of the software without specific, written prior 16d522f475Smrgpermission. 17d522f475Smrg 18d522f475SmrgTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD 19d522f475SmrgTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 20d522f475SmrgAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE 21d522f475SmrgLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 22d522f475SmrgWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 23d522f475SmrgACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 24d522f475SmrgOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 25d522f475Smrg 26d522f475Smrg********************************************************/ 27d522f475Smrg 28d522f475Smrg/* 29d522f475Smrg * Common/useful definitions for XTERM application 30d522f475Smrg */ 31d522f475Smrg#ifndef included_trace_h 32d522f475Smrg#define included_trace_h 33d522f475Smrg 34d522f475Smrg#include <xterm.h> 35d522f475Smrg 36d522f475Smrg#if OPT_TRACE 37d522f475Smrg 38d522f475Smrgextern void Trace ( const char *, ... ) 39d522f475Smrg#ifdef GCC_PRINTF 40d522f475Smrg __attribute__ ((format(printf,1,2))) 41d522f475Smrg#endif 42d522f475Smrg ; 43d522f475Smrg#define TRACE(p) Trace p 44d522f475Smrg 45d522f475Smrg#if OPT_TRACE > 1 46d522f475Smrg#define TRACE2(p) Trace p 47d522f475Smrg#endif 48d522f475Smrg 49d522f475Smrgextern const char * visibleChrsetName(int /* chrset */); 50d522f475Smrgextern char * visibleChars (PAIRED_CHARS(Char * /* buf */, Char * /* buf2 */), unsigned /* len */); 51d522f475Smrgextern char * visibleIChar (IChar *, unsigned); 52d522f475Smrgextern const char * visibleEventType (int); 53d522f475Smrgextern const char * visibleXError (int /* code */); 54d522f475Smrg 55d522f475Smrgextern void TraceArgv(const char * /* tag */, char ** /* argv */); 56d522f475Smrg#define TRACE_ARGV(tag,argv) TraceArgv(tag,argv) 57d522f475Smrg 58d522f475Smrgextern char *trace_who; 59d522f475Smrg#define TRACE_CHILD int tracing_child = (trace_who = "child") != 0; (void) tracing_child; 60d522f475Smrg 61d522f475Smrgextern void TraceSizeHints(XSizeHints *); 62d522f475Smrg#define TRACE_HINTS(hints) TraceSizeHints(hints) 63d522f475Smrg 642eaa94a1Schristosextern void TraceIds(const char * /* fname */, int /* lnum */); 65d522f475Smrg#define TRACE_IDS TraceIds(__FILE__, __LINE__) 66d522f475Smrg 672eaa94a1Schristosextern void TraceOptions(OptionHelp * /* options */, XrmOptionDescRec * /* resources */, Cardinal /* count */); 68d522f475Smrg#define TRACE_OPTS(opts,ress,lens) TraceOptions(opts,ress,lens) 69d522f475Smrg 70d522f475Smrgextern void TraceTranslations(const char *, Widget); 71d522f475Smrg#define TRACE_TRANS(name,w) TraceTranslations(name,w) 72d522f475Smrg 73d522f475Smrgextern void TraceWMSizeHints(XtermWidget); 74d522f475Smrg#define TRACE_WM_HINTS(w) TraceWMSizeHints(w) 75d522f475Smrg 76d522f475Smrgextern void TraceXtermResources(void); 77d522f475Smrg#define TRACE_XRES() TraceXtermResources() 78d522f475Smrg 792eaa94a1Schristosextern int TraceResizeRequest(const char * /* fn */, int /* ln */, Widget /* w */, Dimension /* reqwide */, Dimension /* reqhigh */, Dimension * /* gotwide */, Dimension * /* gothigh */); 802eaa94a1Schristos#define REQ_RESIZE(w, reqwide, reqhigh, gotwide, gothigh) \ 812eaa94a1Schristos TraceResizeRequest(__FILE__, __LINE__, w, reqwide, reqhigh, gotwide, gothigh) 822eaa94a1Schristos 832eaa94a1Schristos#else 842eaa94a1Schristos 852eaa94a1Schristos#define REQ_RESIZE(w, reqwide, reqhigh, gotwide, gothigh) \ 862eaa94a1Schristos XtMakeResizeRequest((Widget) (w), \ 872eaa94a1Schristos (Dimension) (reqwide), (Dimension) (reqhigh), \ 882eaa94a1Schristos (gotwide), (gothigh)) 892eaa94a1Schristos 90d522f475Smrg#endif 91d522f475Smrg 92d522f475Smrg#endif /* included_trace_h */ 93