X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=FatPkg%2FEnhancedFatDxe%2FHash.c;h=3413cd6ffe3cc4464e977c2d8c3122caee15a192;hb=a7ef158b07524f9afd0cefa3180aeac0fcb6e436;hp=3d0ffe6fb8793c53cfefda4c3f333eda17795a3e;hpb=2777ed7068f0ce186761f5cfef8a0c2252e3e2a5;p=mirror_edk2.git diff --git a/FatPkg/EnhancedFatDxe/Hash.c b/FatPkg/EnhancedFatDxe/Hash.c index 3d0ffe6fb8..3413cd6ffe 100644 --- a/FatPkg/EnhancedFatDxe/Hash.c +++ b/FatPkg/EnhancedFatDxe/Hash.c @@ -1,110 +1,76 @@ -/*++ +/** @file + Hash table operations. Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made available -under the terms and conditions of the BSD License which accompanies this -distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php +SPDX-License-Identifier: BSD-2-Clause-Patent -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +**/ +#include "Fat.h" -Module Name: - - Hash.c - -Abstract: - - Hash table operations +/** -Revision History + Get hash value for long name. ---*/ + @param LongNameString - The long name string to be hashed. -#include "Fat.h" + @return HashValue. +**/ STATIC UINT32 FatHashLongName ( IN CHAR16 *LongNameString ) -/*++ - -Routine Description: - - Get hash value for long name. - -Arguments: - - LongNameString - The long name string to be hashed. - -Returns: - - HashValue. - ---*/ { UINT32 HashValue; CHAR16 UpCasedLongFileName[EFI_PATH_STRING_LENGTH]; StrnCpyS ( UpCasedLongFileName, - sizeof (UpCasedLongFileName) / sizeof (UpCasedLongFileName[0]), + ARRAY_SIZE (UpCasedLongFileName), LongNameString, - sizeof (UpCasedLongFileName) / sizeof (UpCasedLongFileName[0]) - 1 + ARRAY_SIZE (UpCasedLongFileName) - 1 ); FatStrUpr (UpCasedLongFileName); gBS->CalculateCrc32 (UpCasedLongFileName, StrSize (UpCasedLongFileName), &HashValue); return (HashValue & HASH_TABLE_MASK); } -STATIC -UINT32 -FatHashShortName ( - IN CHAR8 *ShortNameString - ) -/*++ - -Routine Description: +/** Get hash value for short name. -Arguments: + @param ShortNameString - The short name string to be hashed. - ShortNameString - The short name string to be hashed. + @return HashValue -Returns: - - HashValue - ---*/ +**/ +STATIC +UINT32 +FatHashShortName ( + IN CHAR8 *ShortNameString + ) { UINT32 HashValue; gBS->CalculateCrc32 (ShortNameString, FAT_NAME_LEN, &HashValue); return (HashValue & HASH_TABLE_MASK); } -FAT_DIRENT ** -FatLongNameHashSearch ( - IN FAT_ODIR *ODir, - IN CHAR16 *LongNameString - ) -/*++ - -Routine Description: +/** Search the long name hash table for the directory entry. -Arguments: - - ODir - The directory to be searched. - LongNameString - The long name string to search. - -Returns: + @param ODir - The directory to be searched. + @param LongNameString - The long name string to search. - The previous long name hash node of the directory entry. + @return The previous long name hash node of the directory entry. ---*/ +**/ +FAT_DIRENT ** +FatLongNameHashSearch ( + IN FAT_ODIR *ODir, + IN CHAR16 *LongNameString + ) { FAT_DIRENT **PreviousHashNode; for (PreviousHashNode = &ODir->LongNameHashTable[FatHashLongName (LongNameString)]; @@ -119,27 +85,21 @@ Returns: return PreviousHashNode; } -FAT_DIRENT ** -FatShortNameHashSearch ( - IN FAT_ODIR *ODir, - IN CHAR8 *ShortNameString - ) -/*++ - -Routine Description: +/** Search the short name hash table for the directory entry. -Arguments: - - ODir - The directory to be searched. - ShortNameString - The short name string to search. + @param ODir - The directory to be searched. + @param ShortNameString - The short name string to search. -Returns: + @return The previous short name hash node of the directory entry. - The previous short name hash node of the directory entry. - ---*/ +**/ +FAT_DIRENT ** +FatShortNameHashSearch ( + IN FAT_ODIR *ODir, + IN CHAR8 *ShortNameString + ) { FAT_DIRENT **PreviousHashNode; for (PreviousHashNode = &ODir->ShortNameHashTable[FatHashShortName (ShortNameString)]; @@ -154,27 +114,19 @@ Returns: return PreviousHashNode; } +/** + + Insert directory entry to hash table. + + @param ODir - The parent directory. + @param DirEnt - The directory entry node. + +**/ VOID FatInsertToHashTable ( IN FAT_ODIR *ODir, IN FAT_DIRENT *DirEnt ) -/*++ - -Routine Description: - - Insert directory entry to hash table. - -Arguments: - - ODir - The parent directory. - DirEnt - The directory entry node. - -Returns: - - None. - ---*/ { FAT_DIRENT **HashTable; UINT32 HashTableIndex; @@ -195,27 +147,19 @@ Returns: HashTable[HashTableIndex] = DirEnt; } +/** + + Delete directory entry from hash table. + + @param ODir - The parent directory. + @param DirEnt - The directory entry node. + +**/ VOID FatDeleteFromHashTable ( IN FAT_ODIR *ODir, IN FAT_DIRENT *DirEnt ) -/*++ - -Routine Description: - - Delete directory entry from hash table. - -Arguments: - - ODir - The parent directory. - DirEnt - The directory entry node. - -Returns: - - None. - ---*/ { *FatShortNameHashSearch (ODir, DirEnt->Entry.FileName) = DirEnt->ShortNameForwardLink; *FatLongNameHashSearch (ODir, DirEnt->FileString) = DirEnt->LongNameForwardLink;