ReactOS 0.4.15-dev-7842-g558ab78
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
18{
22
23
24typedef struct _MSFS_FCB
25{
42
43
44typedef struct _MSFS_DPC_CTX
45{
52
53
54typedef struct _MSFS_CCB
55{
59
60
61typedef 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
105IO_CSQ_INSERT_IRP MsfsInsertIrp;
108
109IO_CSQ_REMOVE_IRP MsfsRemoveIrp;
112
113IO_CSQ_PEEK_NEXT_IRP MsfsPeekNextIrp;
116
117IO_CSQ_ACQUIRE_LOCK MsfsAcquireLock;
120
121IO_CSQ_RELEASE_LOCK MsfsReleaseLock;
124
125IO_CSQ_COMPLETE_CANCELED_IRP MsfsCompleteCanceledIrp;
128
129KDEFERRED_ROUTINE MsfsTimeout;
135
136#endif /* __DRIVERS_FS_MS_MSFS_H */
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
_In_ PIRP Irp
Definition: csq.h:116
_In_opt_ PIRP _In_opt_ PVOID PeekContext
Definition: csq.h:160
_Out_ PKIRQL Irql
Definition: csq.h:179
IO_CSQ Csq
Definition: csqrtns.c:46
DRIVER_INITIALIZE DriverEntry
Definition: condrv.c:21
UCHAR KIRQL
Definition: env_spec_w32.h:591
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
DRIVER_DISPATCH MsfsRead
Definition: msfs.h:92
DRIVER_DISPATCH MsfsQueryInformation
Definition: msfs.h:86
DRIVER_DISPATCH MsfsClose
Definition: msfs.h:83
IO_CSQ_REMOVE_IRP MsfsRemoveIrp
Definition: msfs.h:109
IO_CSQ_ACQUIRE_LOCK MsfsAcquireLock
Definition: msfs.h:117
struct _MSFS_MESSAGE * PMSFS_MESSAGE
struct _MSFS_FCB MSFS_FCB
KDEFERRED_ROUTINE MsfsTimeout
Definition: msfs.h:129
#define DEFAULTAPI
Definition: msfs.h:15
struct _MSFS_DEVICE_EXTENSION * PMSFS_DEVICE_EXTENSION
struct _MSFS_MESSAGE MSFS_MESSAGE
struct _MSFS_CCB MSFS_CCB
struct _MSFS_DPC_CTX MSFS_DPC_CTX
DRIVER_DISPATCH MsfsCreateMailslot
Definition: msfs.h:80
struct _MSFS_DPC_CTX * PMSFS_DPC_CTX
struct _MSFS_DEVICE_EXTENSION MSFS_DEVICE_EXTENSION
IO_CSQ_RELEASE_LOCK MsfsReleaseLock
Definition: msfs.h:121
struct _MSFS_CCB * PMSFS_CCB
IO_CSQ_COMPLETE_CANCELED_IRP MsfsCompleteCanceledIrp
Definition: msfs.h:125
DRIVER_DISPATCH MsfsSetInformation
Definition: msfs.h:89
DRIVER_DISPATCH MsfsWrite
Definition: msfs.h:95
DRIVER_DISPATCH MsfsFileSystemControl
Definition: msfs.h:98
struct _MSFS_FCB * PMSFS_FCB
IO_CSQ_PEEK_NEXT_IRP MsfsPeekNextIrp
Definition: msfs.h:113
DRIVER_DISPATCH MsfsCreate
Definition: msfs.h:77
IO_CSQ_INSERT_IRP MsfsInsertIrp
Definition: msfs.h:105
DRIVER_DISPATCH(nfs41_FsdDispatch)
Definition: csq.h:222
Definition: ketypes.h:699
Definition: typedefs.h:120
Definition: msfs.h:55
LIST_ENTRY CcbListEntry
Definition: msfs.h:56
PMSFS_FCB Fcb
Definition: msfs.h:57
KMUTEX FcbListLock
Definition: msfs.h:20
LIST_ENTRY FcbListHead
Definition: msfs.h:19
KEVENT Event
Definition: msfs.h:49
PIO_CSQ Csq
Definition: msfs.h:48
IO_CSQ_IRP_CONTEXT CsqContext
Definition: msfs.h:50
KDPC Dpc
Definition: msfs.h:47
KTIMER Timer
Definition: msfs.h:46
Definition: msfs.h:25
struct _MSFS_CCB * ServerCcb
Definition: msfs.h:31
UNICODE_STRING Name
Definition: msfs.h:27
KSPIN_LOCK QueueLock
Definition: msfs.h:39
ULONG MessageCount
Definition: msfs.h:35
FSRTL_COMMON_FCB_HEADER RFCB
Definition: msfs.h:26
LIST_ENTRY MessageListHead
Definition: msfs.h:37
LARGE_INTEGER TimeOut
Definition: msfs.h:33
ULONG MaxMessageSize
Definition: msfs.h:34
KSPIN_LOCK MessageListLock
Definition: msfs.h:36
IO_CSQ CancelSafeQueue
Definition: msfs.h:38
KSPIN_LOCK CcbListLock
Definition: msfs.h:29
LIST_ENTRY PendingIrpQueue
Definition: msfs.h:40
ULONG ReferenceCount
Definition: msfs.h:32
LIST_ENTRY CcbListHead
Definition: msfs.h:30
LIST_ENTRY FcbListEntry
Definition: msfs.h:28
LIST_ENTRY MessageListEntry
Definition: msfs.h:63
ULONG Size
Definition: msfs.h:64
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
Definition: wdfdriver.h:215
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:688
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:687
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:689
unsigned char UCHAR
Definition: xmlstorage.h:181