/* * PROJECT: ReactOS Kernel * LICENSE: GPL - See COPYING in the top level directory * FILE: ntoskrnl/fsrtl/name.c * PURPOSE: Provides DBCS parsing and other support routines for FSDs * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org) */ /* INCLUDES ******************************************************************/ #include #define NDEBUG #include /* PUBLIC FUNCTIONS **********************************************************/ /*++ * @name FsRtlDissectDbcs * @implemented * * Dissects a given path name into first and remaining part. * * @param Name * ANSI string to dissect. * * @param FirstPart * Pointer to user supplied ANSI_STRING, that will later point * to the first 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 None * * @remarks Example: * Name: \test1\test2\test3 * FirstPart: test1 * RemainingPart: test2\test3 * *--*/ VOID NTAPI FsRtlDissectDbcs(IN ANSI_STRING Name, OUT PANSI_STRING FirstPart, OUT PANSI_STRING RemainingPart) { KeBugCheck(FILE_SYSTEM); } /*++ * @name FsRtlDoesDbcsContainWildCards * @implemented * * FILLME * * @param Name * FILLME * * @return None * * @remarks None * *--*/ BOOLEAN NTAPI FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name) { ULONG i; /* Check every character */ for (i = 0; i < Name->Length; i++) { /* First make sure it's not the Lead DBCS */ if (FsRtlIsLeadDbcsCharacter(Name->Buffer[i])) { i++; } else if (FsRtlIsAnsiCharacterWild(Name->Buffer[i])) { /* Now return if it has a wildcard */ return TRUE; } } /* We didn't return above...so none found */ return FALSE; } /*++ * @name FsRtlIsDbcsInExpression * @unimplemented * * FILLME * * @param Expression * FILLME * * @param Name * FILLME * * @return None * * @remarks None * *--*/ BOOLEAN NTAPI FsRtlIsDbcsInExpression(IN PANSI_STRING Expression, IN PANSI_STRING Name) { KeBugCheck(FILE_SYSTEM); return FALSE; } /*++ * @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 NTAPI FsRtlIsFatDbcsLegal(IN ANSI_STRING DbcsName, IN BOOLEAN WildCardsPermissible, IN BOOLEAN PathNamePermissible, IN BOOLEAN LeadingBackslashPermissible) { KeBugCheck(FILE_SYSTEM); return FALSE; } /*++ * @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 NTAPI FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName, IN BOOLEAN WildCardsPermissible, IN BOOLEAN PathNamePermissible, IN BOOLEAN LeadingBackslashPermissible) { KeBugCheck(FILE_SYSTEM); return FALSE; }