ReactOS  0.4.14-dev-323-g6fe6a88
msfs.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS kernel
4  * FILE: drivers/filesystems/msfs/msfs.h
5  * PURPOSE: Mailslot filesystem
6  * PROGRAMMER: Eric Kohl
7  * Nikita Pechenkin (n.pechenkin@mail.ru)
8  */
9 
10 #ifndef __DRIVERS_FS_MS_MSFS_H
11 #define __DRIVERS_FS_MS_MSFS_H
12 
13 #include <ntifs.h>
14 
15 #define DEFAULTAPI NTAPI
16 
17 typedef struct _MSFS_DEVICE_EXTENSION
18 {
22 
23 
24 typedef struct _MSFS_FCB
25 {
42 
43 
44 typedef struct _MSFS_DPC_CTX
45 {
52 
53 
54 typedef struct _MSFS_CCB
55 {
59 
60 
61 typedef struct _MSFS_MESSAGE
62 {
67 
68 
69 #define KeLockMutex(x) KeWaitForSingleObject(x, \
70  Executive, \
71  KernelMode, \
72  FALSE, \
73  NULL);
74 
75 #define KeUnlockMutex(x) KeReleaseMutex(x, FALSE);
76 
79 
82 
85 
88 
91 
94 
97 
100 
104 
105 IO_CSQ_INSERT_IRP MsfsInsertIrp;
106 VOID NTAPI
108 
109 IO_CSQ_REMOVE_IRP MsfsRemoveIrp;
110 VOID NTAPI
112 
113 IO_CSQ_PEEK_NEXT_IRP MsfsPeekNextIrp;
114 PIRP NTAPI
116 
117 IO_CSQ_ACQUIRE_LOCK MsfsAcquireLock;
118 VOID NTAPI
120 
121 IO_CSQ_RELEASE_LOCK MsfsReleaseLock;
122 VOID NTAPI
124 
125 IO_CSQ_COMPLETE_CANCELED_IRP MsfsCompleteCanceledIrp;
126 VOID NTAPI
128 
129 KDEFERRED_ROUTINE MsfsTimeout;
130 VOID NTAPI
135 
136 #endif /* __DRIVERS_FS_MS_MSFS_H */
DRIVER_DISPATCH MsfsCreateMailslot
Definition: msfs.h:80
IO_CSQ_ACQUIRE_LOCK MsfsAcquireLock
Definition: msfs.h:117
DRIVER_DISPATCH MsfsClose
Definition: msfs.h:83
struct _MSFS_CCB * ServerCcb
Definition: msfs.h:31
ULONG ReferenceCount
Definition: msfs.h:32
NTSTATUS NTAPI DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
Definition: battc.c:16
ULONG Size
Definition: msfs.h:64
KMUTEX FcbListLock
Definition: msfs.h:20
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
IO_CSQ_COMPLETE_CANCELED_IRP MsfsCompleteCanceledIrp
Definition: msfs.h:125
struct _MSFS_FCB MSFS_FCB
LIST_ENTRY CcbListEntry
Definition: msfs.h:56
struct _MSFS_MESSAGE MSFS_MESSAGE
DRIVER_DISPATCH MsfsRead
Definition: msfs.h:92
KTIMER Timer
Definition: msfs.h:46
_Out_ PKIRQL Irql
Definition: csq.h:179
struct _MSFS_MESSAGE * PMSFS_MESSAGE
IO_CSQ_IRP_CONTEXT CsqContext
Definition: msfs.h:50
DRIVER_DISPATCH MsfsFileSystemControl
Definition: msfs.h:98
UCHAR KIRQL
Definition: env_spec_w32.h:591
LIST_ENTRY MessageListHead
Definition: msfs.h:37
FSRTL_COMMON_FCB_HEADER RFCB
Definition: msfs.h:26
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
LARGE_INTEGER TimeOut
Definition: msfs.h:33
LIST_ENTRY FcbListHead
Definition: msfs.h:19
PMSFS_FCB Fcb
Definition: msfs.h:57
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
Definition: bufpool.h:45
struct _MSFS_FCB * PMSFS_FCB
struct _MSFS_DEVICE_EXTENSION MSFS_DEVICE_EXTENSION
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
_In_ LARGE_INTEGER _In_opt_ PKDPC Dpc
Definition: kefuncs.h:524
IO_CSQ_RELEASE_LOCK MsfsReleaseLock
Definition: msfs.h:121
struct _MSFS_DPC_CTX MSFS_DPC_CTX
struct _MSFS_CCB * PMSFS_CCB
DRIVER_DISPATCH MsfsCreate
Definition: msfs.h:77
ULONG MaxMessageSize
Definition: msfs.h:34
ULONG MessageCount
Definition: msfs.h:35
unsigned char UCHAR
Definition: xmlstorage.h:181
LIST_ENTRY CcbListHead
Definition: msfs.h:30
Definition: ketypes.h:687
struct _MSFS_CCB MSFS_CCB
DRIVER_DISPATCH MsfsQueryInformation
Definition: msfs.h:86
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
Definition: typedefs.h:117
DRIVER_DISPATCH(nfs41_FsdDispatch)
IO_CSQ CancelSafeQueue
Definition: msfs.h:38
KSPIN_LOCK QueueLock
Definition: msfs.h:39
IO_CSQ_INSERT_IRP MsfsInsertIrp
Definition: msfs.h:105
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
LIST_ENTRY PendingIrpQueue
Definition: msfs.h:40
Definition: csq.h:222
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
DRIVER_DISPATCH MsfsSetInformation
Definition: msfs.h:89
IO_CSQ_PEEK_NEXT_IRP MsfsPeekNextIrp
Definition: msfs.h:113
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
LIST_ENTRY MessageListEntry
Definition: msfs.h:63
KDEFERRED_ROUTINE MsfsTimeout
Definition: msfs.h:129
KDPC Dpc
Definition: msfs.h:47
#define DEFAULTAPI
Definition: msfs.h:15
_In_opt_ PIRP _In_opt_ PVOID PeekContext
Definition: csq.h:159
IO_CSQ Csq
Definition: csqrtns.c:46
IO_CSQ_REMOVE_IRP MsfsRemoveIrp
Definition: msfs.h:109
DRIVER_DISPATCH MsfsWrite
Definition: msfs.h:95
struct _MSFS_DPC_CTX * PMSFS_DPC_CTX
unsigned int ULONG
Definition: retypes.h:1
_In_ PUNICODE_STRING RegistryPath
Definition: wmip.h:27
struct _MSFS_DEVICE_EXTENSION * PMSFS_DEVICE_EXTENSION
LIST_ENTRY FcbListEntry
Definition: msfs.h:28
UNICODE_STRING Name
Definition: msfs.h:27
Definition: msfs.h:24
KEVENT Event
Definition: msfs.h:49
Definition: msfs.h:54
KSPIN_LOCK MessageListLock
Definition: msfs.h:36
PIO_CSQ Csq
Definition: msfs.h:48
KSPIN_LOCK CcbListLock
Definition: msfs.h:29
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:675