[FORMATTING] / [AUDIT]

- Cleanup a big coding-style mess
- Add UNIMPLEMENTED macro in empty functions (otherwise we will never know if they are being called by a 3rd-party driver)
- Add proper debug headers inclusion in every file
- Add documentation headers into almost every file (except mcb.c and context.c - will be added later)
- Standardize per-file headers (some files still lack contributors names, they will be added later too)

No code change except for adding UNIMPLEMENTED macros in the code. Name.c unlocked because the implementations of functions are trivial and in fact could be derived from their names. Not documented functions will be further reviewed.

svn path=/trunk/; revision=23005
This commit is contained in:
Aleksey Bragin 2006-07-10 21:03:26 +00:00
parent 5dd17c2315
commit 9afe9c3b5c
9 changed files with 1951 additions and 1563 deletions

View file

@ -1,6 +1,6 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/context.c
* PURPOSE: File and Stream Context Functions
*
@ -10,6 +10,8 @@
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/* GLOBALS *******************************************************************/

View file

@ -1,16 +1,22 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/mcb.c
* PURPOSE: No purpose listed.
*
* PROGRAMMERS: No programmer listed.
*/
/* INCLUDES ****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/* FUNCTIONS *****************************************************************/
/**********************************************************************
* NAME EXPORTED
*
@ -24,14 +30,15 @@
*
* @unimplemented
*/
BOOLEAN STDCALL
BOOLEAN
NTAPI
FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
IN LONGLONG Lbn,
IN LONGLONG SectorCount)
IN LONGLONG Vbn,
IN LONGLONG Lbn,
IN LONGLONG SectorCount)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/*
@ -39,232 +46,234 @@ FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
*
* @implemented
*/
BOOLEAN STDCALL
FsRtlAddMcbEntry (IN PMCB Mcb,
IN VBN Vbn,
IN LBN Lbn,
IN ULONG SectorCount)
BOOLEAN
NTAPI
FsRtlAddMcbEntry(IN PMCB Mcb,
IN VBN Vbn,
IN LBN Lbn,
IN ULONG SectorCount)
{
return FsRtlAddLargeMcbEntry(& Mcb->DummyFieldThatSizesThisStructureCorrectly,
(LONGLONG) Vbn,
(LONGLONG) Lbn,
(LONGLONG) SectorCount);
}
/*
* @unimplemented
*/
BOOLEAN STDCALL
FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
IN ULONG RunIndex,
OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn,
OUT PLONGLONG SectorCount)
{
UNIMPLEMENTED;
return(FALSE);
}
/*
* @implemented
*/
BOOLEAN STDCALL
FsRtlGetNextMcbEntry (IN PMCB Mcb,
IN ULONG RunIndex,
OUT PVBN Vbn,
OUT PLBN Lbn,
OUT PULONG SectorCount)
{
BOOLEAN Return = FALSE;
LONGLONG llVbn;
LONGLONG llLbn;
LONGLONG llSectorCount;
/* Call the Large version */
Return = FsRtlGetNextLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
RunIndex,
&llVbn,
&llLbn,
&llSectorCount);
/* Return everything typecasted */
*Vbn = (ULONG)llVbn;
*Lbn = (ULONG)llLbn;
*SectorCount = (ULONG)llSectorCount;
/* And return the original value */
return(Return);
}
/*
* @unimplemented
*/
VOID STDCALL
FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
IN POOL_TYPE PoolType)
{
UNIMPLEMENTED;
Mcb->PoolType = PoolType;
}
/*
* FsRtlInitializeMcb: Obsolete
* @implemented
*/
VOID STDCALL
FsRtlInitializeMcb (IN PMCB Mcb,
IN POOL_TYPE PoolType)
{
FsRtlInitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly, PoolType);
}
/*
* @unimplemented
*/
BOOLEAN STDCALL
FsRtlLookupLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
OUT PLONGLONG Lbn OPTIONAL,
OUT PLONGLONG SectorCountFromLbn OPTIONAL,
OUT PLONGLONG StartingLbn OPTIONAL,
OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL,
OUT PULONG Index OPTIONAL)
{
UNIMPLEMENTED;
return(FALSE);
return FsRtlAddLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
(LONGLONG)Vbn,
(LONGLONG)Lbn,
(LONGLONG)SectorCount);
}
/*
* @unimplemented
*/
BOOLEAN
STDCALL
FsRtlLookupLastLargeMcbEntryAndIndex (
IN PLARGE_MCB OpaqueMcb,
OUT PLONGLONG LargeVbn,
OUT PLONGLONG LargeLbn,
OUT PULONG Index
)
NTAPI
FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
IN ULONG RunIndex,
OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn,
OUT PLONGLONG SectorCount)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/*
* @implemented
*/
BOOLEAN
NTAPI
FsRtlGetNextMcbEntry(IN PMCB Mcb,
IN ULONG RunIndex,
OUT PVBN Vbn,
OUT PLBN Lbn,
OUT PULONG SectorCount)
{
BOOLEAN Return = FALSE;
LONGLONG llVbn;
LONGLONG llLbn;
LONGLONG llSectorCount;
/* Call the Large version */
Return = FsRtlGetNextLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
RunIndex,
&llVbn,
&llLbn,
&llSectorCount);
/* Return everything typecasted */
*Vbn = (ULONG)llVbn;
*Lbn = (ULONG)llLbn;
*SectorCount = (ULONG)llSectorCount;
/* And return the original value */
return(Return);
}
/*
* @unimplemented
*/
VOID
NTAPI
FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
IN POOL_TYPE PoolType)
{
UNIMPLEMENTED;
Mcb->PoolType = PoolType;
}
/*
* FsRtlInitializeMcb: Obsolete
* @implemented
*/
VOID
NTAPI
FsRtlInitializeMcb (IN PMCB Mcb,
IN POOL_TYPE PoolType)
{
FsRtlInitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly, PoolType);
}
/*
* @unimplemented
*/
BOOLEAN
NTAPI
FsRtlLookupLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
OUT PLONGLONG Lbn OPTIONAL,
OUT PLONGLONG SectorCountFromLbn OPTIONAL,
OUT PLONGLONG StartingLbn OPTIONAL,
OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL,
OUT PULONG Index OPTIONAL)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
BOOLEAN
NTAPI
FsRtlLookupLastLargeMcbEntryAndIndex(IN PLARGE_MCB OpaqueMcb,
OUT PLONGLONG LargeVbn,
OUT PLONGLONG LargeLbn,
OUT PULONG Index)
{
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
PFSRTL_PER_STREAM_CONTEXT
STDCALL
FsRtlLookupPerStreamContextInternal (
IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
IN PVOID OwnerId OPTIONAL,
IN PVOID InstanceId OPTIONAL
)
NTAPI
FsRtlLookupPerStreamContextInternal(IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
IN PVOID OwnerId OPTIONAL,
IN PVOID InstanceId OPTIONAL)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
STDCALL
FsRtlLookupPerFileObjectContext (
IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
NTAPI
FsRtlLookupPerFileObjectContext(IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
IN PVOID OwnerId OPTIONAL,
IN PVOID InstanceId OPTIONAL
)
IN PVOID InstanceId OPTIONAL)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
BOOLEAN STDCALL
BOOLEAN
NTAPI
FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn)
OUT PLONGLONG Vbn,
OUT PLONGLONG Lbn)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return(FALSE);
}
/*
* @implemented
*/
BOOLEAN STDCALL
BOOLEAN
NTAPI
FsRtlLookupLastMcbEntry(IN PMCB Mcb,
OUT PVBN Vbn,
OUT PLBN Lbn)
{
BOOLEAN Return = FALSE;
LONGLONG llVbn;
LONGLONG llLbn;
BOOLEAN Return = FALSE;
LONGLONG llVbn;
LONGLONG llLbn;
/* Call the Large version */
Return = FsRtlLookupLastLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
&llVbn,
&llLbn);
/* Call the Large version */
Return = FsRtlLookupLastLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
&llVbn,
&llLbn);
/* Return everything typecasted */
*Vbn = (ULONG)llVbn;
*Lbn = (ULONG)llLbn;
/* Return everything typecasted */
*Vbn = (ULONG)llVbn;
*Lbn = (ULONG)llLbn;
/* And return the original value */
return(Return);
/* And return the original value */
return(Return);
}
/*
* @implemented
*/
BOOLEAN STDCALL
BOOLEAN
NTAPI
FsRtlLookupMcbEntry(IN PMCB Mcb,
IN VBN Vbn,
OUT PLBN Lbn,
OUT PULONG SectorCount OPTIONAL,
OUT PULONG Index)
{
BOOLEAN Return = FALSE;
LONGLONG llLbn;
LONGLONG llSectorCount;
BOOLEAN Return = FALSE;
LONGLONG llLbn;
LONGLONG llSectorCount;
/* Call the Large version */
Return = FsRtlLookupLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
(LONGLONG)Vbn,
&llLbn,
&llSectorCount,
NULL,
NULL,
Index);
/* Call the Large version */
Return = FsRtlLookupLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
(LONGLONG)Vbn,
&llLbn,
&llSectorCount,
NULL,
NULL,
Index);
/* Return everything typecasted */
*Lbn = (ULONG)llLbn;
if (SectorCount) *SectorCount = (ULONG)llSectorCount;
/* Return everything typecasted */
*Lbn = (ULONG)llLbn;
if (SectorCount) *SectorCount = (ULONG)llSectorCount;
/* And return the original value */
return(Return);
/* And return the original value */
return(Return);
}
/*
* @implemented
*/
ULONG STDCALL
ULONG
NTAPI
FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
{
ULONG NumberOfRuns;
ExAcquireFastMutex (Mcb->FastMutex);
NumberOfRuns = Mcb->PairCount;
ExReleaseFastMutex (Mcb->FastMutex);
return(NumberOfRuns);
ULONG NumberOfRuns;
ExAcquireFastMutex(Mcb->FastMutex);
NumberOfRuns = Mcb->PairCount;
ExReleaseFastMutex(Mcb->FastMutex);
return NumberOfRuns;
}
@ -273,32 +282,34 @@ FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
*
* @implemented
*/
ULONG STDCALL
ULONG
NTAPI
FsRtlNumberOfRunsInMcb (IN PMCB Mcb)
{
return FsRtlNumberOfRunsInLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly);
return FsRtlNumberOfRunsInLargeMcb(&Mcb->DummyFieldThatSizesThisStructureCorrectly);
}
/*
* @unimplemented
*/
VOID STDCALL
VOID
NTAPI
FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
IN LONGLONG SectorCount)
IN LONGLONG Vbn,
IN LONGLONG SectorCount)
{
UNIMPLEMENTED;
UNIMPLEMENTED;
}
/*
* @implemented
*/
VOID STDCALL
FsRtlRemoveMcbEntry (IN PMCB Mcb,
IN VBN Vbn,
IN ULONG SectorCount)
VOID
NTAPI
FsRtlRemoveMcbEntry(IN PMCB Mcb,
IN VBN Vbn,
IN ULONG SectorCount)
{
/* Call the large function */
return FsRtlRemoveLargeMcbEntry(&Mcb->DummyFieldThatSizesThisStructureCorrectly,
@ -311,59 +322,58 @@ FsRtlRemoveMcbEntry (IN PMCB Mcb,
* @unimplemented
*/
VOID
STDCALL
FsRtlResetLargeMcb (
IN PLARGE_MCB Mcb,
IN BOOLEAN SelfSynchronized
)
NTAPI
FsRtlResetLargeMcb(IN PLARGE_MCB Mcb,
IN BOOLEAN SelfSynchronized)
{
UNIMPLEMENTED;
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
BOOLEAN STDCALL
BOOLEAN
NTAPI
FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn,
IN LONGLONG Amount)
IN LONGLONG Vbn,
IN LONGLONG Amount)
{
UNIMPLEMENTED;
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/*
* @unimplemented
*/
VOID STDCALL
VOID
NTAPI
FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
IN LONGLONG Vbn)
IN LONGLONG Vbn)
{
UNIMPLEMENTED;
UNIMPLEMENTED;
}
/*
* FsRtlTruncateMcb: Obsolete
*
* @implemented
*/
VOID STDCALL
VOID
NTAPI
FsRtlTruncateMcb (IN PMCB Mcb,
IN VBN Vbn)
IN VBN Vbn)
{
FsRtlTruncateLargeMcb (& Mcb->DummyFieldThatSizesThisStructureCorrectly, (LONGLONG) Vbn);
FsRtlTruncateLargeMcb(&Mcb->DummyFieldThatSizesThisStructureCorrectly, (LONGLONG)Vbn);
}
/*
* @unimplemented
*/
VOID STDCALL
VOID
NTAPI
FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
{
UNIMPLEMENTED;
UNIMPLEMENTED;
}
/*
@ -371,12 +381,11 @@ FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
*
* @implemented
*/
VOID STDCALL
FsRtlUninitializeMcb (IN PMCB Mcb)
VOID
NTAPI
FsRtlUninitializeMcb(IN PMCB Mcb)
{
FsRtlUninitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly);
FsRtlUninitializeLargeMcb(& Mcb->DummyFieldThatSizesThisStructureCorrectly);
}
/* EOF */

