Added required defines and typedefs for ntoskrnl/io modules.
[reactos.git] / reactos / include / ddk / iofuncs.h
index de382f2..d3dd51e 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef _INCLUDE_DDK_IOFUNCS_H
 #define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.29 2002/01/21 22:27:36 hbirr Exp $ */
+/* $Id: iofuncs.h,v 1.34 2002/10/03 19:26:46 robd Exp $ */
 
 /* --- EXPORTED BY NTOSKRNL --- */
 
@@ -822,8 +822,33 @@ IoQueryVolumeInformation (
 VOID
 STDCALL
 IoQueueThreadIrp (
-       PVOID   Unknown0
+       IN      PIRP    Irp
+       );
+
+typedef struct _IO_WORKITEM *PIO_WORKITEM;
+typedef VOID (*PIO_WORKITEM_ROUTINE)(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context);
+
+VOID
+STDCALL
+IoQueueWorkItem(
+    IN PIO_WORKITEM IoWorkItem, 
+       IN PIO_WORKITEM_ROUTINE WorkerRoutine, 
+       IN WORK_QUEUE_TYPE QueueType, 
+       IN PVOID Context
        );
+
+VOID
+STDCALL
+IoFreeWorkItem(
+    PIO_WORKITEM IoWorkItem
+       );
+
+PIO_WORKITEM
+STDCALL
+IoAllocateWorkItem(
+       PDEVICE_OBJECT DeviceObject
+       );
+
 VOID
 STDCALL
 IoRaiseHardError (
@@ -1031,15 +1056,21 @@ STDCALL
 IoStopTimer (
        PDEVICE_OBJECT  DeviceObject
        );
-NTSTATUS
-STDCALL
-IoSynchronousPageWrite (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4
-       );
+
+NTSTATUS STDCALL
+IoPageRead(PFILE_OBJECT                FileObject,
+          PMDL                 Mdl,
+          PLARGE_INTEGER       Offset,
+          PKEVENT              Event,
+          PIO_STATUS_BLOCK     StatusBlock);
+
+NTSTATUS STDCALL 
+IoSynchronousPageWrite (PFILE_OBJECT       FileObject,
+                       PMDL                Mdl,
+                       PLARGE_INTEGER      Offset,
+                       PKEVENT             Event,
+                       PIO_STATUS_BLOCK    StatusBlock);
+
 struct _EPROCESS* STDCALL IoThreadToProcess (struct _ETHREAD*  Thread);
 VOID
 STDCALL