windows-nt/Source/XPSP1/NT/base/ntos/inc/kddll.h

95 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
kddll.h
Abstract:
Kernel Debugger HW Extension DLL definitions
Author:
Eric Nelson (enelson) 1/10/2000
Revision History:
--*/
#ifndef __KDDLL_H__
#define __KDDLL_H__
//
// This Kernel Debugger Context structure is used to share
// information between the Kernel Debugger and the Kernel
// Debugger HW extension DLL
//
typedef struct _KD_CONTEXT {
ULONG KdpDefaultRetries;
BOOLEAN KdpControlCPending;
} KD_CONTEXT, *PKD_CONTEXT;
//
// Kernel Debugger HW Extension DLL exported functions
//
NTSTATUS
KdD0Transition(
VOID
);
NTSTATUS
KdD3Transition(
VOID
);
NTSTATUS
KdDebuggerInitialize0(
IN PLOADER_PARAMETER_BLOCK LoaderBlock
);
NTSTATUS
KdDebuggerInitialize1(
IN PLOADER_PARAMETER_BLOCK LoaderBlock
);
ULONG
KdReceivePacket(
IN ULONG PacketType,
OUT PSTRING MessageHeader,
OUT PSTRING MessageData,
OUT PULONG DataLength,
IN OUT PKD_CONTEXT KdContext
);
NTSTATUS
KdRestore(
IN BOOLEAN KdSleepTransition
);
NTSTATUS
KdSave(
IN BOOLEAN KdSleepTransition
);
//
// status Constants for Packet waiting
//
#define KDP_PACKET_RECEIVED 0
#define KDP_PACKET_TIMEOUT 1
#define KDP_PACKET_RESEND 2
VOID
KdSendPacket(
IN ULONG PacketType,
IN PSTRING MessageHeader,
IN PSTRING MessageData OPTIONAL,
IN OUT PKD_CONTEXT KdContext
);
#endif // __KDDLL_H__