ReactOS 0.4.17-dev-357-ga8f14ff
kdnetextensibility.h File Reference
Include dependency graph for kdnetextensibility.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _KDNET_EXTENSIBILITY_EXPORTS
 
struct  _KDNET_EXTENSIBILITY_IMPORTS
 

Macros

#define KDNET_EXT_EXPORTS   15
 
#define KDNET_EXT_IMPORTS   33
 

Typedefs

typedef NTSTATUS(NTAPIKD_INITIALIZE_CONTROLLER) (_In_ PKDNET_SHARED_DATA KdNet)
 
typedef VOID(NTAPIKD_SHUTDOWN_CONTROLLER) (_In_ PVOID Adapter)
 
typedef VOID(NTAPIKD_SET_HIBERNATE_RANGE) (VOID)
 
typedef NTSTATUS(NTAPIKD_DEVICE_CONTROL) (_In_ PVOID Adapter, _In_ ULONG RequestCode, _In_reads_bytes_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength)
 
typedef NTSTATUS(NTAPIKD_GET_RX_PACKET) (_In_ PVOID Adapter, _Out_ PULONG Handle, _Out_ PVOID *Packet, _Out_ PULONG Length)
 
typedef VOID(NTAPIKD_RELEASE_RX_PACKET) (_In_ PVOID Adapter, _In_ ULONG Handle)
 
typedef NTSTATUS(NTAPIKD_GET_TX_PACKET) (_In_ PVOID Adapter, _Out_ PULONG Handle)
 
typedef NTSTATUS(NTAPIKD_SEND_TX_PACKET) (_In_ PVOID Adapter, _In_ ULONG Handle, _In_ ULONG Length)
 
typedef PVOID(NTAPIKD_GET_PACKET_ADDRESS) (_In_ PVOID Adapter, _In_ ULONG Handle)
 
typedef ULONG(NTAPIKD_GET_PACKET_LENGTH) (_In_ PVOID Adapter, _In_ ULONG Handle)
 
typedef ULONG(NTAPIKD_GET_HARDWARE_CONTEXT_SIZE) (_In_ struct _DEBUG_DEVICE_DESCRIPTOR *Device)
 
typedef NTSTATUS(NTAPIKD_READ_SERIAL_BYTE) (_In_ PVOID Adapter, _Out_ PUCHAR Byte)
 
typedef NTSTATUS(NTAPIKD_WRITE_SERIAL_BYTE) (_In_ PVOID Adapter, _In_ UCHAR Byte)
 
typedef NTSTATUS(NTAPIDEBUG_SERIAL_OUTPUT_INIT) (_In_opt_ struct _DEBUG_DEVICE_DESCRIPTOR *pDevice, _Out_opt_ PPHYSICAL_ADDRESS PAddress)
 
typedef VOID(NTAPIDEBUG_SERIAL_OUTPUT_BYTE) (_In_ UCHAR byte)
 
typedef struct _KDNET_EXTENSIBILITY_EXPORTS KDNET_EXTENSIBILITY_EXPORTS
 
typedef struct _KDNET_EXTENSIBILITY_EXPORTSPKDNET_EXTENSIBILITY_EXPORTS
 
typedef PHYSICAL_ADDRESS(NTAPIKDNET_GET_PHYSICAL_ADDRESS) (_In_ PVOID Va)
 
typedef VOID(NTAPIKDNET_STALL_EXECUTION_PROCESSOR) (ULONG Microseconds)
 
typedef UCHAR(NTAPIKDNET_READ_REGISTER_UCHAR) (_In_ PUCHAR Register)
 
typedef USHORT(NTAPIKDNET_READ_REGISTER_USHORT) (_In_ PUSHORT Register)
 
typedef ULONG(NTAPIKDNET_READ_REGISTER_ULONG) (_In_ PULONG Register)
 
typedef ULONG64(NTAPIKDNET_READ_REGISTER_ULONG64) (_In_ ULONG64 *Register)
 
typedef VOID(NTAPIKDNET_WRITE_REGISTER_UCHAR) (_In_ PUCHAR Register, _In_ UCHAR Value)
 
typedef VOID(NTAPIKDNET_WRITE_REGISTER_USHORT) (_In_ PUSHORT Register, _In_ USHORT Value)
 
typedef VOID(NTAPIKDNET_WRITE_REGISTER_ULONG) (_In_ PULONG Register, _In_ ULONG Value)
 
typedef VOID(NTAPIKDNET_WRITE_REGISTER_ULONG64) (_In_ ULONG64 *Register, _In_ ULONG64 Value)
 
