Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmsfs.h
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS kernel 00004 * FILE: drivers/filesystems/msfs/msfs.h 00005 * PURPOSE: Mailslot filesystem 00006 * PROGRAMMER: Eric Kohl 00007 */ 00008 00009 #ifndef __DRIVERS_FS_MS_MSFS_H 00010 #define __DRIVERS_FS_MS_MSFS_H 00011 00012 #include <ntifs.h> 00013 #include <iotypes.h> 00014 00015 #define DEFAULTAPI NTAPI 00016 00017 typedef struct _MSFS_DEVICE_EXTENSION 00018 { 00019 LIST_ENTRY FcbListHead; 00020 KMUTEX FcbListLock; 00021 } MSFS_DEVICE_EXTENSION, *PMSFS_DEVICE_EXTENSION; 00022 00023 00024 typedef struct _MSFS_FCB 00025 { 00026 FSRTL_COMMON_FCB_HEADER RFCB; 00027 UNICODE_STRING Name; 00028 LIST_ENTRY FcbListEntry; 00029 KSPIN_LOCK CcbListLock; 00030 LIST_ENTRY CcbListHead; 00031 struct _MSFS_CCB *ServerCcb; 00032 ULONG ReferenceCount; 00033 LARGE_INTEGER TimeOut; 00034 KEVENT MessageEvent; 00035 ULONG MaxMessageSize; 00036 ULONG MessageCount; 00037 KSPIN_LOCK MessageListLock; 00038 LIST_ENTRY MessageListHead; 00039 } MSFS_FCB, *PMSFS_FCB; 00040 00041 00042 typedef struct _MSFS_CCB 00043 { 00044 LIST_ENTRY CcbListEntry; 00045 PMSFS_FCB Fcb; 00046 } MSFS_CCB, *PMSFS_CCB; 00047 00048 00049 typedef struct _MSFS_MESSAGE 00050 { 00051 LIST_ENTRY MessageListEntry; 00052 ULONG Size; 00053 UCHAR Buffer[1]; 00054 } MSFS_MESSAGE, *PMSFS_MESSAGE; 00055 00056 00057 #define KeLockMutex(x) KeWaitForSingleObject(x, \ 00058 UserRequest, \ 00059 KernelMode, \ 00060 FALSE, \ 00061 NULL); 00062 00063 #define KeUnlockMutex(x) KeReleaseMutex(x, FALSE); 00064 00065 DRIVER_DISPATCH MsfsCreate; 00066 NTSTATUS DEFAULTAPI MsfsCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00067 00068 DRIVER_DISPATCH MsfsCreateMailslot; 00069 NTSTATUS DEFAULTAPI MsfsCreateMailslot(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00070 00071 DRIVER_DISPATCH MsfsClose; 00072 NTSTATUS DEFAULTAPI MsfsClose(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00073 00074 DRIVER_DISPATCH MsfsQueryInformation; 00075 NTSTATUS DEFAULTAPI MsfsQueryInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00076 00077 DRIVER_DISPATCH MsfsSetInformation; 00078 NTSTATUS DEFAULTAPI MsfsSetInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00079 00080 DRIVER_DISPATCH MsfsRead; 00081 NTSTATUS DEFAULTAPI MsfsRead(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00082 00083 DRIVER_DISPATCH MsfsWrite; 00084 NTSTATUS DEFAULTAPI MsfsWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00085 00086 DRIVER_DISPATCH MsfsFileSystemControl; 00087 NTSTATUS DEFAULTAPI MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject, PIRP Irp); 00088 00089 NTSTATUS NTAPI 00090 DriverEntry(PDRIVER_OBJECT DriverObject, 00091 PUNICODE_STRING RegistryPath); 00092 00093 #endif /* __DRIVERS_FS_MS_MSFS_H */ Generated on Thu May 24 2012 04:28:15 for ReactOS by
1.7.6.1
|