View file

@ -1,6 +1,6 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/name.c
* PURPOSE: Name and DBCS Name Validation and Dissection Functions.
*
@ -9,9 +9,10 @@
* Filip Navara
*/
/* INCLUDES ****************************************************************/
/* INCLUDES ****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
@ -153,23 +154,31 @@ PUCHAR FsRtlLegalAnsiCharacterArray = LegalAnsiCharacterArray;
/* FUNCTIONS *****************************************************************/
/*
* NAME EXPORTED
* FsRtlAreNamesEqual@16
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* From Bo Branten's ntifs.h v25.
*
/*++
* @name FsRtlAreNamesEqual
* @implemented
*/
*
* FILLME
*
* @param Name1
* FILLME
*
* @param Name2
* FILLME
*
* @param IgnoreCase
* FILLME
*
* @param UpcaseTable
* FILLME
*
* @return None
*
* @remarks From Bo Branten's ntifs.h v25.
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlAreNamesEqual(IN PUNICODE_STRING Name1,
IN PUNICODE_STRING Name2,
IN BOOLEAN IgnoreCase,
@ -233,36 +242,33 @@ ManualCase:
}
}
/*
* NAME EXPORTED
* FsRtlDissectDbcs@16
/*++
* @name FsRtlDissectDbcs
* @implemented
*
* Dissects a given path name into first and remaining part.
*
* ARGUMENTS
* Name
* ANSI string to dissect.
* @param Name
* ANSI string to dissect.
*
* FirstPart
* Pointer to user supplied ANSI_STRING, that will
* later point to the first part of the original name.
* @param FirstPart
* Pointer to user supplied ANSI_STRING, that will later point
* to the first part of the original name.
*
* RemainingPart
* Pointer to user supplied ANSI_STRING, that will
* later point to the remaining part of the original name.
* @param RemainingPart
* Pointer to user supplied ANSI_STRING, that will later point
* to the remaining part of the original name.
*
* RETURN VALUE
* None
* @return None
*
* EXAMPLE
* Name: \test1\test2\test3
* FirstPart: test1
* RemainingPart: test2\test3
* @remarks Example:
* Name: \test1\test2\test3
* FirstPart: test1
* RemainingPart: test2\test3
*
* @implemented
*/
*--*/
VOID
STDCALL
NTAPI
FsRtlDissectDbcs(IN ANSI_STRING Name,
OUT PANSI_STRING FirstPart,
OUT PANSI_STRING RemainingPart)
@ -305,96 +311,94 @@ FsRtlDissectDbcs(IN ANSI_STRING Name,
return;
}
/*
* NAME EXPORTED
* FsRtlDissectName@16
*
* DESCRIPTION
* Dissects a given path name into first and remaining part.
*
* ARGUMENTS
* Name
* Unicode string to dissect.
*
* FirstPart
* Pointer to user supplied UNICODE_STRING, that will
* later point to the first part of the original name.
*
* RemainingPart
* Pointer to user supplied UNICODE_STRING, that will
* later point to the remaining part of the original name.
*
* RETURN VALUE
* None
*
* EXAMPLE
* Name: \test1\test2\test3
* FirstPart: test1
* RemainingPart: test2\test3
*
/*++
* @name FsRtlDissectName
* @implemented
*/
*
* Dissects a given path name into first and remaining part.
*
* @param Name
* Unicode string to dissect.
*
* @param FirstPart
* Pointer to user supplied UNICODE_STRING, that will later point
* to the first part of the original name.
*
* @param RemainingPart
* Pointer to user supplied UNICODE_STRING, that will later point
* to the remaining part of the original name.
*
* @return None
*
* @remarks Example:
* Name: \test1\test2\test3
* FirstPart: test1
* RemainingPart: test2\test3
*
*--*/
VOID
STDCALL
NTAPI
FsRtlDissectName(IN UNICODE_STRING Name,
OUT PUNICODE_STRING FirstPart,
OUT PUNICODE_STRING RemainingPart)
{
USHORT NameOffset = 0;
USHORT NameLength = 0;
USHORT Length;
USHORT NameOffset = 0;
USHORT NameLength = 0;
USHORT Length;
FirstPart->Length = 0;
FirstPart->MaximumLength = 0;
FirstPart->Buffer = NULL;
FirstPart->Length = 0;
FirstPart->MaximumLength = 0;
FirstPart->Buffer = NULL;
RemainingPart->Length = 0;
RemainingPart->MaximumLength = 0;
RemainingPart->Buffer = NULL;
RemainingPart->Length = 0;
RemainingPart->MaximumLength = 0;
RemainingPart->Buffer = NULL;
if (Name.Length == 0)
return;
if (Name.Length == 0)
return;
/* Skip leading backslash */
if (Name.Buffer[0] == L'\\')
NameOffset++;
/* Skip leading backslash */
if (Name.Buffer[0] == L'\\')
NameOffset++;
Length = Name.Length / sizeof(WCHAR);
Length = Name.Length / sizeof(WCHAR);
/* Search for next backslash or end-of-string */
while ((NameOffset + NameLength < Length) &&
(Name.Buffer[NameOffset + NameLength] != L'\\'))
{
NameLength++;
}
/* Search for next backslash or end-of-string */
while ((NameOffset + NameLength < Length) &&
(Name.Buffer[NameOffset + NameLength] != L'\\'))
{
NameLength++;
}
FirstPart->Length =
FirstPart->MaximumLength = NameLength * sizeof(WCHAR);
FirstPart->Buffer = &Name.Buffer[NameOffset];
FirstPart->Length =
FirstPart->MaximumLength = NameLength * sizeof(WCHAR);
FirstPart->Buffer = &Name.Buffer[NameOffset];
NameOffset += NameLength + 1;
if (NameOffset < Length)
{
RemainingPart->Length = (Length - NameOffset) * sizeof(WCHAR);
RemainingPart->MaximumLength = (Length - NameOffset) * sizeof(WCHAR);
RemainingPart->Buffer = &Name.Buffer[NameOffset];
}
NameOffset += NameLength + 1;
if (NameOffset < Length)
{
RemainingPart->Length = (Length - NameOffset) * sizeof(WCHAR);
RemainingPart->MaximumLength = (Length - NameOffset) * sizeof(WCHAR);
RemainingPart->Buffer = &Name.Buffer[NameOffset];
}
}
/*
* NAME EXPORTED
* FsRtlDoesDbcsContainWildCards@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlDoesDbcsContainWildCards
* @implemented
*/
*
* FILLME
*
* @param Name
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name)
{
ULONG i;
@ -415,23 +419,22 @@ FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name)
return FALSE;
}
/*
* NAME EXPORTED
* FsRtlDoesNameContainWildCards@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* From Bo Branten's ntifs.h v12.
*
/*++
* @name FsRtlDoesNameContainWildCards
* @implemented
*/
*
* FILLME
*
* @param Name
* Pointer to a UNICODE_STRING containing Name to examine
*
* @return TRUE if Name contains wildcards, FALSE otherwise
*
* @remarks From Bo Branten's ntifs.h v12.
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlDoesNameContainWildCards(IN PUNICODE_STRING Name)
{
PWCHAR Ptr;
@ -452,60 +455,89 @@ FsRtlDoesNameContainWildCards(IN PUNICODE_STRING Name)
return FALSE;
}
/*
* NAME EXPORTED
* FsRtlIsDbcsInExpression@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlIsDbcsInExpression
* @unimplemented
*/
*
* FILLME
*
* @param Expression
* FILLME
*
* @param Name
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsDbcsInExpression(IN PANSI_STRING Expression,
IN PANSI_STRING Name)
{
return FALSE;
UNIMPLEMENTED;
return FALSE;
}
/*
* NAME EXPORTED
* FsRtlIsFatDbcsLegal@20
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlIsFatDbcsLegal
* @unimplemented
*/
*
* FILLME
*
* @param DbcsName
* FILLME
*
* @param WildCardsPermissible
* FILLME
*
* @param PathNamePermissible
* FILLME
*
* @param LeadingBackslashPermissible
* FILLME
*
* @return TRUE if the DbcsName is legal, FALSE otherwise
*
* @remarks None
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsFatDbcsLegal(IN ANSI_STRING DbcsName,
IN BOOLEAN WildCardsPermissible,
IN BOOLEAN PathNamePermissible,
IN BOOLEAN LeadingBackslashPermissible)
{
return FALSE;
UNIMPLEMENTED;
return FALSE;
}
/*
* NAME EXPORTED
* FsRtlIsHpfsDbcsLegal@20
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlIsHpfsDbcsLegal
* @unimplemented
*/
*
* FILLME
*
* @param DbcsName
* FILLME
*
* @param WildCardsPermissible
* FILLME
*
* @param PathNamePermissible
* FILLME
*
* @param LeadingBackslashPermissible
* FILLME
*
* @return TRUE if the DbcsName is legal, FALSE otherwise
*
* @remarks None
*
*--*/
BOOLEAN
STDCALL
FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName,
@ -513,108 +545,111 @@ FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName,
IN BOOLEAN PathNamePermissible,
IN BOOLEAN LeadingBackslashPermissible)
{
return FALSE;
UNIMPLEMENTED;
return FALSE;
}
/*
* NAME EXPORTED
* FsRtlIsNameInExpression@16
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* From Bo Branten's ntifs.h v12. This function should be rewritten
* to avoid recursion and better wildcard handling should be
* implemented (see FsRtlDoesNameContainWildCards).
*
/*++
* @name FsRtlIsNameInExpression
* @implemented
*/
*
* FILLME
*
* @param DeviceObject
* FILLME
*
* @param Irp
* FILLME
*
* @return TRUE if Name is in Expression, FALSE otherwise
*
* @remarks From Bo Branten's ntifs.h v12. This function should be
* rewritten to avoid recursion and better wildcard handling
* should be implemented (see FsRtlDoesNameContainWildCards).
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsNameInExpression(IN PUNICODE_STRING Expression,
IN PUNICODE_STRING Name,
IN BOOLEAN IgnoreCase,
IN PWCHAR UpcaseTable OPTIONAL)
{
USHORT ExpressionPosition, NamePosition;
UNICODE_STRING TempExpression, TempName;
USHORT ExpressionPosition, NamePosition;
UNICODE_STRING TempExpression, TempName;
ExpressionPosition = 0;
NamePosition = 0;
while (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
NamePosition < (Name->Length / sizeof(WCHAR)))
ExpressionPosition = 0;
NamePosition = 0;
while (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
NamePosition < (Name->Length / sizeof(WCHAR)))
{
if (Expression->Buffer[ExpressionPosition] == L'*')
if (Expression->Buffer[ExpressionPosition] == L'*')
{
ExpressionPosition++;
if (ExpressionPosition == (Expression->Length / sizeof(WCHAR)))
ExpressionPosition++;
if (ExpressionPosition == (Expression->Length / sizeof(WCHAR)))
{
return TRUE;
return TRUE;
}
while (NamePosition < (Name->Length / sizeof(WCHAR)))
while (NamePosition < (Name->Length / sizeof(WCHAR)))
{
TempExpression.Length =
TempExpression.MaximumLength =
Expression->Length - (ExpressionPosition * sizeof(WCHAR));
TempExpression.Buffer = Expression->Buffer + ExpressionPosition;
TempName.Length =
TempName.MaximumLength =
Name->Length - (NamePosition * sizeof(WCHAR));
TempName.Buffer = Name->Buffer + NamePosition;
/* FIXME: Rewrite to get rid of recursion */
if (FsRtlIsNameInExpression(&TempExpression, &TempName,
IgnoreCase, UpcaseTable))
TempExpression.Length =
TempExpression.MaximumLength =
Expression->Length - (ExpressionPosition * sizeof(WCHAR));
TempExpression.Buffer = Expression->Buffer + ExpressionPosition;
TempName.Length =
TempName.MaximumLength =
Name->Length - (NamePosition * sizeof(WCHAR));
TempName.Buffer = Name->Buffer + NamePosition;
/* FIXME: Rewrite to get rid of recursion */
if (FsRtlIsNameInExpression(&TempExpression, &TempName,
IgnoreCase, UpcaseTable))
{
return TRUE;
return TRUE;
}
NamePosition++;
NamePosition++;
}
}
else
else
{
/* FIXME: Take UpcaseTable into account! */
if (Expression->Buffer[ExpressionPosition] == L'?' ||
(IgnoreCase &&
RtlUpcaseUnicodeChar(Expression->Buffer[ExpressionPosition]) ==
RtlUpcaseUnicodeChar(Name->Buffer[NamePosition])) ||
(!IgnoreCase &&
Expression->Buffer[ExpressionPosition] ==
Name->Buffer[NamePosition]))
/* FIXME: Take UpcaseTable into account! */
if (Expression->Buffer[ExpressionPosition] == L'?' ||
(IgnoreCase &&
RtlUpcaseUnicodeChar(Expression->Buffer[ExpressionPosition]) ==
RtlUpcaseUnicodeChar(Name->Buffer[NamePosition])) ||
(!IgnoreCase &&
Expression->Buffer[ExpressionPosition] ==
Name->Buffer[NamePosition]))
{
NamePosition++;
ExpressionPosition++;
NamePosition++;
ExpressionPosition++;
}
else
else
{
return FALSE;
return FALSE;
}
}
}
/* Handle matching of "f0_*.*" expression to "f0_000" file name. */
if (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
Expression->Buffer[ExpressionPosition] == L'.')
/* Handle matching of "f0_*.*" expression to "f0_000" file name. */
if (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
Expression->Buffer[ExpressionPosition] == L'.')
{
while (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
(Expression->Buffer[ExpressionPosition] == L'.' ||
Expression->Buffer[ExpressionPosition] == L'*' ||
Expression->Buffer[ExpressionPosition] == L'?'))
while (ExpressionPosition < (Expression->Length / sizeof(WCHAR)) &&
(Expression->Buffer[ExpressionPosition] == L'.' ||
Expression->Buffer[ExpressionPosition] == L'*' ||
Expression->Buffer[ExpressionPosition] == L'?'))
{
ExpressionPosition++;
ExpressionPosition++;
}
}
if (ExpressionPosition == (Expression->Length / sizeof(WCHAR)) &&
NamePosition == (Name->Length / sizeof(WCHAR)))
if (ExpressionPosition == (Expression->Length / sizeof(WCHAR)) &&
NamePosition == (Name->Length / sizeof(WCHAR)))
{
return TRUE;
return TRUE;
}
return FALSE;
return FALSE;
}
/* EOF */

