/* * 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 */