Manually applying Gunnars patch became it's easier this way - and a good chance to...
[reactos.git] / reactos / include / ddk / fsfuncs.h
index e99546a..51adca6 100644 (file)
@@ -1,30 +1,86 @@
 #ifndef __INCLUDE_DDK_FSFUNCS_H
 #define __INCLUDE_DDK_FSFUNCS_H
-/* $Id: fsfuncs.h,v 1.3 2000/01/20 22:11:48 ea Exp $ */
+/* $Id: fsfuncs.h,v 1.17 2002/11/07 02:44:49 robd Exp $ */
+#define FlagOn(x,f) ((x) & (f))
+
 VOID
 STDCALL
-FsRtlAddLargeMcbEntry (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4,
-       DWORD   Unknown5,
-       DWORD   Unknown6
+FsRtlFreeFileLock(
+       IN PFILE_LOCK FileLock
        );
-VOID
+
+PFILE_LOCK
 STDCALL
-FsRtlAddMcbEntry (
+FsRtlAllocateFileLock (
+    IN PCOMPLETE_LOCK_IRP_ROUTINE   CompleteLockIrpRoutine OPTIONAL,
+    IN PUNLOCK_ROUTINE              UnlockRoutine OPTIONAL
+    );
+
+#define FsRtlAreThereCurrentFileLocks(FL) (((FL)->FastIoIsQuestionable))
+
+BOOLEAN STDCALL
+FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
+                     IN LONGLONG Vbn,
+                     IN LONGLONG Lbn,
+                     IN LONGLONG SectorCount);
+
+VOID STDCALL
+FsRtlAddMcbEntry(
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2,
        DWORD   Unknown3
        );
+
+VOID STDCALL
+FsRtlAddToTunnelCache (
+    IN PTUNNEL          Cache,
+    IN ULONGLONG        DirectoryKey,
+    IN PUNICODE_STRING  ShortName,
+    IN PUNICODE_STRING  LongName,
+    IN BOOLEAN          KeyByShortName,
+    IN ULONG            DataLength,
+    IN PVOID            Data
+    );
+
+PVOID STDCALL
+FsRtlAllocatePool (
+       IN      POOL_TYPE       PoolType,
+       IN      ULONG           NumberOfBytes
+       );
+
+PVOID STDCALL
+FsRtlAllocatePoolWithQuota (
+       IN      POOL_TYPE       PoolType,
+       IN      ULONG           NumberOfBytes
+       );
+
+PVOID STDCALL
+FsRtlAllocatePoolWithQuotaTag (
+       IN      POOL_TYPE       PoolType,
+       IN      ULONG           NumberOfBytes,
+       IN      ULONG           Tag
+       );
+PVOID
+STDCALL
+FsRtlAllocatePoolWithTag (
+       IN      POOL_TYPE       PoolType,
+       IN      ULONG           NumberOfBytes,
+       IN      ULONG           Tag
+       );
 DWORD
 STDCALL
 FsRtlAllocateResource (
        VOID
        );
+BOOLEAN
+STDCALL
+FsRtlAreNamesEqual (
+       IN      PUNICODE_STRING Name1,
+       IN      PUNICODE_STRING Name2,
+       IN      BOOLEAN         IgnoreCase,
+       IN      PWCHAR          UpcaseTable     OPTIONAL
+       );
 DWORD
 STDCALL
 FsRtlBalanceReads (
@@ -32,48 +88,168 @@ FsRtlBalanceReads (
        );
 BOOLEAN
 STDCALL
+FsRtlCheckLockForReadAccess (
+       IN PFILE_LOCK   FileLock,
+       IN PIRP         Irp
+       );
+BOOLEAN
+STDCALL
+FsRtlCheckLockForWriteAccess (
+       IN PFILE_LOCK   FileLock,
+       IN PIRP         Irp
+       );
+
+NTSTATUS STDCALL
+FsRtlCheckOplock(IN POPLOCK Oplock,
+                IN PIRP Irp,
+                IN PVOID Context,
+                IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL,
+                IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL);
+
+BOOLEAN
+STDCALL
 FsRtlCopyRead (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4,
-       DWORD   Unknown5,
-       DWORD   Unknown6,
-       DWORD   Unknown7
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      BOOLEAN                 Wait,
+       IN      ULONG                   LockKey,
+       OUT     PVOID                   Buffer,
+       OUT     PIO_STATUS_BLOCK        IoStatus,
+       IN      PDEVICE_OBJECT          DeviceObject
        );
 BOOLEAN
 STDCALL
 FsRtlCopyWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      BOOLEAN                 Wait,
+       IN      ULONG                   LockKey,
+       IN      PVOID                   Buffer,
+       OUT     PIO_STATUS_BLOCK        IoStatus,
+       IN      PDEVICE_OBJECT          DeviceObject
+       );
+
+BOOLEAN STDCALL
+FsRtlCurrentBatchOplock(IN POPLOCK Oplock);
+
+VOID STDCALL
+FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
+                             IN ULONGLONG DirectoryKey);
+
+VOID STDCALL
+FsRtlDeleteTunnelCache(IN PTUNNEL Cache);
+
+VOID STDCALL
+FsRtlDeregisterUncProvider(IN HANDLE Handle);
+
+VOID
+STDCALL
+FsRtlDissectDbcs (
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4,
-       DWORD   Unknown5,
-       DWORD   Unknown6,
-       DWORD   Unknown7
+       DWORD   Unknown3
        );
 VOID
 STDCALL
