https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ca9fd861aa7e2eb6fd142a71ede1839ea70390ba

commit ca9fd861aa7e2eb6fd142a71ede1839ea70390ba
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Tue Apr 3 16:58:44 2018 +0200
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Sun Jul 1 14:45:21 2018 +0200

    [DRIVERS][NTOS][NDK] Use IO_STACK_LOCATION instead of 
EXTENDED_IO_STACK_LOCATION and remove the latter from NDK
---
 drivers/filesystems/ext2/inc/ext2fs.h   |   1 +
 drivers/filesystems/msfs/create.c       |   4 +-
 drivers/filesystems/npfs/create.c       |   8 +-
 drivers/filesystems/reiserfs/inc/rfsd.h |   1 +
 ntoskrnl/io/iomgr/file.c                |   4 +-
 sdk/include/ndk/iotypes.h               | 256 +-------------------------------
 6 files changed, 11 insertions(+), 263 deletions(-)

diff --git a/drivers/filesystems/ext2/inc/ext2fs.h 
b/drivers/filesystems/ext2/inc/ext2fs.h
index 10ec2eab5f..08fd465f93 100644
--- a/drivers/filesystems/ext2/inc/ext2fs.h
+++ b/drivers/filesystems/ext2/inc/ext2fs.h
@@ -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>
diff --git a/drivers/filesystems/msfs/create.c 
b/drivers/filesystems/msfs/create.c
index 1f47eb5c3d..45aa875481 100644
--- a/drivers/filesystems/msfs/create.c
+++ b/drivers/filesystems/msfs/create.c
@@ -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;
diff --git a/drivers/filesystems/npfs/create.c 
b/drivers/filesystems/npfs/create.c
index 96e60e306a..da2f967faf 100644
--- a/drivers/filesystems/npfs/create.c
+++ b/drivers/filesystems/npfs/create.c
@@ -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;
 
diff --git a/drivers/filesystems/reiserfs/inc/rfsd.h 
b/drivers/filesystems/reiserfs/inc/rfsd.h
index 2f36e786c4..5d8b200d01 100644
--- a/drivers/filesystems/reiserfs/inc/rfsd.h
+++ b/drivers/filesystems/reiserfs/inc/rfsd.h
@@ -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;
diff --git a/ntoskrnl/io/iomgr/file.c b/ntoskrnl/io/iomgr/file.c
index 71863ccb42..15504adaca 100644
--- a/ntoskrnl/io/iomgr/file.c
+++ b/ntoskrnl/io/iomgr/file.c
@@ -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 */
diff --git a/sdk/include/ndk/iotypes.h b/sdk/include/ndk/iotypes.h
index ed4a9facc2..b693b617e0 100644
--- a/sdk/include/ndk/iotypes.h
+++ b/sdk/include/ndk/iotypes.h
@@ -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

Reply via email to