:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / drivers / fs / ms / fsctrl.c
1 /* $Id$
2  *
3  * COPYRIGHT:  See COPYING in the top level directory
4  * PROJECT:    ReactOS kernel
5  * FILE:       services/fs/ms/fsctrl.c
6  * PURPOSE:    Mailslot filesystem
7  * PROGRAMMER: Eric Kohl <ekohl@rz-online.de>
8  */
9
10 /* INCLUDES ******************************************************************/
11
12 #include <ddk/ntddk.h>
13 #include "msfs.h"
14
15 //#define NDEBUG
16 #include <debug.h>
17
18
19 /* FUNCTIONS *****************************************************************/
20
21 NTSTATUS STDCALL
22 MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
23                       PIRP Irp)
24 {
25    PIO_STACK_LOCATION IoStack;
26    PFILE_OBJECT FileObject;
27    PMSFS_MAILSLOT Mailslot;
28    PMSFS_FCB Fcb;
29    NTSTATUS Status;
30    
31    DPRINT1("MsfsFileSystemControl(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
32    
33    IoStack = IoGetCurrentIrpStackLocation(Irp);
34    FileObject = IoStack->FileObject;
35    Fcb = FileObject->FsContext;
36    Mailslot = Fcb->Mailslot;
37    
38    DPRINT1("Mailslot name: %wZ\n", &Mailslot->Name);
39    
40    switch (IoStack->Parameters.FileSystemControl.IoControlCode)
41      {
42 #if 0
43       case FSCTL_WAIT_PIPE:
44         break;
45         
46       case FSCTL_LISTEN:
47         break;
48         
49       case FSCTL_SET_STATE:
50         break;
51         
52       case FSCTL_GET_STATE:
53           {
54              
55              
56              break;
57           }
58         
59 #endif
60      default:
61         Status = STATUS_NOT_IMPLEMENTED;
62      }
63    
64    Irp->IoStatus.Status = Status;
65    Irp->IoStatus.Information = 0;
66    IoCompleteRequest (Irp, IO_NO_INCREMENT);
67    
68    return(Status);
69 }
70
71 /* EOF */