-FsRtlDeregisterUncProvider (
-       DWORD   Unknown0
+FsRtlDissectName (
+       DWORD   Unknown0,
+       DWORD   Unknown1,
+       DWORD   Unknown2,
+       DWORD   Unknown3
        );
-DWORD
+BOOLEAN
 STDCALL
-FsRtlGetFileSize (
-       DWORD   Unknown0,
-       DWORD   Unknown1
+FsRtlDoesDbcsContainWildCards (
+       IN      DWORD   Unknown0
+       );
+BOOLEAN
+STDCALL
+FsRtlDoesNameContainWildCards (
+       IN      PUNICODE_STRING Name
+       );
+BOOLEAN
+STDCALL
+FsRtlFastCheckLockForRead (
+       IN      PFILE_LOCK              FileLock,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      PLARGE_INTEGER          Length,
+       IN      ULONG                   Key,
+       IN      PFILE_OBJECT            FileObject,
+       IN      PEPROCESS               Process
+       );
+BOOLEAN
+STDCALL
+FsRtlFastCheckLockForWrite (
+       IN      PFILE_LOCK              FileLock,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      PLARGE_INTEGER          Length,
+       IN      ULONG                   Key,
+       IN      PFILE_OBJECT            FileObject,
+       IN      PEPROCESS               Process
        );
+NTSTATUS
+STDCALL
+FsRtlFastUnlockAll (
+       IN      PFILE_LOCK           FileLock,
+       IN      PFILE_OBJECT         FileObject,
+       IN      PEPROCESS            Process,
+       IN      PVOID                Context OPTIONAL
+       );
+NTSTATUS
+STDCALL
+FsRtlFastUnlockAllByKey (
+       IN      PFILE_LOCK      FileLock,
+       IN      PFILE_OBJECT    FileObject,
+       IN      PEPROCESS       Process,
+       IN      DWORD           Key,
+       IN      PVOID           Context OPTIONAL
+       );
+NTSTATUS
+STDCALL
+FsRtlFastUnlockSingle (
+    IN PFILE_LOCK           FileLock,
+    IN PFILE_OBJECT         FileObject,
+    IN PLARGE_INTEGER       FileOffset,
+    IN PLARGE_INTEGER       Length,
+    IN PEPROCESS            Process,
+    IN ULONG                Key,
+    IN PVOID                Context OPTIONAL,
+    IN BOOLEAN              AlreadySynchronized
+    );
 VOID
 STDCALL
-FsRtlGetNextLargeMcbEntry (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4
+FsRtlFindInTunnelCache (
+    IN PTUNNEL          Cache,
+    IN ULONGLONG        DirectoryKey,
+    IN PUNICODE_STRING  Name,
+    OUT PUNICODE_STRING ShortName,
+    OUT PUNICODE_STRING LongName,
+    IN OUT PULONG       DataLength,
+    OUT PVOID           Data
+    );
+NTSTATUS
+STDCALL
+FsRtlGetFileSize (
+       IN      PFILE_OBJECT    FileObject,
+       IN OUT  PLARGE_INTEGER  FileSize
+       );
+PFILE_LOCK_INFO
+STDCALL
+FsRtlGetNextFileLock (
+       IN      PFILE_LOCK      FileLock,
+       IN      BOOLEAN         Restart
        );
+
+BOOLEAN STDCALL
+FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
+                         IN ULONG RunIndex,
+                         OUT PLONGLONG Vbn,
+                         OUT PLONGLONG Lbn,
+                         OUT PLONGLONG SectorCount);
+
 VOID
 STDCALL
 FsRtlGetNextMcbEntry (
@@ -83,47 +259,94 @@ FsRtlGetNextMcbEntry (
        DWORD   Unknown3,
        DWORD   Unknown4
        );
+#define FsRtlEnterFileSystem    KeEnterCriticalRegion
+#define FsRtlExitFileSystem     KeLeaveCriticalRegion
 VOID
 STDCALL
-FsRtlInitializeLargeMcb (
-       DWORD   Unknown0,
-       DWORD   Unknown1
+FsRtlInitializeFileLock (
+       IN PFILE_LOCK                   FileLock,
+       IN PCOMPLETE_LOCK_IRP_ROUTINE   CompleteLockIrpRoutine OPTIONAL,
+       IN PUNLOCK_ROUTINE              UnlockRoutine OPTIONAL
        );
+
+VOID STDCALL
+FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
+                       IN POOL_TYPE PoolType);
+
 VOID
 STDCALL
 FsRtlInitializeMcb (
        DWORD   Unknown0,
        DWORD   Unknown1
        );
-BOOLEAN
+
+VOID STDCALL
+FsRtlInitializeOplock(IN OUT POPLOCK Oplock);
+
+VOID
 STDCALL
-FsRtlIsNtstatusExpected (
-       NTSTATUS        NtStatus
-       );
+FsRtlInitializeTunnelCache (
+    IN PTUNNEL Cache
+    );
 BOOLEAN
 STDCALL
-FsRtlIsTotalDeviceFailure (
-       NTSTATUS        NtStatus
+FsRtlIsDbcsInExpression (
+       DWORD   Unknown0,
+       DWORD   Unknown1
        );
-VOID
+BOOLEAN
 STDCALL
-FsRtlLookupLargeMcbEntry (
+FsRtlIsFatDbcsLegal (
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2,
        DWORD   Unknown3,
-       DWORD   Unknown4,
-       DWORD   Unknown5,
-       DWORD   Unknown6,
-       DWORD   Unknown7
+       DWORD   Unknown4
        );
-VOID
+BOOLEAN
 STDCALL
-FsRtlLookupLastLargeMcbEntry (
+FsRtlIsHpfsDbcsLegal (
        DWORD   Unknown0,
        DWORD   Unknown1,
-       DWORD   Unknown2
+       DWORD   Unknown2,
+       DWORD   Unknown3,
+       DWORD   Unknown4
+       );
+BOOLEAN
+STDCALL
+FsRtlIsNameInExpression (
+       IN      PUNICODE_STRING Expression,
+       IN      PUNICODE_STRING Name,
+       IN      BOOLEAN         IgnoreCase,
+       IN      PWCHAR          UpcaseTable     OPTIONAL
        );
+
+BOOLEAN STDCALL
+FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus);
+
+BOOLEAN STDCALL
+FsRtlIsTotalDeviceFailure(IN NTSTATUS NtStatus);
+
+#define FsRtlIsUnicodeCharacterWild(C) ( \
+    (((C) >= 0x40) ? \
+    FALSE : \
+    FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER )) \
+    )
+
+BOOLEAN STDCALL
+FsRtlLookupLargeMcbEntry(IN PLARGE_MCB Mcb,
+                        IN LONGLONG Vbn,
+                        OUT PLONGLONG Lbn OPTIONAL,
+                        OUT PLONGLONG SectorCountFromLbn OPTIONAL,
+                        OUT PLONGLONG StartingLbn OPTIONAL,
+                        OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL,
+                        OUT PULONG Index OPTIONAL);
+
+BOOLEAN STDCALL
+FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
+                            OUT PLONGLONG Vbn,
+                            OUT PLONGLONG Lbn);
+
 VOID
 STDCALL
 FsRtlLookupLastMcbEntry (
@@ -140,82 +363,243 @@ FsRtlLookupMcbEntry (
        DWORD   Unknown3,
        DWORD   Unknown4
        );
-NTSTATUS
+BOOLEAN
+STDCALL
+FsRtlMdlRead (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      ULONG                   LockKey,
+       OUT     PMDL                    *MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus
+       );
+BOOLEAN
+STDCALL
+FsRtlMdlReadComplete (
+       IN      PFILE_OBJECT    FileObject,
+       IN OUT  PMDL            MdlChain
+       );
+BOOLEAN
+STDCALL
+FsRtlMdlReadCompleteDev (
+       IN      PFILE_OBJECT    FileObject,
+       IN      PMDL            MdlChain,
+       IN      PDEVICE_OBJECT  DeviceObject
+       );
+BOOLEAN
+STDCALL
+FsRtlMdlReadDev (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      ULONG                   LockKey,
+       OUT     PMDL                    *MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus,
+       IN      PDEVICE_OBJECT          DeviceObject
+       );
+BOOLEAN
 STDCALL
-FsRtlNormalizeNtstatus (
-       NTSTATUS        NtStatusToNormalize,
-       NTSTATUS        NormalizedNtStatus
+FsRtlMdlWriteComplete (
+       IN      PFILE_OBJECT    FileObject,
+       IN      PLARGE_INTEGER  FileOffset,
+       IN      PMDL            MdlChain
+       );
+BOOLEAN
+STDCALL
+FsRtlMdlWriteCompleteDev (
+       IN      PFILE_OBJECT    FileObject,
+       IN      PLARGE_INTEGER  FileOffset,
+       IN      PMDL            MdlChain,
+       IN      PDEVICE_OBJECT  DeviceObject
        );
 VOID
 STDCALL
-FsRtlNumberOfRunsInLargeMcb (
-       DWORD   Unknown0
+FsRtlNotifyChangeDirectory (
+       IN      PNOTIFY_SYNC    NotifySync,
+       IN      PVOID           FsContext,
+       IN      PSTRING         FullDirectoryName,
+       IN      PLIST_ENTRY     NotifyList,
+       IN      BOOLEAN         WatchTree,
+       IN      ULONG           CompletionFilter,
+       IN      PIRP            NotifyIrp
        );
 VOID
 STDCALL
-FsRtlNumberOfRunsInMcb (
-       DWORD   Unknown0
+FsRtlNotifyCleanup (
+       IN      PNOTIFY_SYNC    NotifySync,
+       IN      PLIST_ENTRY     NotifyList,
+       IN      PVOID           FsContext
+       );
+typedef
+BOOLEAN (*PCHECK_FOR_TRAVERSE_ACCESS) (
+       IN      PVOID                           NotifyContext,
+       IN      PVOID                           TargetContext,
+       IN      PSECURITY_SUBJECT_CONTEXT       SubjectContext
        );
 VOID
 STDCALL
-FsRtlPostPagingFileStackOverflow (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2
+FsRtlNotifyFullChangeDirectory (
+       IN      PNOTIFY_SYNC                    NotifySync,
+       IN      PLIST_ENTRY                     NotifyList,
+       IN      PVOID                           FsContext,
+       IN      PSTRING                         FullDirectoryName,
+       IN      BOOLEAN                         WatchTree,
+       IN      BOOLEAN                         IgnoreBuffer,
+       IN      ULONG                           CompletionFilter,
+       IN      PIRP                            NotifyIrp,
+       IN      PCHECK_FOR_TRAVERSE_ACCESS      TraverseCallback        OPTIONAL,
+       IN      PSECURITY_SUBJECT_CONTEXT       SubjectContext          OPTIONAL
        );
 VOID
 STDCALL
-FsRtlPostStackOverflow (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2
+FsRtlNotifyFullReportChange (
+       IN      PNOTIFY_SYNC    NotifySync,
+       IN      PLIST_ENTRY     NotifyList,
+       IN      PSTRING         FullTargetName,
+       IN      USHORT          TargetNameOffset,
+       IN      PSTRING         StreamName OPTIONAL,
+       IN      PSTRING         NormalizedParentName    OPTIONAL,
+       IN      ULONG           FilterMatch,
+       IN      ULONG           Action,
+       IN      PVOID           TargetContext
        );
-DWORD
+VOID
 STDCALL
-FsRtlRegisterUncProvider (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2
+FsRtlNotifyUninitializeSync (
+       IN OUT  PNOTIFY_SYNC    * NotifySync
        );
 VOID
 STDCALL
-FsRtlRemoveLargeMcbEntry (
-       DWORD   Unknown0,
-       DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4
+FsRtlNotifyReportChange (
+       IN      PNOTIFY_SYNC    NotifySync,
+       IN      PLIST_ENTRY     NotifyList,
+       IN      PSTRING         FullTargetName,
+       IN      PUSHORT         FileNamePartLength,
+       IN      ULONG           FilterMatch
+       );
+
+VOID STDCALL
+FsRtlNotifyInitializeSync(IN OUT PNOTIFY_SYNC *NotifySync);
+
+NTSTATUS STDCALL
+FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject,
+                      IN ULONG EventCode);
+
+NTSTATUS STDCALL
+FsRtlOplockFsctrl(IN POPLOCK Oplock,
+                 IN PIRP Irp,
+                 IN ULONG OpenCount);
+
+BOOLEAN STDCALL
+FsRtlOplockIsFastIoPossible(IN POPLOCK Oplock);
+
+BOOLEAN
+STDCALL
+FsRtlPrepareMdlWrite (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      ULONG                   LockKey,
+       OUT     PMDL                    *MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus
+       );
+BOOLEAN
+STDCALL
+FsRtlPrepareMdlWriteDev (
+       IN      PFILE_OBJECT            FileObject,
+       IN      PLARGE_INTEGER          FileOffset,
+       IN      ULONG                   Length,
+       IN      ULONG                   LockKey,
+       OUT     PMDL                    *MdlChain,
+       OUT     PIO_STATUS_BLOCK        IoStatus,
+       IN      PDEVICE_OBJECT          DeviceObject
        );
+
+NTSTATUS STDCALL
+FsRtlNormalizeNtstatus(IN NTSTATUS NtStatusToNormalize,
+                      IN NTSTATUS NormalizedNtStatus);
+
+ULONG STDCALL
+FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb);
+
 VOID
 STDCALL
-FsRtlRemoveMcbEntry (
+FsRtlNumberOfRunsInMcb (
+       DWORD   Unknown0
+       );
+VOID
+STDCALL
+FsRtlPostPagingFileStackOverflow (
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2
        );
 VOID
 STDCALL
-FsRtlSplitLargeMcb (
+FsRtlPostStackOverflow (
        DWORD   Unknown0,
        DWORD   Unknown1,
-       DWORD   Unknown2,
-       DWORD   Unknown3,
-       DWORD   Unknown4
+       DWORD   Unknown2
        );
+BOOLEAN
+STDCALL
+FsRtlPrivateLock (
+    IN PFILE_LOCK           FileLock,
+    IN PFILE_OBJECT         FileObject,
+    IN PLARGE_INTEGER       FileOffset,
+    IN PLARGE_INTEGER       Length,
+    IN PEPROCESS            Process,
+    IN ULONG                Key,
+    IN BOOLEAN              FailImmediately,
+    IN BOOLEAN              ExclusiveLock,
+    OUT PIO_STATUS_BLOCK    IoStatus,
+    IN PIRP                 Irp OPTIONAL,
+    IN PVOID                Context,
+    IN BOOLEAN              AlreadySynchronized
+    );
 NTSTATUS
 STDCALL
-FsRtlSyncVolumes (
+FsRtlProcessFileLock (
+    IN PFILE_LOCK   FileLock,
+    IN PIRP         Irp,
+    IN PVOID        Context OPTIONAL
+    );
+
+NTSTATUS STDCALL
+FsRtlRegisterUncProvider(IN OUT PHANDLE Handle,
+                        IN PUNICODE_STRING RedirectorDeviceName,
+                        IN BOOLEAN MailslotsSupported);
+
+VOID STDCALL
+FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
+                        IN LONGLONG Vbn,
+                        IN LONGLONG SectorCount);
+
+VOID
+STDCALL
+FsRtlRemoveMcbEntry (
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2
        );
-VOID
+
+BOOLEAN STDCALL
+FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
+                  IN LONGLONG Vbn,
+                  IN LONGLONG Amount);
+
+NTSTATUS
 STDCALL
-FsRtlTruncateLargeMcb (
+FsRtlSyncVolumes (
        DWORD   Unknown0,
        DWORD   Unknown1,
        DWORD   Unknown2
        );
+
+VOID STDCALL
+FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
+                     IN LONGLONG Vbn);
+
 VOID
 STDCALL
 FsRtlTruncateMcb (
@@ -224,13 +608,20 @@ FsRtlTruncateMcb (
        );
 VOID
 STDCALL
-FsRtlUninitializeLargeMcb (
-       DWORD   Unknown0
-       );
+FsRtlUninitializeFileLock (
+    IN PFILE_LOCK FileLock
+    );
+
+VOID STDCALL
+FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb);
+
 VOID
 STDCALL
 FsRtlUninitializeMcb (
        DWORD   Unknown0
        );
 
+VOID STDCALL
+FsRtlUninitializeOplock(IN POPLOCK Oplock);
+
 #endif /* __INCLUDE_DDK_FSFUNCS_H */