W32API conversion update
authorAndrew Greenwood <silverblade@reactos.org>
Thu, 7 Aug 2003 11:47:33 +0000 (11:47 +0000)
committerAndrew Greenwood <silverblade@reactos.org>
Thu, 7 Aug 2003 11:47:33 +0000 (11:47 +0000)
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.

svn path=/trunk/; revision=5461

29 files changed:
reactos/apps/tests/lpc/lpcsrv.c
reactos/drivers/fs/cdfs/dirctl.c
reactos/drivers/fs/cdfs/fcb.c
reactos/drivers/fs/ms/fsctrl.c
reactos/drivers/fs/np/fsctrl.c
reactos/drivers/fs/ntfs/attrib.c
reactos/drivers/fs/ntfs/dirctl.c
reactos/drivers/fs/ntfs/fcb.c
reactos/drivers/fs/vfat/dir.c
reactos/drivers/fs/vfat/fcb.c
reactos/drivers/fs/vfat/fsctl.c
reactos/drivers/fs/vfat/rw.c
reactos/drivers/fs/vfat/volume.c
reactos/include/ddk/fstypes.h
reactos/include/ddk/iofuncs.h
reactos/include/ddk/iotypes.h
reactos/include/ddk/kefuncs.h
reactos/include/napi/lpc.h
reactos/include/ntdll/ntdll.h
reactos/include/ntos.h
reactos/ntoskrnl/fs/filelock.c
reactos/ntoskrnl/io/dir.c
reactos/ntoskrnl/io/fs.c
reactos/ntoskrnl/io/irp.c
reactos/ntoskrnl/io/lock.c
reactos/ntoskrnl/io/vpb.c
reactos/ntoskrnl/lpc/connect.c
reactos/ntoskrnl/lpc/reply.c
reactos/subsys/csrss/api/wapi.c

index 31cc419..244a24a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: lpcsrv.c,v 1.11 2002/09/08 10:21:58 chorns Exp $
+/* $Id: lpcsrv.c,v 1.12 2003/08/07 11:47:32 silverblade Exp $
  *
  * DESCRIPTION: Simple LPC Server
  * PROGRAMMER:  David Welch
@@ -74,7 +74,7 @@ int main(int argc, char* argv[])
      printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
         ConnectMsg.Header.MessageId, NamedPortHandle);
      printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
-        ConnectMsg.Header.Cid.UniqueProcess, ConnectMsg.Header.Cid.UniqueThread);
+        ConnectMsg.Header.ClientId.UniqueProcess, ConnectMsg.Header.ClientId.UniqueThread);
    
      printf("%s: Accepting connection request 0x%08x...\n", MyName, 
         ConnectMsg.Header.MessageId);
index 3315d16..2423e34 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: dirctl.c,v 1.12 2003/02/13 22:24:15 hbirr Exp $
+/* $Id: dirctl.c,v 1.13 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -544,14 +544,14 @@ CdfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
   PCCB Ccb;
   FCB TempFcb;
   BOOLEAN First = FALSE;
-  PIO_STACK_LOCATION Stack;
+  PEXTENDED_IO_STACK_LOCATION Stack;
   PFILE_OBJECT FileObject;
   NTSTATUS Status = STATUS_SUCCESS;
 
   DPRINT("CdfsQueryDirectory() called\n");
 
   DeviceExtension = DeviceObject->DeviceExtension;
-  Stack = IoGetCurrentIrpStackLocation(Irp);
+  Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
   FileObject = Stack->FileObject;
 
   Ccb = (PCCB)FileObject->FsContext2;
index 47a08d3..795c10c 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: fcb.c,v 1.14 2003/07/21 21:53:47 royce Exp $
+/* $Id: fcb.c,v 1.15 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -29,6 +29,7 @@
 /* INCLUDES *****************************************************************/
 
 #include <ddk/ntddk.h>
+#include <ntos.h>
 
 #define NDEBUG
 #include <debug.h>
