From 8857a8b8fdf9e2410769bc2f99eb714c3b357d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 4 Sep 2005 21:44:02 +0000 Subject: [PATCH] Allow compilation of npfs driver with MSVC svn path=/trunk/; revision=17642 --- reactos/drivers/fs/np/create.c | 29 ++++++++---------- reactos/drivers/fs/np/finfo.c | 8 ++--- reactos/drivers/fs/np/fsctrl.c | 10 +++---- reactos/drivers/fs/np/npfs.c | 8 ++--- reactos/drivers/fs/np/npfs.h | 54 ++++++++++++++++++++++++++++++++-- reactos/drivers/fs/np/npfs.rc | 2 -- reactos/drivers/fs/np/npfs.xml | 2 +- reactos/drivers/fs/np/rw.c | 10 +++---- reactos/drivers/fs/np/volume.c | 6 +--- 9 files changed, 81 insertions(+), 48 deletions(-) diff --git a/reactos/drivers/fs/np/create.c b/reactos/drivers/fs/np/create.c index a8b27f622d6..773abf7150a 100644 --- a/reactos/drivers/fs/np/create.c +++ b/reactos/drivers/fs/np/create.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/np/create.c @@ -9,13 +8,11 @@ /* INCLUDES ******************************************************************/ -#include -#include -#include "npfs.h" - #define NDEBUG #include +#include "npfs.h" + /* FUNCTIONS *****************************************************************/ static PNPFS_PIPE @@ -110,7 +107,7 @@ NTSTATUS STDCALL NpfsCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp) { - PIO_STACK_LOCATION IoStack; + PEXTENDED_IO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; PNPFS_PIPE Pipe; PNPFS_FCB ClientFcb; @@ -121,14 +118,14 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject, DPRINT("NpfsCreate(DeviceObject %p Irp %p)\n", DeviceObject, Irp); DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; - IoStack = IoGetCurrentIrpStackLocation(Irp); + IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp); FileObject = IoStack->FileObject; DPRINT("FileObject %p\n", FileObject); DPRINT("FileName %wZ\n", &FileObject->FileName); Irp->IoStatus.Information = 0; - SpecialAccess = ((IoStack->Parameters.Create.ShareAccess & 3) == 3); + SpecialAccess = ((IoStack->Parameters.CreatePipe.ShareAccess & 3) == 3); if (SpecialAccess) { DPRINT("NpfsCreate() open client end for special use!\n"); @@ -310,7 +307,7 @@ NTSTATUS STDCALL NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, PIRP Irp) { - PIO_STACK_LOCATION IoStack; + PEXTENDED_IO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; PNPFS_DEVICE_EXTENSION DeviceExt; PNPFS_PIPE Pipe; @@ -321,7 +318,7 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, DPRINT("NpfsCreateNamedPipe(DeviceObject %p Irp %p)\n", DeviceObject, Irp); DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension; - IoStack = IoGetCurrentIrpStackLocation(Irp); + IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp); FileObject = IoStack->FileObject; DPRINT("FileObject %p\n", FileObject); DPRINT("Pipe name %wZ\n", &FileObject->FileName); @@ -416,8 +413,8 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, Pipe->MaximumInstances = Buffer->MaximumInstances; Pipe->CurrentInstances = 0; Pipe->TimeOut = Buffer->DefaultTimeout; - if (!(IoStack->Parameters.Create.Options & FILE_PIPE_OUTBOUND) || - IoStack->Parameters.Create.Options & FILE_PIPE_FULL_DUPLEX) + if (!(IoStack->Parameters.CreatePipe.Options & FILE_PIPE_OUTBOUND) || + IoStack->Parameters.CreatePipe.Options & FILE_PIPE_FULL_DUPLEX) { if (Buffer->InboundQuota == 0) { @@ -441,7 +438,7 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, Pipe->InboundQuota = 0; } - if (IoStack->Parameters.Create.Options & (FILE_PIPE_FULL_DUPLEX|FILE_PIPE_OUTBOUND)) + if (IoStack->Parameters.CreatePipe.Options & (FILE_PIPE_FULL_DUPLEX|FILE_PIPE_OUTBOUND)) { if (Buffer->OutboundQuota == 0) { @@ -540,7 +537,7 @@ NpfsCleanup(PDEVICE_OBJECT DeviceObject, PFILE_OBJECT FileObject; PNPFS_FCB Fcb, OtherSide; PNPFS_PIPE Pipe; - BOOL Server; + BOOLEAN Server; DPRINT("NpfsCleanup(DeviceObject %p Irp %p)\n", DeviceObject, Irp); @@ -676,7 +673,7 @@ NpfsClose(PDEVICE_OBJECT DeviceObject, PFILE_OBJECT FileObject; PNPFS_FCB Fcb; PNPFS_PIPE Pipe; - BOOL Server; + BOOLEAN Server; DPRINT("NpfsClose(DeviceObject %p Irp %p)\n", DeviceObject, Irp); diff --git a/reactos/drivers/fs/np/finfo.c b/reactos/drivers/fs/np/finfo.c index 5baddf09537..ef61d3a1408 100644 --- a/reactos/drivers/fs/np/finfo.c +++ b/reactos/drivers/fs/np/finfo.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/np/finfo.c @@ -9,12 +8,11 @@ /* INCLUDES ******************************************************************/ -#include -#include "npfs.h" - #define NDEBUG #include +#include "npfs.h" + /* FUNCTIONS *****************************************************************/ static diff --git a/reactos/drivers/fs/np/fsctrl.c b/reactos/drivers/fs/np/fsctrl.c index 5b5c9da4239..5dcacd46e6c 100644 --- a/reactos/drivers/fs/np/fsctrl.c +++ b/reactos/drivers/fs/np/fsctrl.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/np/fsctrl.c @@ -10,12 +9,11 @@ /* INCLUDES ******************************************************************/ -#include -#include "npfs.h" - #define NDEBUG #include +#include "npfs.h" + /* FUNCTIONS *****************************************************************/ static VOID STDCALL @@ -170,7 +168,7 @@ NpfsDisconnectPipe(PNPFS_FCB Fcb) NTSTATUS Status; PNPFS_FCB OtherSide; PNPFS_PIPE Pipe; - BOOL Server; + BOOLEAN Server; DPRINT("NpfsDisconnectPipe()\n"); diff --git a/reactos/drivers/fs/np/npfs.c b/reactos/drivers/fs/np/npfs.c index 3b6fdc8cd01..66ca097c4d9 100644 --- a/reactos/drivers/fs/np/npfs.c +++ b/reactos/drivers/fs/np/npfs.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/np/mount.c @@ -9,12 +8,11 @@ /* INCLUDES ******************************************************************/ -#include -#include "npfs.h" - #define NDEBUG #include +#include "npfs.h" + /* FUNCTIONS *****************************************************************/ NTSTATUS STDCALL diff --git a/reactos/drivers/fs/np/npfs.h b/reactos/drivers/fs/np/npfs.h index 34874f95c08..a1595d1f094 100644 --- a/reactos/drivers/fs/np/npfs.h +++ b/reactos/drivers/fs/np/npfs.h @@ -1,8 +1,58 @@ -/* $Id$ */ - #ifndef __DRIVERS_FS_NP_NPFS_H #define __DRIVERS_FS_NP_NPFS_H +#include + +#if defined(__GNUC__) +#include +#define EXTENDED_IO_STACK_LOCATION IO_STACK_LOCATION +#define PEXTENDED_IO_STACK_LOCATION PIO_STACK_LOCATION + +#elif defined(_MSC_VER) +#define STDCALL +#define KEBUGCHECK KeBugCheck +typedef struct _NAMED_PIPE_CREATE_PARAMETERS +{ + ULONG NamedPipeType; + ULONG ReadMode; + ULONG CompletionMode; + ULONG MaximumInstances; + ULONG InboundQuota; + ULONG OutboundQuota; + LARGE_INTEGER DefaultTimeout; + BOOLEAN TimeoutSpecified; +} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS; +typedef struct _EXTENDED_IO_STACK_LOCATION { + + /* Included for padding */ + UCHAR MajorFunction; + UCHAR MinorFunction; + UCHAR Flags; + UCHAR Control; + + union { + + struct { + PIO_SECURITY_CONTEXT SecurityContext; + ULONG Options; + USHORT Reserved; + USHORT ShareAccess; + PNAMED_PIPE_CREATE_PARAMETERS Parameters; + } CreatePipe; + + } Parameters; + PDEVICE_OBJECT DeviceObject; + PFILE_OBJECT FileObject; + PIO_COMPLETION_ROUTINE CompletionRoutine; + PVOID Context; + +} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION; + + +#else +#error Unknown compiler +#endif + typedef struct _NPFS_DEVICE_EXTENSION { LIST_ENTRY PipeListHead; diff --git a/reactos/drivers/fs/np/npfs.rc b/reactos/drivers/fs/np/npfs.rc index 71d7df585b8..91ea2d8ffb5 100644 --- a/reactos/drivers/fs/np/npfs.rc +++ b/reactos/drivers/fs/np/npfs.rc @@ -1,5 +1,3 @@ -/* $Id$ */ - #define REACTOS_VERSION_DLL #define REACTOS_STR_FILE_DESCRIPTION "Named Pipe IFS Driver\0" #define REACTOS_STR_INTERNAL_NAME "npfs\0" diff --git a/reactos/drivers/fs/np/npfs.xml b/reactos/drivers/fs/np/npfs.xml index b5a8b527c40..64262c1a3a6 100644 --- a/reactos/drivers/fs/np/npfs.xml +++ b/reactos/drivers/fs/np/npfs.xml @@ -1,6 +1,6 @@ . - + ntoskrnl hal create.c diff --git a/reactos/drivers/fs/np/rw.c b/reactos/drivers/fs/np/rw.c index dc39215543f..dfd7a2a3393 100644 --- a/reactos/drivers/fs/np/rw.c +++ b/reactos/drivers/fs/np/rw.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/np/rw.c @@ -9,12 +8,11 @@ /* INCLUDES ******************************************************************/ -#include -#include "npfs.h" - #define NDEBUG #include +#include "npfs.h" + /* FUNCTIONS *****************************************************************/ #ifndef NDEBUG @@ -431,7 +429,7 @@ NpfsRead(IN PDEVICE_OBJECT DeviceObject, } else { - PNPFS_CONTEXT Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; + Context = (PNPFS_CONTEXT)&Irp->Tail.Overlay.DriverContext; Context->WaitEvent = &Fcb->ReadEvent; Status = NpfsAddWaitingReadWriteRequest(DeviceObject, Irp); diff --git a/reactos/drivers/fs/np/volume.c b/reactos/drivers/fs/np/volume.c index acc35ab9437..e0a8eb78674 100644 --- a/reactos/drivers/fs/np/volume.c +++ b/reactos/drivers/fs/np/volume.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: drivers/fs/npfs/volume.c @@ -9,9 +8,6 @@ /* INCLUDES *****************************************************************/ -#include -#include - #define NDEBUG #include