update for HEAD-2003021201
[reactos.git] / ntoskrnl / include / internal / ifs.h
1 #ifndef __INCLUDE_INTERNAL_IFS_H
2 #define __INCLUDE_INTERNAL_IFS_H
3 /* $Id$ */
4
5 #include <ddk/ntifs.h>
6
7 /* Look for "FSrt" in mem view */
8 #define IFS_POOL_TAG 0x74725346
9
10 VOID STDCALL
11 FsRtlpInitFileLockingImplementation(VOID);
12
13 VOID STDCALL
14 FsRtlpFileLockCancelRoutine(
15         IN PDEVICE_OBJECT DeviceObject, 
16         IN PIRP Irp
17         );
18
19 BOOLEAN FASTCALL
20 FsRtlpCheckLockForReadOrWriteAccess(
21     IN PFILE_LOCK           FileLock,
22     IN PLARGE_INTEGER       FileOffset,
23     IN PLARGE_INTEGER       Length,
24     IN ULONG                Key,
25     IN PFILE_OBJECT         FileObject,
26     IN PEPROCESS            Process,
27         IN BOOLEAN                              Read    
28    );
29
30 NTSTATUS FASTCALL
31 FsRtlpFastUnlockAllByKey(
32     IN PFILE_LOCK           FileLock,
33     IN PFILE_OBJECT         FileObject,
34     IN PEPROCESS            Process,
35     IN DWORD                Key,      /* FIXME: guess */
36     IN BOOLEAN              UseKey,   /* FIXME: guess */
37     IN PVOID                Context OPTIONAL
38     );
39
40 NTSTATUS FASTCALL
41 FsRtlpAddLock(
42     IN PFILE_LOCK_TOC           LockToc,
43     IN PFILE_OBJECT         FileObject,
44     IN PLARGE_INTEGER       FileOffset,
45     IN PLARGE_INTEGER       Length,
46     IN PEPROCESS            Process,
47     IN ULONG                Key,
48     IN BOOLEAN              ExclusiveLock
49         );
50
51 VOID FASTCALL
52 FsRtlpCompletePendingLocks(
53         IN              PFILE_LOCK              FileLock,
54         IN              PFILE_LOCK_TOC  LockToc,
55         IN OUT  PKIRQL                  oldirql
56         );
57
58 NTSTATUS FASTCALL
59 FsRtlpUnlockSingle(
60     IN PFILE_LOCK           FileLock,
61     IN PFILE_OBJECT         FileObject,
62     IN PLARGE_INTEGER       FileOffset,
63     IN PLARGE_INTEGER       Length,
64     IN PEPROCESS            Process,
65     IN ULONG                Key,
66     IN PVOID                Context OPTIONAL,
67     IN BOOLEAN              AlreadySynchronized,
68         IN BOOLEAN                              CallUnlockRoutine
69         );
70
71 VOID FASTCALL
72 FsRtlpDumpFileLocks(
73         IN PFILE_LOCK   FileLock
74         );
75
76 #endif