Commit of the rest of Gunnars file locking patch.
[reactos.git] / reactos / ntoskrnl / include / internal / ifs.h
index 10a06ca..6bb12da 100644 (file)
@@ -1,8 +1,76 @@
 #ifndef __INCLUDE_INTERNAL_IFS_H
 #define __INCLUDE_INTERNAL_IFS_H
-/* $Id: ifs.h,v 1.3 2002/09/08 10:23:21 chorns Exp $ */
+/* $Id: ifs.h,v 1.4 2002/11/13 06:01:11 robd Exp $ */
+
+#include <ddk/ntifs.h>
 
 /* Look for "FSrt" in mem view */
 #define IFS_POOL_TAG 0x74725346
 
+VOID STDCALL
+FsRtlpInitFileLockingImplementation(VOID);
+
+VOID STDCALL
+FsRtlpPendingFileLockCancelRoutine(
+       IN PDEVICE_OBJECT DeviceObject, 
+       IN PIRP Irp
+       );
+
+BOOLEAN STDCALL
+FsRtlpCheckLockForReadOrWriteAccess(
+    IN PFILE_LOCK           FileLock,
+    IN PLARGE_INTEGER       FileOffset,
+    IN PLARGE_INTEGER       Length,
+    IN ULONG                Key,
+    IN PFILE_OBJECT         FileObject,
+    IN PEPROCESS            Process,
+       IN BOOLEAN                              Read    
+   );
+
+NTSTATUS STDCALL
+FsRtlpFastUnlockAllByKey(
+    IN PFILE_LOCK           FileLock,
+    IN PFILE_OBJECT         FileObject,
+    IN PEPROCESS            Process,
+    IN DWORD                Key,      /* FIXME: guess */
+    IN BOOLEAN              UseKey,   /* FIXME: guess */
+    IN PVOID                Context OPTIONAL
+    );
+
+NTSTATUS STDCALL
+FsRtlpAddLock(
+    IN PFILE_LOCK_TOC          LockToc,
+    IN PFILE_OBJECT         FileObject,
+    IN PLARGE_INTEGER       FileOffset,
+    IN PLARGE_INTEGER       Length,
+    IN PEPROCESS            Process,
+    IN ULONG                Key,
+    IN BOOLEAN              ExclusiveLock
+       );
+
+VOID STDCALL
+FsRtlpTryCompletePendingLocks(
+       IN              PFILE_LOCK              FileLock,
+       IN              PFILE_LOCK_TOC  LockToc,
+       IN OUT  PKIRQL                  oldirql
+       );
+
+NTSTATUS STDCALL
+FsRtlpUnlockSingle(
+    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,
+       IN BOOLEAN                              CallUnlockRoutine
+       );
+
+VOID STDCALL
+FsRtlpDumpFileLocks(
+       IN PFILE_LOCK   FileLock
+       );
+
 #endif