124 lines
3.7 KiB
C++
124 lines
3.7 KiB
C++
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1992.
|
|
//
|
|
// File: debug.hxx
|
|
//
|
|
// Contents: Debug definitions that shouldn't be necessary
|
|
// in the retail build.
|
|
//
|
|
// History: 19-Nov-92 WadeR Created
|
|
//
|
|
// Notes: If you change or add a debug level, also fix debug.cxx
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __DEBUG_HXX__
|
|
#define __DEBUG_HXX__
|
|
|
|
|
|
#include "sectrace.hxx"
|
|
|
|
|
|
#ifdef RETAIL_LOG_SUPPORT
|
|
|
|
DECLARE_DEBUG2(KDC)
|
|
#define DEB_T_KDC 0x00000010
|
|
#define DEB_T_TICKETS 0x00000020
|
|
#define DEB_T_DOMAIN 0x00000040
|
|
#define DEB_T_SOCK 0x00001000
|
|
#define DEB_T_TRANSIT 0x00000100
|
|
#define DEB_T_PERF_STATS 0x00000200
|
|
#define DEB_T_PKI 0x00000400
|
|
|
|
#define DEB_FUNCTION 0x00010000 // function level tracing
|
|
|
|
#define DebugLog(_x_) KDCDebugPrint _x_
|
|
#define WSZ_DEBUGLEVEL L"DebugLevel"
|
|
|
|
|
|
void GetDebugParams();
|
|
void KerbWatchParamKey(PVOID, BOOLEAN);
|
|
void KerbGetKDCRegParams(HKEY);
|
|
void WaitCleanup(HANDLE);
|
|
|
|
#define KerbPrintKdcName(Level,Name) KerbPrintKdcNameEx(KDCInfoLevel, (Level),(Name))
|
|
|
|
//
|
|
// Extended Error support macros, etc.
|
|
//
|
|
#define EXT_ERROR_ON(s) (s & DEB_USE_EXT_ERROR)
|
|
|
|
#define FILL_EXT_ERROR(pStruct, s, f, l) {if (EXT_ERROR_ON(KDCInfoLevel))\
|
|
{pStruct->status=s;pStruct->klininfo=KLIN(f,l);pStruct->flags=0;}}
|
|
#define FILL_EXT_ERROR_EX(pStruct,s,f,l) {if (EXT_ERROR_ON(KDCInfoLevel))\
|
|
{FILL_EXT_ERROR(pStruct,s,f,l);}else{pStruct->status=s;\
|
|
pStruct->klininfo=0;pStruct->flags=EXT_ERROR_CLIENT_INFO;}}
|
|
|
|
#define DEB_USE_EXT_ERROR 0x10000000 // Add this to DebugLevel
|
|
|
|
#else // no RETAIL_LOG_SUPPORT
|
|
|
|
#define DebugLog(_x_)
|
|
#define GetDebugParams()
|
|
#define DebugStmt(_x_)
|
|
#define KerbWatchParamKey(_x_)
|
|
#define KerbPrintKdcName(l,n)
|
|
#define KerbGetKDCRegParams(_x_)
|
|
#define WaitCleanup(_x_)
|
|
#define EXT_ERROR_ON(s) FALSE
|
|
//#define FillExtError(_x_)
|
|
#define FILL_EXT_ERROR(_X_)
|
|
#define FILL_EXT_ERROR_EX(_X_)
|
|
#define KDCInfoLevel
|
|
|
|
|
|
#endif
|
|
|
|
#if DBG
|
|
|
|
//
|
|
// Functions that only exist in the debug build.
|
|
//
|
|
|
|
void ShowKerbKeyData(PBYTE pData);
|
|
|
|
void PrintIntervalTime ( ULONG DebugFlag, LPSTR Message, PLARGE_INTEGER Interval );
|
|
void PrintTime ( ULONG DebugFlag, LPSTR Message, PLARGE_INTEGER Time );
|
|
|
|
#define DebugStmt(_x_) _x_
|
|
#define D_DebugLog(_x_) DebugLog(_x_) // some debug logs aren't needed in retail builds
|
|
#define D_KerbPrintKdcName(l,n) KerbPrintKdcName(l,n)
|
|
|
|
|
|
#define KerbPrintGuid( level, tag, pg ) \
|
|
pg == NULL ? DebugLog(( level, "%s: (NULL)\n", tag)) : \
|
|
DebugLog((level, \
|
|
"%s: %08x-%04x-%04x-%02x%02x%02x%02x%02x%02x%02x%02x\n", \
|
|
tag,(pg)->Data1,(pg)->Data2,(pg)->Data3,(pg)->Data4[0], \
|
|
(pg)->Data4[1],(pg)->Data4[2],(pg)->Data4[3],(pg)->Data4[4],\
|
|
(pg)->Data4[5],(pg)->Data4[6],(pg)->Data4[7]))
|
|
|
|
|
|
DECLARE_HEAP_DEBUG(KDC);
|
|
|
|
#else
|
|
|
|
#define ShowKerbKeyData(_x_)
|
|
#define PrintIntervalTime(flag,message,interval)
|
|
#define PrintTime(flag,message,time)
|
|
#define D_KerbPrintKdcName(l,n)
|
|
#define KerbPrintGuid( level, tag, pg )
|
|
#define D_DebugLog(_x_)
|
|
|
|
|
|
#endif // dbg
|
|
|
|
|
|
|
|
|
|
|
|
#endif // __DEBUG_HXX__
|