strip the whitespace one more time
Modified: trunk/reactos/ntoskrnl/io/file.c

Modified: trunk/reactos/ntoskrnl/io/file.c
--- trunk/reactos/ntoskrnl/io/file.c	2005-05-09 11:02:48 UTC (rev 15184)
+++ trunk/reactos/ntoskrnl/io/file.c	2005-05-09 11:03:44 UTC (rev 15185)
@@ -3,7 +3,7 @@
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/io/file.c
  * PURPOSE:         I/O File Object & NT File Handle Access/Managment of Files.
- * 
+ *
  * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net)
  *                  David Welch (welch@mcmail.com)
  */
@@ -30,8 +30,8 @@
 
 /* INTERNAL FUNCTIONS ********************************************************/
 
-static 
-NTSTATUS 
+static
+NTSTATUS
 STDCALL
 IopLockFileCompletionRoutine(IN PDEVICE_OBJECT DeviceObject,
                              IN PIRP Irp,
@@ -45,16 +45,16 @@
 /*
  * NAME       INTERNAL
  *  IopCreateFile
- *  
+ *
  * DESCRIPTION
- *  
+ *
  * ARGUMENTS
- *  
+ *
  * RETURN VALUE
  *
  * REVISIONS
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 IopCreateFile(PVOID ObjectBody,
               PVOID Parent,
@@ -180,7 +180,7 @@
   return(STATUS_SUCCESS);
 }
 
-VOID 
+VOID
 STDCALL
 IopDeleteFile(PVOID ObjectBody)
 {
@@ -190,11 +190,11 @@
     NTSTATUS Status;
     KEVENT Event;
     PDEVICE_OBJECT DeviceObject;
-   
+
     DPRINT("IopDeleteFile()\n");
 
     if (FileObject->DeviceObject)
-    {    
+    {
         /* Check if this is a direct open or not */
         if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN)
         {
@@ -204,46 +204,46 @@
         {
             DeviceObject = IoGetRelatedDeviceObject(FileObject);
         }
-        
+
         /* Clear and set up Events */
         KeClearEvent(&FileObject->Event);
         KeInitializeEvent(&Event, SynchronizationEvent, FALSE);
-         
+
         /* Allocate an IRP */
         Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE);
-        
+
         /* Set it up */
         Irp->UserEvent = &Event;
         Irp->UserIosb = &Irp->IoStatus;
         Irp->Tail.Overlay.Thread = PsGetCurrentThread();
         Irp->Tail.Overlay.OriginalFileObject = FileObject;
         Irp->Flags = IRP_CLOSE_OPERATION | IRP_SYNCHRONOUS_API;
-        
+
         /* Set up Stack Pointer Data */
         StackPtr = IoGetNextIrpStackLocation(Irp);
         StackPtr->MajorFunction = IRP_MJ_CLOSE;
         StackPtr->DeviceObject = DeviceObject;
         StackPtr->FileObject = FileObject;
-   
+
         /* Call the FS Driver */
         Status = IoCallDriver(DeviceObject, Irp);
-        
+
         /* Wait for completion */
         if (Status == STATUS_PENDING)
         {
             KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
         }
         IoFreeIrp(Irp);
-      
+
     }
 
-    /* Clear the file name */  
+    /* Clear the file name */
     if (FileObject->FileName.Buffer)
     {
        ExFreePool(FileObject->FileName.Buffer);
        FileObject->FileName.Buffer = NULL;
     }
-        
+
     /* Free the completion context */
     if (FileObject->CompletionContext)
     {
@@ -292,7 +292,7 @@
             /* Get the Device Object */
             DPRINT1("here\n");
             DeviceObject = IoGetAttachedDevice(FileObject->DeviceObject);
-            
+
             /* Assign the Security Descriptor */
             DeviceObject->SecurityDescriptor = SecurityDescriptor;
         }
@@ -302,7 +302,7 @@
     {
         MajorFunction = IRP_MJ_SET_SECURITY;
         DPRINT("Set security descriptor\n");
-        
+
         /* If this is a direct open, we can set it */
         if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN)
         {
@@ -310,11 +310,11 @@
             return STATUS_SUCCESS;
         }
     }
