[DRIVERS][NTOS][NDK] Use IO_STACK_LOCATION instead of EXTENDED_IO_STACK_LOCATION...
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 3 Apr 2018 14:58:44 +0000 (16:58 +0200)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sun, 1 Jul 2018 12:45:21 +0000 (14:45 +0200)
drivers/filesystems/ext2/inc/ext2fs.h
drivers/filesystems/msfs/create.c
drivers/filesystems/npfs/create.c
drivers/filesystems/reiserfs/inc/rfsd.h
ntoskrnl/io/iomgr/file.c
sdk/include/ndk/iotypes.h

index 10ec2ea..08fd465 100644 (file)
@@ -17,6 +17,7 @@
 #ifdef __REACTOS__
 #include <ndk/rtlfuncs.h>
 #include <pseh/pseh2.h>
+typedef IO_STACK_LOCATION EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
 #endif
 #include <stdio.h>
 #include <time.h>
index 1f47eb5..45aa875 100644 (file)
@@ -107,7 +107,7 @@ NTSTATUS DEFAULTAPI
 MsfsCreateMailslot(PDEVICE_OBJECT DeviceObject,
                    PIRP Irp)
 {
-    PEXTENDED_IO_STACK_LOCATION IoStack;
+    PIO_STACK_LOCATION IoStack;
     PFILE_OBJECT FileObject;
     PMSFS_DEVICE_EXTENSION DeviceExtension;
     PMSFS_FCB Fcb;
@@ -119,7 +119,7 @@ MsfsCreateMailslot(PDEVICE_OBJECT DeviceObject,
 
     DPRINT("MsfsCreateMailslot(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
 
-    IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
     DeviceExtension = DeviceObject->DeviceExtension;
     FileObject = IoStack->FileObject;
     Buffer = IoStack->Parameters.CreateMailslot.Parameters;
index 96e60e3..da2f967 100644 (file)
@@ -361,7 +361,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
             IN PIRP Irp)
 {
     IO_STATUS_BLOCK IoStatus;
-    PEXTENDED_IO_STACK_LOCATION IoStack;
+    PIO_STACK_LOCATION IoStack;
     UNICODE_STRING FileName;
     PFILE_OBJECT FileObject;
     PFILE_OBJECT RelatedFileObject;
@@ -375,7 +375,7 @@ NpFsdCreate(IN PDEVICE_OBJECT DeviceObject,
     TRACE("Entered\n");
 
     InitializeListHead(&DeferredList);
-    IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
     FileObject = IoStack->FileObject;
     RelatedFileObject = FileObject->RelatedFileObject;
     FileName = FileObject->FileName;
@@ -791,7 +791,7 @@ NTAPI
 NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
                      IN PIRP Irp)
 {
-    PEXTENDED_IO_STACK_LOCATION IoStack;
+    PIO_STACK_LOCATION IoStack;
     PFILE_OBJECT FileObject;
     PFILE_OBJECT RelatedFileObject;
     USHORT Disposition, ShareAccess;
@@ -807,7 +807,7 @@ NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
     InitializeListHead(&DeferredList);
     Process = IoGetRequestorProcess(Irp);
 
-    IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
     FileObject = IoStack->FileObject;
     RelatedFileObject = FileObject->RelatedFileObject;
 
index 2f36e78..5d8b200 100644 (file)
@@ -26,6 +26,7 @@
 #ifdef __REACTOS__
 #include <ndk/rtlfuncs.h>
 #include <pseh/pseh2.h>
+typedef IO_STACK_LOCATION EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
 #endif
 
 typedef struct reiserfs_super_block_v1         RFSD_SUPER_BLOCK, *PRFSD_SUPER_BLOCK;
index 71863cc..15504ad 100644 (file)
@@ -285,7 +285,7 @@ IopParseDevice(IN PVOID ParseObject,
     PFILE_OBJECT FileObject;
     PVPB Vpb = NULL;
     PIRP Irp;
-    PEXTENDED_IO_STACK_LOCATION StackLoc;
+    PIO_STACK_LOCATION StackLoc;
     IO_SECURITY_CONTEXT SecurityContext;
     IO_STATUS_BLOCK IoStatusBlock;
     BOOLEAN DirectOpen = FALSE, OpenCancelled, UseDummyFile;
@@ -673,7 +673,7 @@ IopParseDevice(IN PVOID ParseObject,
         SecurityContext.FullCreateOptions = OpenPacket->CreateOptions;
 
         /* Get the I/O Stack location */
-        StackLoc = (PEXTENDED_IO_STACK_LOCATION)IoGetNextIrpStackLocation(Irp);
+        StackLoc = IoGetNextIrpStackLocation(Irp);
         StackLoc->Control = 0;
 
         /* Check what kind of file this is */
index ed4a9fa..b693b61 100644 (file)
@@ -937,261 +937,7 @@ typedef struct _EXTENDED_DRIVER_EXTENSION
     PFS_FILTER_CALLBACKS FsFilterCallbacks;
 } EXTENDED_DRIVER_EXTENSION, *PEXTENDED_DRIVER_EXTENSION;
 
-//
-// Extended I/O Stack Location Structure
-//
-typedef struct _EXTENDED_IO_STACK_LOCATION
-{
-    UCHAR MajorFunction;
-    UCHAR MinorFunction;
-    UCHAR Flags;
-    UCHAR Control;
-    union
-    {
-        struct
-        {
-            PIO_SECURITY_CONTEXT SecurityContext;
-            ULONG Options;
-            USHORT POINTER_ALIGNMENT FileAttributes;
-            USHORT ShareAccess;
-            ULONG POINTER_ALIGNMENT EaLength;
-        } Create;
-        struct
-        {
-            PIO_SECURITY_CONTEXT SecurityContext;
-            ULONG Options;
-            USHORT POINTER_ALIGNMENT Reserved;
-            USHORT ShareAccess;
-            struct _NAMED_PIPE_CREATE_PARAMETERS *Parameters;
-        } CreatePipe;
-        struct
-        {
-            PIO_SECURITY_CONTEXT SecurityContext;
-            ULONG Options;
-            USHORT POINTER_ALIGNMENT Reserved;
-            USHORT ShareAccess;
-            struct _MAILSLOT_CREATE_PARAMETERS *Parameters;
-        } CreateMailslot;
-        struct
-        {
-            ULONG Length;
-            ULONG POINTER_ALIGNMENT Key;
-            LARGE_INTEGER ByteOffset;
-        } Read;
-        struct
-        {
-            ULONG Length;
-            ULONG POINTER_ALIGNMENT Key;
-            LARGE_INTEGER ByteOffset;
-        } Write;
-        struct
-        {
-            ULONG Length;
-            PUNICODE_STRING FileName;
-            FILE_INFORMATION_CLASS FileInformationClass;
-            ULONG POINTER_ALIGNMENT FileIndex;
-        } QueryDirectory;
-        struct
-        {
-            ULONG Length;
-            ULONG POINTER_ALIGNMENT CompletionFilter;
-        } NotifyDirectory;
-        struct
-        {
-            ULONG Length;
-            ULONG POINTER_ALIGNMENT CompletionFilter;
-            enum _DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
-        } NotifyDirectoryEx;
-        struct
-        {
-            ULONG Length;
-            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
-        } QueryFile;
-        struct
-        {
-            ULONG Length;
-            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
-            PFILE_OBJECT FileObject;
-            union
-            {
-                struct
-                {
-                    BOOLEAN ReplaceIfExists;
-                    BOOLEAN AdvanceOnly;
-                };
-                ULONG ClusterCount;
-                HANDLE DeleteHandle;
-            };
-        } SetFile;
-        struct
-        {
-            ULONG Length;
-            PVOID EaList;
-            ULONG EaListLength;
-            ULONG POINTER_ALIGNMENT EaIndex;
-        } QueryEa;
-        struct
-        {
-            ULONG Length;
-        } SetEa;
-        struct
-        {
-            ULONG Length;
-            FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
-        } QueryVolume;
-        struct
-        {
-            ULONG Length;
-            FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
-        } SetVolume;
-        struct
-        {
-            ULONG OutputBufferLength;
-            ULONG POINTER_ALIGNMENT InputBufferLength;
-            ULONG POINTER_ALIGNMENT FsControlCode;
-            PVOID Type3InputBuffer;
-        } FileSystemControl;
-        struct
-        {
-            PLARGE_INTEGER Length;
-            ULONG POINTER_ALIGNMENT Key;
-            LARGE_INTEGER ByteOffset;
-        } LockControl;
-        struct
-        {
-            ULONG OutputBufferLength;
-            ULONG POINTER_ALIGNMENT InputBufferLength;
-            ULONG POINTER_ALIGNMENT IoControlCode;
-            PVOID Type3InputBuffer;
-        } DeviceIoControl;
-        struct
-        {
-            SECURITY_INFORMATION SecurityInformation;
-            ULONG POINTER_ALIGNMENT Length;
-        } QuerySecurity;
-        struct
-        {
-            SECURITY_INFORMATION SecurityInformation;
-            PSECURITY_DESCRIPTOR SecurityDescriptor;
-        } SetSecurity;
-        struct
-        {
-            PVPB Vpb;
-            PDEVICE_OBJECT DeviceObject;
-        } MountVolume;
-        struct
-        {
-            PVPB Vpb;
-            PDEVICE_OBJECT DeviceObject;
-        } VerifyVolume;
-        struct
-        {
-            struct _SCSI_REQUEST_BLOCK *Srb;
-        } Scsi;
-        struct
-        {
-            ULONG Length;
-            PSID StartSid;
-            struct _FILE_GET_QUOTA_INFORMATION *SidList;
-            ULONG SidListLength;
-        } QueryQuota;
-        struct
-        {
-            ULONG Length;
-        } SetQuota;
-        struct
-        {
-            DEVICE_RELATION_TYPE Type;
-        } QueryDeviceRelations;
-        struct
-        {
-            CONST GUID *InterfaceType;
-            USHORT Size;
-            USHORT Version;
-            PINTERFACE Interface;
-            PVOID InterfaceSpecificData;
-        } QueryInterface;
-        struct
-        {
-            PDEVICE_CAPABILITIES Capabilities;
-        } DeviceCapabilities;
-        struct
-        {
-            PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
-        } FilterResourceRequirements;
-        struct
-        {
-            ULONG WhichSpace;
-            PVOID Buffer;
-            ULONG Offset;
-            ULONG POINTER_ALIGNMENT Length;
-        } ReadWriteConfig;
-        struct
-        {
-            BOOLEAN Lock;
-        } SetLock;
-        struct
-        {
-            BUS_QUERY_ID_TYPE IdType;
-        } QueryId;
-        struct
-        {
-            DEVICE_TEXT_TYPE DeviceTextType;
-            LCID POINTER_ALIGNMENT LocaleId;
-        } QueryDeviceText;
-        struct
-        {
-            BOOLEAN InPath;
-            BOOLEAN Reserved[3];
-            DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
-        } UsageNotification;
-        struct
-        {
-            SYSTEM_POWER_STATE PowerState;
-        } WaitWake;
-        struct
-        {
-            PPOWER_SEQUENCE PowerSequence;
-        } PowerSequence;
-        struct
-        {
-            union
-            {
-                ULONG SystemContext;
-#if (NTDDI_VERSION >= NTDDI_VISTA)
-                SYSTEM_POWER_STATE_CONTEXT SystemPowerStateContext;
-#endif // (NTDDI_VERSION >= NTDDI_VISTA)
-            };
-            POWER_STATE_TYPE POINTER_ALIGNMENT Type;
-            POWER_STATE POINTER_ALIGNMENT State;
-            POWER_ACTION POINTER_ALIGNMENT ShutdownType;
-        } Power;
-        struct
-        {
-            PCM_RESOURCE_LIST AllocatedResources;
-            PCM_RESOURCE_LIST AllocatedResourcesTranslated;
-        } StartDevice;
-        struct
-        {
-            ULONG_PTR ProviderId;
-            PVOID DataPath;
-            ULONG BufferSize;
-            PVOID Buffer;
-        } WMI;
-        struct
-        {
-            PVOID Argument1;
-            PVOID Argument2;
-            PVOID Argument3;
-            PVOID Argument4;
-        } Others;
-    } Parameters;
-    PDEVICE_OBJECT DeviceObject;
-    PFILE_OBJECT FileObject;
-    PIO_COMPLETION_ROUTINE CompletionRoutine;
-    PVOID Context;
-} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
-#endif
+#endif // !NTOS_MODE_USER
 
 //
 // Firmware Boot File Path