Files
Arquivotheca.Solaris-2.5/cmd/lp/include/debug.h
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

223 lines
5.5 KiB
C
Executable File

/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ifndef DEBUG_H
#define DEBUG_H
/*==================================================================*/
/*
**
*/
#ident "@(#)debug.h 1.5 92/07/14 SMI" /* SVr4.0 1.6 */
#ifdef DEBUG
#include <stdio.h>
#define _MAX_NEST_COUNT 256
extern int _nestCount;
extern char *_FnNames [];
extern char *_FnNamep;
extern char *_Unknownp;
extern char *_Nullp;
extern FILE *_DebugFilep;
#ifdef __STDC__
#define DEFINE_FNNAME(fnName) \
static char FnName [] = #fnName;
#else
#define DEFINE_FNNAME(fnName) \
static char FnName [] = "fnName";
#endif
#define SET_DEBUG_PATH(pathp) _SetDebugPath (pathp);
#define OPEN_DEBUG_FILE(pathp) _OpenDebugFile (pathp);
#define _OPEN_DEBUG_FILE _OpenDebugFile ((char *)0);
#define DEBUGs(s1) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1));\
(void) fflush (stderr);
#define DEBUGss(s1, s2) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s\t= %s\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
((char *) s2 == NULL ? _Nullp : (char *) s2)); \
(void) fflush (_DebugFilep);
#define DEBUGsd(s1, i1) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s\t= %d\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
(int) i1); \
(void) fflush (_DebugFilep);
#define DEBUGssx(s1, s2, i1) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s/%s\t= 0x%x\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
((char *) s2 == NULL ? _Nullp : (char *) s2), \
(int) i1); \
(void) fflush (_DebugFilep);
#define DEBUGssd(s1, s2, i1) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s/%s\t= 0d%d\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
((char *) s2 == NULL ? _Nullp : (char *) s2), \
(int) i1); \
(void) fflush (_DebugFilep);
#define DEBUGsso(s1, s2, i1) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s/%s\t= 0o%o\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
((char *) s2 == NULL ? _Nullp : (char *) s2), \
(int) i1); \
(void) fflush (_DebugFilep);
#define DEBUGsss(s1, s2, s3) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s/%s\t= %s\n", \
((char *) s1 == NULL ? _Nullp : (char *) s1), \
((char *) s2 == NULL ? _Nullp : (char *) s2), \
((char *) s3 == NULL ? _Nullp : (char *) s3));\
(void) fflush (_DebugFilep);
#define DUMP_BYTES(p, length) \
{ \
unsigned int i, c; \
unsigned char *cp; \
(void) _OPEN_DEBUG_FILE \
for (i=0, cp=(unsigned char *)(p); i < length; i++, cp++) { \
c = (unsigned int)*cp; \
(void) fprintf (_DebugFilep, "[%02d] 0x%02x ", i, c); \
if (c & 0x80) (void) fprintf (_DebugFilep, " "); \
else { \
c &= 0x7f; \
if (c >= 0 && c <= 0x1f) \
(void) fprintf(_DebugFilep,"^%c ", c+0x40); \
else if (c == 0x20) (void) fprintf(_DebugFilep, "SP ");\
else if (c == 0x7f) (void) fprintf(_DebugFilep, "DE ");\
} \
if (((i+1)%5) == 0) \
(void) fprintf (_DebugFilep, "\n"); \
} \
(void) fprintf (_DebugFilep, "\n"); \
(void) fflush (_DebugFilep); \
}
#define TRACEP(label) \
(void) _OPEN_DEBUG_FILE \
(void) fprintf (_DebugFilep, "%s/%s\n", FnName, \
((char *) label == NULL ? "position" : (char *) label));\
(void) fflush (_DebugFilep);
#ifdef __STDC__
#define TRACE TRACEx
#define TRACEx(variable) \
DEBUGssx(FnName, #variable, variable)
#define TRACEd(variable) \
DEBUGssd(FnName, #variable, variable)
#define TRACEo(variable) \
DEBUGsso(FnName, #variable, variable)
#define TRACEs(variable) \
DEBUGsss(FnName, #variable, variable)
#define TRACEb(variable, length) \
DEBUGssx(FnName, #variable, variable); \
DUMP_BYTES(variable, length)
#else
#define TRACE TRACEx
#define TRACEx(variable) \
DEBUGssx(FnName, "variable", variable)
#define TRACEd(variable) \
DEBUGssd(FnName, "variable", variable)
#define TRACEo(variable) \
DEBUGsso(FnName, "variable", variable)
#define TRACEs(variable) \
DEBUGsss(FnName, "variable", variable)
#define TRACEb(variable, length) \
DEBUGssx(FnName, "variable", variable); \
DUMP_BYTES(variable, length)
#endif
/*
#define ENTRYP(fnNamep) \
if (_nestCount == _MAX_NEST_COUNT) \
_FnNamep = fnNamep; \
else \
_FnNames [_nestCount++] = _FnNamep = fnNamep; \
TRACEP("entry-point")
#define EXITP \
TRACEP("exit-point") \
if (_nestCount == _MAX_NEST_COUNT || _nestCount == 0) \
_FnNamep = _Unknownp; \
else \
_FnNamep = _FnNames [--_nestCount];
*/
#define ENTRYP \
TRACEP ("**ENTRY-POINT**")
#define EXITP \
TRACEP ("**EXIT-POINT**")
#ifdef __STDC__
int _OpenDebugFile (char *);
int _SetDebugPath (char *);
#else
int _OpenDebugFile ();
int _SetDebugPath ();
#endif
#else
#define DEFINE_FNNAME(fnName)
#define SET_DEBUG_PATH(pathp)
#define OPEN_DEBUG_FILE(pathp)
#define DEBUGs(s1)
#define DEBUGss(s1, s2)
#define DEBUGsd(s1, i1)
#define DEBUGssx(s1, s2, i1)
#define DEBUGssd(s1, s2, i1)
#define DEBUGsso(s1, s2, i1)
#define DEBUGsss(s1, s2, s3)
#define DUMP_BYTES(p, length)
#define TRACEP(label)
#define TRACE(variable)
#define TRACEx(variable)
#define TRACEd(variable)
#define TRACEo(variable)
#define TRACEs(variable)
#define TRACEb(variable, length)
#define ENTRYP
#define EXITP
#define _SetDebugPath(pathp)
#define _OpenDebugFile(pathp)
#endif /* DEBUG */
/*==================================================================*/
#endif /* DEBUG_H */