-    
+
     /* Get the Device Object */
     DPRINT1("FileObject: %p\n", FileObject);
     DeviceObject = IoGetRelatedDeviceObject(FileObject);
-    
+
     /* Check if we should use Sync IO or not */
     if (FileObject->Flags & FO_SYNCHRONOUS_IO)
     {
@@ -327,10 +327,10 @@
         KeInitializeEvent(&Event, SynchronizationEvent, FALSE);
         LocalEvent = TRUE;
     }
-    
+
     /* Allocate the IRP */
     Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE);
-     
+
     /* Set the IRP */
     Irp->Tail.Overlay.OriginalFileObject = FileObject;
     Irp->RequestorMode = ExGetPreviousMode();
@@ -338,7 +338,7 @@
     Irp->UserEvent = (LocalEvent) ? &Event : NULL;
     Irp->Flags = (LocalEvent) ? IRP_SYNCHRONOUS_API : 0;
     Irp->Tail.Overlay.Thread = PsGetCurrentThread();
-    
+
     /* Set Stack Parameters */
     StackPtr = IoGetNextIrpStackLocation(Irp);
     StackPtr->FileObject = FileObject;
@@ -355,32 +355,32 @@
         StackPtr->Parameters.SetSecurity.SecurityInformation = SecurityInformation;
         StackPtr->Parameters.SetSecurity.SecurityDescriptor = SecurityDescriptor;
     }
-    
+
     /* Call the Driver */
     Status = IoCallDriver(FileObject->DeviceObject, Irp);
