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