[NTOS:IO]
[reactos.git] / reactos / ntoskrnl / include / internal / io.h
index b536aa6..dcf1e61 100644 (file)
@@ -10,7 +10,7 @@
 //
 // Define this if you want debugging support
 //
-#define _IO_DEBUG_                                      0x00
+#define _IO_DEBUG_                                      0x01
 
 //
 // These define the Debug Masks Supported
@@ -43,7 +43,7 @@
     }
 #endif
 #else
-#define IOTRACE(x, ...) DPRINT(__VA_ARGS__)
+#define IOTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__)
 #endif
 
 //
@@ -368,14 +368,15 @@ typedef struct _OPEN_PACKET
     PFILE_BASIC_INFORMATION BasicInformation;
     PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
     CREATE_FILE_TYPE CreateFileType;
-    PVOID MailslotOrPipeParameters;
+    PVOID ExtraCreateParameters;
     BOOLEAN Override;
     BOOLEAN QueryOnly;
     BOOLEAN DeleteOnly;
     BOOLEAN FullAttributes;
-    PDUMMY_FILE_OBJECT DummyFileObject;
+    PDUMMY_FILE_OBJECT LocalFileObject;
+    BOOLEAN TraversedMountPoint;
     ULONG InternalFlags;
-    //PIO_DRIVER_CREATE_CONTEXT DriverCreateContext; Vista only, needs ROS DDK Update
+    PDEVICE_OBJECT TopDeviceObjectHint;
 } OPEN_PACKET, *POPEN_PACKET;
 
 //
@@ -416,7 +417,7 @@ typedef struct _BOOT_DRIVER_NODE
     ULONG Tag;
     ULONG ErrorControl;
 } BOOT_DRIVER_NODE, *PBOOT_DRIVER_NODE;
+
 //
 // List of Bus Type GUIDs
 //
@@ -516,7 +517,7 @@ IopAssignDeviceResources(
 
 NTSTATUS
 NTAPI
-IopCreateResourceListFromRequirements(
+IopFixupResourceListWithRequirements(
     IN PIO_RESOURCE_REQUIREMENTS_LIST RequirementsList,
     OUT PCM_RESOURCE_LIST *ResourceList
 );
@@ -536,7 +537,7 @@ NTSTATUS
 NTAPI
 PipCallDriverAddDevice(
     IN PDEVICE_NODE DeviceNode,
-    IN BOOLEAN LoadDriver,     
+    IN BOOLEAN LoadDriver,
     IN PDRIVER_OBJECT DriverObject
 );
 
@@ -618,7 +619,7 @@ NTAPI
 IopInitiatePnpIrp(
     IN PDEVICE_OBJECT DeviceObject,
     IN PIO_STATUS_BLOCK IoStatusBlock,
-    IN ULONG MinorFunction,
+    IN UCHAR MinorFunction,
     IN PIO_STACK_LOCATION Stack
 );
 
@@ -696,6 +697,11 @@ IopCreateRegistryKeyEx(
     OUT PULONG Disposition OPTIONAL
 );
 
+
+NTSTATUS
+IopTraverseDeviceTree(
+    PDEVICETREE_TRAVERSE_CONTEXT Context);
+
 //
 // PnP Routines
 //
@@ -738,7 +744,7 @@ PnpRegSzToString(
     IN ULONG RegSzLength,
     OUT PUSHORT StringLength OPTIONAL
 );
-                                               
+
 //
 // Initialization Routines
 //
@@ -898,6 +904,12 @@ IopAbortInterruptedIrp(
     IN PIRP Irp
 );
 
+PIRP
+NTAPI
+IopAllocateIrpMustSucceed(
+    IN CCHAR StackSize
+);
+
 //
 // Shutdown routines
 //
@@ -1017,10 +1029,15 @@ PnpRootDriverEntry(
 NTSTATUS
 PnpRootCreateDevice(
     IN PUNICODE_STRING ServiceName,
+    IN OPTIONAL PDRIVER_OBJECT DriverObject,
     OUT PDEVICE_OBJECT *PhysicalDeviceObject,
     OUT OPTIONAL PUNICODE_STRING FullInstancePath
 );
 
+NTSTATUS
+PnpRootRegisterDevice(
+    IN PDEVICE_OBJECT DeviceObject);
+
 //
 // Driver Routines
 //
@@ -1041,6 +1058,7 @@ NTAPI
 IopCreateDriver(IN PUNICODE_STRING DriverName OPTIONAL,
                 IN PDRIVER_INITIALIZE InitializationFunction,
                 IN PUNICODE_STRING RegistryPath,
+                IN PCUNICODE_STRING ServiceName,
                 PLDR_DATA_TABLE_ENTRY ModuleObject,
                 OUT PDRIVER_OBJECT *pDriverObject);