Fix FsRtl function prototypes
Modified: trunk/reactos/include/ddk/fsfuncs.h
Modified: trunk/reactos/include/ddk/fstypes.h
Modified: trunk/reactos/ntoskrnl/fs/dbcsname.c
Modified: trunk/reactos/ntoskrnl/fs/notify.c
Modified: trunk/reactos/ntoskrnl/fs/util.c
_____
Modified: trunk/reactos/include/ddk/fsfuncs.h
--- trunk/reactos/include/ddk/fsfuncs.h 2005-01-20 13:17:57 UTC (rev
13165)
+++ trunk/reactos/include/ddk/fsfuncs.h 2005-01-20 13:31:49 UTC (rev
13166)
@@ -5,51 +5,14 @@
#include <ntos/fstypes.h>
-/* Some comments on the Prototypes that aren't in the GNU IFS:
+/* Some comments on the Prototypes that aren't in the IFS:
-The following come from alternate sources, or guessed from
documentation:
-FsRtlNotifyFullChangeDirectory GOOGLE GROUPS
-FsRtlIsPagingFile OSR DOCUMENTATION
-FsRtlAcquireFileExclusive (GUESS: The function takes a single
parameter. The function name is "AcquireFile". Logical assumption says
this is a File Object. NTFSD ML Post confirms.)
-FsRtlReleaseFile (GUESS: The function takes a single parameter. The
function name is "AcquireFile". Logical assumption says this is a File
Object. NTFSD ML Post confirms.)
FsRtlMdlReadCompleteDev (FsRtlMdlReadComplete is on GNU IFS. The Dev
Suffix simply means an extra PDEVICE_OBJECT param)
FsRtlMdlReadDev (FsRtlMdlReadDev is on GNU IFS. The Dev Suffix simply
means an extra PDEVICE_OBJECT param)
FsRtlMdlWriteCompleteDev FsRtlMdlWriteCompleteDev is on GNU IFS. The
Dev Suffix simply means an extra PDEVICE_OBJECT param)
FsRtlPrepareMdlWrite (Compared with CcMdlWrite, which is already
documented)
FsRtlPrepareMdlWriteDev (Same as above, and add a pointer to device
object (Dev suffix)
-FsRtlGetNextMcbEntry(FsRtlGetNextLargeMcbEntry is documented and uses
LONGLONGs. Logical assumption that this one only uses LONGS and
non-large MCB (Documented))
-Stream Context. Going along with public OSR documenttion:
-
-FsRtlInsertPerStreamContext:
-"This call is used by the file system filter driver to associate a
given context block
-(allocated by the filter and initialized using
FsRtlInitPerStreamContext) with the stream associated with the given
file object."
-Notice we are told "given context block...initialized using
FsRtlInitPerStreamContext". This function description tells us:
-" provide space for the FSRTL_PER_STREAM_CONTEXT block in the filter
driver's context structure"
-Therefore, one of the parameters is PFSRTL_PER_STREAM_CONTEXT.
-"with the stream associated with the given file object." The OSR
Documentations then mentions:
-"Tracking per-file (or "per stream") context information in
FSRTL_ADVANCED_FCB_HEADER"
-So we are associating a FSRTL_PER_STREAM_CONTEXT block with the
FSRTL_ADVANCED_FCB_HEADER associated with the file object.
-FSRTL_ADVANCED_FCB_HEADER is documented by a search through Google.
-FSRTL_PER_STREAM_CONTEXT is *NOT* documented anywhere else then in the
IFS, so it has been removed.
-
-FsRtlLookupPerStreamContextInternal
-"FsRtlLookupPerStreamContext - this call is used by the file system
filter driver to locate a given context
-block that is associated with the file object. Typically, a file
system filter driver will identify its
-own context block using unique OwnerId and InstanceId parameters when
creating the context block and subsequently
-when locating the associated information."
-OSR tells us here that the last two parameters are OwnerId and
InstanceId. It also says it will find a given context block,
-so there's our Return Value. (Although, not being documented, we must
put PVOID). It looks into a file object's stream, so we
-probably need that FCB header again.
-
-FsRtlRemovePerStreamContext
-OSR is vague, so all we know for sure is that we are sending an FCB
Header. The return value isn't NTSTATUS, but seems to be a
-pointer. We don't know what the two other parameters are, so they have
been marked as unknown.
-
-FsRtlTeardownPerStreamContexts
-OSR doens't tell a lot, but we only have one parameter. It must be the
FCB Header. Furthermore, the CVS of Captive implements
-this function as a stub, and confirms the theory.
-
*/
#ifdef __NTOSKRNL__
@@ -144,10 +107,10 @@
IN BOOLEAN IgnoreCase,
IN PWCHAR UpcaseTable OPTIONAL
);
-DWORD
+NTSTATUS
STDCALL
FsRtlBalanceReads (
- DWORD Unknown0
+ PDEVICE_OBJECT TargetDevice
);
BOOLEAN
STDCALL
@@ -371,19 +334,21 @@
BOOLEAN STDCALL
FsRtlIsDbcsInExpression(IN PANSI_STRING Expression,
IN PANSI_STRING Name);
+
+BOOLEAN
+STDCALL
+FsRtlIsFatDbcsLegal(IN ANSI_STRING DbcsName,
+ IN BOOLEAN WildCardsPermissible,
+ IN BOOLEAN PathNamePermissible,
+ IN BOOLEAN LeadingBackslashPermissible);
-BOOLEAN STDCALL
-FsRtlIsFatDbcsLegal(IN ANSI_STRING Name,
- IN BOOLEAN Unknown2,
- IN BOOLEAN Unknown3,
- IN BOOLEAN Unknown4);
+BOOLEAN
+STDCALL
+FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName,
+ IN BOOLEAN WildCardsPermissible,
+ IN BOOLEAN PathNamePermissible,
+ IN BOOLEAN LeadingBackslashPermissible);
-BOOLEAN STDCALL
-FsRtlIsHpfsDbcsLegal(IN ANSI_STRING Name,
- IN BOOLEAN Unknown2,
- IN BOOLEAN Unknown3,
- IN BOOLEAN Unknown4);
-
BOOLEAN
STDCALL
FsRtlIsNameInExpression (
@@ -701,19 +666,15 @@
VOID
STDCALL
-FsRtlPostPagingFileStackOverflow (
- ULONG Unknown0,
- ULONG Unknown1,
- ULONG Unknown2
- );
+FsRtlPostPagingFileStackOverflow(IN PVOID Context,
+ IN PKEVENT Event,
+ IN PFSRTL_STACK_OVERFLOW_ROUTINE
StackOverflowRoutine) ;
VOID
STDCALL
-FsRtlPostStackOverflow (
- ULONG Unknown0,
- ULONG Unknown1,
- ULONG Unknown2
- );
+FsRtlPostStackOverflow (IN PVOID Context,
+ IN PKEVENT Event,
+ IN PFSRTL_STACK_OVERFLOW_ROUTINE
StackOverflowRoutine) ;
BOOLEAN
STDCALL
@@ -742,10 +703,8 @@
NTSTATUS
STDCALL
-FsRtlRegisterFileSystemFilterCallbacks (
- IN PVOID Unknown1,
- IN PVOID Unknown2
- );
+FsRtlRegisterFileSystemFilterCallbacks(IN PDRIVER_OBJECT
FilterDriverObject,
+ IN PFS_FILTER_CALLBACKS
Callbacks);
NTSTATUS STDCALL
FsRtlRegisterUncProvider(IN OUT PHANDLE Handle,
@@ -772,8 +731,8 @@
STDCALL
FsRtlRemovePerStreamContext (
IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
- IN PVOID Unknown1 OPTIONAL,
- IN PVOID Unknown2 OPTIONAL
+ IN PVOID OwnerId OPTIONAL,
+ IN PVOID InstanceId OPTIONAL
);
PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
_____
Modified: trunk/reactos/include/ddk/fstypes.h
--- trunk/reactos/include/ddk/fstypes.h 2005-01-20 13:17:57 UTC (rev
13165)
+++ trunk/reactos/include/ddk/fstypes.h 2005-01-20 13:31:49 UTC (rev
13166)
@@ -30,6 +30,12 @@
IN PIRP Irp
);
+typedef VOID (*PFSRTL_STACK_OVERFLOW_ROUTINE) (
+ IN PVOID Context,
+ IN PKEVENT Event
+);
+
+
typedef VOID (*PUNLOCK_ROUTINE) (
IN PVOID Context,
IN PFILE_LOCK_INFO FileLockInfo
_____
Modified: trunk/reactos/ntoskrnl/fs/dbcsname.c
--- trunk/reactos/ntoskrnl/fs/dbcsname.c 2005-01-20 13:17:57 UTC
(rev 13165)
+++ trunk/reactos/ntoskrnl/fs/dbcsname.c 2005-01-20 13:31:49 UTC
(rev 13166)
@@ -283,11 +283,12 @@
*
* @unimplemented
*/
-BOOLEAN STDCALL
-FsRtlIsFatDbcsLegal(IN ANSI_STRING Name,
- IN BOOLEAN Unknown2,
- IN BOOLEAN Unknown3,
- IN BOOLEAN Unknown4)
+BOOLEAN
+STDCALL
+FsRtlIsFatDbcsLegal(IN ANSI_STRING DbcsName,
+ IN BOOLEAN WildCardsPermissible,
+ IN BOOLEAN PathNamePermissible,
+ IN BOOLEAN LeadingBackslashPermissible)
{
return FALSE;
}
@@ -306,10 +307,10 @@
* @unimplemented
*/
BOOLEAN STDCALL
-FsRtlIsHpfsDbcsLegal(IN ANSI_STRING Name,
- IN BOOLEAN Unknown2,
- IN BOOLEAN Unknown3,
- IN BOOLEAN Unknown4)
+FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName,
+ IN BOOLEAN WildCardsPermissible,
+ IN BOOLEAN PathNamePermissible,
+ IN BOOLEAN LeadingBackslashPermissible)
{
return FALSE;
}
_____
Modified: trunk/reactos/ntoskrnl/fs/notify.c
--- trunk/reactos/ntoskrnl/fs/notify.c 2005-01-20 13:17:57 UTC (rev
13165)
+++ trunk/reactos/ntoskrnl/fs/notify.c 2005-01-20 13:31:49 UTC (rev
13166)
@@ -313,10 +313,8 @@
*/
NTSTATUS
STDCALL
-FsRtlRegisterFileSystemFilterCallbacks (
- IN PVOID Unknown1,
- IN PVOID Unknown2
- )
+FsRtlRegisterFileSystemFilterCallbacks(IN PDRIVER_OBJECT
FilterDriverObject,
+ IN PFS_FILTER_CALLBACKS
Callbacks)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
_____
Modified: trunk/reactos/ntoskrnl/fs/util.c
--- trunk/reactos/ntoskrnl/fs/util.c 2005-01-20 13:17:57 UTC (rev
13165)
+++ trunk/reactos/ntoskrnl/fs/util.c 2005-01-20 13:31:49 UTC (rev
13166)
@@ -157,7 +157,8 @@
STDCALL
FsRtlAllocateResource (VOID)
{
- return 0;
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
}
@@ -174,13 +175,12 @@
*
* @unimplemented
*/
-DWORD
+NTSTATUS
STDCALL
-FsRtlBalanceReads (
- DWORD Unknown0
- )
+FsRtlBalanceReads (PDEVICE_OBJECT TargetDevice)
{
- return 0;
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
}
@@ -212,6 +212,7 @@
IN PDEVICE_OBJECT DeviceObject
)
{
+ UNIMPLEMENTED;
return FALSE;
}
@@ -244,6 +245,7 @@
IN PDEVICE_OBJECT DeviceObject
)
{
+ UNIMPLEMENTED;
return FALSE;
}
@@ -341,12 +343,11 @@
*/
VOID
STDCALL
-FsRtlPostPagingFileStackOverflow (
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2
- )
+FsRtlPostPagingFileStackOverflow(IN PVOID Context,
+ IN PKEVENT Event,
+ IN PFSRTL_STACK_OVERFLOW_ROUTINE
StackOverflowRoutine)
{
+ UNIMPLEMENTED;
}
@@ -364,12 +365,11 @@
*/
VOID
STDCALL
-FsRtlPostStackOverflow (
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2
- )
+FsRtlPostStackOverflow (IN PVOID Context,
+ IN PKEVENT Event,
+ IN PFSRTL_STACK_OVERFLOW_ROUTINE
StackOverflowRoutine)
{
+ UNIMPLEMENTED;
}