From 765abc4bbb2e65db566679be84397f73af0da3a8 Mon Sep 17 00:00:00 2001 From: Gregor Schneider Date: Thu, 10 Dec 2009 20:26:58 +0000 Subject: [PATCH] [msfs] Mail slot file system driver bring up 1/x: - Allow clients to query mail slot info - Read the size of the first message in the slot - Update headers, some cleanup - Fixes 11 kernel32 mail slot test failures svn path=/trunk/; revision=44529 --- reactos/drivers/filesystems/msfs/create.c | 5 ++--- reactos/drivers/filesystems/msfs/finfo.c | 24 ++++++----------------- reactos/drivers/filesystems/msfs/fsctrl.c | 8 ++------ reactos/drivers/filesystems/msfs/msfs.c | 5 ++--- reactos/drivers/filesystems/msfs/msfs.h | 2 +- reactos/drivers/filesystems/msfs/rw.c | 5 ++--- 6 files changed, 15 insertions(+), 34 deletions(-) diff --git a/reactos/drivers/filesystems/msfs/create.c b/reactos/drivers/filesystems/msfs/create.c index 13a720a4f5f..37407dc832b 100644 --- a/reactos/drivers/filesystems/msfs/create.c +++ b/reactos/drivers/filesystems/msfs/create.c @@ -1,8 +1,7 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: drivers/filesystems/ms/create.c + * FILE: drivers/filesystems/msfs/create.c * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */ diff --git a/reactos/drivers/filesystems/msfs/finfo.c b/reactos/drivers/filesystems/msfs/finfo.c index 2084395b21c..9b7b34ade5e 100644 --- a/reactos/drivers/filesystems/msfs/finfo.c +++ b/reactos/drivers/filesystems/msfs/finfo.c @@ -1,8 +1,7 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: drivers/filesystems/ms/finfo.c + * FILE: drivers/filesystems/msfs/finfo.c * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */ @@ -43,8 +42,10 @@ MsfsQueryMailslotInformation(PMSFS_FCB Fcb, } else { - /* FIXME: read size of first message (head) */ - Buffer->NextMessageSize = 0; + PMSFS_MESSAGE Message = CONTAINING_RECORD(Fcb->MessageListHead.Flink, + MSFS_MESSAGE, + MessageListEntry); + Buffer->NextMessageSize = Message->Size; } KeReleaseSpinLock(&Fcb->MessageListLock, oldIrql); @@ -94,19 +95,6 @@ MsfsQueryInformation(PDEVICE_OBJECT DeviceObject, DPRINT("Mailslot name: %wZ\n", &Fcb->Name); - /* querying information is not permitted on client side */ - if (Fcb->ServerCcb != Ccb) - { - Status = STATUS_ACCESS_DENIED; - - Irp->IoStatus.Status = Status; - Irp->IoStatus.Information = 0; - - IoCompleteRequest(Irp, IO_NO_INCREMENT); - - return Status; - } - SystemBuffer = Irp->AssociatedIrp.SystemBuffer; BufferLength = IoStack->Parameters.QueryFile.Length; diff --git a/reactos/drivers/filesystems/msfs/fsctrl.c b/reactos/drivers/filesystems/msfs/fsctrl.c index 9e3cb45b223..69bf1694bd1 100644 --- a/reactos/drivers/filesystems/msfs/fsctrl.c +++ b/reactos/drivers/filesystems/msfs/fsctrl.c @@ -1,8 +1,7 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: drivers/filesystems/ms/fsctrl.c + * FILE: drivers/filesystems/msfs/fsctrl.c * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */ @@ -38,9 +37,6 @@ MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject, switch (IoStack->Parameters.FileSystemControl.FsControlCode) { -#if 0 - -#endif default: Status = STATUS_NOT_IMPLEMENTED; } diff --git a/reactos/drivers/filesystems/msfs/msfs.c b/reactos/drivers/filesystems/msfs/msfs.c index 5a34ac85f3c..0bf1f11925c 100644 --- a/reactos/drivers/filesystems/msfs/msfs.c +++ b/reactos/drivers/filesystems/msfs/msfs.c @@ -1,8 +1,7 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/ms/msfs.c + * FILE: drivers/filesystems/msfs/msfs.c * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */ diff --git a/reactos/drivers/filesystems/msfs/msfs.h b/reactos/drivers/filesystems/msfs/msfs.h index 9b0b3fa1b82..c73daee02be 100644 --- a/reactos/drivers/filesystems/msfs/msfs.h +++ b/reactos/drivers/filesystems/msfs/msfs.h @@ -1,7 +1,7 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/ms/msfs.h + * FILE: drivers/filesystems/msfs/msfs.h * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */ diff --git a/reactos/drivers/filesystems/msfs/rw.c b/reactos/drivers/filesystems/msfs/rw.c index 4ee821d8396..f2b59c8a4bd 100644 --- a/reactos/drivers/filesystems/msfs/rw.c +++ b/reactos/drivers/filesystems/msfs/rw.c @@ -1,8 +1,7 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: drivers/filesystems/ms/rw.c + * FILE: drivers/filesystems/msfs/rw.c * PURPOSE: Mailslot filesystem * PROGRAMMER: Eric Kohl */