mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
FS stubs.
svn path=/trunk/; revision=621
This commit is contained in:
parent
676e6609ce
commit
e9703bfa98
2 changed files with 377 additions and 0 deletions
259
reactos/ntoskrnl/fs/mcb.c
Normal file
259
reactos/ntoskrnl/fs/mcb.c
Normal file
|
@ -0,0 +1,259 @@
|
|||
/* $Id: mcb.c,v 1.1 1999/08/20 16:29:22 ea Exp $
|
||||
*
|
||||
* reactos/ntoskrnl/fs/mcb.c
|
||||
*
|
||||
*/
|
||||
#include <ntos.h>
|
||||
|
||||
#include <internal/debug.h>
|
||||
|
||||
/**********************************************************************
|
||||
* NAME EXPORTED
|
||||
*
|
||||
* DESCRIPTION
|
||||
*
|
||||
* ARGUMENTS
|
||||
*
|
||||
* RETURN VALUE
|
||||
*
|
||||
* NOTES
|
||||
*/
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlAddLargeMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4,
|
||||
DWORD Unknown5,
|
||||
DWORD Unknown6
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlAddMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlGetNextLargeMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlGetNextMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlInitializeLargeMcb (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlInitializeMcb (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlLookupLargeMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4,
|
||||
DWORD Unknown5,
|
||||
DWORD Unknown6,
|
||||
DWORD Unknown7
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlLookupLastLargeMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlLookupLastMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlLookupMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlNumberOfRunsInLargeMcb (
|
||||
DWORD Unknown0
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlNumberOfRunsInMcb (
|
||||
DWORD Unknown0
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlRemoveLargeMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlRemoveMcbEntry (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlSplitLargeMcb (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2,
|
||||
DWORD Unknown3,
|
||||
DWORD Unknown4
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlTruncateLargeMcb (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlTruncateMcb (
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlUninitializeLargeMcb (
|
||||
DWORD Unknown0
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
FsRtlUninitializeMcb (
|
||||
DWORD Unknown0
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
118
reactos/ntoskrnl/fs/util.c
Normal file
118
reactos/ntoskrnl/fs/util.c
Normal file
|
@ -0,0 +1,118 @@
|
|||
/* $Id: util.c,v 1.1 1999/08/20 16:29:22 ea Exp $
|
||||
*
|
||||
* reactos/ntoskrnl/fs/util.c
|
||||
*
|
||||
*/
|
||||
#include <ntos.h>
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME EXPORTED
|
||||
* FsRtlIsTotalDeviceFailure@4
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Check if an NTSTATUS error code represents a
|
||||
* disk hardware failure.
|
||||
*
|
||||
* ARGUMENTS
|
||||
* NtStatus
|
||||
* NTSTATUS to test.
|
||||
*
|
||||
* RETURN VALUE
|
||||
* FALSE if either (NtStatus >= STATUS_SUCCESS),
|
||||
* STATUS_CRC_ERROR, 0xC000009C; TRUE otherwise.
|
||||
*
|
||||
* NOTES
|
||||
* By calling the function with all possible values,
|
||||
* one unknown NTSTATUS value makes the function
|
||||
* return TRUE (0xC000009C).
|
||||
*/
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
FsRtlIsTotalDeviceFailure (
|
||||
NTSTATUS NtStatus
|
||||
)
|
||||
{
|
||||
return (
|
||||
(NT_SUCCESS(NtStatus))
|
||||
|| (STATUS_CRC_ERROR == NtStatus)
|
||||
|| (STATUS_UNKNOWN_C000009C == NtStatus) /* FIXME */
|
||||
? FALSE
|
||||
: TRUE
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME EXPORTED
|
||||
* FsRtlIsNtstatusExpected@4
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Check an NTSTATUS value is expected by the FS kernel
|
||||
* subsystem.
|
||||
*
|
||||
* ARGUMENTS
|
||||
* NtStatus
|
||||
* NTSTATUS to test.
|
||||
*
|
||||
* RETURN VALUE
|
||||
* TRUE if NtStatus is either STATUS_ACCESS_VIOLATION,
|
||||
* STATUS_ILLEGAL_INSTRUCTION, 0x80000002, 0xC00000AA;
|
||||
* FALSE otherwise.
|
||||
*
|
||||
* NOTES
|
||||
* By calling the function with all possible values,
|
||||
* two unknown NTSTATUS values make the function
|
||||
* return 0x00 (0x80000002, 0xC00000AA).
|
||||
*/
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
FsRtlIsNtstatusExpected (
|
||||
NTSTATUS NtStatus
|
||||
)
|
||||
{
|
||||
return (
|
||||
(STATUS_UNKNOWN_80000002 == NtStatus) /* FIXME */
|
||||
|| (STATUS_ACCESS_VIOLATION == NtStatus)
|
||||
|| (STATUS_ILLEGAL_INSTRUCTION == NtStatus)
|
||||
|| (STATUS_UNKNOWN_C00000AA == NtStatus) /* FIXME */
|
||||
)
|
||||
? TRUE
|
||||
: FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME EXPORTED
|
||||
* FsRtlNormalizeNtstatus@8
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Normalize an NTSTATUS value for using in the FS subsystem.
|
||||
*
|
||||
* ARGUMENTS
|
||||
* NtStatusToNormalize
|
||||
* NTSTATUS to normalize.
|
||||
* NormalizedNtStatus
|
||||
* NTSTATUS to return if the NtStatusToNormalize
|
||||
* value is unexpected by the FS kernel subsystem.
|
||||
*
|
||||
* RETURN VALUE
|
||||
* NtStatusToNormalize if it is an expected value,
|
||||
* otherwise NormalizedNtStatus.
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
FsRtlNormalizeNtstatus (
|
||||
NTSTATUS NtStatusToNormalize,
|
||||
NTSTATUS NormalizedNtStatus
|
||||
)
|
||||
{
|
||||
return
|
||||
(TRUE == FsRtlIsNtstatusExpected(NtStatusToNormalize))
|
||||
? NtStatusToNormalize
|
||||
: NormalizedNtStatus;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
Loading…
Reference in a new issue