-    
+
     if (Status == STATUS_PENDING)
     {
         if (LocalEvent)
         {
-            KeWaitForSingleObject(&Event, 
-                                  Executive, 
-                                  KernelMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+            KeWaitForSingleObject(&Event,
+                                  Executive,
+                                  KernelMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = IoStatusBlock.Status;
         }
         else
         {
             KeWaitForSingleObject(&FileObject->Event,
-                                  Executive, 
-                                  KernelMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+                                  Executive,
+                                  KernelMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = FileObject->FinalStatus;
         }
     }
-        
+
     /* This Driver doesn't implement Security, so try to give it a default */
     if (Status == STATUS_INVALID_DEVICE_REQUEST)
     {
@@ -472,7 +472,7 @@
   return Status;
 }
 
-VOID 
+VOID
 STDCALL
 IopCloseFile(PVOID ObjectBody,
              ULONG HandleCount)
@@ -483,9 +483,9 @@
     PIO_STACK_LOCATION StackPtr;
     NTSTATUS Status;
     PDEVICE_OBJECT DeviceObject;
-   
+
     DPRINT("IopCloseFile()\n");
-   
+
     if (HandleCount > 1 || FileObject->DeviceObject == NULL) return;
 
     /* Check if this is a direct open or not */
@@ -497,29 +497,29 @@
     {
         DeviceObject = IoGetRelatedDeviceObject(FileObject);
     }
-    
+
     /* Clear and set up Events */
     KeClearEvent(&FileObject->Event);
     KeInitializeEvent(&Event, SynchronizationEvent, FALSE);
-  
+
     /* Allocate an IRP */
     Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE);
-        
+
     /* Set it up */
     Irp->UserEvent = &Event;
     Irp->UserIosb = &Irp->IoStatus;
     Irp->Tail.Overlay.Thread = PsGetCurrentThread();
     Irp->Tail.Overlay.OriginalFileObject = FileObject;
     Irp->Flags = IRP_CLOSE_OPERATION | IRP_SYNCHRONOUS_API;
-        
+
     /* Set up Stack Pointer Data */
     StackPtr = IoGetNextIrpStackLocation(Irp);
     StackPtr->MajorFunction = IRP_MJ_CLEANUP;
     StackPtr->FileObject = FileObject;
-   
+
     /* Call the FS Driver */
     Status = IoCallDriver(DeviceObject, Irp);
-        
+
     /* Wait for completion */
     if (Status == STATUS_PENDING)
     {
@@ -559,60 +559,60 @@
 /*
  * NAME       EXPORTED
  *  IoCreateFile@56
- *  
+ *
  * DESCRIPTION
  *  Either causes a new file or directory to be created, or it
  *  opens an existing file, device, directory or volume, giving
  *  the caller a handle for the file object. This handle can be
  *  used by subsequent calls to manipulate data within the file
  *  or the file object's state of attributes.
- *  
+ *
  * ARGUMENTS
  * FileHandle (OUT)
  *  Points to a variable which receives the file handle
  *  on return;
- *  
+ *
  * DesiredAccess
  *  Desired access to the file;
- *  
+ *
  * ObjectAttributes
  *  Structure describing the file;
- *  
+ *
  * IoStatusBlock (OUT)
  *  Receives information about the operation on return;
- *  
+ *
  * AllocationSize [OPTIONAL]
  *  Initial size of the file in bytes;
- *  
+ *
  * FileAttributes
  *  Attributes to create the file with;
- *  
+ *
  * ShareAccess
  *  Type of shared access the caller would like to the
  *  file;
- *  
+ *
  * CreateDisposition
  *  Specifies what to do, depending on whether the
  *  file already exists;
- *  
+ *
  * CreateOptions
  *  Options for creating a new file;
- *  
+ *
  * EaBuffer [OPTIONAL]
  *  Undocumented;
- *  
+ *
  * EaLength
  *  Undocumented;
- *  
+ *
  * CreateFileType
  *  Type of file (normal, named pipe, mailslot) to create;
- *  
+ *
  * ExtraCreateParameters [OPTIONAL]
  *  Additional creation data for named pipe and mailsots;
- *  
+ *
  * Options
  *  Undocumented.
- *  
+ *
  * RETURN VALUE
  *  Status
  *
@@ -620,12 +620,12 @@
  *  Prototype taken from Bo Branten's ntifs.h v15.
  *  Description taken from old NtCreateFile's which is
  *  now a wrapper of this call.
- *  
+ *
  * REVISIONS
- * 
+ *
  * @implemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 IoCreateFile(OUT PHANDLE  FileHandle,
              IN ACCESS_MASK  DesiredAccess,
@@ -653,12 +653,12 @@
    LARGE_INTEGER        SafeAllocationSize;
    PVOID                SystemEaBuffer = NULL;
    NTSTATUS  Status = STATUS_SUCCESS;
-   
+
    DPRINT("IoCreateFile(FileHandle %x, DesiredAccess %x, "
    "ObjectAttributes %x ObjectAttributes->ObjectName->Buffer %S)\n",
    FileHandle,DesiredAccess,ObjectAttributes,
    ObjectAttributes->ObjectName->Buffer);
-   
+
    ASSERT_IRQL(PASSIVE_LEVEL);
 
    if (IoStatusBlock == NULL || FileHandle == NULL)
@@ -670,7 +670,7 @@
      AccessMode = KernelMode;
    else
      AccessMode = ExGetPreviousMode();
-   
+
    if(AccessMode != KernelMode)
    {
      _SEH_TRY
@@ -716,7 +716,7 @@
        Status = _SEH_GetExceptionCode();
      }
      _SEH_END;
-     
+
      if(!NT_SUCCESS(Status))
      {
        return Status;
@@ -758,7 +758,7 @@
          AccessMode,
          (PVOID*)&DeviceObject,
          NULL);
-         ZwClose(LocalHandle); 
+         ZwClose(LocalHandle);
   if (!NT_SUCCESS(Status))
   {
      return Status;
@@ -792,9 +792,9 @@
  return Status;
       }
    }
-   RtlMapGenericMask(&DesiredAccess,    
+   RtlMapGenericMask(&DesiredAccess,
                       BODY_TO_HEADER(FileObject)->ObjectType->Mapping);
-                      
+
    Status = ObInsertObject ((PVOID)FileObject,
        NULL,
        DesiredAccess,
@@ -824,10 +824,10 @@
    SecurityContext.AccessState = NULL; /* ?? */
    SecurityContext.DesiredAccess = DesiredAccess;
    SecurityContext.FullCreateOptions = 0; /* ?? */
-   
+
    KeInitializeEvent(&FileObject->Lock, SynchronizationEvent, TRUE);
    KeInitializeEvent(&FileObject->Event, NotificationEvent, FALSE);
-   
+
    DPRINT("FileObject %x\n", FileObject);
    DPRINT("FileObject->DeviceObject %x\n", FileObject->DeviceObject);
    /*
@@ -851,7 +851,7 @@
    Irp->Tail.Overlay.Thread = PsGetCurrentThread();
    Irp->UserEvent = &FileObject->Event;
    Irp->Overlay.AllocationSize = SafeAllocationSize;
-   
+
    /*
     * Get the stack location for the new
     * IRP and prepare it.
@@ -875,7 +875,7 @@
    StackLoc->Parameters.Create.ShareAccess = (USHORT)ShareAccess;
    StackLoc->Parameters.Create.EaLength = SystemEaBuffer != NULL ? EaLength : 0;
    break;
- 
+
  case CreateFileTypeNamedPipe:
    StackLoc->MajorFunction = IRP_MJ_CREATE_NAMED_PIPE;
    StackLoc->Parameters.CreatePipe.SecurityContext = &SecurityContext;
@@ -903,7 +903,7 @@
     */
    Status = IofCallDriver(FileObject->DeviceObject, Irp );
    DPRINT("Status :%x\n", Status);
-   
+
    if (Status == STATUS_PENDING)
      {
  KeWaitForSingleObject(&FileObject->Event,
@@ -976,34 +976,34 @@
 /*
  * NAME       EXPORTED
  *  IoCreateStreamFileObject@8
- *  
+ *
  * DESCRIPTION
- *  
+ *
  * ARGUMENTS
  * FileObject
  *  ?
- *  
+ *
  * DeviceObject
  *  ?
- *  
+ *
  * RETURN VALUE
  *
  * NOTE
- *  
+ *
  * REVISIONS
- * 
+ *
  * @implemented
  */
-PFILE_OBJECT 
+PFILE_OBJECT
 STDCALL
 IoCreateStreamFileObject(PFILE_OBJECT FileObject,
                          PDEVICE_OBJECT DeviceObject)
 {
     PFILE_OBJECT CreatedFileObject;
     NTSTATUS Status;
-    
-    /* FIXME: This function should call ObInsertObject. The "Lite" version 
-       doesnt. This function is also called from IoCreateFile for some 
+
+    /* FIXME: This function should call ObInsertObject. The "Lite" version
+       doesnt. This function is also called from IoCreateFile for some
        reason. These hacks need to be removed.
     */
 
@@ -1030,9 +1030,9 @@
     /* Choose Device Object */
     if (FileObject) DeviceObject = FileObject->DeviceObject;
     DPRINT("DeviceObject %x\n", DeviceObject);
-    
+
     /* Set File Object Data */
-    CreatedFileObject->DeviceObject = DeviceObject; 
+    CreatedFileObject->DeviceObject = DeviceObject;
     CreatedFileObject->Vpb = DeviceObject->Vpb;
     CreatedFileObject->Type = IO_TYPE_FILE;
     CreatedFileObject->Flags = FO_STREAM_FILE;
@@ -1072,7 +1072,7 @@
 /*
  * @implemented
  */
-PGENERIC_MAPPING 
+PGENERIC_MAPPING
 STDCALL
 IoGetFileObjectGenericMapping(VOID)
 {
@@ -1105,7 +1105,7 @@
 /*
  * @implemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 IoQueryFileInformation(IN PFILE_OBJECT FileObject,
                        IN FILE_INFORMATION_CLASS FileInformationClass,
@@ -1120,20 +1120,20 @@
     BOOLEAN LocalEvent = FALSE;
     KEVENT Event;
     NTSTATUS Status;
-   
+
     ASSERT(FileInformation != NULL);
-   
+
     Status = ObReferenceObjectByPointer(FileObject,
                                         FILE_READ_ATTRIBUTES,
                                         IoFileObjectType,
                                         KernelMode);
     if (!NT_SUCCESS(Status)) return(Status);
-   
+
     DPRINT("FileObject %x\n", FileObject);
-   
+
     /* Get the Device Object */
     DeviceObject = IoGetRelatedDeviceObject(FileObject);
-    
+
     /* Check if we should use Sync IO or not */
     if (FileObject->Flags & FO_SYNCHRONOUS_IO)
     {
@@ -1146,10 +1146,10 @@
         KeInitializeEvent(&Event, SynchronizationEvent, FALSE);
         LocalEvent = TRUE;
     }
-   
+
     /* Allocate the IRP */
     Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE);
-     
+
     /* Set the IRP */
     Irp->Tail.Overlay.OriginalFileObject = FileObject;
     Irp->RequestorMode = KernelMode;
@@ -1158,42 +1158,42 @@
     Irp->UserEvent = (LocalEvent) ? &Event : NULL;
     Irp->Flags = (LocalEvent) ? IRP_SYNCHRONOUS_API : 0;
     Irp->Tail.Overlay.Thread = PsGetCurrentThread();
-   
+
     /* Set the Stack Data */
     StackPtr = IoGetNextIrpStackLocation(Irp);
-    StackPtr->MajorFunction = IRP_MJ_QUERY_INFORMATION;    
+    StackPtr->MajorFunction = IRP_MJ_QUERY_INFORMATION;
     StackPtr->FileObject = FileObject;
-   
+
     /* Set Parameters */
     StackPtr->Parameters.QueryFile.FileInformationClass = FileInformationClass;
     StackPtr->Parameters.QueryFile.Length = Length;
-   
+
     /* Call the Driver */
     Status = IoCallDriver(FileObject->DeviceObject, Irp);
-    
+
     if (Status == STATUS_PENDING)
     {
         if (LocalEvent)
         {
-            KeWaitForSingleObject(&Event, 
-                                  Executive, 
-                                  KernelMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+            KeWaitForSingleObject(&Event,
+                                  Executive,
+                                  KernelMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = IoStatusBlock.Status;
         }
         else
         {
             KeWaitForSingleObject(&FileObject->Event,
-                                  Executive, 
-                                  KernelMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+                                  Executive,
+                                  KernelMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = FileObject->FinalStatus;
         }
     }
-        
-   
+
+
     /* Return the Length and Status. ReturnedLength is NOT optional */
     *ReturnedLength = IoStatusBlock.Information;
     return Status;
@@ -1214,7 +1214,7 @@
 /**
  * @name NtCancelIoFile
  *
- * Cancel all pending I/O operations in the current thread for specified 
+ * Cancel all pending I/O operations in the current thread for specified
  * file object.
  *
  * @param FileHandle
@@ -1228,7 +1228,7 @@
  *
  * @implemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 NtCancelIoFile(IN HANDLE FileHandle,
                OUT PIO_STATUS_BLOCK IoStatusBlock)
@@ -1272,7 +1272,7 @@
          /* Don't break here, we want to cancel all IRPs for the file object. */
          OurIrpsInList = TRUE;
       }
-   }   
+   }
 
    KfLowerIrql(OldIrql);
 
@@ -1328,14 +1328,14 @@
 /*
  * NAME       EXPORTED
  * NtCreateFile@44
- * 
+ *
  * DESCRIPTION
  * Entry point to call IoCreateFile with
  * default parameters.
  *
  * ARGUMENTS
  *  See IoCreateFile.
- * 
+ *
  * RETURN VALUE
  *  See IoCreateFile.
  *
@@ -1345,7 +1345,7 @@
  *
  * @implemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 NtCreateFile(PHANDLE FileHandle,
              ACCESS_MASK DesiredAccess,
@@ -1388,19 +1388,19 @@
                      IN PLARGE_INTEGER TimeOut)
 {
     MAILSLOT_CREATE_PARAMETERS Buffer;
-   
+
     DPRINT("NtCreateMailslotFile(FileHandle %x, DesiredAccess %x, "
            "ObjectAttributes %x ObjectAttributes->ObjectName->Buffer %S)\n",
            FileHandle,DesiredAccess,ObjectAttributes,
            ObjectAttributes->ObjectName->Buffer);
     PAGED_CODE();
-   
+
     /* Check for Timeout */
     if (TimeOut)
     {
         /* Enable it */
         Buffer.TimeoutSpecified = TRUE;
-        
+
         /* FIXME: Add SEH */
         Buffer.ReadTimeout = *TimeOut;
     }
@@ -1409,7 +1409,7 @@
         /* No timeout */
         Buffer.TimeoutSpecified = FALSE;
     }
-    
+
     /* Set Settings */
     Buffer.MailslotQuota = MailslotQuota;
     Buffer.MaximumMessageSize = MaxMessageSize;
@@ -1461,7 +1461,7 @@
     {
         /* Enable it */
         Buffer.TimeoutSpecified = TRUE;
-        
+
         /* FIXME: Add SEH */
         Buffer.DefaultTimeout = *DefaultTimeout;
     }
@@ -1470,7 +1470,7 @@
         /* No timeout */
         Buffer.TimeoutSpecified = FALSE;
     }
-    
+
     /* Set Settings */
     Buffer.NamedPipeType = NamedPipeType;
     Buffer.ReadMode = ReadMode;
@@ -1499,9 +1499,9 @@
 /*
  * NAME       EXPORTED
  * NtDeleteFile@4
- *  
+ *
  * DESCRIPTION
- *  
+ *
  * ARGUMENTS
  * ObjectAttributes
  *  ?
@@ -1509,10 +1509,10 @@
  * RETURN VALUE
  *
  * REVISIONS
- * 
+ *
  * @unimplemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 NtDeleteFile(IN POBJECT_ATTRIBUTES ObjectAttributes)
 {
@@ -1532,10 +1532,10 @@
  * FUNCTION: Flushes cached file data to disk
  * ARGUMENTS:
  *       FileHandle = Points to the file
- *  IoStatusBlock = Caller must supply storage to receive the result of 
+ *  IoStatusBlock = Caller must supply storage to receive the result of
  *                       the flush buffers operation. The information field is
  *                       set to number of bytes flushed to disk.
- * RETURNS: Status 
+ * RETURNS: Status
  * REMARKS: This function maps to the win32 FlushFileBuffers
  */
 NTSTATUS
@@ -1570,7 +1570,7 @@
     {
         DeviceObject = IoGetRelatedDeviceObject(FileObject);
     }
-    
+
     /* Check if we should use Sync IO or not */
     if (FileObject->Flags & FO_SYNCHRONOUS_IO)
     {
@@ -1590,7 +1590,7 @@
         ObDereferenceObject(FileObject);
         return STATUS_INSUFFICIENT_RESOURCES;
     }
-    
+
     /* Set up the IRP */
     Irp->Flags = (LocalEvent) ? IRP_SYNCHRONOUS_API : 0;
     Irp->RequestorMode = PreviousMode;
@@ -1603,26 +1603,26 @@
     StackPtr = IoGetNextIrpStackLocation(Irp);
     StackPtr->MajorFunction = IRP_MJ_FLUSH_BUFFERS;
     StackPtr->FileObject = FileObject;
-    
+
     /* Call the Driver */
     Status = IoCallDriver(DeviceObject, Irp);
     if (Status == STATUS_PENDING)
     {
         if (LocalEvent)
         {
-            KeWaitForSingleObject(&Event, 
-                                  Executive, 
-                                  PreviousMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+            KeWaitForSingleObject(&Event,
+                                  Executive,
+                                  PreviousMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = IoStatusBlock->Status;
         }
         else
         {
             KeWaitForSingleObject(&FileObject->Event,
-                                  Executive, 
-                                  PreviousMode, 
-                                  FileObject->Flags & FO_ALERTABLE_IO, 
+                                  Executive,
+                                  PreviousMode,
+                                  FileObject->Flags & FO_ALERTABLE_IO,
                                   NULL);
             Status = FileObject->FinalStatus;
         }
@@ -1638,9 +1638,9 @@
 NTSTATUS
 STDCALL
 NtNotifyChangeDirectoryFile(IN HANDLE FileHandle,
-                            IN HANDLE Event OPTIONAL, 
-                            IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, 
-                            IN PVOID ApcContext OPTIONAL, 
+                            IN HANDLE Event OPTIONAL,
+                            IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
+                            IN PVOID ApcContext OPTIONAL,
                             OUT PIO_STATUS_BLOCK IoStatusBlock,
                             OUT PVOID Buffer,
                             IN ULONG BufferSize,
@@ -1653,13 +1653,13 @@
    PIO_STACK_LOCATION IoStack;
    KPROCESSOR_MODE PreviousMode;
    NTSTATUS Status = STATUS_SUCCESS;
-   
+
    DPRINT("NtNotifyChangeDirectoryFile()\n");
-   
+
    PAGED_CODE();
 
    PreviousMode = ExGetPreviousMode();
-   
+
    if(PreviousMode != KernelMode)
    {
      _SEH_TRY
@@ -1679,7 +1679,7 @@
        Status = _SEH_GetExceptionCode();
      }
      _SEH_END;
-     
+
      if(!NT_SUCCESS(Status))
      {
        return Status;
@@ -1693,18 +1693,18 @@
                                        (PVOID *)&FileObject,
                                        NULL);
     if (Status != STATUS_SUCCESS) return(Status);
-   
-   
+
+
    DeviceObject = FileObject->DeviceObject;
-   
-   
+
+
    Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE);
    if (Irp==NULL)
      {
  ObDereferenceObject(FileObject);
  return STATUS_UNSUCCESSFUL;
      }
-   
+
    if (Event == NULL)
      {
        Event = &FileObject->Event;
@@ -1720,16 +1720,16 @@
    Irp->UserBuffer = Buffer;
    Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
    Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
-   
+
    IoStack = IoGetNextIrpStackLocation(Irp);
-   
+
    IoStack->MajorFunction = IRP_MJ_DIRECTORY_CONTROL;
    IoStack->MinorFunction = IRP_MN_NOTIFY_CHANGE_DIRECTORY;
    IoStack->Flags = 0;
    IoStack->Control = 0;
    IoStack->DeviceObject = DeviceObject;
    IoStack->FileObject = FileObject;
-   
+
    if (WatchTree)
      {
  IoStack->Flags = SL_WATCH_TREE;
@@ -1737,7 +1737,7 @@
 
    IoStack->Parameters.NotifyDirectory.CompletionFilter = CompletionFilter;
    IoStack->Parameters.NotifyDirectory.Length = BufferSize;
-   
+
    Status = IoCallDriver(FileObject->DeviceObject,Irp);
 
    /* FIXME: Should we wait here or not for synchronously opened files? */
@@ -1908,39 +1908,39 @@
 /*
  * NAME       EXPORTED
  *  NtOpenFile@24
- *  
+ *
  * DESCRIPTION
  *  Opens an existing file (simpler than NtCreateFile).
  *
  * ARGUMENTS
  * FileHandle (OUT)
  *  Variable that receives the file handle on return;
- *  
+ *
  * DesiredAccess
  *  Access desired by the caller to the file;
- *  
+ *
  * ObjectAttributes
  *  Structue describing the file to be opened;
- *  
+ *
  * IoStatusBlock (OUT)
  *  Receives details about the result of the
  *  operation;
- *  
+ *
  * ShareAccess
  *  Type of shared access the caller requires;
- *  
+ *
  * OpenOptions
  *  Options for the file open.
  *
  * RETURN VALUE
  *  Status.
- *  
+ *
  * NOTE
  *  Undocumented.
  *
  * @implemented
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
 NtOpenFile(PHANDLE FileHandle,
            ACCESS_MASK DesiredAccess,
@@ -1966,7 +1966,7 @@
                         0);
 }
 
-NTSTATUS 
+NTSTATUS
 STDCALL
 NtQueryAttributesFile(IN POBJECT_ATTRIBUTES ObjectAttributes,
                       OUT PFILE_BASIC_INFORMATION FileInformation)
@@ -2021,10 +2021,10 @@
  *  FileBothDirectoryInformation FILE_BOTH_DIR_INFORMATION
  *
  *   Length = Size of the storage supplied
- *   FileInformationClass = Indicates the type of information requested.  
- *   ReturnSingleEntry = Specify true if caller only requests the first 
+ *   FileInformationClass = Indicates the type of information requested.
+ *   ReturnSingleEntry = Specify true if caller only requests the first
  *                            directory found.
- *   FileName = Initial directory name to query, that may contain wild 
+ *   FileName = Initial directory name to query, that may contain wild
  *                   cards.
  *        RestartScan = Number of times the action should be repeated
  * RETURNS: Status [ STATUS_SUCCESS, STATUS_ACCESS_DENIED, STATUS_INSUFFICIENT_RESOURCES,
@@ -2032,7 +2032,7 @@
  *       STATUS_INVALID_INFO_CLASS, STATUS_NO_SUCH_FILE, STATUS_NO_MORE_FILES ]
  */
 NTSTATUS
-STDCALL 
+STDCALL
 NtQueryDirectoryFile(IN HANDLE FileHandle,
[truncated at 1000 lines; 431 more skipped]