137 lines
6.0 KiB
C
137 lines
6.0 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these librararies and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $XConsortium: trace.h /main/3 1996/06/19 17:18:59 drk $ */
|
|
/* TRACE.H: Declarations for internal trace functions. */
|
|
|
|
#ifdef TRACE
|
|
|
|
/* Trace variables.
|
|
*/
|
|
extern int trace; /* Switch: 1=trace state transitions; 0=don't. */
|
|
extern int atrace; /* Switch: 1=trace attribute activity; 0=don't. */
|
|
extern int ctrace; /* Switch: 1=trace context checking; 0=don't. */
|
|
extern int dtrace; /* Switch: 1=trace declaration parsing; 0=don't.*/
|
|
extern int etrace; /* Switch: 1=trace entity activity; 0=don't.*/
|
|
extern int gtrace; /* Switch: 1=trace group creations; 0=don't. */
|
|
extern int itrace; /* Switch: 1=trace ID activity; 0=don't. */
|
|
extern int mtrace; /* Switch: 1=trace MS activity; 0=don't. */
|
|
extern int ntrace; /* Switch: 1=trace data notation activity. */
|
|
extern char emd[]; /* For "EMD" parameter type in dtrace calls. */
|
|
|
|
VOID traceadl P((struct ad *));
|
|
VOID tracecon P((int,int,int,struct parse *,int,int));
|
|
VOID tracedcn P((struct dcncb *));
|
|
VOID tracedsk P((struct tag *,struct tag *,int,int));
|
|
VOID traceecb P((char *,struct entity *));
|
|
VOID traceend P((char *,struct thdr *,struct mpos *,int,int,int));
|
|
VOID traceesn P((struct ne *));
|
|
VOID traceetd P((struct etd *));
|
|
VOID traceetg P((struct tag *,struct etd *,int,int));
|
|
VOID tracegi P((char *,struct etd *,struct thdr *,struct mpos *,int));
|
|
VOID tracegml P((struct restate *,int,int,int));
|
|
VOID tracegrp P((struct etd **));
|
|
VOID traceid P((char *,struct id *));
|
|
VOID tracemd P((char *));
|
|
VOID tracemod P((struct thdr *));
|
|
VOID tracems P((int,int,int,int));
|
|
VOID tracengr P((struct dcncb **));
|
|
VOID tracepcb P((struct parse *));
|
|
VOID tracepro P((void));
|
|
VOID traceset P((void));
|
|
VOID tracesrm P((char *,struct entity **,UNCH *));
|
|
VOID tracestg P((struct etd *,int,int,struct etd *,int));
|
|
VOID tracestk P((struct tag *,int,int));
|
|
VOID tracetkn P((int,UNCH *));
|
|
VOID traceval P((struct parse *,unsigned int,UNCH *,int));
|
|
|
|
#define TRACEADL(al) ((void)(atrace && (traceadl(al), 1)))
|
|
#define TRACECON(etagimct, dostag, datarc, pcb, conrefsw, didreq) \
|
|
((void)(gtrace \
|
|
&& (tracecon(etagimct, dostag, datarc, pcb, conrefsw, didreq), 1)))
|
|
#define TRACEDCN(dcn) ((void)(ntrace && (tracedcn(dcn), 1)))
|
|
#define TRACEDSK(pts, ptso, ts3, etictr) \
|
|
((void)(gtrace && (tracedsk(pts, ptso, ts3, etictr), 1)))
|
|
#define TRACEECB(action, p) \
|
|
((void)(etrace && (traceecb(action, p), 1)))
|
|
#define TRACEEND(stagenm, mod, pos, rc, opt, Tstart) \
|
|
((void)(ctrace && (traceend(stagenm, mod, pos, rc, opt, Tstart), 1)))
|
|
#define TRACEESN(p) \
|
|
((void)((etrace || atrace || ntrace) && (traceesn(p), 1)))
|
|
#define TRACEETD(p) ((void)(gtrace && (traceetd(p), 1)))
|
|
#define TRACEETG(pts, curetd, tsl, etagimct) \
|
|
((void)(gtrace && (traceetg(pts, curetd, tsl, etagimct), 1)))
|
|
#define TRACEGI(stagenm, gi, mod, pos, Tstart) \
|
|
((void)(ctrace && (tracegi(stagenm, gi, mod, pos, Tstart), 1)))
|
|
#define TRACEGML(scb, pss, conactsw, conact) \
|
|
((void)(trace && (tracegml(scb, pss, conactsw, conact), 1)))
|
|
#define TRACEGRP(p) ((void)(gtrace && (tracegrp(p), 1)))
|
|
#define TRACEID(action, p) ((void)(itrace && (traceid(action, p), 1)))
|
|
#define TRACEMD(p) ((void)(dtrace && (tracemd(p), 1)))
|
|
#define TRACEMOD(p) ((void)(gtrace && (tracemod(p), 1)))
|
|
#define TRACEMS(action, code, mslevel, msplevel) \
|
|
((void)(mtrace && (tracems(action, code, mslevel, msplevel), 1)))
|
|
#define TRACENGR(p) ((void)(gtrace && (tracengr(p), 1)))
|
|
#define TRACEPCB(p) ((void)(trace && (tracepcb(p), 1)))
|
|
#define TRACEPRO() (tracepro())
|
|
#define TRACESET() (traceset())
|
|
#define TRACESRM(action, pg, gi) \
|
|
((void)(etrace && (tracesrm(action, pg, gi), 1)))
|
|
#define TRACESTG(curetd, dataret, rc, nextetd, mexts) \
|
|
((void)(gtrace && (tracestg(curetd, dataret, rc, nextetd, mexts), 1)))
|
|
#define TRACESTK(pts, ts2, etictr) \
|
|
((void)(gtrace && (tracestk(pts, ts2, etictr), 1)))
|
|
#define TRACETKN(scope, lextoke) \
|
|
((void)(trace && (tracetkn(scope, lextoke), 1)))
|
|
#define TRACEVAL(pcb, atype, aval, tokencnt) \
|
|
((void)(atrace && (traceval(pcb, atype, aval, tokencnt), 1)))
|
|
|
|
#else /* not TRACE */
|
|
|
|
#define TRACEADL(al) /* empty */
|
|
#define TRACECON(etagimct, dostag, datarc, pcb, conrefsw, didreq) /* empty */
|
|
#define TRACEDCN(dcn) /* empty */
|
|
#define TRACEDSK(pts, ptso, ts3, etictr) /* empty */
|
|
#define TRACEECB(action, p) /* empty */
|
|
#define TRACEEND(stagenm, mod, pos, rc, opt, Tstart) /* empty */
|
|
#define TRACEESN(p) /* empty */
|
|
#define TRACEETG(pts, curetd, tsl, etagimct) /* empty */
|
|
#define TRACEETD(p) /* empty */
|
|
#define TRACEGI(stagenm, gi, mod, pos, Tstart) /* empty */
|
|
#define TRACEGML(scb, pss, conactsw, conact) /* empty */
|
|
#define TRACEGRP(p) /* empty */
|
|
#define TRACEID(action, p) /* empty */
|
|
#define TRACEMD(p) /* empty */
|
|
#define TRACEMOD(p) /* empty */
|
|
#define TRACEMS(action, code, mslevel, msplevel) /* empty */
|
|
#define TRACENGR(p) /* empty */
|
|
#define TRACEPCB(p) /* empty */
|
|
#define TRACEPRO() /* empty */
|
|
#define TRACESET() /* empty */
|
|
#define TRACESRM(action, pg, gi) /* empty */
|
|
#define TRACESTG(curetd, dataret, rc, nextetd, mexts) /* empty */
|
|
#define TRACESTK(pts, ts2, etictr) /* empty */
|
|
#define TRACETKN(scope, lextoke) /* empty */
|
|
#define TRACEVAL(pcb, atype, aval, tokencnt) /* empty */
|
|
|
|
#endif /* not TRACE */
|