windows-nt/Source/XPSP1/NT/sdktools/debuggers/ntsd64/ntcmd.h
2020-09-26 16:20:57 +08:00

78 lines
2.1 KiB
C

//----------------------------------------------------------------------------
//
// ntcmd.h
//
// Copyright (C) Microsoft Corporation, 1997-2001.
//
//----------------------------------------------------------------------------
#ifndef _NTCMD_H_
#define _NTCMD_H_
#define IS_RUNNING(CmdState) \
((CmdState) == 'g' || (CmdState) == 'p' || \
(CmdState) == 't' || (CmdState) == 'b')
#define IS_STEP_TRACE(CmdState) \
((CmdState) == 'p' || (CmdState) == 't' || (CmdState) == 'b')
extern BOOL g_OciOutputRegs;
extern PSTR g_CommandStart;
extern PSTR g_CurCmd;
extern ULONG g_PromptLength;
extern CHAR g_LastCommand[];
extern CHAR g_CmdState;
extern CHAR g_SymbolSuffix;
extern ULONG g_DefaultRadix;
extern ADDR g_UnasmDefault;
extern ADDR g_AssemDefault;
extern BOOL g_SwitchedProcs;
extern API_VERSION g_NtsdApiVersion;
extern ULONG g_DefaultStackTraceDepth;
extern BOOL g_EchoEventTimestamps;
typedef enum _STACK_TRACE_TYPE
{
STACK_TRACE_TYPE_DEFAULT = 0,
STACK_TRACE_TYPE_KB = 1,
STACK_TRACE_TYPE_KV = 2,
STACK_TRACE_TYPE_KD = 3,
STACK_TRACE_TYPE_KP = 4,
STACK_TRACE_TYPE_KN = 5,
STACK_TRACE_TYPE_KBN = 6,
STACK_TRACE_TYPE_KVN = 7,
STACK_TRACE_TYPE_KDN = 8,
STACK_TRACE_TYPE_KPN = 9,
STACK_TRACE_TYPE_MAX
} STACK_TRACE_TYPE, *PSTACK_TRACE_TYPE;
#define COMMAND_EXCEPTION_BASE 0x0dbcd000
VOID
ParseStackTrace (
PSTACK_TRACE_TYPE pTraceType,
PADDR StartFP,
PULONG64 Esp,
PULONG64 Eip,
PULONG Count
);
extern HRESULT InitNtCmd(DebugClient* Client);
extern void OutputVersionInformation(DebugClient* Client);
extern DWORD CommandExceptionFilter(PEXCEPTION_POINTERS Info);
extern HRESULT ProcessCommands(DebugClient* Client, BOOL Nested);
extern HRESULT ProcessCommandsAndCatch(DebugClient* Client);
extern HRESULT GetPromptText(PSTR Buffer, ULONG BufferSize, PULONG TextSize);
extern void OutputPrompt(PCSTR Format, va_list Args);
VOID
HandleBPWithStatus(
VOID
);
void CallBugCheckExtension(DebugClient* Client);
void
ParsePageIn(void);
#endif // #ifndef _NTCMD_H_