File diff suppressed because it is too large Load diff

View file

@ -1,141 +1,175 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/oplock.c
* PURPOSE: No purpose listed.
* PURPOSE: Oplock-functions
*
* PROGRAMMERS: Emanuele Aliberti
* Eric Kohl
*/
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
* FsRtlCheckOplock@20
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/* FUNCTIONS *****************************************************************/
/*++
* @name FsRtlCheckOplock
* @unimplemented
*/
*
* FILLME
*
* @param Oplock
* FILLME
*
* @param Irp
* FILLME
*
* @param Context
* FILLME
*
* @param CompletionRoutine
* FILLME
*
* @param PostIrpRoutine
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
NTSTATUS
NTAPI
FsRtlCheckOplock(IN POPLOCK Oplock,
IN PIRP Irp,
IN PVOID Context,
IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL,
IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL)
IN PIRP Irp,
IN PVOID Context,
IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL,
IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL)
{
return(STATUS_NOT_IMPLEMENTED);
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlCurrentBatchOplock@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlCurrentBatchOplock
* @unimplemented
*/
*
* FILLME
*
* @param Oplock
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
BOOLEAN
NTAPI
FsRtlCurrentBatchOplock(IN POPLOCK Oplock)
{
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlInitializeOplock@4
/*++
* @name FsRtlInitializeOplock
* @unimplemented
*
* DESCRIPTION
* FILLME
*
* ARGUMENTS
* @param Oplock
* FILLME
*
* RETURN VALUE
* @return None
*
* NOTE
* Obsolete function.
* @remarks None
*
* @implemented
*/
*--*/
VOID
NTAPI
FsRtlInitializeOplock(IN OUT POPLOCK Oplock)
{
UNIMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlOplockFsctrl@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlOplockFsctrl
* @unimplemented
*/
*
* FILLME
*
* @param Oplock
* FILLME
*
* @param Irp
* FILLME
*
* @param OpenCount
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
NTSTATUS
NTAPI
FsRtlOplockFsctrl(IN POPLOCK Oplock,
IN PIRP Irp,
IN ULONG OpenCount)
IN PIRP Irp,
IN ULONG OpenCount)
{
return(STATUS_NOT_IMPLEMENTED);
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlOplockIsFastIoPossible@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlOplockIsFastIoPossible
* @unimplemented
*/
*
* FILLME
*
* @param Oplock
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
BOOLEAN
NTAPI
FsRtlOplockIsFastIoPossible(IN POPLOCK Oplock)
{
return(FALSE);
UNIMPLEMENTED;
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlUninitializeOplock@4
/*++
* @name FsRtlUninitializeOplock
* @unimplemented
*
* DESCRIPTION
* FILLME
*
* ARGUMENTS
* @param Oplock
* FILLME
*
* RETURN VALUE
* @return None
*
* @implemented
*/
* @remarks None
*
*--*/
VOID
NTAPI
FsRtlUninitializeOplock(IN POPLOCK Oplock)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,159 +1,171 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/pool.c
* PURPOSE: No purpose listed.
*
* PROGRAMMERS: No programmer listed.
*/
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
* FsRtlAllocatePool@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* IFS_POOL_TAG is "FSrt" in mem view.
*
/* FUNCTIONS *****************************************************************/
/*++
* @name FsRtlAllocatePool
* @implemented
*/
*
* FILLME
*
* @param PoolType
* FILLME
*
* @param NumberOfBytes
* FILLME
*
* @return None
*
* @remarks IFS_POOL_TAG is "FSrt" in mem view.
*
*--*/
PVOID
NTAPI
FsRtlAllocatePool (
IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes
)
FsRtlAllocatePool(IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes)
{
PVOID Address;
PVOID Address;
Address = ExAllocatePoolWithTag (
PoolType,
NumberOfBytes,
IFS_POOL_TAG
);
if (NULL == Address)
{
ExRaiseStatus (STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
Address = ExAllocatePoolWithTag(PoolType,
NumberOfBytes,
IFS_POOL_TAG);
if (NULL == Address)
{
ExRaiseStatus(STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlAllocatePoolWithQuota@8
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
* NOTE
* IFS_POOL_TAG is "FSrt" in mem view.
*
/*++
* @name FsRtlAllocatePoolWithQuota
* @implemented
*/
*
* FILLME
*
* @param PoolType
* FILLME
*
* @param NumberOfBytes
* FILLME
*
* @return None
*
* @remarks IFS_POOL_TAG is "FSrt" in mem view.
*
*--*/
PVOID
NTAPI
FsRtlAllocatePoolWithQuota (
IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes
)
FsRtlAllocatePoolWithQuota(IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes)
{
PVOID Address;
PVOID Address;
Address = ExAllocatePoolWithQuotaTag (
PoolType,
NumberOfBytes,
IFS_POOL_TAG
);
if (NULL == Address)
{
ExRaiseStatus (STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
Address = ExAllocatePoolWithQuotaTag(PoolType,
NumberOfBytes,
IFS_POOL_TAG);
if (NULL == Address)
{
ExRaiseStatus(STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlAllocatePoolWithQuotaTag@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlAllocatePoolWithQuotaTag
* @implemented
*/
*
* FILLME
*
* @param PoolType
* FILLME
*
* @param NumberOfBytes
* FILLME
*
* @param Tag
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
PVOID
NTAPI
FsRtlAllocatePoolWithQuotaTag (
IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes,
IN ULONG Tag
)
FsRtlAllocatePoolWithQuotaTag (IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes,
IN ULONG Tag)
{
PVOID Address;
PVOID Address;
Address = ExAllocatePoolWithQuotaTag (
PoolType,
NumberOfBytes,
Tag
);
if (NULL == Address)
{
ExRaiseStatus (STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
Address = ExAllocatePoolWithQuotaTag(PoolType,
NumberOfBytes,
Tag);
if (NULL == Address)
{
ExRaiseStatus(STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlAllocatePoolWithTag@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlAllocatePoolWithTag
* @implemented
*/
*
* FILLME
*
* @param PoolType
* FILLME
*
* @param NumberOfBytes
* FILLME
*
* @param Tag
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
PVOID
NTAPI
FsRtlAllocatePoolWithTag (
IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes,
IN ULONG Tag
)
FsRtlAllocatePoolWithTag(IN POOL_TYPE PoolType,
IN ULONG NumberOfBytes,
IN ULONG Tag)
{
PVOID Address;
PVOID Address;
Address = ExAllocatePoolWithTag (
PoolType,
NumberOfBytes,
Tag
);
if (NULL == Address)
{
ExRaiseStatus (STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
Address = ExAllocatePoolWithTag(PoolType,
NumberOfBytes,
Tag);
if (NULL == Address)
{
ExRaiseStatus(STATUS_INSUFFICIENT_RESOURCES);
}
return Address;
}
/* EOF */

View file

@ -1,133 +1,178 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/tunnel.c
* PURPOSE: No purpose listed.
*
* PROGRAMMERS: Emanuele Aliberti
*/
/* INCLUDES ******************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
* FsRtlAddToTunnelCache@32
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/* FUNCTIONS *****************************************************************/
/*++
* @name FsRtlAddToTunnelCache
* @unimplemented
*/
*
* FILLME
*
* @param Cache
* FILLME
*
* @param DirectoryKey
* FILLME
*
* @param ShortName
* FILLME
*
* @param LongName
* FILLME
*
* @param KeyByShortName
* FILLME
*
* @param DataLength
* FILLME
*
* @param Data
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
VOID
STDCALL
FsRtlAddToTunnelCache (
IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey,
IN PUNICODE_STRING ShortName,
IN PUNICODE_STRING LongName,
IN BOOLEAN KeyByShortName,
IN ULONG DataLength,
IN PVOID Data
)
NTAPI
FsRtlAddToTunnelCache(IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey,
IN PUNICODE_STRING ShortName,
IN PUNICODE_STRING LongName,
IN BOOLEAN KeyByShortName,
IN ULONG DataLength,
IN PVOID Data)
{
UNIMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlDeleteKeyFromTunnelCache@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlDeleteKeyFromTunnelCache
* @unimplemented
*/
*
* FILLME
*
* @param Cache
* FILLME
*
* @param DirectoryKey
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
VOID
STDCALL
FsRtlDeleteKeyFromTunnelCache (
IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey
)
NTAPI
FsRtlDeleteKeyFromTunnelCache(IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey)
{
UNIMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlDeleteTunnelCache@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlDeleteTunnelCache
* @unimplemented
*/
*
* FILLME
*
* @param Cache
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
VOID
STDCALL
FsRtlDeleteTunnelCache (
IN PTUNNEL Cache
)
NTAPI
FsRtlDeleteTunnelCache(IN PTUNNEL Cache)
{
UNIMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlFindInTunnelCache@32
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlFindInTunnelCache
* @unimplemented
*/
*
* FILLME
*
* @param Cache
* FILLME
*
* @param DirectoryKey
* FILLME
*
* @param ShortName
* FILLME
*
* @param LongName
* FILLME
*
* @param KeyByShortName
* FILLME
*
* @param DataLength
* FILLME
*
* @param Data
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
BOOLEAN
STDCALL
FsRtlFindInTunnelCache (
IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey,
IN PUNICODE_STRING Name,
OUT PUNICODE_STRING ShortName,
OUT PUNICODE_STRING LongName,
IN OUT PULONG DataLength,
OUT PVOID Data
)
NTAPI
FsRtlFindInTunnelCache(IN PTUNNEL Cache,
IN ULONGLONG DirectoryKey,
IN PUNICODE_STRING Name,
OUT PUNICODE_STRING ShortName,
OUT PUNICODE_STRING LongName,
IN OUT PULONG DataLength,
OUT PVOID Data)
{
UNIMPLEMENTED;
return FALSE;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlInitializeTunnelCache@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlDeleteTunnelCache
* @unimplemented
*/
*
* FILLME
*
* @param Cache
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
VOID
STDCALL
FsRtlInitializeTunnelCache (
IN PTUNNEL Cache
)
NTAPI
FsRtlInitializeTunnelCache(IN PTUNNEL Cache)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,54 +1,70 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/unc.c
* PURPOSE: No purpose listed.
* PURPOSE: Functions to work with UNC providers
*
* PROGRAMMERS: Emanuele Aliberti
* Eric Kohl
*/
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
/**********************************************************************
* NAME EXPORTED
* FsRtlDeregisterUncProvider@4
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/* FUNCTIONS *****************************************************************/
/*++
* @name FsRtlDeregisterUncProvider
* @unimplemented
*/
*
* FILLME
*
* @param Handle
* FILLME
*
* @return None
*
* @remarks None
*
*--*/
VOID
NTAPI
FsRtlDeregisterUncProvider(IN HANDLE Handle)
{
UNIMPLEMENTED;
}
/**********************************************************************
* NAME EXPORTED
* FsRtlRegisterUncProvider@12
*
* DESCRIPTION
*
* ARGUMENTS
*
* RETURN VALUE
*
/*++
* @name FsRtlRegisterUncProvider
* @unimplemented
*/
*
* FILLME
*
* @param Handle
* FILLME
*
* @param RedirectorDeviceName
* FILLME
*
* @param MailslotsSupported
*
* @return None
*
* @remarks None
*
*--*/
NTSTATUS
NTAPI
FsRtlRegisterUncProvider(IN OUT PHANDLE Handle,
IN PUNICODE_STRING RedirectorDeviceName,
IN BOOLEAN MailslotsSupported)
{
UNIMPLEMENTED;
return(STATUS_NOT_IMPLEMENTED);
}

View file

@ -1,15 +1,18 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROJECT: ReactOS Kernel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: ntoskrnl/fs/util.c
* PURPOSE: Misc Utility Functions for File System Drivers
*
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
Emanuele Aliberti
*/
/* INCLUDES *****************************************************************/
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
#define FSRTL_MAX_RESOURCES 16
@ -21,7 +24,7 @@
/* GLOBALS *******************************************************************/
BOOLEAN STDCALL MmIsFileAPagingFile(PFILE_OBJECT FileObject);
VOID STDCALL INIT_FUNCTION RtlpInitializeResources(VOID);
VOID NTAPI INIT_FUNCTION RtlpInitializeResources(VOID);
static ULONG FsRtlpAllocatedResources = 0;
static PERESOURCE FsRtlpResources;
@ -32,7 +35,7 @@ static PERESOURCE FsRtlpResources;
/* PRIVATE FUNCTIONS**********************************************************/
VOID
STDCALL
NTAPI
INIT_FUNCTION
RtlpInitializeResources(VOID)
{
@ -67,7 +70,7 @@ RtlpInitializeResources(VOID)
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsTotalDeviceFailure(IN NTSTATUS NtStatus)
{
return((NT_SUCCESS(NtStatus)) ||
@ -91,7 +94,7 @@ FsRtlIsTotalDeviceFailure(IN NTSTATUS NtStatus)
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus)
{
return((STATUS_DATATYPE_MISALIGNMENT == NtStatus) ||
@ -115,7 +118,7 @@ FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus)
*
*--*/
BOOLEAN
STDCALL
NTAPI
FsRtlIsPagingFile(IN PFILE_OBJECT FileObject)
{
return MmIsFileAPagingFile(FileObject);
@ -141,7 +144,7 @@ FsRtlIsPagingFile(IN PFILE_OBJECT FileObject)
*
*--*/
NTSTATUS
STDCALL
NTAPI
FsRtlNormalizeNtstatus(IN NTSTATUS NtStatusToNormalize,
IN NTSTATUS NormalizedNtStatus)
{
@ -162,7 +165,7 @@ FsRtlNormalizeNtstatus(IN NTSTATUS NtStatusToNormalize,
*
*--*/
PERESOURCE
STDCALL
NTAPI
FsRtlAllocateResource(VOID)
{
/* Return a pre-allocated ERESOURCE */
@ -185,7 +188,7 @@ FsRtlAllocateResource(VOID)
*
*--*/
NTSTATUS
STDCALL
NTAPI
FsRtlBalanceReads(PDEVICE_OBJECT TargetDevice)
{
PIRP Irp;
@ -243,7 +246,7 @@ FsRtlBalanceReads(PDEVICE_OBJECT TargetDevice)
*
*--*/
VOID
STDCALL
NTAPI
FsRtlPostPagingFileStackOverflow(IN PVOID Context,
IN PKEVENT Event,
IN PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine)
@ -269,7 +272,7 @@ FsRtlPostPagingFileStackOverflow(IN PVOID Context,
*
*--*/
VOID
STDCALL
NTAPI
FsRtlPostStackOverflow(IN PVOID Context,
IN PKEVENT Event,
IN PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine)
@ -289,7 +292,7 @@ FsRtlPostStackOverflow(IN PVOID Context,
*
*--*/
NTSTATUS
STDCALL
NTAPI
FsRtlSyncVolumes(DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2)