23 lines
595 B
C
23 lines
595 B
C
// Public nt-lite DDK interrupt declarations.
|
|
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <ntlite/status.h>
|
|
|
|
typedef struct NTL_DDK_MSI_MESSAGE {
|
|
uint64_t Address;
|
|
uint32_t Data;
|
|
uint32_t Reserved;
|
|
} NTL_DDK_MSI_MESSAGE;
|
|
|
|
|
|
|
|
// Allocates one kernel IRQ slot for MSI delivery.
|
|
__declspec(dllexport) KSTATUS KeIrqAllocateMsiVector(uint8_t* outIrq);
|
|
|
|
// Registers a legacy interrupt handler for an IRQ slot.
|
|
__declspec(dllexport) void KeIrqRegister(uint8_t irq, void (*handler)(void));
|
|
|
|
__declspec(dllexport) KSTATUS KeIrqComposeMsiMessage(uint8_t irq, NTL_DDK_MSI_MESSAGE* messageOut);
|