index 78979a8..232e42a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: fsctrl.c,v 1.3 2002/09/08 10:22:10 chorns Exp $
+/* $Id: fsctrl.c,v 1.4 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:  See COPYING in the top level directory
  * PROJECT:    ReactOS kernel
@@ -22,7 +22,7 @@ NTSTATUS STDCALL
 MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
                      PIRP Irp)
 {
-   PIO_STACK_LOCATION IoStack;
+   PEXTENDED_IO_STACK_LOCATION IoStack;
    PFILE_OBJECT FileObject;
    PMSFS_MAILSLOT Mailslot;
    PMSFS_FCB Fcb;
@@ -30,14 +30,14 @@ MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
    
    DPRINT1("MsfsFileSystemControl(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
    
-   IoStack = IoGetCurrentIrpStackLocation(Irp);
+   IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
    FileObject = IoStack->FileObject;
    Fcb = FileObject->FsContext;
    Mailslot = Fcb->Mailslot;
    
    DPRINT1("Mailslot name: %wZ\n", &Mailslot->Name);
    
-   switch (IoStack->Parameters.FileSystemControl.IoControlCode)
+   switch (IoStack->Parameters.FileSystemControl.FsControlCode)
      {
 #if 0
       case FSCTL_WAIT_PIPE:
index e238181..4721460 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: fsctrl.c,v 1.10 2002/09/08 10:22:11 chorns Exp $
+/* $Id: fsctrl.c,v 1.11 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:  See COPYING in the top level directory
  * PROJECT:    ReactOS kernel
@@ -395,7 +395,7 @@ NTSTATUS STDCALL
 NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
                      PIRP Irp)
 {
-  PIO_STACK_LOCATION IoStack;
+  PEXTENDED_IO_STACK_LOCATION IoStack;
   PFILE_OBJECT FileObject;
   NTSTATUS Status;
   PNPFS_DEVICE_EXTENSION DeviceExt;
@@ -405,7 +405,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
   DPRINT("NpfsFileSystemContol(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
 
   DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
-  IoStack = IoGetCurrentIrpStackLocation(Irp);
+  IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
   DPRINT("IoStack: %p\n", IoStack);
   FileObject = IoStack->FileObject;
   DPRINT("FileObject: %p\n", FileObject);
@@ -415,7 +415,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
   DPRINT("Pipe: %p\n", Pipe);
   DPRINT("PipeName: %wZ\n", &Pipe->PipeName);
 
-  switch (IoStack->Parameters.FileSystemControl.IoControlCode)
+  switch (IoStack->Parameters.FileSystemControl.FsControlCode)
     {
       case FSCTL_PIPE_ASSIGN_EVENT:
        DPRINT("Assign event\n");
index 4383615..8b015e5 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: attrib.c,v 1.4 2003/07/21 21:53:47 royce Exp $
+/* $Id: attrib.c,v 1.5 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -29,6 +29,8 @@
 
 #include <ddk/ntddk.h>
 
+#include <ntos.h>
+
 //#define NDEBUG
 #include <debug.h>
 
index aeccfca..3c8436c 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: dirctl.c,v 1.5 2003/02/13 22:24:16 hbirr Exp $
+/* $Id: dirctl.c,v 1.6 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -494,14 +494,14 @@ NtfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
   PCCB Ccb;
   FCB TempFcb;
   BOOLEAN First = FALSE;
-  PIO_STACK_LOCATION Stack;
+  PEXTENDED_IO_STACK_LOCATION Stack;
   PFILE_OBJECT FileObject;
   NTSTATUS Status = STATUS_SUCCESS;
 
   DPRINT1("NtfsQueryDirectory() called\n");
 
   DeviceExtension = DeviceObject->DeviceExtension;
-  Stack = IoGetCurrentIrpStackLocation(Irp);
+  Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
   FileObject = Stack->FileObject;
 
   Ccb = (PCCB)FileObject->FsContext2;
index 4fd1cfc..f640994 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: fcb.c,v 1.8 2003/07/21 21:53:47 royce Exp $
+/* $Id: fcb.c,v 1.9 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -32,6 +32,8 @@
 //#define NDEBUG
 #include <debug.h>
 
+#include <ntos.h>
+
 #include "ntfs.h"
 
 
index 1373155..862a4ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: dir.c,v 1.30 2003/07/24 20:52:58 chorns Exp $
+ * $Id: dir.c,v 1.31 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -207,6 +207,8 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
   VFATFCB tmpFcb;
   PVFATCCB pCcb;
   BOOLEAN First = FALSE;
+  
+  PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
 
   pCcb = (PVFATCCB) IrpContext->FileObject->FsContext2;
   pFcb = (PVFATFCB) IrpContext->FileObject->FsContext;
@@ -218,11 +220,11 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
   }
 
   // Obtain the callers parameters
-  BufferLength = IrpContext->Stack->Parameters.QueryDirectory.Length;
-  pSearchPattern = IrpContext->Stack->Parameters.QueryDirectory.FileName;
+  BufferLength = Stack->Parameters.QueryDirectory.Length;
+  pSearchPattern = Stack->Parameters.QueryDirectory.FileName;
   FileInformationClass =
-    IrpContext->Stack->Parameters.QueryDirectory.FileInformationClass;
-  FileIndex = IrpContext->Stack->Parameters.QueryDirectory.FileIndex;
+    Stack->Parameters.QueryDirectory.FileInformationClass;
+  FileIndex = Stack->Parameters.QueryDirectory.FileIndex;
   if (pSearchPattern)
   {
     if (!pCcb->DirectorySearchPattern)
index ab92c37..fb78c6f 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: fcb.c,v 1.32 2003/07/24 20:52:58 chorns Exp $
+/* $Id: fcb.c,v 1.33 2003/08/07 11:47:32 silverblade Exp $
  *
  *
  * FILE:             fcb.c
@@ -14,6 +14,7 @@
 #include <ddk/ntddk.h>
 #include <wchar.h>
 #include <limits.h>
+#include <ntos.h>
 
 #define NDEBUG
 #include <debug.h>
index d7857cc..c694809 100644 (file)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: fsctl.c,v 1.20 2003/07/24 20:52:58 chorns Exp $
+/* $Id: fsctl.c,v 1.21 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -29,6 +29,8 @@
 #include <ddk/ntddk.h>
 #include <wchar.h>
 
+#include <ntos.h>
+
 #define NDEBUG
 #include <debug.h>
 
index 77157b2..9ffa604 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $Id: rw.c,v 1.59 2003/07/24 20:52:58 chorns Exp $
+/* $Id: rw.c,v 1.60 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -15,6 +15,8 @@
 #include <wchar.h>
 #include <ntos/minmax.h>
 
+#include <ntos.h>
+
 #define NDEBUG
 #include <debug.h>
 
index b5c2d9a..9458944 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: volume.c,v 1.22 2003/07/24 20:52:58 chorns Exp $
+/* $Id: volume.c,v 1.23 2003/08/07 11:47:32 silverblade Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -248,6 +248,7 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
   NTSTATUS Status = STATUS_SUCCESS;
   PVOID SystemBuffer;
   ULONG BufferLength;
+  PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
 
   /* PRECONDITION */
   assert(IrpContext);
