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=65436&r1=65435&r2=65436&view=diff
==============================================================================
--- 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
 );
 
 


Reply via email to