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