Author: hbelusca Date: Fri Nov 21 00:13:51 2014 New Revision: 65436
URL: http://svn.reactos.org/svn/reactos?rev=65436&view=rev Log: [DDK] Add few VDD API prototypes: - VDDReserve/ReleaseIrqLine to get a "lock" on an IRQ line (so that VDDs can check whether some IRQs are free or not). - Add DMA services.
Modified: trunk/reactos/include/ddk/nt_vdd.h
Modified: trunk/reactos/include/ddk/nt_vdd.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/nt_vdd.h?rev=65... ============================================================================== --- trunk/reactos/include/ddk/nt_vdd.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/nt_vdd.h [iso-8859-1] Fri Nov 21 00:13:51 2014 @@ -39,6 +39,27 @@ VOID WINAPI VDDTerminateVDM(VOID); + + +/* + * IRQ services + */ + +WORD +WINAPI +VDDReserveIrqLine +( + IN HANDLE hVdd, + IN WORD IrqLine +); + +BOOL +WINAPI +VDDReleaseIrqLine +( + IN HANDLE hVdd, + IN WORD IrqLine +);
/* @@ -76,19 +97,69 @@ WINAPI VDDInstallIOHook ( - HANDLE hVdd, - WORD cPortRange, - PVDD_IO_PORTRANGE pPortRange, - PVDD_IO_HANDLERS IOhandler + IN HANDLE hVdd, + IN WORD cPortRange, + IN PVDD_IO_PORTRANGE pPortRange, + IN PVDD_IO_HANDLERS IOhandler );
VOID WINAPI VDDDeInstallIOHook ( - HANDLE hVdd, - WORD cPortRange, - PVDD_IO_PORTRANGE pPortRange + IN HANDLE hVdd, + IN WORD cPortRange, + IN PVDD_IO_PORTRANGE pPortRange +); + + +/* + * DMA services + */ + +typedef struct _VDD_DMA_INFO +{ + WORD addr; + WORD count; + WORD page; + BYTE status; + BYTE mode; + BYTE mask; +} VDD_DMA_INFO, *PVDD_DMA_INFO; + +#define VDD_DMA_ADDR 0x01 +#define VDD_DMA_COUNT 0x02 +#define VDD_DMA_PAGE 0x04 +#define VDD_DMA_STATUS 0x08 +#define VDD_DMA_ALL (VDD_DMA_ADDR | VDD_DMA_COUNT | VDD_DMA_PAGE | VDD_DMA_STATUS) + +DWORD +WINAPI +VDDRequestDMA +( + IN HANDLE hVdd, + IN WORD iChannel, + IN OUT PVOID Buffer, + IN DWORD length +); + +BOOL +WINAPI +VDDQueryDMA +( + IN HANDLE hVdd, + IN WORD iChannel, + IN PVDD_DMA_INFO pDmaInfo +); + +BOOL +WINAPI +VDDSetDMA +( + IN HANDLE hVdd, + IN WORD iChannel, + IN WORD fDMA, + IN PVDD_DMA_INFO pDmaInfo );