reactos/include/xdk/kdfuncs.h
Timo Kreuzer 479c28b333 [HEADERS]
Say hello to the "XDK" (preliminary name). A set of headers from wich certain other headers (wdm, ntifs, ntddk, winnt) shall one day be autogenerated. I added a .bat file that autogenerates wdn.h from wdm.template.h and the headers. Others will follow.

svn path=/branches/header-work/; revision=46157
2010-03-13 00:34:48 +00:00

168 lines
2.9 KiB
C

/******************************************************************************
* Kernel Debugger Functions *
******************************************************************************/
#ifndef _DBGNT_
ULONG
DDKCDECLAPI
DbgPrint(
IN PCSTR Format,
IN ...);
#endif
#if DBG
#define KdPrint(_x_) DbgPrint _x_
#define KdPrintEx(_x_) DbgPrintEx _x_
#define vKdPrintExWithPrefix(_x_) vDbgPrintExWithPrefix _x_
#define KdBreakPoint() DbgBreakPoint()
#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
#else /* !DBG */
#define KdPrint(_x_)
#define KdPrintEx(_x_)
#define vKdPrintExWithPrefix(_x_)
#define KdBreakPoint()
#define KdBreakPointWithStatus(s)
#endif /* !DBG */
#if defined(__GNUC__)
extern NTKERNELAPI BOOLEAN KdDebuggerNotPresent;
extern NTKERNELAPI BOOLEAN KdDebuggerEnabled;
#define KD_DEBUGGER_ENABLED KdDebuggerEnabled
#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
#elif defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_)
extern NTKERNELAPI PBOOLEAN KdDebuggerNotPresent;
extern NTKERNELAPI PBOOLEAN KdDebuggerEnabled;
#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
#else
extern BOOLEAN KdDebuggerNotPresent;
extern BOOLEAN KdDebuggerEnabled;
#define KD_DEBUGGER_ENABLED KdDebuggerEnabled
#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
#endif
#ifdef _VA_LIST_DEFINED
#if (NTDDI_VERSION >= NTDDI_WINXP)
NTSYSAPI
ULONG
NTAPI
vDbgPrintEx(
IN ULONG ComponentId,
IN ULONG Level,
IN PCCH Format,
IN va_list ap);
NTSYSAPI
ULONG
NTAPI
vDbgPrintExWithPrefix(
IN PCCH Prefix,
IN ULONG ComponentId,
IN ULONG Level,
IN PCCH Format,
IN va_list ap);
#endif
#endif // _VA_LIST_DEFINED
#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTKERNELAPI
NTSTATUS
NTAPI
KdDisableDebugger(
VOID);
NTKERNELAPI
NTSTATUS
NTAPI
KdEnableDebugger(
VOID);
#if (_MSC_FULL_VER >= 150030729) && !defined(IMPORT_NATIVE_DBG_BREAK)
#define DbgBreakPoint __debugbreak
#else
VOID
NTAPI
DbgBreakPoint(
VOID);
#endif
NTSYSAPI
VOID
NTAPI
DbgBreakPointWithStatus(
IN ULONG Status);
NTSYSAPI
ULONG
DDKCDECLAPI
DbgPrintReturnControlC(
IN PCCH Format,
IN ...);
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
NTSYSAPI
ULONG
DDKCDECLAPI
DbgPrintEx(
IN ULONG ComponentId,
IN ULONG Level,
IN PCSTR Format,
IN ...);
NTSYSAPI
NTSTATUS
NTAPI
DbgQueryDebugFilterState(
IN ULONG ComponentId,
IN ULONG Level);
NTSYSAPI
NTSTATUS
NTAPI
DbgSetDebugFilterState(
IN ULONG ComponentId,
IN ULONG Level,
IN BOOLEAN State);
#endif
#if (NTDDI_VERSION >= NTDDI_WS03)
NTKERNELAPI
BOOLEAN
NTAPI
KdRefreshDebuggerNotPresent(
VOID
);
#endif
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
NTKERNELAPI
NTSTATUS
NTAPI
KdChangeOption(
IN KD_OPTION Option,
IN ULONG InBufferBytes OPTIONAL,
IN PVOID InBuffer,
IN ULONG OutBufferBytes OPTIONAL,
OUT PVOID OutBuffer,
OUT PULONG OutBufferNeeded OPTIONAL);
#endif