typedef UCHAR(NTAPIKDNET_READ_PORT_UCHAR) (_In_ PUCHAR Port)
 
typedef USHORT(NTAPIKDNET_READ_PORT_USHORT) (_In_ PUSHORT Port)
 
typedef ULONG(NTAPIKDNET_READ_PORT_ULONG) (_In_ PULONG Port)
 
typedef ULONG64(NTAPIKDNET_READ_PORT_ULONG64) (_In_ ULONG64 *Port)
 
typedef VOID(NTAPIKDNET_WRITE_PORT_UCHAR) (_In_ PUCHAR Port, _In_ UCHAR Value)
 
typedef VOID(NTAPIKDNET_WRITE_PORT_USHORT) (_In_ PUSHORT Port, _In_ USHORT Value)
 
typedef VOID(NTAPIKDNET_WRITE_PORT_ULONG) (_In_ PULONG Port, _In_ ULONG Value)
 
typedef VOID(NTAPIKDNET_WRITE_PORT_ULONG64) (_In_ PULONG Port, _In_ ULONG64 Value)
 
typedef ULONG(NTAPIKDNET_GET_PCI_DATA_BY_OFFSET) (_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
 
typedef ULONG(NTAPIKDNET_SET_PCI_DATA_BY_OFFSET) (_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
 
typedef VOID(NTAPIKDNET_SET_HIBER_RANGE) (_In_opt_ PVOID MemoryMap, _In_ ULONG Flags, _In_ PVOID Address, _In_ ULONG_PTR Length, _In_ ULONG Tag)
 
typedef VOID(NTAPIKDNET_BUGCHECK_EX) (_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
 
typedef PVOID(NTAPIKDNET_MAP_PHYSICAL_MEMORY_64) (_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
 
typedef VOID(NTAPIKDNET_UNMAP_VIRTUAL_ADDRESS) (_In_ PVOID VirtualAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
 
typedef ULONG64(NTAPIKDNET_READ_CYCLE_COUNTER) (_Out_opt_ ULONG64 *Frequency)
 
typedef VOID(NTAPIKDNET_DBGPRINT) (_In_ PCHAR pFmt,...)
 
typedef struct _KDNET_EXTENSIBILITY_IMPORTS KDNET_EXTENSIBILITY_IMPORTS
 
typedef struct _KDNET_EXTENSIBILITY_IMPORTSPKDNET_EXTENSIBILITY_IMPORTS
 

Functions

NTSTATUS NTAPI KdInitializeLibrary (_In_ PKDNET_EXTENSIBILITY_IMPORTS ImportTable, _In_opt_ PCHAR LoaderOptions, _Inout_ struct _DEBUG_DEVICE_DESCRIPTOR *Device)
 

Macro Definition Documentation

◆ KDNET_EXT_EXPORTS

#define KDNET_EXT_EXPORTS   15

Definition at line 39 of file kdnetextensibility.h.

◆ KDNET_EXT_IMPORTS

#define KDNET_EXT_IMPORTS   33

Definition at line 95 of file kdnetextensibility.h.

Typedef Documentation

◆ DEBUG_SERIAL_OUTPUT_BYTE

typedef VOID(NTAPI * DEBUG_SERIAL_OUTPUT_BYTE) (_In_ UCHAR byte)

Definition at line 37 of file kdnetextensibility.h.

◆ DEBUG_SERIAL_OUTPUT_INIT

typedef NTSTATUS(NTAPI * DEBUG_SERIAL_OUTPUT_INIT) (_In_opt_ struct _DEBUG_DEVICE_DESCRIPTOR *pDevice, _Out_opt_ PPHYSICAL_ADDRESS PAddress)

Definition at line 35 of file kdnetextensibility.h.

◆ KD_DEVICE_CONTROL

◆ KD_GET_HARDWARE_CONTEXT_SIZE

typedef ULONG(NTAPI * KD_GET_HARDWARE_CONTEXT_SIZE) (_In_ struct _DEBUG_DEVICE_DESCRIPTOR *Device)

Definition at line 32 of file kdnetextensibility.h.

◆ KD_GET_PACKET_ADDRESS

typedef PVOID(NTAPI * KD_GET_PACKET_ADDRESS) (_In_ PVOID Adapter, _In_ ULONG Handle)

Definition at line 30 of file kdnetextensibility.h.

◆ KD_GET_PACKET_LENGTH

typedef ULONG(NTAPI * KD_GET_PACKET_LENGTH) (_In_ PVOID Adapter, _In_ ULONG Handle)

Definition at line 31 of file kdnetextensibility.h.

◆ KD_GET_RX_PACKET

typedef NTSTATUS(NTAPI * KD_GET_RX_PACKET) (_In_ PVOID Adapter, _Out_ PULONG Handle, _Out_ PVOID *Packet, _Out_ PULONG Length)

Definition at line 25 of file kdnetextensibility.h.

◆ KD_GET_TX_PACKET

typedef NTSTATUS(NTAPI * KD_GET_TX_PACKET) (_In_ PVOID Adapter, _Out_ PULONG Handle)

Definition at line 28 of file kdnetextensibility.h.

◆ KD_INITIALIZE_CONTROLLER

typedef NTSTATUS(NTAPI * KD_INITIALIZE_CONTROLLER) (_In_ PKDNET_SHARED_DATA KdNet)

Definition at line 19 of file kdnetextensibility.h.

◆ KD_READ_SERIAL_BYTE

typedef NTSTATUS(NTAPI * KD_READ_SERIAL_BYTE) (_In_ PVOID Adapter, _Out_ PUCHAR Byte)

Definition at line 33 of file kdnetextensibility.h.

◆ KD_RELEASE_RX_PACKET

typedef VOID(NTAPI * KD_RELEASE_RX_PACKET) (_In_ PVOID Adapter, _In_ ULONG Handle)

Definition at line 27 of file kdnetextensibility.h.

◆ KD_SEND_TX_PACKET

typedef NTSTATUS(NTAPI * KD_SEND_TX_PACKET) (_In_ PVOID Adapter, _In_ ULONG Handle, _In_ ULONG Length)

Definition at line 29 of file kdnetextensibility.h.

◆ KD_SET_HIBERNATE_RANGE

typedef VOID(NTAPI * KD_SET_HIBERNATE_RANGE) (VOID)

Definition at line 21 of file kdnetextensibility.h.

◆ KD_SHUTDOWN_CONTROLLER

typedef VOID(NTAPI * KD_SHUTDOWN_CONTROLLER) (_In_ PVOID Adapter)

Definition at line 20 of file kdnetextensibility.h.

◆ KD_WRITE_SERIAL_BYTE

typedef NTSTATUS(NTAPI * KD_WRITE_SERIAL_BYTE) (_In_ PVOID Adapter, _In_ UCHAR Byte)

Definition at line 34 of file kdnetextensibility.h.

◆ KDNET_BUGCHECK_EX

typedef VOID(NTAPI * KDNET_BUGCHECK_EX) (_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)

Definition at line 85 of file kdnetextensibility.h.

◆ KDNET_DBGPRINT

typedef VOID(NTAPI * KDNET_DBGPRINT) (_In_ PCHAR pFmt,...)

Definition at line 93 of file kdnetextensibility.h.

◆ KDNET_EXTENSIBILITY_EXPORTS

◆ KDNET_EXTENSIBILITY_IMPORTS

◆ KDNET_GET_PCI_DATA_BY_OFFSET

Definition at line 79 of file kdnetextensibility.h.

◆ KDNET_GET_PHYSICAL_ADDRESS

typedef PHYSICAL_ADDRESS(NTAPI * KDNET_GET_PHYSICAL_ADDRESS) (_In_ PVOID Va)

Definition at line 61 of file kdnetextensibility.h.

◆ KDNET_MAP_PHYSICAL_MEMORY_64

typedef PVOID(NTAPI * KDNET_MAP_PHYSICAL_MEMORY_64) (_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)

Definition at line 88 of file kdnetextensibility.h.

◆ KDNET_READ_CYCLE_COUNTER

typedef ULONG64(NTAPI * KDNET_READ_CYCLE_COUNTER) (_Out_opt_ ULONG64 *Frequency)

Definition at line 92 of file kdnetextensibility.h.

◆ KDNET_READ_PORT_UCHAR

typedef UCHAR(NTAPI * KDNET_READ_PORT_UCHAR) (_In_ PUCHAR Port)

Definition at line 71 of file kdnetextensibility.h.

◆ KDNET_READ_PORT_ULONG

typedef ULONG(NTAPI * KDNET_READ_PORT_ULONG) (_In_ PULONG Port)

Definition at line 73 of file kdnetextensibility.h.

◆ KDNET_READ_PORT_ULONG64

typedef ULONG64(NTAPI * KDNET_READ_PORT_ULONG64) (_In_ ULONG64 *Port)

Definition at line 74 of file kdnetextensibility.h.

◆ KDNET_READ_PORT_USHORT

typedef USHORT(NTAPI * KDNET_READ_PORT_USHORT) (_In_ PUSHORT Port)

Definition at line 72 of file kdnetextensibility.h.

◆ KDNET_READ_REGISTER_UCHAR

typedef UCHAR(NTAPI * KDNET_READ_REGISTER_UCHAR) (_In_ PUCHAR Register)

Definition at line 63 of file kdnetextensibility.h.

◆ KDNET_READ_REGISTER_ULONG

typedef ULONG(NTAPI * KDNET_READ_REGISTER_ULONG) (_In_ PULONG Register)

Definition at line 65 of file kdnetextensibility.h.

◆ KDNET_READ_REGISTER_ULONG64

typedef ULONG64(NTAPI * KDNET_READ_REGISTER_ULONG64) (_In_ ULONG64 *Register)

Definition at line 66 of file kdnetextensibility.h.

◆ KDNET_READ_REGISTER_USHORT

typedef USHORT(NTAPI * KDNET_READ_REGISTER_USHORT) (_In_ PUSHORT Register)

Definition at line 64 of file kdnetextensibility.h.

◆ KDNET_SET_HIBER_RANGE

Definition at line 83 of file kdnetextensibility.h.

◆ KDNET_SET_PCI_DATA_BY_OFFSET

Definition at line 81 of file kdnetextensibility.h.

◆ KDNET_STALL_EXECUTION_PROCESSOR

typedef VOID(NTAPI * KDNET_STALL_EXECUTION_PROCESSOR) (ULONG Microseconds)

Definition at line 62 of file kdnetextensibility.h.

◆ KDNET_UNMAP_VIRTUAL_ADDRESS

typedef VOID(NTAPI * KDNET_UNMAP_VIRTUAL_ADDRESS) (_In_ PVOID VirtualAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)

Definition at line 90 of file kdnetextensibility.h.

◆ KDNET_WRITE_PORT_UCHAR

typedef VOID(NTAPI * KDNET_WRITE_PORT_UCHAR) (_In_ PUCHAR Port, _In_ UCHAR Value)

Definition at line 75 of file kdnetextensibility.h.

◆ KDNET_WRITE_PORT_ULONG

typedef VOID(NTAPI * KDNET_WRITE_PORT_ULONG) (_In_ PULONG Port, _In_ ULONG Value)

Definition at line 77 of file kdnetextensibility.h.

◆ KDNET_WRITE_PORT_ULONG64

typedef VOID(NTAPI * KDNET_WRITE_PORT_ULONG64) (_In_ PULONG Port, _In_ ULONG64 Value)

Definition at line 78 of file kdnetextensibility.h.

◆ KDNET_WRITE_PORT_USHORT

typedef VOID(NTAPI * KDNET_WRITE_PORT_USHORT) (_In_ PUSHORT Port, _In_ USHORT Value)

Definition at line 76 of file kdnetextensibility.h.

◆ KDNET_WRITE_REGISTER_UCHAR

typedef VOID(NTAPI * KDNET_WRITE_REGISTER_UCHAR) (_In_ PUCHAR Register, _In_ UCHAR Value)

Definition at line 67 of file kdnetextensibility.h.

◆ KDNET_WRITE_REGISTER_ULONG

typedef VOID(NTAPI * KDNET_WRITE_REGISTER_ULONG) (_In_ PULONG Register, _In_ ULONG Value)

Definition at line 69 of file kdnetextensibility.h.

◆ KDNET_WRITE_REGISTER_ULONG64

typedef VOID(NTAPI * KDNET_WRITE_REGISTER_ULONG64) (_In_ ULONG64 *Register, _In_ ULONG64 Value)

Definition at line 70 of file kdnetextensibility.h.

◆ KDNET_WRITE_REGISTER_USHORT

typedef VOID(NTAPI * KDNET_WRITE_REGISTER_USHORT) (_In_ PUSHORT Register, _In_ USHORT Value)

Definition at line 68 of file kdnetextensibility.h.

◆ PKDNET_EXTENSIBILITY_EXPORTS

◆ PKDNET_EXTENSIBILITY_IMPORTS

Function Documentation

◆ KdInitializeLibrary()

NTSTATUS NTAPI KdInitializeLibrary ( _In_ PKDNET_EXTENSIBILITY_IMPORTS  ImportTable,
_In_opt_ PCHAR  LoaderOptions,
_Inout_ struct _DEBUG_DEVICE_DESCRIPTOR Device 
)