From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- private/ntos/ndis/digi/pcimac/disp.h | 147 +++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 private/ntos/ndis/digi/pcimac/disp.h (limited to 'private/ntos/ndis/digi/pcimac/disp.h') diff --git a/private/ntos/ndis/digi/pcimac/disp.h b/private/ntos/ndis/digi/pcimac/disp.h new file mode 100644 index 000000000..b79bbf5fe --- /dev/null +++ b/private/ntos/ndis/digi/pcimac/disp.h @@ -0,0 +1,147 @@ +/* + * DISP.H - debug display macro's under NDIS + */ + +#ifndef _DISP_ +#define _DISP_ + +#if !BINARY_COMPATIBLE +#include "digifile.h" +#include "memprint.h" +#else +#define DbgBreakPoint() {__asm { int 3 };} +#endif + +extern ULONG DigiDebugLevel; + +#define DIGIINIT ((ULONG)0x00000001) +#define DIGISETINFO ((ULONG)0x00000002) +#define DIGIGETINFO ((ULONG)0x00000004) +#define DIGIWANINFO ((ULONG)0x00000008) +#define DIGISXBINFO ((ULONG)0x00000010) +#define DIGITAPIINFO ((ULONG)0x00000020) +#define DIGIRECVDATA ((ULONG)0x00000040) +#define DIGITXDATA ((ULONG)0x00000080) +#define DIGIRARE ((ULONG)0x00000100) +#define DIGIWANERR ((ULONG)0x00000200) +#define DIGIWANERRDATA ((ULONG)0x00000400) +#define DIGIRXDATA ((ULONG)0x00000800) +#define DIGIWANOID ((ULONG)0x00010000) +#define DIGIQ931 ((ULONG)0x00020000) +#define DIGIIRP ((ULONG)0x00040000) +#define DIGIWAIT ((ULONG)0x00080000) +#define DIGITXFRAGDATA ((ULONG)0x00100000) +#define DIGIRXFRAGDATA ((ULONG)0x00200000) +#define DIGIIDD ((ULONG)0x00400000) +#define DIGINEVER ((ULONG)0x00800000) +#define DIGIATLASFLOW ((ULONG)0x01000000) +#define DIGIWINISDN ((ULONG)0x02000000) +#define DIGICALLSTATES ((ULONG)0x04000000) +#define DIGIMTL ((ULONG)0x08000000) +#define DIGIFLOW ((ULONG)0x10000000) +#define DIGIERRORS ((ULONG)0x20000000) +#define DIGINOTIMPLEMENTED ((ULONG)0x40000000) +#define DIGIBUGCHECK ((ULONG)0x80000000) +#define DIGIINFO (DIGIGETINFO | DIGISETINFO) + +#if DBG + +#define DigiAssert 1 +#if DigiAssert +#undef ASSERT +#define ASSERT( STRING ) \ + if( !(STRING) ) \ + { \ + DbgPrint( "ASSERT failed: " #STRING "\nfile: %s, line %d\n", __FILE__, __LINE__ ); \ + DbgBreakPoint(); \ + } +#endif + +#define DigiDump(LEVEL,STRING) \ + do { \ + ULONG _level = (LEVEL); \ + if ((DigiDebugLevel & _level) || (_level & DIGINOTIMPLEMENTED)) \ + { \ + DbgPrint STRING; \ + } \ + if (_level & DIGIBUGCHECK) \ + { \ + ASSERT(FALSE); \ + } \ + } while (0) + +#define DigiDumpData(LEVEL, DATA, LEN) \ + do \ + { \ + ULONG _DataLevel = (LEVEL); \ + ULONG _i, _k; \ + ULONG _len = (LEN); \ + PCHAR _data = (DATA); \ + \ + _k = 0; \ + while( _k <= _len ) \ + { \ + if( (_len - _k) > 16 ) \ + { \ + for( _i = 0; _i < 16; _i++ ) \ + { \ + DigiDump( _DataLevel, ( "%02x ", (_data[_i] & 0xFF)) ); \ + _k++; \ + } \ + \ + DigiDump( _DataLevel, ( " ") ); \ + \ + for( _i = 0; _i < 16; _i++ ) \ + { \ + if( _data[_i] >= 0x20 && _data[_i] <= 0x7E ) \ + DigiDump( _DataLevel, ( "%c",_data[_i]) ); \ + else \ + DigiDump( _DataLevel, ( ".") ); \ + } \ + DigiDump( _DataLevel, ( "\n") ); \ + _data += _i; \ + } \ + else \ + { \ + for( _i = 0; _i < (_len - _k); _i++ ) \ + { \ + DigiDump( _DataLevel, ( "%02x ",(_data[_i] & 0xFF)) ); \ + } \ + \ + for( _i = 0; _i < (16 - (_len - _k)); _i++ ) \ + DigiDump( _DataLevel, ( " ") ); \ + \ + DigiDump( _DataLevel, ( " ") ); \ + \ + for( _i = 0; _i < (_len - _k); _i++ ) \ + { \ + if(_data[_i] >= 0x20 && _data[_i] <= 0x7E) \ + DigiDump( _DataLevel, ( "%c",_data[_i]) ); \ + else \ + DigiDump( _DataLevel, ( ".") ); \ + } \ + DigiDump( _DataLevel, ( "\n") ); \ + break; \ + } \ + } \ + } while ( 0 ); + +#else +#define DigiDump(LEVEL,STRING) do {NOTHING;} while (0) +#define DigiDumpData(LEVEL,DATA,LEN) do {NOTHING;} while (0) +#endif + +/* main macro to be used for logging */ +#define D_LOG(level, args) DigiDump( level, args ) + +/* log levels */ +#define D_ALWAYS DIGIFLOW +#define D_ENTRY DIGIFLOW +#define D_EXIT DIGIFLOW +#define D_RARE DIGIRARE +#define D_NEVER DIGINEVER + + +#endif /* _DISP_ */ + + -- cgit v1.2.3