From f57fc2af900144bc6cc76f1116ed136d72550c42 Mon Sep 17 00:00:00 2001 From: Emanuele Aliberti Date: Tue, 24 Apr 2001 18:36:39 +0000 Subject: [PATCH] Some FsRtl API updated (stubs) to sync with ntifs.h v25 by Bo Branten. Added a new DDK header file to group any symbol definition related to NTIFS: ddk/fstypes.h. Now ddk/ntifs.h includes fstypes and fsfuncs. svn path=/trunk/; revision=1820 --- reactos/include/ddk/fsfuncs.h | 119 +++++++++++++++++---------------- reactos/include/ddk/fstypes.h | 18 +++++ reactos/include/ddk/ntifs.h | 1 + reactos/ntoskrnl/fs/filelock.c | 26 +++---- reactos/ntoskrnl/fs/name.c | 13 ++-- reactos/ntoskrnl/fs/notify.c | 105 +++++++++++++++-------------- reactos/ntoskrnl/fs/pool.c | 4 +- reactos/ntoskrnl/fs/util.c | 3 +- 8 files changed, 163 insertions(+), 126 deletions(-) create mode 100644 reactos/include/ddk/fstypes.h diff --git a/reactos/include/ddk/fsfuncs.h b/reactos/include/ddk/fsfuncs.h index a7abbd0fdd1..2c981731a5f 100644 --- a/reactos/include/ddk/fsfuncs.h +++ b/reactos/include/ddk/fsfuncs.h @@ -1,6 +1,7 @@ #ifndef __INCLUDE_DDK_FSFUNCS_H #define __INCLUDE_DDK_FSFUNCS_H -/* $Id: fsfuncs.h,v 1.10 2000/03/11 00:51:36 ea Exp $ */ +/* $Id: fsfuncs.h,v 1.11 2001/04/24 18:36:38 ea Exp $ */ +#define FlagOn(x,f) ((x) & (f)) VOID STDCALL FsRtlAddLargeMcbEntry ( @@ -66,10 +67,10 @@ FsRtlAllocateResource ( BOOLEAN STDCALL FsRtlAreNamesEqual ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3 + IN PUNICODE_STRING Name1, + IN PUNICODE_STRING Name2, + IN BOOLEAN IgnoreCase, + IN PWCHAR UpcaseTable OPTIONAL ); DWORD STDCALL @@ -162,7 +163,7 @@ FsRtlDissectName ( BOOLEAN STDCALL FsRtlDoesDbcsContainWildCards ( - IN DWORD Unknown0 + IN DWORD Unknown0 ); BOOLEAN STDCALL @@ -172,22 +173,22 @@ FsRtlDoesNameContainWildCards ( BOOLEAN STDCALL FsRtlFastCheckLockForRead ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5 + IN PFILE_LOCK_ANCHOR FileLockAnchor, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN ULONG Key, + IN PFILE_OBJECT FileObject, + IN PEPROCESS ProcessId ); BOOLEAN STDCALL FsRtlFastCheckLockForWrite ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5 + IN PFILE_LOCK_ANCHOR FileLockAnchor, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN ULONG Key, + IN PFILE_OBJECT FileObject, + IN PEPROCESS ProcessId ); NTSTATUS STDCALL @@ -326,7 +327,7 @@ FsRtlIsNameInExpression ( BOOLEAN STDCALL FsRtlIsNtstatusExpected ( - NTSTATUS NtStatus + IN NTSTATUS NtStatus ); BOOLEAN STDCALL @@ -387,7 +388,7 @@ BOOLEAN STDCALL FsRtlMdlReadComplete ( IN PFILE_OBJECT FileObject, - IN OUT PMDL Mdl + IN OUT PMDL MdlChain ); BOOLEAN STDCALL @@ -425,47 +426,53 @@ FsRtlMdlWriteCompleteDev ( VOID STDCALL FsRtlNotifyChangeDirectory ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext, + IN PSTRING FullDirectoryName, + IN BOOLEAN WatchTree, + IN ULONG CompletionFilter, + IN PIRP NotifyIrp ); VOID STDCALL FsRtlNotifyCleanup ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext + ); +typedef +BOOLEAN (*PCHECK_FOR_TRAVERSE_ACCESS) ( + IN PVOID NotifyContext, + IN PVOID TargetContext, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext ); VOID STDCALL FsRtlNotifyFullChangeDirectory ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6, - DWORD Unknown7, - DWORD Unknown8, - DWORD Unknown9 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext, + IN PSTRING FullDirectoryName, + IN BOOLEAN WatchTree, + IN BOOLEAN IgnoreBuffer, + IN ULONG CompletionFilter, + IN PIRP NotifyIrp, + IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL ); VOID STDCALL FsRtlNotifyFullReportChange ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6, - DWORD Unknown7, - DWORD Unknown8 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PSTRING FullTargetName, + IN USHORT TargetNameOffset, + IN PSTRING StreamName OPTIONAL, + IN PSTRING NormalizedParentName OPTIONAL, + IN ULONG FilterMatch, + IN ULONG Action, + IN PVOID TargetContext ); VOID STDCALL @@ -475,11 +482,11 @@ FsRtlNotifyUninitializeSync ( VOID STDCALL FsRtlNotifyReportChange ( - DWORD Unknown0, - DWORD Unknown1, - PVOID Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PSTRING FullTargetName, + IN USHORT TargetNameOffset, + IN ULONG FilterMatch ); VOID STDCALL @@ -522,8 +529,8 @@ FsRtlPrepareMdlWriteDev ( NTSTATUS STDCALL FsRtlNormalizeNtstatus ( - NTSTATUS NtStatusToNormalize, - NTSTATUS NormalizedNtStatus + IN NTSTATUS NtStatusToNormalize, + IN NTSTATUS NormalizedNtStatus ); VOID STDCALL diff --git a/reactos/include/ddk/fstypes.h b/reactos/include/ddk/fstypes.h new file mode 100644 index 00000000000..7e97358e93e --- /dev/null +++ b/reactos/include/ddk/fstypes.h @@ -0,0 +1,18 @@ +#ifndef __INCLUDE_DDK_FSTYPES_H +#define __INCLUDE_DDK_FSTYPES_H +/* $Id */ + +#include + +typedef +struct _FILE_LOCK_ANCHOR +{ + LIST_ENTRY GrantedFileLockList; + LIST_ENTRY PendingFileLockList; + +} FILE_LOCK_ANCHOR, *PFILE_LOCK_ANCHOR; + +typedef PVOID PNOTIFY_SYNC; + + +#endif /* __INCLUDE_DDK_FSFUNCS_H */ diff --git a/reactos/include/ddk/ntifs.h b/reactos/include/ddk/ntifs.h index 72f542a7972..17e8ada6159 100644 --- a/reactos/include/ddk/ntifs.h +++ b/reactos/include/ddk/ntifs.h @@ -35,6 +35,7 @@ CcReleaseFileCache (PFILE_OBJECT FileObject, #include +#include #include #endif /* __INCLUDE_DDK_NTIFS_H */ diff --git a/reactos/ntoskrnl/fs/filelock.c b/reactos/ntoskrnl/fs/filelock.c index 465c7571c01..b1be059b280 100644 --- a/reactos/ntoskrnl/fs/filelock.c +++ b/reactos/ntoskrnl/fs/filelock.c @@ -1,4 +1,4 @@ -/* $Id: filelock.c,v 1.1 2000/02/26 16:22:27 ea Exp $ +/* $Id: filelock.c,v 1.2 2001/04/24 18:36:39 ea Exp $ * * reactos/ntoskrnl/fs/filelock.c * @@ -65,12 +65,12 @@ FsRtlCheckLockForWriteAccess ( BOOLEAN STDCALL FsRtlFastCheckLockForRead ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5 + IN PFILE_LOCK_ANCHOR FileLockAnchor, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN ULONG Key, + IN PFILE_OBJECT FileObject, + IN PEPROCESS ProcessId ) { return FALSE; @@ -91,12 +91,12 @@ FsRtlFastCheckLockForRead ( BOOLEAN STDCALL FsRtlFastCheckLockForWrite ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5 + IN PFILE_LOCK_ANCHOR FileLockAnchor, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN ULONG Key, + IN PFILE_OBJECT FileObject, + IN PEPROCESS ProcessId ) { return FALSE; diff --git a/reactos/ntoskrnl/fs/name.c b/reactos/ntoskrnl/fs/name.c index 4832a70a730..05a6308a45d 100644 --- a/reactos/ntoskrnl/fs/name.c +++ b/reactos/ntoskrnl/fs/name.c @@ -1,4 +1,4 @@ -/* $Id: name.c,v 1.2 2000/02/25 23:27:51 ea Exp $ +/* $Id: name.c,v 1.3 2001/04/24 18:36:39 ea Exp $ * * reactos/ntoskrnl/fs/name.c * @@ -20,14 +20,17 @@ PUCHAR * FsRtlLegalAnsiCharacterArray = NULL; * * RETURN VALUE * + * NOTE + * From Bo Branten's ntifs.h v25. + * */ BOOLEAN STDCALL FsRtlAreNamesEqual ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3 + IN PUNICODE_STRING Name1, + IN PUNICODE_STRING Name2, + IN BOOLEAN IgnoreCase, + IN PWCHAR UpcaseTable OPTIONAL ) { return FALSE; diff --git a/reactos/ntoskrnl/fs/notify.c b/reactos/ntoskrnl/fs/notify.c index c4f21fd8dcc..6bc75edce9b 100644 --- a/reactos/ntoskrnl/fs/notify.c +++ b/reactos/ntoskrnl/fs/notify.c @@ -1,4 +1,4 @@ -/* $Id: notify.c,v 1.1 2000/03/11 00:51:36 ea Exp $ +/* $Id: notify.c,v 1.2 2001/04/24 18:36:39 ea Exp $ * * reactos/ntoskrnl/fs/notify.c * @@ -21,26 +21,26 @@ VOID STDCALL FsRtlNotifyChangeDirectory ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext, + IN PSTRING FullDirectoryName, + IN BOOLEAN WatchTree, + IN ULONG CompletionFilter, + IN PIRP NotifyIrp ) { FsRtlNotifyFullChangeDirectory ( - Unknown0, - Unknown3, - Unknown1, - Unknown2, - Unknown4, - 1, - Unknown5, - Unknown6, - 0, - 0 + NotifySync, + NotifyList, + FsContext, + FullDirectoryName, + WatchTree, + TRUE, /* IgnoreBuffer */ + CompletionFilter, + NotifyIrp, + NULL, + NULL ); } @@ -59,9 +59,9 @@ FsRtlNotifyChangeDirectory ( VOID STDCALL FsRtlNotifyCleanup ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext ) { } @@ -81,16 +81,16 @@ FsRtlNotifyCleanup ( VOID STDCALL FsRtlNotifyFullChangeDirectory ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6, - DWORD Unknown7, - DWORD Unknown8, - DWORD Unknown9 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PVOID FsContext, + IN PSTRING FullDirectoryName, + IN BOOLEAN WatchTree, + IN BOOLEAN IgnoreBuffer, + IN ULONG CompletionFilter, + IN PIRP NotifyIrp, + IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL ) { } @@ -110,15 +110,15 @@ FsRtlNotifyFullChangeDirectory ( VOID STDCALL FsRtlNotifyFullReportChange ( - DWORD Unknown0, - DWORD Unknown1, - DWORD Unknown2, - DWORD Unknown3, - DWORD Unknown4, - DWORD Unknown5, - DWORD Unknown6, - DWORD Unknown7, - DWORD Unknown8 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PSTRING FullTargetName, + IN USHORT TargetNameOffset, + IN PSTRING StreamName OPTIONAL, + IN PSTRING NormalizedParentName OPTIONAL, + IN ULONG FilterMatch, + IN ULONG Action, + IN PVOID TargetContext ) { } @@ -158,17 +158,24 @@ FsRtlNotifyInitializeSync ( VOID STDCALL FsRtlNotifyReportChange ( - DWORD Unknown0, - DWORD Unknown1, - PVOID Unknown2, - DWORD Unknown3, - DWORD Unknown4 + IN PNOTIFY_SYNC NotifySync, + IN PLIST_ENTRY NotifyList, + IN PSTRING FullTargetName, + IN USHORT TargetNameOffset, + IN ULONG FilterMatch ) { - /* - * It should probably call - * FsRtlNotifyFullReportChange. - */ + FsRtlNotifyFullReportChange ( + NotifySync, + NotifyList, + FullTargetName, + (FullTargetName->Length - TargetNameOffset), /*?*/ + NULL, + NULL, + FilterMatch, + 0, /* Action ? */ + NULL + ); } diff --git a/reactos/ntoskrnl/fs/pool.c b/reactos/ntoskrnl/fs/pool.c index 48149e97c3c..5e26f8f6985 100644 --- a/reactos/ntoskrnl/fs/pool.c +++ b/reactos/ntoskrnl/fs/pool.c @@ -1,10 +1,10 @@ -/* $Id: pool.c,v 1.1 2000/03/01 22:52:27 ea Exp $ +/* $Id: pool.c,v 1.2 2001/04/24 18:36:39 ea Exp $ * * reactos/ntoskrnl/fs/pool.c * */ #include -#include +#include #include diff --git a/reactos/ntoskrnl/fs/util.c b/reactos/ntoskrnl/fs/util.c index e812801bbff..0d562157962 100644 --- a/reactos/ntoskrnl/fs/util.c +++ b/reactos/ntoskrnl/fs/util.c @@ -1,9 +1,10 @@ -/* $Id: util.c,v 1.6 2000/03/12 01:15:09 ekohl Exp $ +/* $Id: util.c,v 1.7 2001/04/24 18:36:39 ea Exp $ * * reactos/ntoskrnl/fs/util.c * */ #include +#include /**********************************************************************