@@ -260,8 +261,8 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
      return VfatQueueRequest (IrpContext);
   }
 
-  FsInformationClass = IrpContext->Stack->Parameters.SetVolume.FsInformationClass;
-  BufferLength = IrpContext->Stack->Parameters.SetVolume.Length;
+  FsInformationClass = Stack->Parameters.SetVolume.FsInformationClass;
+  BufferLength = Stack->Parameters.SetVolume.Length;
   SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer;
 
   DPRINT1("FsInformationClass %d\n", FsInformationClass);
index f1d4f8c..dd5f144 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef __INCLUDE_DDK_FSTYPES_H
 #define __INCLUDE_DDK_FSTYPES_H
-/* $Id: fstypes.h,v 1.11 2003/06/07 10:14:39 chorns Exp $ */
+/* $Id: fstypes.h,v 1.12 2003/08/07 11:47:32 silverblade Exp $ */
 
 #define FSRTL_TAG      TAG('F','S','r','t')
 
@@ -10,6 +10,9 @@ typedef LBN *PLBN;
 typedef ULONG VBN;
 typedef VBN *PVBN;
 
+
+#ifndef __USE_W32API
+
 typedef struct _FILE_LOCK_INFO {
     LARGE_INTEGER   StartingByte;
     LARGE_INTEGER   Length;
@@ -20,11 +23,6 @@ typedef struct _FILE_LOCK_INFO {
     LARGE_INTEGER   EndingByte;
 } FILE_LOCK_INFO, *PFILE_LOCK_INFO;
 
-typedef struct _FILE_LOCK_GRANTED {
-       LIST_ENTRY                      ListEntry;
-       FILE_LOCK_INFO          Lock;
-} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
-
 typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
     IN PVOID    Context,
     IN PIRP     Irp
@@ -92,4 +90,12 @@ typedef VOID
 
 typedef PVOID OPLOCK, *POPLOCK;
 
+#endif /* __USE_W32API */
+
+typedef struct _FILE_LOCK_GRANTED {
+       LIST_ENTRY                      ListEntry;
+       FILE_LOCK_INFO          Lock;
+} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
+
+
 #endif /* __INCLUDE_DDK_FSFUNCS_H */
index 53ec60b..6879ac7 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef _INCLUDE_DDK_IOFUNCS_H
 #define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.38 2003/06/07 10:14:39 chorns Exp $ */
+/* $Id: iofuncs.h,v 1.39 2003/08/07 11:47:32 silverblade Exp $ */
 
 /* --- EXPORTED BY NTOSKRNL --- */
 
@@ -939,13 +939,17 @@ IoReportResourceUsage (
        ((PDRIVER_CANCEL)InterlockedExchangePointer(&(Irp)->CancelRoutine, \
                                             NewCancelRoutine))
 
-#define IoSetCompletionRoutine(Irp,Routine,Context,Success,Error,Cancel) \
+// AG: Context is now NewContext, otherwise we end up with this:
+// param->LocalLength=(LocalLength)
+// ...which isn't possible.
+
+#define IoSetCompletionRoutine(Irp,Routine,NewContext,Success,Error,Cancel) \
        { \
                PIO_STACK_LOCATION param; \
                assert((Success)||(Error)||(Cancel)?(Routine)!=NULL:TRUE); \
                param = IoGetNextIrpStackLocation((Irp)); \
                param->CompletionRoutine=(Routine); \
-               param->CompletionContext=(Context); \
+               param->Context=(NewContext); \
                param->Control = 0; \
                if ((Success)) \
                        param->Control = SL_INVOKE_ON_SUCCESS; \
index a29be64..5fe3f60 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: iotypes.h,v 1.50 2003/07/17 16:57:38 silverblade Exp $
+/* $Id: iotypes.h,v 1.51 2003/08/07 11:47:32 silverblade Exp $
  *
  */
 
@@ -23,6 +23,11 @@ extern POBJECT_TYPE IMPORTED IoDriverObjectType;
 extern POBJECT_TYPE IMPORTED IoFileObjectType;
 #endif
 
+
+// from winddk.h
+#define POINTER_ALIGNMENT
+
+
 /*
  * These are referenced before they can be fully defined
  */
@@ -294,6 +299,8 @@ typedef struct
 /*
  * PURPOSE: IRP stack location
  */
+
+/*
 typedef struct __attribute__((packed)) _IO_STACK_LOCATION
 {
   UCHAR MajorFunction;
@@ -462,9 +469,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
          PCM_RESOURCE_LIST AllocatedResources;
          PCM_RESOURCE_LIST AllocatedResourcesTranslated;
        } StartDevice;
-
+*/
       /* Parameters for IRP_MN_SCSI_CLASS */
-      struct
+/*      struct
        {
          struct _SCSI_REQUEST_BLOCK *Srb;
        } Scsi;
@@ -476,9 +483,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
       ULONG Key;
       LARGE_INTEGER ByteOffset;
     } LockControl;
-
+*/
       /* Paramters for other calls */
-      struct
+/*      struct
        {
          PVOID Argument1;
          PVOID Argument2;
@@ -493,7 +500,240 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
   PIO_COMPLETION_ROUTINE CompletionRoutine;
   PVOID CompletionContext;
 
-} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;
+} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;*/
+
+typedef struct _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 {
+      ULONG  Length;
+      ULONG POINTER_ALIGNMENT  Key;
+      LARGE_INTEGER  ByteOffset;
+    } Read;
+    struct {
+      ULONG  Length;
+      ULONG POINTER_ALIGNMENT  Key;
+      LARGE_INTEGER  ByteOffset;
+    } Write;
+    struct {
+      ULONG  Length;
+      FILE_INFORMATION_CLASS POINTER_ALIGNMENT  FileInformationClass;
+    } QueryFile;
+    struct {
+      ULONG  Length;
+      FILE_INFORMATION_CLASS POINTER_ALIGNMENT  FileInformationClass;
+      struct _FILE_OBJECT*  FileObject;
+      union {
+        struct {
+          BOOLEAN  ReplaceIfExists;
+          BOOLEAN  AdvanceOnly;
+        };
+        ULONG  ClusterCount;
+        HANDLE  DeleteHandle;
+      };
+    } SetFile;
+    struct {
+      ULONG  Length;
+      FS_INFORMATION_CLASS POINTER_ALIGNMENT  FsInformationClass;
+    } QueryVolume;
+    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 {
+      struct _VPB*  Vpb;
+      struct _DEVICE_OBJECT*  DeviceObject;
+    } MountVolume;
+    struct {
+      struct _VPB*  Vpb;
+      struct _DEVICE_OBJECT*  DeviceObject;
+    } VerifyVolume;
+    struct {
+      struct _SCSI_REQUEST_BLOCK  *Srb;
+    } Scsi;
+    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 {
+      ULONG  SystemContext;
+      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;
+  struct _DEVICE_OBJECT*  DeviceObject;
+  struct _FILE_OBJECT*  FileObject;
+  PIO_COMPLETION_ROUTINE  CompletionRoutine;
+  PVOID  Context;
+} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
+
+
+// AG: The commented lines in this structure are due to PMAILSLOT_CREATE_PARAMETERS
+// and PNAMED_PIPE_CREATE_PARAMETERS and PFILE_GET_QUOTA_INFORMATION not being
+// defined.
+
+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;
+//          PMAILSLOT_CREATE_PARAMETERS       Parameters;
+//       } CreateMailslot;
+
+//        struct {
+//            PIO_SECURITY_CONTEXT            SecurityContext;
+//            ULONG                           Options;
+//            USHORT                          Reserved;
+//            USHORT                          ShareAccess;
+//            PNAMED_PIPE_CREATE_PARAMETERS   Parameters;
+//        } CreatePipe;
+
+        struct {
+            ULONG                           OutputBufferLength;
+            ULONG                           InputBufferLength;
+            ULONG                           FsControlCode;
+            PVOID                           Type3InputBuffer;
+        } FileSystemControl;
+
+        struct {
+            PLARGE_INTEGER                  Length;
+            ULONG                           Key;
+            LARGE_INTEGER                   ByteOffset;
+        } LockControl;
+
+        struct {
+            ULONG                           Length;
+            ULONG                           CompletionFilter;
+        } NotifyDirectory;
+
+        struct {
+            ULONG                           Length;
+            PUNICODE_STRING                 FileName;
+            FILE_INFORMATION_CLASS          FileInformationClass;
+            ULONG                           FileIndex;
+        } QueryDirectory;
+
+        struct {
+            ULONG                           Length;
+            PVOID                           EaList;
+            ULONG                           EaListLength;
+            ULONG                           EaIndex;
+        } QueryEa;
+
+//        struct {
+//            ULONG                           Length;
+//            PSID                            StartSid;
+//            PFILE_GET_QUOTA_INFORMATION     SidList;
+//            ULONG                           SidListLength;
+//        } QueryQuota;
+
+        struct {
+            ULONG                           Length;
+        } SetEa;
+
+        struct {
+            ULONG                           Length;
+        } SetQuota;
+
+        struct {
+            ULONG                           Length;
+            FS_INFORMATION_CLASS            FsInformationClass;
+        } SetVolume;
+
+    } Parameters;
+    struct _DEVICE_OBJECT*  DeviceObject;
+    struct _FILE_OBJECT*  FileObject;
+    PIO_COMPLETION_ROUTINE  CompletionRoutine;
+    PVOID  Context;
+
+} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
+
 
 
 typedef struct _IO_STATUS_BLOCK
index 132d775..1fd65bc 100644 (file)
@@ -27,19 +27,8 @@ VOID STDCALL KeAcquireSpinLock (PKSPIN_LOCK  SpinLock,
 
 VOID STDCALL KeAcquireSpinLockAtDpcLevel (IN PKSPIN_LOCK       SpinLock);
 
-//NTOSAPI
-//DDKFASTAPI
-
-//STDCALL
-//VOID
-//KefAcquireSpinLockAtDpcLevel(
-// IN PKSPIN_LOCK  SpinLock);
-  
 #define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
 
-//NTOSAPI
-//DDKFASTAPI
-
 VOID
 STDCALL
 KeReleaseSpinLockFromDpcLevel(
@@ -58,7 +47,6 @@ KeReleaseSpinLockFromDpcLevel(
  * knows what file/line number where the bug check occured
  */
 VOID STDCALL KeBugCheck (ULONG BugCheckCode);
-#define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a)
 
 /*
  * FUNCTION: Brings the system down in a controlled manner when an 
@@ -76,7 +64,6 @@ VOID STDCALL KeBugCheckEx (ULONG      BugCheckCode,
                           ULONG        BugCheckParameter2,
                           ULONG        BugCheckParameter3,
                           ULONG        BugCheckParameter4);
-#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
 
 BOOLEAN STDCALL KeCancelTimer (PKTIMER Timer);
 
index 1c2e2e0..14127ff 100644 (file)
@@ -3,6 +3,7 @@
 
 #ifdef __USE_W32API
 #include <ddk/ntapi.h>
+#include <napi/types.h>
 #endif /* !__USE_W32API */
 
 #include <ntos/security.h>
@@ -52,9 +53,9 @@ typedef struct _LPC_MESSAGE
    USHORT MessageSize;
    USHORT MessageType;
    USHORT VirtualRangesOffset;
-   CLIENT_ID Cid;
+   CLIENT_ID ClientId;
    ULONG MessageId;
-   ULONG SharedSectionSize; // CallbackID
+   ULONG SectionSize; // CallbackID
 } LPC_MESSAGE, *PLPC_MESSAGE;
 
 #endif /* !__USE_W32API */
index 83eb715..6c96a33 100644 (file)
@@ -3,12 +3,16 @@
 
 #define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
 
+#ifndef __USE_W32API
+
 #ifndef NASSERT
 #define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);}
 #else
 #define assert(x)
 #endif
 
+#endif
+
 #ifdef NDEBUG
 #define DPRINT(args...)
 #define CHECKPOINT
index 39380b6..c2fa327 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef _NTOS_H
 #define _NTOS_H
-/* $Id: ntos.h,v 1.12 2003/06/07 16:16:38 chorns Exp $ */
+/* $Id: ntos.h,v 1.13 2003/08/07 11:47:33 silverblade Exp $ */
 
 #if defined(NTOS_MODE_USER)
 // include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
@@ -87,6 +87,7 @@
 #include "ntos/haltypes.h"
 #include "ntos/halfuncs.h"
 #include "ntos/kdfuncs.h"
+#include "ntos/kefuncs.h"   // AG
 #include "ntos/obtypes.h"
 #include "ntos/tss.h"
 #include "rosrtl/thread.h"
index 8ae196b..9267bcd 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: filelock.c,v 1.9 2003/07/11 01:23:14 royce Exp $
+/* $Id: filelock.c,v 1.10 2003/08/07 11:47:33 silverblade Exp $
  *
  * reactos/ntoskrnl/fs/filelock.c
  *
@@ -540,14 +540,14 @@ FsRtlpCompletePendingLocks(
    //walk pending list, FIFO order, try 2 complete locks
    PLIST_ENTRY                   EnumEntry;
    PIRP                          Irp;
-   PIO_STACK_LOCATION            Stack;
+   PEXTENDED_IO_STACK_LOCATION            Stack;
 
    EnumEntry = LockToc->PendingListHead.Blink;
    while (EnumEntry != &LockToc->PendingListHead) 
    {
       Irp = CONTAINING_RECORD(EnumEntry,IRP, Tail.Overlay.ListEntry);
 
-      Stack = IoGetCurrentIrpStackLocation(Irp);
+      Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
       if (FsRtlpAddLock(LockToc,
                         Stack->FileObject,
                         &Stack->Parameters.LockControl.ByteOffset,
@@ -734,7 +734,7 @@ FsRtlpDumpFileLocks(
    PFILE_LOCK_GRANTED   Granted;
    PIRP                 Irp;
    PLIST_ENTRY          EnumEntry;
-   PIO_STACK_LOCATION   Stack;
+   PEXTENDED_IO_STACK_LOCATION   Stack;
 
    assert(FileLock);
    LockToc = FileLock->LockInformation;
@@ -774,7 +774,7 @@ FsRtlpDumpFileLocks(
    {
       Irp = CONTAINING_RECORD(EnumEntry, IRP , Tail.Overlay.ListEntry );
 
-      Stack = IoGetCurrentIrpStackLocation(Irp);
+      Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
 
       DPRINT1("%s, start: %i, len: %i, end: %i, key: %i, proc: 0x%X, fob: 0x%X\n",
          (Stack->Flags & SL_EXCLUSIVE_LOCK) ? "EXCL" : "SHRD",
@@ -1083,12 +1083,12 @@ FsRtlProcessFileLock (
    IN PVOID        Context OPTIONAL
    )
 {
-   PIO_STACK_LOCATION   Stack;
+   PEXTENDED_IO_STACK_LOCATION   Stack;
    NTSTATUS             Status;
    IO_STATUS_BLOCK      LocalIoStatus;
 
    assert(FileLock);
-   Stack = IoGetCurrentIrpStackLocation(Irp);
+   Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
    Irp->IoStatus.Information = 0;
 
    switch(Stack->MinorFunction)
index 1037f4c..47ff2cb 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: dir.c,v 1.18 2003/07/11 01:23:14 royce Exp $
+/* $Id: dir.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -91,7 +91,7 @@ NtQueryDirectoryFile(
    PDEVICE_OBJECT DeviceObject;
    PFILE_OBJECT FileObject;
    NTSTATUS Status;
-   PIO_STACK_LOCATION IoStack;
+   PEXTENDED_IO_STACK_LOCATION IoStack;
    IO_STATUS_BLOCK IoSB;
    
    DPRINT("NtQueryDirectoryFile()\n");
@@ -125,7 +125,7 @@ NtQueryDirectoryFile(
    KeResetEvent( &FileObject->Event );
    Irp->UserBuffer=FileInformation;
    
-   IoStack = IoGetNextIrpStackLocation(Irp);
+   IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
    
    IoStack->MajorFunction = IRP_MJ_DIRECTORY_CONTROL;
    IoStack->MinorFunction = IRP_MN_QUERY_DIRECTORY;
@@ -146,7 +146,7 @@ NtQueryDirectoryFile(
      {
        IoStack->Flags = IoStack->Flags | SL_INDEX_SPECIFIED;
      }
-   
+
    IoStack->Parameters.QueryDirectory.FileInformationClass = 
      FileInformationClass;
    IoStack->Parameters.QueryDirectory.FileName = FileName;
index c8057b4..179ef7c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: fs.c,v 1.35 2003/07/10 15:47:00 royce Exp $
+/* $Id: fs.c,v 1.36 2003/08/07 11:47:33 silverblade Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -75,7 +75,7 @@ NtFsControlFile (
    PFILE_OBJECT FileObject;
    PDEVICE_OBJECT DeviceObject;
    PIRP Irp;
-   PIO_STACK_LOCATION StackPtr;
+   PEXTENDED_IO_STACK_LOCATION StackPtr;
    PKEVENT ptrEvent;
    IO_STATUS_BLOCK IoSB;
 
@@ -138,7 +138,7 @@ NtFsControlFile (
    Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
    Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
 
-   StackPtr = IoGetNextIrpStackLocation(Irp);
+   StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
    StackPtr->FileObject = FileObject;
    StackPtr->DeviceObject = DeviceObject;
    StackPtr->Parameters.FileSystemControl.InputBufferLength = InputBufferSize;
index 5d1482f..fb30fb9 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: irp.c,v 1.52 2003/07/10 15:47:00 royce Exp $
+/* $Id: irp.c,v 1.53 2003/08/07 11:47:33 silverblade Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -267,7 +267,7 @@ IofCompleteRequest(PIRP Irp,
       {
          Status = Irp->Stack[i].CompletionRoutine(DeviceObject,
                                                   Irp,
-                                                  Irp->Stack[i].CompletionContext);
+                                                  Irp->Stack[i].Context);
 
          if (Status == STATUS_MORE_PROCESSING_REQUIRED)
          {
index 1f2fa0e..35b29ab 100644 (file)
@@ -57,7 +57,7 @@ NtLockFile (
        PLARGE_INTEGER  LocalLength = NULL;
        PKEVENT Event = NULL;
        PIRP Irp = NULL;
-       PIO_STACK_LOCATION StackPtr;
+       PEXTENDED_IO_STACK_LOCATION StackPtr;
        IO_STATUS_BLOCK         LocalIoStatusBlock;
        PIO_STATUS_BLOCK IoStatusBlock;
        PDEVICE_OBJECT  DeviceObject;
@@ -127,7 +127,7 @@ NtLockFile (
        Irp->UserIosb = IoStatusBlock;
        Irp->Tail.Overlay.Thread = PsGetCurrentThread();
 
-       StackPtr = IoGetNextIrpStackLocation(Irp);
+       StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
        StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
        StackPtr->MinorFunction = IRP_MN_LOCK;
        StackPtr->FileObject = FileObject;
@@ -150,7 +150,7 @@ NtLockFile (
        StackPtr->Parameters.LockControl.Length = LocalLength;
        StackPtr->Parameters.LockControl.ByteOffset = *ByteOffset;
        StackPtr->Parameters.LockControl.Key = Key ? *Key : 0;
-
+       
        IoSetCompletionRoutine(  
                                        Irp,  
                                        NtLockFileCompletionRoutine,  
@@ -221,7 +221,7 @@ NtUnlockFile (
        PFILE_OBJECT FileObject = NULL;
        PLARGE_INTEGER  LocalLength = NULL;
        PIRP Irp  = NULL;
-       PIO_STACK_LOCATION StackPtr;
+       PEXTENDED_IO_STACK_LOCATION StackPtr;
        IO_STATUS_BLOCK         LocalIoStatusBlock;
        PDEVICE_OBJECT  DeviceObject;
 
@@ -265,7 +265,7 @@ NtUnlockFile (
        Irp->UserIosb = &LocalIoStatusBlock;
        Irp->Tail.Overlay.Thread = PsGetCurrentThread();
 
-       StackPtr = IoGetNextIrpStackLocation(Irp);
+       StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
        StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
        StackPtr->MinorFunction = IRP_MN_UNLOCK_SINGLE;
        StackPtr->DeviceObject = DeviceObject;
index d7f1210..2a15bda 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: vpb.c,v 1.21 2003/07/10 15:47:00 royce Exp $
+/* $Id: vpb.c,v 1.22 2003/08/07 11:47:33 silverblade Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -287,7 +287,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
    PDEVICE_OBJECT DeviceObject;
    PIRP Irp;
    NTSTATUS Status;
-   PIO_STACK_LOCATION StackPtr;
+   PEXTENDED_IO_STACK_LOCATION StackPtr;
    PVOID SystemBuffer;
    IO_STATUS_BLOCK IoSB;
    
@@ -334,7 +334,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
    Irp->UserIosb = &IoSB;
    Irp->Tail.Overlay.Thread = PsGetCurrentThread();
    
-   StackPtr = IoGetNextIrpStackLocation(Irp);
+   StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
    StackPtr->MajorFunction = IRP_MJ_SET_VOLUME_INFORMATION;
    StackPtr->MinorFunction = 0;
    StackPtr->Flags = 0;
index 715a84f..842f15c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: connect.c,v 1.18 2003/07/11 01:23:15 royce Exp $
+/* $Id: connect.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
  * 
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -96,7 +96,7 @@ EiConnectPort(IN PEPORT* ConnectedPort,
     sizeof(EPORT_CONNECT_REQUEST_MESSAGE) + RequestConnectDataLength;
   DPRINT("RequestMessageSize %d\n",
         RequestMessage->MessageHeader.MessageSize);
-  RequestMessage->MessageHeader.SharedSectionSize = 0;
+  RequestMessage->MessageHeader.SectionSize = 0;
   RequestMessage->ConnectingProcess = PsGetCurrentProcess();
   ObReferenceObjectByPointer(RequestMessage->ConnectingProcess,
                             PROCESS_VM_OPERATION,
index 9a70aa2..4db58f2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: reply.c,v 1.18 2003/07/21 21:53:52 royce Exp $
+/* $Id: reply.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
  * 
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -61,8 +61,8 @@ EiReplyOrRequestPort (IN      PEPORT          Port,
        memcpy(&MessageReply->Message, LpcReply, LpcReply->MessageSize);
      }
    
-   MessageReply->Message.Cid.UniqueProcess = PsGetCurrentProcessId();
-   MessageReply->Message.Cid.UniqueThread = PsGetCurrentThreadId();
+   MessageReply->Message.ClientId.UniqueProcess = PsGetCurrentProcessId();
+   MessageReply->Message.ClientId.UniqueThread = PsGetCurrentThreadId();
    MessageReply->Message.MessageType = MessageType;
    MessageReply->Message.MessageId = InterlockedIncrement((LONG *)&EiNextLpcMessageId);
    
index a041d36..888eb98 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: wapi.c,v 1.29 2003/07/29 23:03:01 jimtabor Exp $
+/* $Id: wapi.c,v 1.30 2003/08/07 11:47:33 silverblade Exp $
  * 
  * reactos/subsys/csrss/api/wapi.c
  *
@@ -96,7 +96,7 @@ static void Thread_Api2(HANDLE ServerPort)
        if ( LpcRequest.Header.MessageType == LPC_PORT_CLOSED )
 
          {
-            CsrFreeProcessData( (ULONG)LpcRequest.Header.Cid.UniqueProcess );
+            CsrFreeProcessData( (ULONG)LpcRequest.Header.ClientId.UniqueProcess );
             NtClose(ServerPort);
             NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
             continue;
@@ -106,7 +106,7 @@ static void Thread_Api2(HANDLE ServerPort)
        Reply = (PCSRSS_API_REPLY)&LpcReply;
        
        ProcessData = CsrGetProcessData(
-                                 (ULONG)LpcRequest.Header.Cid.UniqueProcess);
+                                 (ULONG)LpcRequest.Header.ClientId.UniqueProcess);
        
 //     DisplayString(L"CSR: Received request\n");
        if( Request->Type >= (sizeof( CsrFuncs ) / sizeof( CsrFunc )) - 1 )
@@ -156,7 +156,7 @@ void Thread_Api(PVOID PortHandle)
             NtTerminateThread(NtCurrentThread(), Status);
          }
 
-       ProcessData = CsrGetProcessData((ULONG)Request.Header.Cid.UniqueProcess);
+       ProcessData = CsrGetProcessData((ULONG)Request.Header.ClientId.UniqueProcess);
        ProcessData->CsrSectionViewBase = LpcRead.ViewBase;
        ProcessData->CsrSectionViewSize = LpcRead.ViewSize;