mirror of
https://github.com/reactos/reactos.git
synced 2024-09-16 07:39:32 +00:00
FS stubs.
svn path=/trunk/; revision=621
This commit is contained in:
parent
676e6609ce
commit
e9703bfa98
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