mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 18:33:10 +00:00
[DDK] Bring nt_vdd.h up to DDK formatting standards and use annotations. NFC.
svn path=/trunk/; revision=66682
This commit is contained in:
parent
959962a683
commit
d534d99907
1 changed files with 154 additions and 171 deletions
|
@ -28,9 +28,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/* VDM Control */
|
||||||
* VDM Control
|
|
||||||
*/
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
WINAPI
|
WINAPI
|
||||||
|
@ -41,251 +39,236 @@ WINAPI
|
||||||
VDDTerminateVDM(VOID);
|
VDDTerminateVDM(VOID);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* IRQ services */
|
||||||
* IRQ services
|
|
||||||
*/
|
|
||||||
|
|
||||||
WORD
|
WORD
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDReserveIrqLine
|
VDDReserveIrqLine(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD IrqLine);
|
||||||
IN WORD IrqLine
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDReleaseIrqLine
|
VDDReleaseIrqLine(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD IrqLine);
|
||||||
IN WORD IrqLine
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* I/O Port services */
|
||||||
* I/O Port services
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef VOID (WINAPI *PFNVDD_INB) (WORD iport, PBYTE data);
|
typedef VOID
|
||||||
typedef VOID (WINAPI *PFNVDD_INW) (WORD iport, PWORD data);
|
(WINAPI *PFNVDD_INB)(
|
||||||
typedef VOID (WINAPI *PFNVDD_INSB) (WORD iport, PBYTE data, WORD count);
|
WORD iport,
|
||||||
typedef VOID (WINAPI *PFNVDD_INSW) (WORD iport, PWORD data, WORD count);
|
PBYTE data);
|
||||||
typedef VOID (WINAPI *PFNVDD_OUTB) (WORD iport, BYTE data);
|
|
||||||
typedef VOID (WINAPI *PFNVDD_OUTW) (WORD iport, WORD data);
|
|
||||||
typedef VOID (WINAPI *PFNVDD_OUTSB) (WORD iport, PBYTE data, WORD count);
|
|
||||||
typedef VOID (WINAPI *PFNVDD_OUTSW) (WORD iport, PWORD data, WORD count);
|
|
||||||
|
|
||||||
typedef struct _VDD_IO_HANDLERS
|
typedef VOID
|
||||||
{
|
(WINAPI *PFNVDD_INW)(
|
||||||
PFNVDD_INB inb_handler;
|
WORD iport,
|
||||||
PFNVDD_INW inw_handler;
|
PWORD data);
|
||||||
PFNVDD_INSB insb_handler;
|
|
||||||
PFNVDD_INSW insw_handler;
|
typedef VOID
|
||||||
PFNVDD_OUTB outb_handler;
|
(WINAPI *PFNVDD_INSB)(
|
||||||
PFNVDD_OUTW outw_handler;
|
WORD iport,
|
||||||
PFNVDD_OUTSB outsb_handler;
|
PBYTE data,
|
||||||
PFNVDD_OUTSW outsw_handler;
|
WORD count);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(WINAPI *PFNVDD_INSW)(
|
||||||
|
WORD iport,
|
||||||
|
PWORD data,
|
||||||
|
WORD count);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(WINAPI *PFNVDD_OUTB)(
|
||||||
|
WORD iport,
|
||||||
|
BYTE data);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(WINAPI *PFNVDD_OUTW)(
|
||||||
|
WORD iport,
|
||||||
|
WORD data);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(WINAPI *PFNVDD_OUTSB)(
|
||||||
|
WORD iport,
|
||||||
|
PBYTE data,
|
||||||
|
WORD count);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(WINAPI *PFNVDD_OUTSW)(
|
||||||
|
WORD iport,
|
||||||
|
PWORD data,
|
||||||
|
WORD count);
|
||||||
|
|
||||||
|
typedef struct _VDD_IO_HANDLERS {
|
||||||
|
PFNVDD_INB inb_handler;
|
||||||
|
PFNVDD_INW inw_handler;
|
||||||
|
PFNVDD_INSB insb_handler;
|
||||||
|
PFNVDD_INSW insw_handler;
|
||||||
|
PFNVDD_OUTB outb_handler;
|
||||||
|
PFNVDD_OUTW outw_handler;
|
||||||
|
PFNVDD_OUTSB outsb_handler;
|
||||||
|
PFNVDD_OUTSW outsw_handler;
|
||||||
} VDD_IO_HANDLERS, *PVDD_IO_HANDLERS;
|
} VDD_IO_HANDLERS, *PVDD_IO_HANDLERS;
|
||||||
|
|
||||||
typedef struct _VDD_IO_PORTRANGE
|
typedef struct _VDD_IO_PORTRANGE {
|
||||||
{
|
WORD First;
|
||||||
WORD First;
|
WORD Last;
|
||||||
WORD Last;
|
|
||||||
} VDD_IO_PORTRANGE, *PVDD_IO_PORTRANGE;
|
} VDD_IO_PORTRANGE, *PVDD_IO_PORTRANGE;
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDInstallIOHook
|
VDDInstallIOHook(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD cPortRange,
|
||||||
IN WORD cPortRange,
|
_In_ PVDD_IO_PORTRANGE pPortRange,
|
||||||
IN PVDD_IO_PORTRANGE pPortRange,
|
_In_ PVDD_IO_HANDLERS IOhandler);
|
||||||
IN PVDD_IO_HANDLERS IOhandler
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDDeInstallIOHook
|
VDDDeInstallIOHook(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD cPortRange,
|
||||||
IN WORD cPortRange,
|
_In_ PVDD_IO_PORTRANGE pPortRange);
|
||||||
IN PVDD_IO_PORTRANGE pPortRange
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* DMA services */
|
||||||
* DMA services
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef struct _VDD_DMA_INFO
|
typedef struct _VDD_DMA_INFO {
|
||||||
{
|
WORD addr;
|
||||||
WORD addr;
|
WORD count;
|
||||||
WORD count;
|
WORD page;
|
||||||
WORD page;
|
BYTE status;
|
||||||
BYTE status;
|
BYTE mode;
|
||||||
BYTE mode;
|
BYTE mask;
|
||||||
BYTE mask;
|
|
||||||
} VDD_DMA_INFO, *PVDD_DMA_INFO;
|
} VDD_DMA_INFO, *PVDD_DMA_INFO;
|
||||||
|
|
||||||
#define VDD_DMA_ADDR 0x01
|
#define VDD_DMA_ADDR 0x01
|
||||||
#define VDD_DMA_COUNT 0x02
|
#define VDD_DMA_COUNT 0x02
|
||||||
#define VDD_DMA_PAGE 0x04
|
#define VDD_DMA_PAGE 0x04
|
||||||
#define VDD_DMA_STATUS 0x08
|
#define VDD_DMA_STATUS 0x08
|
||||||
#define VDD_DMA_ALL (VDD_DMA_ADDR | VDD_DMA_COUNT | VDD_DMA_PAGE | VDD_DMA_STATUS)
|
#define VDD_DMA_ALL (VDD_DMA_ADDR | VDD_DMA_COUNT | VDD_DMA_PAGE | VDD_DMA_STATUS)
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDRequestDMA
|
VDDRequestDMA(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD iChannel,
|
||||||
IN WORD iChannel,
|
_Inout_ PVOID Buffer,
|
||||||
IN OUT PVOID Buffer,
|
_In_ DWORD length);
|
||||||
IN DWORD length
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDQueryDMA
|
VDDQueryDMA(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD iChannel,
|
||||||
IN WORD iChannel,
|
_In_ PVDD_DMA_INFO pDmaInfo);
|
||||||
IN PVDD_DMA_INFO pDmaInfo
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDSetDMA
|
VDDSetDMA(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ WORD iChannel,
|
||||||
IN WORD iChannel,
|
_In_ WORD fDMA,
|
||||||
IN WORD fDMA,
|
_In_ PVDD_DMA_INFO pDmaInfo);
|
||||||
IN PVDD_DMA_INFO pDmaInfo
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* Memory services */
|
||||||
* Memory services
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum {
|
||||||
{
|
VDM_V86,
|
||||||
VDM_V86,
|
VDM_PM
|
||||||
VDM_PM
|
|
||||||
} VDM_MODE;
|
} VDM_MODE;
|
||||||
|
|
||||||
#ifndef MSW_PE
|
#ifndef MSW_PE
|
||||||
#define MSW_PE 0x0001
|
#define MSW_PE 0x0001
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define getMODE() ((getMSW() & MSW_PE) ? VDM_PM : VDM_V86)
|
#define getMODE() ((getMSW() & MSW_PE) ? VDM_PM : VDM_V86)
|
||||||
|
|
||||||
typedef VOID
|
typedef VOID
|
||||||
(WINAPI *PVDD_MEMORY_HANDLER)
|
(WINAPI *PVDD_MEMORY_HANDLER)(
|
||||||
(
|
PVOID FaultAddress,
|
||||||
PVOID FaultAddress,
|
ULONG RWMode);
|
||||||
ULONG RWMode
|
|
||||||
);
|
|
||||||
|
|
||||||
PBYTE
|
PBYTE
|
||||||
WINAPI
|
WINAPI
|
||||||
Sim32pGetVDMPointer
|
Sim32pGetVDMPointer(
|
||||||
(
|
_In_ ULONG Address,
|
||||||
IN ULONG Address,
|
_In_ BOOLEAN ProtectedMode);
|
||||||
IN BOOLEAN ProtectedMode
|
|
||||||
);
|
|
||||||
|
|
||||||
PBYTE
|
PBYTE
|
||||||
WINAPI
|
WINAPI
|
||||||
MGetVdmPointer
|
MGetVdmPointer(
|
||||||
(
|
_In_ ULONG Address,
|
||||||
IN ULONG Address,
|
_In_ ULONG Size,
|
||||||
IN ULONG Size,
|
_In_ BOOLEAN ProtectedMode);
|
||||||
IN BOOLEAN ProtectedMode
|
|
||||||
);
|
|
||||||
|
|
||||||
PVOID
|
PVOID
|
||||||
WINAPI
|
WINAPI
|
||||||
VdmMapFlat
|
VdmMapFlat(
|
||||||
(
|
_In_ USHORT Segment,
|
||||||
IN USHORT Segment,
|
_In_ ULONG Offset,
|
||||||
IN ULONG Offset,
|
_In_ VDM_MODE Mode);
|
||||||
IN VDM_MODE Mode
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VdmFlushCache
|
VdmFlushCache(
|
||||||
(
|
_In_ USHORT Segment,
|
||||||
IN USHORT Segment,
|
_In_ ULONG Offset,
|
||||||
IN ULONG Offset,
|
_In_ ULONG Size,
|
||||||
IN ULONG Size,
|
_In_ VDM_MODE Mode);
|
||||||
IN VDM_MODE Mode
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VdmUnmapFlat
|
VdmUnmapFlat(
|
||||||
(
|
_In_ USHORT Segment,
|
||||||
IN USHORT Segment,
|
_In_ ULONG Offset,
|
||||||
IN ULONG Offset,
|
_In_ PVOID Buffer,
|
||||||
IN PVOID Buffer,
|
_In_ VDM_MODE Mode);
|
||||||
IN VDM_MODE Mode
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDInstallMemoryHook
|
VDDInstallMemoryHook(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID pStart,
|
||||||
IN PVOID pStart,
|
_In_ DWORD dwCount,
|
||||||
IN DWORD dwCount,
|
_In_ PVDD_MEMORY_HANDLER MemoryHandler);
|
||||||
IN PVDD_MEMORY_HANDLER MemoryHandler
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDDeInstallMemoryHook
|
VDDDeInstallMemoryHook(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID pStart,
|
||||||
IN PVOID pStart,
|
_In_ DWORD dwCount);
|
||||||
IN DWORD dwCount
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDAllocMem
|
VDDAllocMem(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID Address,
|
||||||
IN PVOID Address,
|
_In_ ULONG Size);
|
||||||
IN ULONG Size
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDFreeMem
|
VDDFreeMem(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID Address,
|
||||||
IN PVOID Address,
|
_In_ ULONG Size);
|
||||||
IN ULONG Size
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDIncludeMem
|
VDDIncludeMem(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID Address,
|
||||||
IN PVOID Address,
|
_In_ ULONG Size);
|
||||||
IN ULONG Size
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
VDDExcludeMem
|
VDDExcludeMem(
|
||||||
(
|
_In_ HANDLE hVdd,
|
||||||
IN HANDLE hVdd,
|
_In_ PVOID Address,
|
||||||
IN PVOID Address,
|
_In_ ULONG Size);
|
||||||
IN ULONG Size
|
|
||||||
);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue