1 #ifndef __INCLUDE_INTERNAL_IFS_H
2 #define __INCLUDE_INTERNAL_IFS_H
4 typedef struct _FILE_LOCK_GRANTED
{
8 } FILE_LOCK_GRANTED
, *PFILE_LOCK_GRANTED
;
11 typedef struct _FILE_LOCK_TOC
{
13 LIST_ENTRY GrantedListHead
;
14 LIST_ENTRY PendingListHead
;
15 } FILE_LOCK_TOC
, *PFILE_LOCK_TOC
;
19 FsRtlpInitNotifyImplementation(VOID
);
23 FsRtlpInitFileLockingImplementation(VOID
);
26 FsRtlpFileLockCancelRoutine(
27 IN PDEVICE_OBJECT DeviceObject
,
32 FsRtlpCheckLockForReadOrWriteAccess(
33 IN PFILE_LOCK FileLock
,
34 IN PLARGE_INTEGER FileOffset
,
35 IN PLARGE_INTEGER Length
,
37 IN PFILE_OBJECT FileObject
,
43 FsRtlpFastUnlockAllByKey(
44 IN PFILE_LOCK FileLock
,
45 IN PFILE_OBJECT FileObject
,
47 IN DWORD Key
, /* FIXME: guess */
48 IN BOOLEAN UseKey
, /* FIXME: guess */
49 IN PVOID Context OPTIONAL
54 IN PFILE_LOCK_TOC LockToc
,
55 IN PFILE_OBJECT FileObject
,
56 IN PLARGE_INTEGER FileOffset
,
57 IN PLARGE_INTEGER Length
,
60 IN BOOLEAN ExclusiveLock
,
61 IN PVOID UnlockContext
65 FsRtlpCompletePendingLocks(
66 IN PFILE_LOCK FileLock
,
67 IN PFILE_LOCK_TOC LockToc
,
68 IN OUT PKIRQL oldirql
,
74 IN PFILE_LOCK FileLock
,
75 IN PFILE_OBJECT FileObject
,
76 IN PLARGE_INTEGER FileOffset
,
77 IN PLARGE_INTEGER Length
,
80 IN PVOID Context OPTIONAL
,
81 IN BOOLEAN CallUnlockRoutine
86 IN PFILE_LOCK FileLock