From: "Ni, Ruiyu" <ruiyu.ni@intel.com>
To: "Bi, Dandan" <dandan.bi@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [patch 6/8] FatPkg\EnhancedFatDxe: Make the comments align with EDKII coding style
Date: Fri, 9 Dec 2016 01:10:08 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D58EAFAF1@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <1481194467-75920-7-git-send-email-dandan.bi@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Regards,
Ray
>-----Original Message-----
>From: Bi, Dandan
>Sent: Thursday, December 8, 2016 6:54 PM
>To: edk2-devel@lists.01.org
>Cc: Ni, Ruiyu <ruiyu.ni@intel.com>
>Subject: [patch 6/8] FatPkg\EnhancedFatDxe: Make the comments align with EDKII coding style
>
>Cc: Ruiyu Ni <ruiyu.ni@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>---
> FatPkg/EnhancedFatDxe/ComponentName.c | 10 +-
> FatPkg/EnhancedFatDxe/Data.c | 16 +-
> FatPkg/EnhancedFatDxe/Debug.c | 34 +-
> FatPkg/EnhancedFatDxe/Delete.c | 35 +-
> FatPkg/EnhancedFatDxe/DirectoryCache.c | 120 ++---
> FatPkg/EnhancedFatDxe/DirectoryManage.c | 726 ++++++++++++-------------------
> FatPkg/EnhancedFatDxe/DiskCache.c | 257 +++++------
> FatPkg/EnhancedFatDxe/Fat.c | 169 +++----
> FatPkg/EnhancedFatDxe/Fat.h | 394 +++++++----------
> FatPkg/EnhancedFatDxe/FatFileSystem.h | 15 +-
> FatPkg/EnhancedFatDxe/FileName.c | 272 +++++-------
> FatPkg/EnhancedFatDxe/FileSpace.c | 334 ++++++--------
> FatPkg/EnhancedFatDxe/Flush.c | 246 ++++-------
> FatPkg/EnhancedFatDxe/Hash.c | 158 +++----
> FatPkg/EnhancedFatDxe/Info.c | 320 ++++++--------
> FatPkg/EnhancedFatDxe/Init.c | 95 ++--
> FatPkg/EnhancedFatDxe/Misc.c | 402 ++++++-----------
> FatPkg/EnhancedFatDxe/Open.c | 172 +++-----
> FatPkg/EnhancedFatDxe/OpenVolume.c | 40 +-
> FatPkg/EnhancedFatDxe/ReadWrite.c | 392 +++++++----------
> FatPkg/EnhancedFatDxe/UnicodeCollation.c | 6 +-
> 21 files changed, 1565 insertions(+), 2648 deletions(-)
>
>diff --git a/FatPkg/EnhancedFatDxe/ComponentName.c b/FatPkg/EnhancedFatDxe/ComponentName.c
>index af3f9e6..ce1c975 100644
>--- a/FatPkg/EnhancedFatDxe/ComponentName.c
>+++ b/FatPkg/EnhancedFatDxe/ComponentName.c
>@@ -1,6 +1,6 @@
>-/*++
>+/** @file
>
> Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,17 +8,11 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>-
>- ComponentName.c
>-
>-Abstract:
>-
>---*/
>+**/
>
> #include "Fat.h"
>
> //
> // EFI Component Name Functions
>diff --git a/FatPkg/EnhancedFatDxe/Data.c b/FatPkg/EnhancedFatDxe/Data.c
>index b20cc45..56a265e 100644
>--- a/FatPkg/EnhancedFatDxe/Data.c
>+++ b/FatPkg/EnhancedFatDxe/Data.c
>@@ -1,28 +1,18 @@
>-/*++
>+/** @file
>+ Global data in the FAT Filesystem driver.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>-
>-Module Name:
>-
>- Data.c
>-
>-Abstract:
>-
>- Global data in the FAT Filesystem driver
>-
>-Revision History
>-
>---*/
>+**/
>
> #include "Fat.h"
>
> //
> // Globals
>diff --git a/FatPkg/EnhancedFatDxe/Debug.c b/FatPkg/EnhancedFatDxe/Debug.c
>index 7c0dc20..ad23786 100644
>--- a/FatPkg/EnhancedFatDxe/Debug.c
>+++ b/FatPkg/EnhancedFatDxe/Debug.c
>@@ -1,50 +1,32 @@
>-/*++
>+/** @file
>+ Debug functions for fat driver
>
> Copyright (c) 2005, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- debug.c
>-
>-Abstract:
>-
>- Debug functions for fat driver
>+#include "Fat.h"
>
>-Revision History
>+/**
>
>---*/
>+ Dump all the FAT Entry of the FAT table in the volume.
>
>-#include "Fat.h"
>+ @param Volume - The volume whose FAT info will be dumped
>
>+**/
> VOID
> FatDumpFatTable (
> IN FAT_VOLUME *Volume
> )
>-/*++
>-
>-Routine Description:
>-
>- Dump all the FAT Entry of the FAT table in the volume
>-
>-Arguments:
>-
>- Volume - The volume whose FAT info will be dumped
>-
>-Returns:
>-
>- None
>-
>---*/
> {
> UINTN EntryValue;
> UINTN MaxIndex;
> UINTN Index;
> CHAR16 *Pointer;
>diff --git a/FatPkg/EnhancedFatDxe/Delete.c b/FatPkg/EnhancedFatDxe/Delete.c
>index e5103a8..9837565 100644
>--- a/FatPkg/EnhancedFatDxe/Delete.c
>+++ b/FatPkg/EnhancedFatDxe/Delete.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Function that deletes a file.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,45 +9,29 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>+**/
>
>- delete.c
>-
>-Abstract:
>+#include "Fat.h"
>
>- Function that deletes a file
>+/**
>
>-Revision History
>+ Deletes the file & Closes the file handle.
>
>---*/
>+ @param FHand - Handle to the file to delete.
>
>-#include "Fat.h"
>+ @retval EFI_SUCCESS - Delete the file successfully.
>+ @retval EFI_WARN_DELETE_FAILURE - Fail to delete the file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatDelete (
> IN EFI_FILE_PROTOCOL *FHand
> )
>-/*++
>-
>-Routine Description:
>-
>- Deletes the file & Closes the file handle.
>-
>-Arguments:
>-
>- FHand - Handle to the file to delete.
>-
>-Returns:
>-
>- EFI_SUCCESS - Delete the file successfully.
>- EFI_WARN_DELETE_FAILURE - Fail to delete the file.
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
> FAT_DIRENT *DirEnt;
> EFI_STATUS Status;
>diff --git a/FatPkg/EnhancedFatDxe/DirectoryCache.c b/FatPkg/EnhancedFatDxe/DirectoryCache.c
>index 568b291..30de86a 100644
>--- a/FatPkg/EnhancedFatDxe/DirectoryCache.c
>+++ b/FatPkg/EnhancedFatDxe/DirectoryCache.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Functions for directory cache operation.
>
> Copyright (c) 2005, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,44 +9,26 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>+**/
>
>- DirectoryCache.c
>-
>-Abstract:
>-
>- Functions for directory cache operation
>+#include "Fat.h"
>
>-Revision History
>+/**
>
>---*/
>+ Free the directory structure and release the memory.
>
>-#include "Fat.h"
>+ @param ODir - The directory to be freed.
>
>+**/
> STATIC
> VOID
> FatFreeODir (
> IN FAT_ODIR *ODir
> )
>-/*++
>-
>-Routine Description:
>-
>- Free the directory structure and release the memory.
>-
>-Arguments:
>-
>- ODir - The directory to be freed.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> FAT_DIRENT *DirEnt;
>
> //
> // Release Directory Entry Nodes
>@@ -61,30 +44,22 @@ Returns:
> }
>
> FreePool (ODir);
> }
>
>+/**
>+
>+ Allocate the directory structure.
>+
>+ @param OFile - The corresponding OFile.
>+
>+**/
> STATIC
> FAT_ODIR *
> FatAllocateODir (
> IN FAT_OFILE *OFile
> )
>-/*++
>-
>-Routine Description:
>-
>- Allocate the directory structure.
>-
>-Arguments:
>-
>- OFile - The corresponding OFile.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> FAT_ODIR *ODir;
>
> ODir = AllocateZeroPool (sizeof (FAT_ODIR));
> if (ODir != NULL) {
>@@ -97,30 +72,22 @@ Returns:
> }
>
> return ODir;
> }
>
>-VOID
>-FatDiscardODir (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Discard the directory structure when an OFile will be freed.
> Volume will cache this directory if the OFile does not represent a deleted file.
>
>-Arguments:
>+ @param OFile - The OFile whose directory structure is to be discarded.
>
>- OFile - The OFile whose directory structure is to be discarded.
>-
>-Returns:
>-
>- None.
>-
>---*/
>+**/
>+VOID
>+FatDiscardODir (
>+ IN FAT_OFILE *OFile
>+ )
> {
> FAT_ODIR *ODir;
> FAT_VOLUME *Volume;
>
> Volume = OFile->Volume;
>@@ -152,31 +119,24 @@ Returns:
> if (ODir != NULL) {
> FatFreeODir (ODir);
> }
> }
>
>-VOID
>-FatRequestODir (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>+/**
>
>-Routine Description:
>
> Request the directory structure when an OFile is newly generated.
> If the directory structure is cached by volume, then just return this directory;
> Otherwise, allocate a new one for OFile.
>
>-Arguments:
>-
>- OFile - The OFile which requests directory structure.
>+ @param OFile - The OFile which requests directory structure.
>
>-Returns:
>-
>- None.
>-
>---*/
>+**/
>+VOID
>+FatRequestODir (
>+ IN FAT_OFILE *OFile
>+ )
> {
> UINTN DirCacheTag;
> FAT_VOLUME *Volume;
> FAT_ODIR *ODir;
> FAT_ODIR *CurrentODir;
>@@ -206,29 +166,21 @@ Returns:
> }
>
> OFile->ODir = ODir;
> }
>
>-VOID
>-FatCleanupODirCache (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Clean up all the cached directory structures when the volume is going to be abandoned.
>
>-Arguments:
>+ @param Volume - FAT file system volume.
>
>- Volume - FAT file system volume.
>-
>-Returns:
>-
>- None.
>-
>---*/
>+**/
>+VOID
>+FatCleanupODirCache (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> FAT_ODIR *ODir;
> while (Volume->DirCacheCount > 0) {
> ODir = ODIR_FROM_DIRCACHELINK (Volume->DirCacheList.BackLink);
> RemoveEntryList (&ODir->DirCacheLink);
>diff --git a/FatPkg/EnhancedFatDxe/DirectoryManage.c b/FatPkg/EnhancedFatDxe/DirectoryManage.c
>index 149119d..fe6fcc9 100644
>--- a/FatPkg/EnhancedFatDxe/DirectoryManage.c
>+++ b/FatPkg/EnhancedFatDxe/DirectoryManage.c
>@@ -1,58 +1,42 @@
>-/*++
>+/** @file
>+ Functions for performing directory entry io.
>
> Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- DirectoryManage.c
>-
>-Abstract:
>+#include "Fat.h"
>
>- Functions for performing directory entry io
>+/**
>
>-Revision History
>+ Get a directory entry from disk for the Ofile.
>
>---*/
>+ @param Parent - The parent of the OFile which need to update.
>+ @param IoMode - Indicate whether to read directory entry or write directroy entry.
>+ @param EntryPos - The position of the directory entry to be accessed.
>+ @param Entry - The directory entry read or written.
>
>-#include "Fat.h"
>+ @retval EFI_SUCCESS - Access the directory entry sucessfully.
>+ @return other - An error occurred when reading the directory entry.
>
>+**/
> STATIC
> EFI_STATUS
> FatAccessEntry (
> IN FAT_OFILE *Parent,
> IN IO_MODE IoMode,
> IN UINTN EntryPos,
> IN OUT VOID *Entry
> )
>-/*++
>-
>-Routine Description:
>-
>- Get a directory entry from disk for the Ofile.
>-
>-Arguments:
>-
>- Parent - The parent of the OFile which need to update.
>- IoMode - Indicate whether to read directory entry or write directroy entry.
>- EntryPos - The position of the directory entry to be accessed.
>- Entry - The directory entry read or written.
>-
>-Returns:
>-
>- EFI_SUCCESS - Access the directory entry sucessfully.
>- other - An error occurred when reading the directory entry.
>-
>---*/
> {
> UINTN Position;
> UINTN BufferSize;
>
> Position = EntryPos * sizeof (FAT_DIRECTORY_ENTRY);
>@@ -68,32 +52,26 @@ Returns:
>
> BufferSize = sizeof (FAT_DIRECTORY_ENTRY);
> return FatAccessOFile (Parent, IoMode, Position, &BufferSize, Entry, NULL);
> }
>
>-EFI_STATUS
>-FatStoreDirEnt (
>- IN FAT_OFILE *OFile,
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Save the directory entry to disk.
>
>-Arguments:
>-
>- OFile - The parent OFile which needs to update.
>- DirEnt - The directory entry to be saved.
>-
>-Returns:
>+ @param OFile - The parent OFile which needs to update.
>+ @param DirEnt - The directory entry to be saved.
>
>- EFI_SUCCESS - Store the directory entry successfully.
>- other - An error occurred when writing the directory entry.
>+ @retval EFI_SUCCESS - Store the directory entry successfully.
>+ @return other - An error occurred when writing the directory entry.
>
>---*/
>+**/
>+EFI_STATUS
>+FatStoreDirEnt (
>+ IN FAT_OFILE *OFile,
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> EFI_STATUS Status;
> FAT_DIRECTORY_LFN LfnEntry;
> UINTN EntryPos;
> CHAR16 *LfnBufferPointer;
>@@ -155,116 +133,86 @@ Returns:
> }
>
> return EFI_SUCCESS;
> }
>
>-BOOLEAN
>-FatIsDotDirEnt (
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Determine whether the directory entry is "." or ".." entry.
>
>-Arguments:
>+ @param DirEnt - The corresponding directory entry.
>
>- DirEnt - The corresponding directory entry.
>+ @retval TRUE - The directory entry is "." or ".." directory entry
>+ @retval FALSE - The directory entry is not "." or ".." directory entry
>
>-Returns:
>-
>- TRUE - The directory entry is "." or ".." directory entry
>- FALSE - The directory entry is not "." or ".." directory entry
>-
>---*/
>+**/
>+BOOLEAN
>+FatIsDotDirEnt (
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> CHAR16 *FileString;
> FileString = DirEnt->FileString;
> if (StrCmp (FileString, L".") == 0 || StrCmp (FileString, L"..") == 0) {
> return TRUE;
> }
>
> return FALSE;
> }
>
>+/**
>+
>+ Set the OFile's cluster info in its directory entry.
>+
>+ @param OFile - The corresponding OFile.
>+
>+**/
> STATIC
> VOID
> FatSetDirEntCluster (
> IN FAT_OFILE *OFile
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the OFile's cluster info in its directory entry.
>-
>-Arguments:
>-
>- OFile - The corresponding OFile.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> UINTN Cluster;
> FAT_DIRENT *DirEnt;
>
> DirEnt = OFile->DirEnt;
> Cluster = OFile->FileCluster;
> DirEnt->Entry.FileClusterHigh = (UINT16) (Cluster >> 16);
> DirEnt->Entry.FileCluster = (UINT16) Cluster;
> }
>
>-VOID
>-FatUpdateDirEntClusterSizeInfo (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set the OFile's cluster and size info in its directory entry.
>
>-Arguments:
>-
>- OFile - The corresponding OFile.
>-
>-Returns:
>-
>- None.
>+ @param OFile - The corresponding OFile.
>
>---*/
>+**/
>+VOID
>+FatUpdateDirEntClusterSizeInfo (
>+ IN FAT_OFILE *OFile
>+ )
> {
> ASSERT (OFile->ODir == NULL);
> OFile->DirEnt->Entry.FileSize = (UINT32) OFile->FileSize;
> FatSetDirEntCluster (OFile);
> }
>
>+/**
>+
>+ Copy all the information of DirEnt2 to DirEnt1 except for 8.3 name.
>+
>+ @param DirEnt1 - The destination directory entry.
>+ @param DirEnt2 - The source directory entry.
>+
>+**/
> VOID
> FatCloneDirEnt (
> IN FAT_DIRENT *DirEnt1,
> IN FAT_DIRENT *DirEnt2
> )
>-/*++
>-
>-Routine Description:
>-
>- Copy all the information of DirEnt2 to DirEnt1 except for 8.3 name.
>-
>-Arguments:
>-
>- DirEnt1 - The destination directory entry.
>- DirEnt2 - The source directory entry.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> UINT8 *Entry1;
> UINT8 *Entry2;
> Entry1 = (UINT8 *) &DirEnt1->Entry;
> Entry2 = (UINT8 *) &DirEnt2->Entry;
>@@ -273,32 +221,24 @@ Returns:
> Entry2 + FAT_ENTRY_INFO_OFFSET,
> sizeof (FAT_DIRECTORY_ENTRY) - FAT_ENTRY_INFO_OFFSET
> );
> }
>
>+/**
>+
>+ Get the LFN for the directory entry.
>+
>+ @param Parent - The parent directory.
>+ @param DirEnt - The directory entry to get LFN.
>+
>+**/
> STATIC
> VOID
> FatLoadLongNameEntry (
> IN FAT_OFILE *Parent,
> IN FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the LFN for the directory entry.
>-
>-Arguments:
>-
>- Parent - The parent directory.
>- DirEnt - The directory entry to get LFN.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> CHAR16 LfnBuffer[MAX_LFN_ENTRIES * LFN_CHAR_TOTAL + 1];
> CHAR16 *LfnBufferPointer;
> CHAR8 *File8Dot3Name;
> UINTN EntryPos;
>@@ -365,64 +305,50 @@ Returns:
> }
>
> DirEnt->FileString = AllocateCopyPool (StrSize (LfnBuffer), LfnBuffer);
> }
>
>+/**
>+
>+ Add this directory entry node to the list of directory entries and hash table.
>+
>+ @param ODir - The parent OFile which needs to be updated.
>+ @param DirEnt - The directory entry to be added.
>+
>+**/
> STATIC
> VOID
> FatAddDirEnt (
> IN FAT_ODIR *ODir,
> IN FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Add this directory entry node to the list of directory entries and hash table.
>-
>-Arguments:
>-
>- ODir - The parent OFile which needs to be updated.
>- DirEnt - The directory entry to be added.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> if (DirEnt->Link.BackLink == NULL) {
> DirEnt->Link.BackLink = &ODir->ChildList;
> }
> InsertTailList (DirEnt->Link.BackLink, &DirEnt->Link);
> FatInsertToHashTable (ODir, DirEnt);
> }
>
>+/**
>+
>+ Load from disk the next directory entry at current end of directory position.
>+
>+ @param OFile - The parent OFile.
>+ @param PtrDirEnt - The directory entry that is loaded.
>+
>+ @retval EFI_SUCCESS - Load the directory entry successfully.
>+ @retval EFI_OUT_OF_RESOURCES - Out of resource.
>+ @return other - An error occurred when reading the directory entries.
>+
>+**/
> STATIC
> EFI_STATUS
> FatLoadNextDirEnt (
> IN FAT_OFILE *OFile,
> OUT FAT_DIRENT **PtrDirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Load from disk the next directory entry at current end of directory position
>-
>-Arguments:
>-
>- OFile - The parent OFile.
>- PtrDirEnt - The directory entry that is loaded.
>-
>-Returns:
>-
>- EFI_SUCCESS - Load the directory entry successfully.
>- EFI_OUT_OF_RESOURCES - Out of resource.
>- other - An error occurred when reading the directory entries.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_DIRENT *DirEnt;
> FAT_ODIR *ODir;
> FAT_DIRECTORY_ENTRY Entry;
>@@ -503,36 +429,30 @@ Returns:
> Done:
> FatFreeDirEnt (DirEnt);
> return Status;
> }
>
>+/**
>+
>+ Get the directory entry's info into Buffer.
>+
>+ @param Volume - FAT file system volume.
>+ @param DirEnt - The corresponding directory entry.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing file info.
>+
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_BUFFER_TOO_SMALL - The buffer is too small.
>+
>+**/
> EFI_STATUS
> FatGetDirEntInfo (
> IN FAT_VOLUME *Volume,
> IN FAT_DIRENT *DirEnt,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the directory entry's info into Buffer.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- DirEnt - The corresponding directory entry.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing file info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_BUFFER_TOO_SMALL - The buffer is too small.
>-
>---*/
> {
> UINTN Size;
> UINTN NameSize;
> UINTN ResultSize;
> UINTN Cluster;
>@@ -573,35 +493,29 @@ Returns:
>
> *BufferSize = ResultSize;
> return Status;
> }
>
>+/**
>+
>+ Search the directory for the directory entry whose filename is FileNameString.
>+
>+ @param OFile - The parent OFile whose directory is to be searched.
>+ @param FileNameString - The filename to be searched.
>+ @param PtrDirEnt - pointer to the directory entry if found.
>+
>+ @retval EFI_SUCCESS - Find the directory entry or not found.
>+ @return other - An error occurred when reading the directory entries.
>+
>+**/
> STATIC
> EFI_STATUS
> FatSearchODir (
> IN FAT_OFILE *OFile,
> IN CHAR16 *FileNameString,
> OUT FAT_DIRENT **PtrDirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Search the directory for the directory entry whose filename is FileNameString.
>-
>-Arguments:
>-
>- OFile - The parent OFile whose directory is to be searched.
>- FileNameString - The filename to be searched.
>- PtrDirEnt - pointer to the directory entry if found.
>-
>-Returns:
>-
>- EFI_SUCCESS - Find the directory entry or not found.
>- other - An error occurred when reading the directory entries.
>-
>---*/
> {
> BOOLEAN PossibleShortName;
> CHAR8 File8Dot3Name[FAT_NAME_LEN];
> FAT_ODIR *ODir;
> FAT_DIRENT *DirEnt;
>@@ -645,60 +559,46 @@ Returns:
>
> *PtrDirEnt = DirEnt;
> return EFI_SUCCESS;
> }
>
>-VOID
>-FatResetODirCursor (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set the OFile's current directory cursor to the list head.
>
>-Arguments:
>+ @param OFile - The directory OFile whose directory cursor is reset.
>
>- OFile - The directory OFile whose directory cursor is reset.
>-
>-Returns:
>-
>- None.
>-
>---*/
>+**/
>+VOID
>+FatResetODirCursor (
>+ IN FAT_OFILE *OFile
>+ )
> {
> FAT_ODIR *ODir;
>
> ODir = OFile->ODir;
> ASSERT (ODir != NULL);
> ODir->CurrentCursor = &(ODir->ChildList);
> ODir->CurrentPos = 0;
> }
>
>-EFI_STATUS
>-FatGetNextDirEnt (
>- IN FAT_OFILE *OFile,
>- OUT FAT_DIRENT **PtrDirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set the directory's cursor to the next and get the next directory entry.
>
>-Arguments:
>-
>- OFile - The parent OFile.
>- PtrDirEnt - The next directory entry.
>-
>-Returns:
>+ @param OFile - The parent OFile.
>+ @param PtrDirEnt - The next directory entry.
>
>- EFI_SUCCESS - We get the next directory entry successfully.
>- other - An error occurred when get next directory entry.
>+ @retval EFI_SUCCESS - We get the next directory entry successfully.
>+ @return other - An error occurred when get next directory entry.
>
>---*/
>+**/
>+EFI_STATUS
>+FatGetNextDirEnt (
>+ IN FAT_OFILE *OFile,
>+ OUT FAT_DIRENT **PtrDirEnt
>+ )
> {
> EFI_STATUS Status;
> FAT_DIRENT *DirEnt;
> FAT_ODIR *ODir;
>
>@@ -733,32 +633,24 @@ Returns:
>
> *PtrDirEnt = DirEnt;
> return EFI_SUCCESS;
> }
>
>+/**
>+
>+ Set the directory entry count according to the filename.
>+
>+ @param OFile - The corresponding OFile.
>+ @param DirEnt - The directory entry to be set.
>+
>+**/
> STATIC
> VOID
> FatSetEntryCount (
> IN FAT_OFILE *OFile,
> IN FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the directory entry count according to the filename.
>-
>-Arguments:
>-
>- OFile - The corresponding OFile.
>- DirEnt - The directory entry to be set.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> CHAR16 *FileString;
> CHAR8 *File8Dot3Name;
>
> //
>@@ -798,58 +690,46 @@ Returns:
> DirEnt->EntryCount = (UINT8)(LFN_ENTRY_NUMBER (StrLen (FileString)) + DirEnt->EntryCount);
> }
> }
> }
>
>+/**
>+
>+ Append a zero cluster to the current OFile.
>+
>+ @param OFile - The directory OFile which needs to be updated.
>+
>+ @retval EFI_SUCCESS - Append a zero cluster to the OFile successfully.
>+ @return other - An error occurred when appending the zero cluster.
>+
>+**/
> STATIC
> EFI_STATUS
> FatExpandODir (
> IN FAT_OFILE *OFile
> )
>-/*++
>-
>-Routine Description:
>-
>- Append a zero cluster to the current OFile.
>+{
>+ return FatExpandOFile (OFile, OFile->FileSize + OFile->Volume->ClusterSize);
>+}
>
>-Arguments:
>+/**
>
>- OFile - The directory OFile which needs to be updated.
>+ Search the Root OFile for the possible volume label.
>
>-Returns:
>+ @param Root - The Root OFile.
>+ @param DirEnt - The returned directory entry of volume label.
>
>- EFI_SUCCESS - Append a zero cluster to the OFile successfully.
>- other - An error occurred when appending the zero cluster.
>-
>---*/
>-{
>- return FatExpandOFile (OFile, OFile->FileSize + OFile->Volume->ClusterSize);
>-}
>+ @retval EFI_SUCCESS - The search process is completed successfully.
>+ @return other - An error occurred when searching volume label.
>
>+**/
> STATIC
> EFI_STATUS
> FatSeekVolumeId (
> IN FAT_OFILE *Root,
> OUT FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Search the Root OFile for the possible volume label.
>-
>-Arguments:
>-
>- Root - The Root OFile.
>- DirEnt - The returned directory entry of volume label.
>-
>-Returns:
>-
>- EFI_SUCCESS - The search process is completed successfully.
>- other - An error occurred when searching volume label.
>-
>---*/
> {
> EFI_STATUS Status;
> UINTN EntryPos;
> FAT_DIRECTORY_ENTRY *Entry;
>
>@@ -872,37 +752,31 @@ Returns:
> EntryPos++;
> } while (Entry->FileName[0] != EMPTY_ENTRY_MARK);
> return EFI_SUCCESS;
> }
>
>-STATIC
>-EFI_STATUS
>-FatFirstFitInsertDirEnt (
>- IN FAT_OFILE *OFile,
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Use First Fit Algorithm to insert directory entry.
> Only this function will erase "E5" entries in a directory.
> In view of safest recovery, this function will only be triggered
> when maximum directory entry number has reached.
>
>-Arguments:
>-
>- OFile - The corresponding OFile.
>- DirEnt - The directory entry to be inserted.
>+ @param OFile - The corresponding OFile.
>+ @param DirEnt - The directory entry to be inserted.
>
>-Returns:
>+ @retval EFI_SUCCESS - The directory entry has been successfully inserted.
>+ @retval EFI_VOLUME_FULL - The directory can not hold more directory entries.
>+ @return Others - Some error occurred when inserting new directory entries.
>
>- EFI_SUCCESS - The directory entry has been successfully inserted.
>- EFI_VOLUME_FULL - The directory can not hold more directory entries.
>- Others - Some error occurred when inserting new directory entries.
>-
>---*/
>+**/
>+STATIC
>+EFI_STATUS
>+FatFirstFitInsertDirEnt (
>+ IN FAT_OFILE *OFile,
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> EFI_STATUS Status;
> FAT_ODIR *ODir;
> LIST_ENTRY *CurrentEntry;
> FAT_DIRENT *CurrentDirEnt;
>@@ -954,34 +828,28 @@ Done:
> DirEnt->EntryPos = (UINT16) NewEntryPos;
> DirEnt->Link.BackLink = CurrentEntry;
> return EFI_SUCCESS;
> }
>
>+/**
>+
>+ Find the new directory entry position for the directory entry.
>+
>+ @param OFile - The corresponding OFile.
>+ @param DirEnt - The directory entry whose new position is to be set.
>+
>+ @retval EFI_SUCCESS - The new directory entry position is successfully found.
>+ @retval EFI_VOLUME_FULL - The directory has reach its maximum capacity.
>+ @return other - An error occurred when reading the directory entry.
>+
>+**/
> STATIC
> EFI_STATUS
> FatNewEntryPos (
> IN FAT_OFILE *OFile,
> IN FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Find the new directory entry position for the directory entry.
>-
>-Arguments:
>-
>- OFile - The corresponding OFile.
>- DirEnt - The directory entry whose new position is to be set.
>-
>-Returns:
>-
>- EFI_SUCCESS - The new directory entry position is successfully found.
>- EFI_VOLUME_FULL - The directory has reach its maximum capacity.
>- other - An error occurred when reading the directory entry.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_ODIR *ODir;
> FAT_DIRENT *TempDirEnt;
> UINT32 NewEndPos;
>@@ -1025,32 +893,26 @@ Returns:
> ODir->CurrentEndPos = NewEndPos;
> DirEnt->EntryPos = (UINT16) (ODir->CurrentEndPos - 1);
> return EFI_SUCCESS;
> }
>
>-EFI_STATUS
>-FatGetVolumeEntry (
>- IN FAT_VOLUME *Volume,
>- IN CHAR16 *Name
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Get the directory entry for the volume.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Name - The file name of the volume.
>-
>-Returns:
>+ @param Volume - FAT file system volume.
>+ @param Name - The file name of the volume.
>
>- EFI_SUCCESS - Update the volume with the directory entry sucessfully.
>- others - An error occurred when getting volume label.
>+ @retval EFI_SUCCESS - Update the volume with the directory entry sucessfully.
>+ @return others - An error occurred when getting volume label.
>
>---*/
>+**/
>+EFI_STATUS
>+FatGetVolumeEntry (
>+ IN FAT_VOLUME *Volume,
>+ IN CHAR16 *Name
>+ )
> {
> EFI_STATUS Status;
> FAT_DIRENT LabelDirEnt;
>
> *Name = 0;
>@@ -1062,33 +924,27 @@ Returns:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-FatSetVolumeEntry (
>- IN FAT_VOLUME *Volume,
>- IN CHAR16 *Name
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set the relevant directory entry into disk for the volume.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Name - The new file name of the volume.
>-
>-Returns:
>+ @param Volume - FAT file system volume.
>+ @param Name - The new file name of the volume.
>
>- EFI_SUCCESS - Update the Volume sucessfully.
>- EFI_UNSUPPORTED - The input label is not a valid volume label.
>- other - An error occurred when setting volume label.
>+ @retval EFI_SUCCESS - Update the Volume sucessfully.
>+ @retval EFI_UNSUPPORTED - The input label is not a valid volume label.
>+ @return other - An error occurred when setting volume label.
>
>---*/
>+**/
>+EFI_STATUS
>+FatSetVolumeEntry (
>+ IN FAT_VOLUME *Volume,
>+ IN CHAR16 *Name
>+ )
> {
> EFI_STATUS Status;
> FAT_DIRENT LabelDirEnt;
> FAT_OFILE *Root;
>
>@@ -1119,30 +975,24 @@ Returns:
>
> FatGetCurrentFatTime (&LabelDirEnt.Entry.FileModificationTime);
> return FatStoreDirEnt (Root, &LabelDirEnt);
> }
>
>-EFI_STATUS
>-FatCreateDotDirEnts (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Create "." and ".." directory entries in the newly-created parent OFile.
>
>-Arguments:
>-
>- OFile - The parent OFile.
>+ @param OFile - The parent OFile.
>
>-Returns:
>+ @retval EFI_SUCCESS - The dot directory entries are successfully created.
>+ @return other - An error occurred when creating the directory entry.
>
>- EFI_SUCCESS - The dot directory entries are successfully created.
>- other - An error occurred when creating the directory entry.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatCreateDotDirEnts (
>+ IN FAT_OFILE *OFile
>+ )
> {
> EFI_STATUS Status;
> FAT_DIRENT *DirEnt;
>
> Status = FatExpandODir (OFile);
>@@ -1163,37 +1013,31 @@ Returns:
> //
> Status = FatCreateDirEnt (OFile, L"..", FAT_ATTRIBUTE_DIRECTORY, &DirEnt);
> return Status;
> }
>
>+/**
>+
>+ Create a directory entry in the parent OFile.
>+
>+ @param OFile - The parent OFile.
>+ @param FileName - The filename of the newly-created directory entry.
>+ @param Attributes - The attribute of the newly-created directory entry.
>+ @param PtrDirEnt - The pointer to the newly-created directory entry.
>+
>+ @retval EFI_SUCCESS - The directory entry is successfully created.
>+ @retval EFI_OUT_OF_RESOURCES - Not enough memory to create the directory entry.
>+ @return other - An error occurred when creating the directory entry.
>+
>+**/
> EFI_STATUS
> FatCreateDirEnt (
> IN FAT_OFILE *OFile,
> IN CHAR16 *FileName,
> IN UINT8 Attributes,
> OUT FAT_DIRENT **PtrDirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- Create a directory entry in the parent OFile.
>-
>-Arguments:
>-
>- OFile - The parent OFile.
>- FileName - The filename of the newly-created directory entry.
>- Attributes - The attribute of the newly-created directory entry.
>- PtrDirEnt - The pointer to the newly-created directory entry.
>-
>-Returns:
>-
>- EFI_SUCCESS - The directory entry is successfully created.
>- EFI_OUT_OF_RESOURCES - Not enough memory to create the directory entry.
>- other - An error occurred when creating the directory entry.
>-
>---*/
> {
> FAT_DIRENT *DirEnt;
> FAT_ODIR *ODir;
> EFI_STATUS Status;
>
>@@ -1232,32 +1076,26 @@ Returns:
> Done:
> FatFreeDirEnt (DirEnt);
> return Status;
> }
>
>-EFI_STATUS
>-FatRemoveDirEnt (
>- IN FAT_OFILE *OFile,
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Remove this directory entry node from the list of directory entries and hash table.
>
>-Arguments:
>-
>- OFile - The parent OFile.
>- DirEnt - The directory entry to be removed.
>+ @param OFile - The parent OFile.
>+ @param DirEnt - The directory entry to be removed.
>
>-Returns:
>+ @retval EFI_SUCCESS - The directory entry is successfully removed.
>+ @return other - An error occurred when removing the directory entry.
>
>- EFI_SUCCESS - The directory entry is successfully removed.
>- other - An error occurred when removing the directory entry.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatRemoveDirEnt (
>+ IN FAT_OFILE *OFile,
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> FAT_ODIR *ODir;
>
> ODir = OFile->ODir;
> if (ODir->CurrentCursor == &DirEnt->Link) {
>@@ -1277,33 +1115,27 @@ Returns:
> DirEnt->Entry.FileName[0] = DELETE_ENTRY_MARK;
> DirEnt->Invalid = TRUE;
> return FatStoreDirEnt (OFile, DirEnt);
> }
>
>-EFI_STATUS
>-FatOpenDirEnt (
>- IN FAT_OFILE *Parent,
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Open the directory entry to get the OFile.
>
>-Arguments:
>+ @param Parent - The parent OFile.
>+ @param DirEnt - The directory entry to be opened.
>
>- OFile - The parent OFile.
>- DirEnt - The directory entry to be opened.
>+ @retval EFI_SUCCESS - The directory entry is successfully opened.
>+ @retval EFI_OUT_OF_RESOURCES - not enough memory to allocate a new OFile.
>+ @return other - An error occurred when opening the directory entry.
>
>-Returns:
>-
>- EFI_SUCCESS - The directory entry is successfully opened.
>- EFI_OUT_OF_RESOURCES - not enough memory to allocate a new OFile.
>- other - An error occurred when opening the directory entry.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatOpenDirEnt (
>+ IN FAT_OFILE *Parent,
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
>
> if (DirEnt->OFile == NULL) {
>@@ -1362,30 +1194,21 @@ Returns:
> }
>
> return EFI_SUCCESS;
> }
>
>-VOID
>-FatCloseDirEnt (
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Close the directory entry and free the OFile.
>
>-Arguments:
>-
>- DirEnt - The directory entry to be closed.
>-
>-Returns:
>-
>- EFI_SUCCESS - The directory entry is successfully opened.
>- Other - An error occurred when opening the directory entry.
>+ @param DirEnt - The directory entry to be closed.
>
>---*/
>+**/
>+VOID
>+FatCloseDirEnt (
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
>
> OFile = DirEnt->OFile;
>@@ -1410,42 +1233,37 @@ Returns:
> //
> FatFreeDirEnt (DirEnt);
> }
> }
>
>-EFI_STATUS
>-FatLocateOFile (
>- IN OUT FAT_OFILE **PtrOFile,
>- IN CHAR16 *FileName,
>- IN UINT8 Attributes,
>- OUT CHAR16 *NewFileName
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Traverse filename and open all OFiles that can be opened.
> Update filename pointer to the component that can't be opened.
> If more than one name component remains, returns an error;
> otherwise, return the remaining name component so that the caller might choose to create it.
>
>-Arguments:
>- PtrOFile - As input, the reference OFile; as output, the located OFile.
>- FileName - The file name relevant to the OFile.
>- Attributes - The attribute of the destination OFile.
>- NewFileName - The remaining file name.
>-
>-Returns:
>+ @param PtrOFile - As input, the reference OFile; as output, the located OFile.
>+ @param FileName - The file name relevant to the OFile.
>+ @param Attributes - The attribute of the destination OFile.
>+ @param NewFileName - The remaining file name.
>
>- EFI_NOT_FOUND - The file name can't be opened and there is more than one
>+ @retval EFI_NOT_FOUND - The file name can't be opened and there is more than one
> components within the name left (this means the name can
> not be created either).
>- EFI_INVALID_PARAMETER - The parameter is not valid.
>- EFI_SUCCESS - Open the file successfully.
>- other - An error occured when locating the OFile.
>+ @retval EFI_INVALID_PARAMETER - The parameter is not valid.
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @return other - An error occured when locating the OFile.
>
>---*/
>+**/
>+EFI_STATUS
>+FatLocateOFile (
>+ IN OUT FAT_OFILE **PtrOFile,
>+ IN CHAR16 *FileName,
>+ IN UINT8 Attributes,
>+ OUT CHAR16 *NewFileName
>+ )
> {
> EFI_STATUS Status;
> FAT_VOLUME *Volume;
> CHAR16 ComponentName[EFI_PATH_STRING_LENGTH];
> UINTN FileNameLen;
>diff --git a/FatPkg/EnhancedFatDxe/DiskCache.c b/FatPkg/EnhancedFatDxe/DiskCache.c
>index 7f1fcf4..63f9c00 100644
>--- a/FatPkg/EnhancedFatDxe/DiskCache.c
>+++ b/FatPkg/EnhancedFatDxe/DiskCache.c
>@@ -1,67 +1,49 @@
>-/*++
>+/** @file
>+ Cache implementation for EFI FAT File system driver.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- DiskCache.c
>+#include "Fat.h"
>
>-Abstract:
>+/**
>
>- Cache implementation for EFI FAT File system driver
>+ This function is used by the Data Cache.
>
>-Revision History
>+ When this function is called by write command, all entries in this range
>+ are older than the contents in disk, so they are invalid; just mark them invalid.
>
>---*/
>+ When this function is called by read command, if any entry in this range
>+ is dirty, it means that the relative info directly readed from media is older than
>+ than the info in the cache; So need to update the relative info in the Buffer.
>
>-#include "Fat.h"
>+ @param Volume - FAT file system volume.
>+ @param IoMode - This function is called by read command or write command
>+ @param StartPageNo - First PageNo to be checked in the cache.
>+ @param EndPageNo - Last PageNo to be checked in the cache.
>+ @param Buffer - The user buffer need to update. Only when doing the read command
>+ and there is dirty cache in the cache range, this parameter will be used.
>
>+**/
> STATIC
> VOID
> FatFlushDataCacheRange (
> IN FAT_VOLUME *Volume,
> IN IO_MODE IoMode,
> IN UINTN StartPageNo,
> IN UINTN EndPageNo,
> OUT UINT8 *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- This function is used by the Data Cache.
>-
>- When this function is called by write command, all entries in this range
>- are older than the contents in disk, so they are invalid; just mark them invalid.
>-
>- When this function is called by read command, if any entry in this range
>- is dirty, it means that the relative info directly readed from media is older than
>- than the info in the cache; So need to update the relative info in the Buffer.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- IoMode - This function is called by read command or write command
>- StartPageNo - First PageNo to be checked in the cache.
>- EndPageNo - Last PageNo to be checked in the cache.
>- Buffer - The user buffer need to update. Only when doing the read command
>- and there is dirty cache in the cache range, this parameter will be used.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> UINTN PageNo;
> UINTN GroupNo;
> UINTN GroupMask;
> UINTN PageSize;
>@@ -101,38 +83,33 @@ Returns:
> }
> }
> }
> }
>
>+/**
>+
>+ Exchange the cache page with the image on the disk
>+
>+ @param Volume - FAT file system volume.
>+ @param DataType - Indicate the cache type.
>+ @param IoMode - Indicate whether to load this page from disk or store this page to disk.
>+ @param CacheTag - The Cache Tag for the current cache page.
>+ @param Task point to task instance.
>+
>+ @retval EFI_SUCCESS - Cache page exchanged successfully.
>+ @return Others - An error occurred when exchanging cache page.
>+
>+**/
> STATIC
> EFI_STATUS
> FatExchangeCachePage (
> IN FAT_VOLUME *Volume,
> IN CACHE_DATA_TYPE DataType,
> IN IO_MODE IoMode,
> IN CACHE_TAG *CacheTag,
> IN FAT_TASK *Task
> )
>-/*++
>-
>-Routine Description:
>-
>- Exchange the cache page with the image on the disk
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- DataType - Indicate the cache type.
>- IoMode - Indicate whether to load this page from disk or store this page to disk.
>- CacheTag - The Cache Tag for the current cache page.
>-
>-Returns:
>-
>- EFI_SUCCESS - Cache page exchanged successfully.
>- Others - An error occurred when exchanging cache page.
>-
>---*/
> {
> EFI_STATUS Status;
> UINTN GroupNo;
> UINTN PageNo;
> UINTN WriteCount;
>@@ -179,37 +156,31 @@ Returns:
> CacheTag->Dirty = FALSE;
> CacheTag->RealSize = RealSize;
> return EFI_SUCCESS;
> }
>
>+/**
>+
>+ Get one cache page by specified PageNo.
>+
>+ @param Volume - FAT file system volume.
>+ @param CacheDataType - The cache type: CACHE_FAT or CACHE_DATA.
>+ @param PageNo - PageNo to match with the cache.
>+ @param CacheTag - The Cache Tag for the current cache page.
>+
>+ @retval EFI_SUCCESS - Get the cache page successfully.
>+ @return other - An error occurred when accessing data.
>+
>+**/
> STATIC
> EFI_STATUS
> FatGetCachePage (
> IN FAT_VOLUME *Volume,
> IN CACHE_DATA_TYPE CacheDataType,
> IN UINTN PageNo,
> IN CACHE_TAG *CacheTag
> )
>-/*++
>-
>-Routine Description:
>-
>- Get one cache page by specified PageNo.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- CacheDataType - The cache type: CACHE_FAT or CACHE_DATA.
>- PageNo - PageNo to match with the cache.
>- CacheTag - The Cache Tag for the current cache page.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the cache page successfully.
>- other - An error occurred when accessing data.
>-
>---*/
> {
> EFI_STATUS Status;
> UINTN OldPageNo;
>
> OldPageNo = CacheTag->PageNo;
>@@ -236,10 +207,27 @@ Returns:
> Status = FatExchangeCachePage (Volume, CacheDataType, ReadDisk, CacheTag, NULL);
>
> return Status;
> }
>
>+/**
>+
>+ Read Length bytes from the position of Offset into Buffer, or
>+ write Length bytes from Buffer into the position of Offset.
>+
>+ @param Volume - FAT file system volume.
>+ @param CacheDataType - The type of cache: CACHE_DATA or CACHE_FAT.
>+ @param IoMode - Indicate the type of disk access.
>+ @param PageNo - The number of unaligned cache page.
>+ @param Offset - The starting byte of cache page.
>+ @param Length - The number of bytes that is read or written
>+ @param Buffer - Buffer containing cache data.
>+
>+ @retval EFI_SUCCESS - The data was accessed correctly.
>+ @return Others - An error occurred when accessing unaligned cache page.
>+
>+**/
> STATIC
> EFI_STATUS
> FatAccessUnalignedCachePage (
> IN FAT_VOLUME *Volume,
> IN CACHE_DATA_TYPE CacheDataType,
>@@ -247,32 +235,10 @@ FatAccessUnalignedCachePage (
> IN UINTN PageNo,
> IN UINTN Offset,
> IN UINTN Length,
> IN OUT VOID *Buffer
> )
>-/*++
>-Routine Description:
>-
>- Read Length bytes from the position of Offset into Buffer, or
>- write Length bytes from Buffer into the position of Offset.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- CacheDataType - The type of cache: CACHE_DATA or CACHE_FAT.
>- IoMode - Indicate the type of disk access.
>- PageNo - The number of unaligned cache page.
>- Offset - The starting byte of cache page.
>- Length - The number of bytes that is read or written
>- Buffer - Buffer containing cache data.
>-
>-Returns:
>-
>- EFI_SUCCESS - The data was accessed correctly.
>- Others - An error occurred when accessing unaligned cache page.
>-
>---*/
> {
> EFI_STATUS Status;
> VOID *Source;
> VOID *Destination;
> DISK_CACHE *DiskCache;
>@@ -297,22 +263,11 @@ Returns:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-FatAccessCache (
>- IN FAT_VOLUME *Volume,
>- IN CACHE_DATA_TYPE CacheDataType,
>- IN IO_MODE IoMode,
>- IN UINT64 Offset,
>- IN UINTN BufferSize,
>- IN OUT UINT8 *Buffer,
>- IN FAT_TASK *Task
>- )
>-/*++
>-Routine Description:
>+/**
>
> Read BufferSize bytes from the position of Offset into Buffer,
> or write BufferSize bytes from Buffer into the position of Offset.
>
> Base on the parameter of CACHE_DATA_TYPE, the data access will be divided into
>@@ -324,26 +279,33 @@ Routine Description:
> 2. Access of Data cache (CACHE_DATA):
> The access data will be divided into UnderRun data, Aligned data and OverRun data;
> The UnderRun data and OverRun data will be accessed by the Data cache,
> but the Aligned data will be accessed with disk directly.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>- CacheDataType - The type of cache: CACHE_DATA or CACHE_FAT.
>- IoMode - Indicate the type of disk access.
>- Offset - The starting byte offset to read from.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing cache data.
>+ @param Volume - FAT file system volume.
>+ @param CacheDataType - The type of cache: CACHE_DATA or CACHE_FAT.
>+ @param IoMode - Indicate the type of disk access.
>+ @param Offset - The starting byte offset to read from.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing cache data.
>+ @param Task point to task instance.
>
>-Returns:
>+ @retval EFI_SUCCESS - The data was accessed correctly.
>+ @retval EFI_MEDIA_CHANGED - The MediaId does not match the current device.
>+ @return Others - An error occurred when accessing cache.
>
>- EFI_SUCCESS - The data was accessed correctly.
>- EFI_MEDIA_CHANGED - The MediaId does not match the current device.
>- Others - An error occurred when accessing cache.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatAccessCache (
>+ IN FAT_VOLUME *Volume,
>+ IN CACHE_DATA_TYPE CacheDataType,
>+ IN IO_MODE IoMode,
>+ IN UINT64 Offset,
>+ IN UINTN BufferSize,
>+ IN OUT UINT8 *Buffer,
>+ IN FAT_TASK *Task
>+ )
> {
> EFI_STATUS Status;
> UINTN PageSize;
> UINTN UnderRun;
> UINTN OverRun;
>@@ -419,31 +381,26 @@ Returns:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-FatVolumeFlushCache (
>- IN FAT_VOLUME *Volume,
>- IN FAT_TASK *Task
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Flush all the dirty cache back, include the FAT cache and the Data cache.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>+ @param Volume - FAT file system volume.
>+ @param Task point to task instance.
>
>-Returns:
>+ @retval EFI_SUCCESS - Flush all the dirty cache back successfully
>+ @return other - An error occurred when writing the data into the disk
>
>- EFI_SUCCESS - Flush all the dirty cache back successfully
>- other - An error occurred when writing the data into the disk
>-
>---*/
>+**/
>+EFI_STATUS
>+FatVolumeFlushCache (
>+ IN FAT_VOLUME *Volume,
>+ IN FAT_TASK *Task
>+ )
> {
> EFI_STATUS Status;
> CACHE_DATA_TYPE CacheDataType;
> UINTN GroupIndex;
> UINTN GroupMask;
>@@ -478,30 +435,24 @@ Returns:
> //
> Status = Volume->BlockIo->FlushBlocks (Volume->BlockIo);
> return Status;
> }
>
>-EFI_STATUS
>-FatInitializeDiskCache (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Initialize the disk cache according to Volume's FatType.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>+ @param Volume - FAT file system volume.
>
>-Returns:
>+ @retval EFI_SUCCESS - The disk cache is successfully initialized.
>+ @retval EFI_OUT_OF_RESOURCES - Not enough memory to allocate disk cache.
>
>- EFI_SUCCESS - The disk cache is successfully initialized.
>- EFI_OUT_OF_RESOURCES - Not enough memory to allocate disk cache.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatInitializeDiskCache (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> DISK_CACHE *DiskCache;
> UINTN FatCacheGroupCount;
> UINTN DataCacheSize;
> UINTN FatCacheSize;
>diff --git a/FatPkg/EnhancedFatDxe/Fat.c b/FatPkg/EnhancedFatDxe/Fat.c
>index 2080005..2e6c089 100644
>--- a/FatPkg/EnhancedFatDxe/Fat.c
>+++ b/FatPkg/EnhancedFatDxe/Fat.c
>@@ -1,26 +1,18 @@
>-/*++
>+/** @file
>+ Fat File System driver routines that support EFI driver model.
>
> Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>-
>-Module Name:
>-
>- Fat.c
>-
>-Abstract:
>-
>- Fat File System driver routines that support EFI driver model
>-
>---*/
>+**/
>
> #include "Fat.h"
>
> EFI_STATUS
> EFIAPI
>@@ -70,33 +62,27 @@ EFI_DRIVER_BINDING_PROTOCOL gFatDriverBinding = {
> 0xa,
> NULL,
> NULL
> };
>
>+/**
>+
>+ Register Driver Binding protocol for this driver.
>+
>+ @param ImageHandle - Handle for the image of this driver.
>+ @param SystemTable - Pointer to the EFI System Table.
>+
>+ @retval EFI_SUCCESS - Driver loaded.
>+ @return other - Driver not loaded.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatEntryPoint (
> IN EFI_HANDLE ImageHandle,
> IN EFI_SYSTEM_TABLE *SystemTable
> )
>-/*++
>-
>-Routine Description:
>-
>- Register Driver Binding protocol for this driver.
>-
>-Arguments:
>-
>- ImageHandle - Handle for the image of this driver.
>- SystemTable - Pointer to the EFI System Table.
>-
>-Returns:
>-
>- EFI_SUCCESS - Driver loaded.
>- other - Driver not loaded.
>-
>---*/
> {
> EFI_STATUS Status;
>
> //
> // Initialize the EFI Driver Library
>@@ -112,31 +98,25 @@ Returns:
> ASSERT_EFI_ERROR (Status);
>
> return Status;
> }
>
>-EFI_STATUS
>-EFIAPI
>-FatUnload (
>- IN EFI_HANDLE ImageHandle
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Unload function for this image. Uninstall DriverBinding protocol.
>
>-Arguments:
>+ @param ImageHandle - Handle for the image of this driver.
>
>- ImageHandle - Handle for the image of this driver.
>+ @retval EFI_SUCCESS - Driver unloaded successfully.
>+ @return other - Driver can not unloaded.
>
>-Returns:
>-
>- EFI_SUCCESS - Driver unloaded successfully.
>- other - Driver can not unloaded.
>-
>---*/
>+**/
>+EFI_STATUS
>+EFIAPI
>+FatUnload (
>+ IN EFI_HANDLE ImageHandle
>+ )
> {
> EFI_STATUS Status;
> EFI_HANDLE *DeviceHandleBuffer;
> UINTN DeviceHandleCount;
> UINTN Index;
>@@ -222,37 +202,31 @@ Returns:
> }
>
> return Status;
> }
>
>+/**
>+
>+ Test to see if this driver can add a file system to ControllerHandle.
>+ ControllerHandle must support both Disk IO and Block IO protocols.
>+
>+ @param This - Protocol instance pointer.
>+ @param ControllerHandle - Handle of device to test.
>+ @param RemainingDevicePath - Not used.
>+
>+ @retval EFI_SUCCESS - This driver supports this device.
>+ @retval EFI_ALREADY_STARTED - This driver is already running on this device.
>+ @return other - This driver does not support this device.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatDriverBindingSupported (
> IN EFI_DRIVER_BINDING_PROTOCOL *This,
> IN EFI_HANDLE ControllerHandle,
> IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
> )
>-/*++
>-
>-Routine Description:
>-
>- Test to see if this driver can add a file system to ControllerHandle.
>- ControllerHandle must support both Disk IO and Block IO protocols.
>-
>-Arguments:
>-
>- This - Protocol instance pointer.
>- ControllerHandle - Handle of device to test.
>- RemainingDevicePath - Not used.
>-
>-Returns:
>-
>- EFI_SUCCESS - This driver supports this device.
>- EFI_ALREADY_STARTED - This driver is already running on this device.
>- other - This driver does not support this device.
>-
>---*/
> {
> EFI_STATUS Status;
> EFI_DISK_IO_PROTOCOL *DiskIo;
>
> //
>@@ -293,39 +267,33 @@ Returns:
> );
>
> return Status;
> }
>
>-EFI_STATUS
>-EFIAPI
>-FatDriverBindingStart (
>- IN EFI_DRIVER_BINDING_PROTOCOL *This,
>- IN EFI_HANDLE ControllerHandle,
>- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Start this driver on ControllerHandle by opening a Block IO and Disk IO
> protocol, reading Device Path. Add a Simple File System protocol to
> ControllerHandle if the media contains a valid file system.
>
>-Arguments:
>-
>- This - Protocol instance pointer.
>- ControllerHandle - Handle of device to bind driver to.
>- RemainingDevicePath - Not used.
>+ @param This - Protocol instance pointer.
>+ @param ControllerHandle - Handle of device to bind driver to.
>+ @param RemainingDevicePath - Not used.
>
>-Returns:
>+ @retval EFI_SUCCESS - This driver is added to DeviceHandle.
>+ @retval EFI_ALREADY_STARTED - This driver is already running on DeviceHandle.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>+ @return other - This driver does not support this device.
>
>- EFI_SUCCESS - This driver is added to DeviceHandle.
>- EFI_ALREADY_STARTED - This driver is already running on DeviceHandle.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>- other - This driver does not support this device.
>-
>---*/
>+**/
>+EFI_STATUS
>+EFIAPI
>+FatDriverBindingStart (
>+ IN EFI_DRIVER_BINDING_PROTOCOL *This,
>+ IN EFI_HANDLE ControllerHandle,
>+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
>+ )
> {
> EFI_STATUS Status;
> EFI_BLOCK_IO_PROTOCOL *BlockIo;
> EFI_DISK_IO_PROTOCOL *DiskIo;
> EFI_DISK_IO2_PROTOCOL *DiskIo2;
>@@ -428,34 +396,31 @@ Exit:
> FatReleaseLock ();
> }
> return Status;
> }
>
>+/**
>+
>+ Stop this driver on ControllerHandle.
>+
>+ @param This - Protocol instance pointer.
>+ @param ControllerHandle - Handle of device to stop driver on.
>+ @param NumberOfChildren - Not used.
>+ @param ChildHandleBuffer - Not used.
>+
>+ @retval EFI_SUCCESS - This driver is removed DeviceHandle.
>+ @return other - This driver was not removed from this device.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatDriverBindingStop (
> IN EFI_DRIVER_BINDING_PROTOCOL *This,
> IN EFI_HANDLE ControllerHandle,
> IN UINTN NumberOfChildren,
> IN EFI_HANDLE *ChildHandleBuffer
> )
>-/*++
>-
>-Routine Description:
>- Stop this driver on ControllerHandle.
>-
>-Arguments:
>- This - Protocol instance pointer.
>- ControllerHandle - Handle of device to stop driver on.
>- NumberOfChildren - Not used.
>- ChildHandleBuffer - Not used.
>-
>-Returns:
>- EFI_SUCCESS - This driver is removed DeviceHandle.
>- other - This driver was not removed from this device.
>-
>---*/
> {
> EFI_STATUS Status;
> EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *FileSystem;
> FAT_VOLUME *Volume;
> EFI_DISK_IO2_PROTOCOL *DiskIo2;
>diff --git a/FatPkg/EnhancedFatDxe/Fat.h b/FatPkg/EnhancedFatDxe/Fat.h
>index f49acee..9490868 100644
>--- a/FatPkg/EnhancedFatDxe/Fat.h
>+++ b/FatPkg/EnhancedFatDxe/Fat.h
>@@ -1,28 +1,18 @@
>-/*++
>+/** @file
>+ Main header file for EFI FAT file system driver.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>-
>-Module Name:
>-
>- Fat.h
>-
>-Abstract:
>-
>- Main header file for EFI FAT file system driver
>-
>-Revision History
>-
>---*/
>+**/
>
> #ifndef _FAT_H_
> #define _FAT_H_
>
> #include <Uefi.h>
>@@ -394,401 +384,321 @@ struct _FAT_VOLUME {
> };
>
> //
> // Function Prototypes
> //
>+
>+/**
>+
>+ Implements Open() of Simple File System Protocol.
>+
>+ @param FHand - File handle of the file serves as a starting reference point.
>+ @param NewHandle - Handle of the file that is newly opened.
>+ @param FileName - File name relative to FHand.
>+ @param OpenMode - Open mode.
>+ @param Attributes - Attributes to set if the file is created.
>+
>+
>+ @retval EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>+ The OpenMode is not supported.
>+ The Attributes is not the valid attributes.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @return Others - The status of open file.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatOpen (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT EFI_FILE_PROTOCOL **NewHandle,
> IN CHAR16 *FileName,
> IN UINT64 OpenMode,
> IN UINT64 Attributes
> )
>-/*++
>-Routine Description:
>-
>- Implements Open() of Simple File System Protocol.
>+;
>
>-Arguments:
>+/**
>
>- FHand - File handle of the file serves as a starting reference point.
>- NewHandle - Handle of the file that is newly opened.
>- FileName - File name relative to FHand.
>- OpenMode - Open mode.
>- Attributes - Attributes to set if the file is created.
>+ Implements OpenEx() of Simple File System Protocol.
>
>-Returns:
>+ @param FHand - File handle of the file serves as a starting reference point.
>+ @param NewHandle - Handle of the file that is newly opened.
>+ @param FileName - File name relative to FHand.
>+ @param OpenMode - Open mode.
>+ @param Attributes - Attributes to set if the file is created.
>+ @param Token - A pointer to the token associated with the transaction.
>
>- EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>+ @retval EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
> The OpenMode is not supported.
> The Attributes is not the valid attributes.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>- EFI_SUCCESS - Open the file successfully.
>- Others - The status of open file.
>-
>---*/
>-;
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @return Others - The status of open file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatOpenEx (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT EFI_FILE_PROTOCOL **NewHandle,
> IN CHAR16 *FileName,
> IN UINT64 OpenMode,
> IN UINT64 Attributes,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-Routine Description:
>-
>- Implements OpenEx() of Simple File System Protocol.
>-
>-Arguments:
>+;
>
>- FHand - File handle of the file serves as a starting reference point.
>- NewHandle - Handle of the file that is newly opened.
>- FileName - File name relative to FHand.
>- OpenMode - Open mode.
>- Attributes - Attributes to set if the file is created.
>- Token - A pointer to the token associated with the transaction.
>+/**
>
>-Returns:
>+ Get the file's position of the file
>
>- EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>- The OpenMode is not supported.
>- The Attributes is not the valid attributes.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>- EFI_SUCCESS - Open the file successfully.
>- Others - The status of open file.
>+ @param FHand - The handle of file.
>+ @param Position - The file's position of the file.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Get the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_UNSUPPORTED - The open file is not a file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatGetPosition (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT UINT64 *Position
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file's position of the file
>-
>-Arguments:
>+;
>
>- FHand - The handle of file.
>- Position - The file's position of the file.
>+/**
>
>-Returns:
>+ Get the some types info of the file into Buffer
>
>- EFI_SUCCESS - Get the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_UNSUPPORTED - The open file is not a file.
>+ @param FHand - The handle of file.
>+ @param Type - The type of the info.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing volume info.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Get the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatGetInfo (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_GUID *Type,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the some types info of the file into Buffer
>-
>-Arguments:
>+;
>
>- FHand - The handle of file.
>- Type - The type of the info.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing volume info.
>+/**
>
>-Returns:
>+ Set the some types info of the file into Buffer.
>
>- EFI_SUCCESS - Get the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @param FHand - The handle of file.
>+ @param Type - The type of the info.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing volume info.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Set the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatSetInfo (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_GUID *Type,
> IN UINTN BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the some types info of the file into Buffer
>-
>-Arguments:
>+;
>
>- FHand - The handle of file.
>- Type - The type of the info.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing volume info.
>+/**
>
>-Returns:
>+ Flushes all data associated with the file handle.
>
>- EFI_SUCCESS - Set the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @param FHand - Handle to file to flush
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Flushed the file successfully
>+ @retval EFI_WRITE_PROTECTED - The volume is read only
>+ @retval EFI_ACCESS_DENIED - The volume is not read only
>+ but the file is read only
>+ @return Others - Flushing of the file is failed
>
>+**/
> EFI_STATUS
> EFIAPI
> FatFlush (
> IN EFI_FILE_PROTOCOL *FHand
> )
>-/*++
>-
>-Routine Description:
>-
>- Flushes all data associated with the file handle
>-
>-Arguments:
>+;
>
>- FHand - Handle to file to flush
>+/**
>
>-Returns:
>+ Flushes all data associated with the file handle.
>
>- EFI_SUCCESS - Flushed the file successfully
>- EFI_WRITE_PROTECTED - The volume is read only
>- EFI_ACCESS_DENIED - The volume is not read only
>- but the file is read only
>- Others - Flushing of the file is failed
>+ @param FHand - Handle to file to flush.
>+ @param Token - A pointer to the token associated with the transaction.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Flushed the file successfully.
>+ @retval EFI_WRITE_PROTECTED - The volume is read only.
>+ @retval EFI_ACCESS_DENIED - The file is read only.
>+ @return Others - Flushing of the file failed.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatFlushEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Flushes all data associated with the file handle.
>-
>-Arguments:
>+;
>
>- FHand - Handle to file to flush.
>- Token - A pointer to the token associated with the transaction.
>+/**
>
>-Returns:
>+ Flushes & Closes the file handle.
>
>- EFI_SUCCESS - Flushed the file successfully.
>- EFI_WRITE_PROTECTED - The volume is read only.
>- EFI_ACCESS_DENIED - The file is read only.
>- Others - Flushing of the file failed.
>+ @param FHand - Handle to the file to delete.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Closed the file successfully.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatClose (
> IN EFI_FILE_PROTOCOL *FHand
> )
>-/*++
>-
>-Routine Description:
>-
>- Flushes & Closes the file handle.
>-
>-Arguments:
>+;
>
>- FHand - Handle to the file to delete.
>+/**
>
>-Returns:
>+ Deletes the file & Closes the file handle.
>
>- EFI_SUCCESS - Closed the file successfully.
>+ @param FHand - Handle to the file to delete.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Delete the file successfully.
>+ @retval EFI_WARN_DELETE_FAILURE - Fail to delete the file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatDelete (
> IN EFI_FILE_PROTOCOL *FHand
> )
>-/*++
>-
>-Routine Description:
>-
>- Deletes the file & Closes the file handle.
>-
>-Arguments:
>+;
>
>- FHand - Handle to the file to delete.
>+/**
>
>-Returns:
>+ Set the file's position of the file.
>
>- EFI_SUCCESS - Delete the file successfully.
>- EFI_WARN_DELETE_FAILURE - Fail to delete the file.
>+ @param FHand - The handle of file
>+ @param Position - The file's position of the file
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Set the info successfully
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file
>+ @retval EFI_UNSUPPORTED - Set a directory with a not-zero position
>
>+**/
> EFI_STATUS
> EFIAPI
> FatSetPosition (
> IN EFI_FILE_PROTOCOL *FHand,
> IN UINT64 Position
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the file's position of the file
>+;
>
>-Arguments:
>+/**
>
>- FHand - The handle of file
>- Position - The file's position of the file
>+ Get the file info.
>
>-Returns:
>+ @param FHand - The handle of the file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing read data.
>
>- EFI_SUCCESS - Set the info successfully
>- EFI_DEVICE_ERROR - Can not find the OFile for the file
>- EFI_UNSUPPORTED - Set a directory with a not-zero position
>-
>---*/
>-;
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatRead (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>+;
>
>-Routine Description:
>+/**
>
> Get the file info.
>
>-Arguments:
>-
>- FHand - The handle of the file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing read data.
>+ @param FHand - The handle of the file.
>+ @param Token - A pointer to the token associated with the transaction.
>
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>-
>---*/
>-;
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatReadEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info.
>-
>-Arguments:
>+;
>
>- FHand - The handle of the file.
>- Token - A pointer to the token associated with the transaction.
>+/**
>
>-Returns:
>+ Set the file info.
>
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>+ @param FHand - The handle of the file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing write data.
>
>---*/
>-;
>+ @retval EFI_SUCCESS - Set the file info successfully.
>+ @retval EFI_WRITE_PROTECTED - The disk is write protected.
>+ @retval EFI_ACCESS_DENIED - The file is read-only.
>+ @retval EFI_DEVICE_ERROR - The OFile is not valid.
>+ @retval EFI_UNSUPPORTED - The open file is not a file.
>+ - The writing file size is larger than 4GB.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatWrite (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT UINTN *BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the file info.
>+;
>
>-Arguments:
>+/**
>
>- FHand - The handle of the file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing write data.
>+ Get the file info.
>
>-Returns:
>+ @param FHand - The handle of the file.
>+ @param Token - A pointer to the token associated with the transaction.
>
>- EFI_SUCCESS - Set the file info successfully.
>- EFI_WRITE_PROTECTED - The disk is write protected.
>- EFI_ACCESS_DENIED - The file is read-only.
>- EFI_DEVICE_ERROR - The OFile is not valid.
>- EFI_UNSUPPORTED - The open file is not a file.
>- - The writing file size is larger than 4GB.
>- other - An error occurred when operation the disk.
>-
>---*/
>-;
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatWriteEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info.
>-
>-Arguments:
>-
>- FHand - The handle of the file.
>- Token - A pointer to the token associated with the transaction.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>-
>---*/
> ;
>
> //
> // DiskCache.c
> //
>diff --git a/FatPkg/EnhancedFatDxe/FatFileSystem.h b/FatPkg/EnhancedFatDxe/FatFileSystem.h
>index 3f89a34..a4d4405 100644
>--- a/FatPkg/EnhancedFatDxe/FatFileSystem.h
>+++ b/FatPkg/EnhancedFatDxe/FatFileSystem.h
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Definitions for on-disk FAT structures.
>
> Copyright (c) 2005, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,21 +9,11 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>-
>- FatFileSystem.h
>-
>-Abstract:
>-
>- Definitions for on-disk FAT structures
>-
>-Revision History
>-
>---*/
>+**/
>
> #ifndef _FATFILESYSTEM_H_
> #define _FATFILESYSTEM_H_
>
> #pragma pack(1)
>diff --git a/FatPkg/EnhancedFatDxe/FileName.c b/FatPkg/EnhancedFatDxe/FileName.c
>index f393aa6..8aa3745 100644
>--- a/FatPkg/EnhancedFatDxe/FileName.c
>+++ b/FatPkg/EnhancedFatDxe/FileName.c
>@@ -1,55 +1,39 @@
>-/*++
>+/** @file
>+ Functions for manipulating file names.
>
> Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- FileName.c
>-
>-Abstract:
>+#include "Fat.h"
>
>- Functions for manipulating file names
>+/**
>
>-Revision History
>+ This function checks whether the input FileName is a valid 8.3 short name.
>+ If the input FileName is a valid 8.3, the output is the 8.3 short name;
>+ otherwise, the output is the base tag of 8.3 short name.
>
>---*/
>+ @param FileName - The input unicode filename.
>+ @param File8Dot3Name - The output ascii 8.3 short name or base tag of 8.3 short name.
>
>-#include "Fat.h"
>+ @retval TRUE - The input unicode filename is a valid 8.3 short name.
>+ @retval FALSE - The input unicode filename is not a valid 8.3 short name.
>
>+**/
> BOOLEAN
> FatCheckIs8Dot3Name (
> IN CHAR16 *FileName,
> OUT CHAR8 *File8Dot3Name
> )
>-/*++
>-
>-Routine Description:
>-
>- This function checks whether the input FileName is a valid 8.3 short name.
>- If the input FileName is a valid 8.3, the output is the 8.3 short name;
>- otherwise, the output is the base tag of 8.3 short name.
>-
>-Arguments:
>-
>- FileName - The input unicode filename.
>- File8Dot3Name - The output ascii 8.3 short name or base tag of 8.3 short name.
>-
>-Returns:
>-
>- TRUE - The input unicode filename is a valid 8.3 short name.
>- FALSE - The input unicode filename is not a valid 8.3 short name.
>-
>---*/
> {
> BOOLEAN PossibleShortName;
> CHAR16 *TempName;
> CHAR16 *ExtendName;
> CHAR16 *SeparateDot;
>@@ -116,66 +100,52 @@ Returns:
> }
>
> return PossibleShortName;
> }
>
>-STATIC
>-UINTN
>-FatTrimAsciiTrailingBlanks (
>- IN CHAR8 *Name,
>- IN UINTN Len
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Trim the trailing blanks of fat name.
>
>-Arguments:
>-
>- Name - The Char8 string needs to be trimed.
>- Len - The length of the fat name.
>-
>-Returns:
>+ @param Name - The Char8 string needs to be trimed.
>+ @param Len - The length of the fat name.
>
> The real length of the fat name after the trailing blanks are trimmed.
>
>---*/
>+**/
>+STATIC
>+UINTN
>+FatTrimAsciiTrailingBlanks (
>+ IN CHAR8 *Name,
>+ IN UINTN Len
>+ )
> {
> while (Len > 0 && Name[Len - 1] == ' ') {
> Len--;
> }
>
> return Len;
> }
>
>+/**
>+
>+ Convert the ascii fat name to the unicode string and strip trailing spaces,
>+ and if necessary, convert the unicode string to lower case.
>+
>+ @param FatName - The Char8 string needs to be converted.
>+ @param Len - The length of the fat name.
>+ @param LowerCase - Indicate whether to convert the string to lower case.
>+ @param Str - The result of the convertion.
>+
>+**/
> VOID
> FatNameToStr (
> IN CHAR8 *FatName,
> IN UINTN Len,
> IN UINTN LowerCase,
> OUT CHAR16 *Str
> )
>-/*++
>-
>-Routine Description:
>-
>- Convert the ascii fat name to the unicode string and strip trailing spaces,
>- and if necessary, convert the unicode string to lower case.
>-
>-Arguments:
>-
>- FatName - The Char8 string needs to be converted.
>- Len - The length of the fat name.
>- LowerCase - Indicate whether to convert the string to lower case.
>- Str - The result of the convertion.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> //
> // First, trim the trailing blanks
> //
> Len = FatTrimAsciiTrailingBlanks (FatName, Len);
>@@ -190,31 +160,23 @@ Returns:
> if (LowerCase != 0) {
> FatStrLwr (Str);
> }
> }
>
>+/**
>+
>+ This function generates 8Dot3 name from user specified name for a newly created file.
>+
>+ @param Parent - The parent directory.
>+ @param DirEnt - The directory entry whose 8Dot3Name needs to be generated.
>+
>+**/
> VOID
> FatCreate8Dot3Name (
> IN FAT_OFILE *Parent,
> IN FAT_DIRENT *DirEnt
> )
>-/*++
>-
>-Routine Description:
>-
>- This function generates 8Dot3 name from user specified name for a newly created file.
>-
>-Arguments:
>-
>- Parent - The parent directory.
>- DirEnt - The directory entry whose 8Dot3Name needs to be generated.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> CHAR8 *ShortName;
> CHAR8 *ShortNameChar;
> UINTN BaseTagLen;
> UINTN Index;
>@@ -273,33 +235,27 @@ Returns:
> *ShortNameChar = '1';
> }
> }
> }
>
>-STATIC
>-UINT8
>-FatCheckNameCase (
>- IN CHAR16 *Str,
>- IN UINT8 InCaseFlag
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Check the string is lower case or upper case
> and it is used by fatname to dir entry count
>
>-Arguments:
>-
>- Str - The string which needs to be checked.
>- InCaseFlag - The input case flag which is returned when the string is lower case.
>+ @param Str - The string which needs to be checked.
>+ @param InCaseFlag - The input case flag which is returned when the string is lower case.
>
>-Returns:
>+ @retval OutCaseFlag - The output case flag.
>
>- OutCaseFlag - The output case flag.
>-
>---*/
>+**/
>+STATIC
>+UINT8
>+FatCheckNameCase (
>+ IN CHAR16 *Str,
>+ IN UINT8 InCaseFlag
>+ )
> {
> CHAR16 Buffer[FAT_MAIN_NAME_LEN + 1 + FAT_EXTEND_NAME_LEN + 1];
> UINT8 OutCaseFlag;
>
> //
>@@ -326,29 +282,21 @@ Returns:
> }
>
> return OutCaseFlag;
> }
>
>-VOID
>-FatSetCaseFlag (
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set the caseflag value for the directory entry.
>
>-Arguments:
>-
>- DirEnt - The logical directory entry whose caseflag value is to be set.
>-
>-Returns:
>-
>- None.
>+ @param DirEnt - The logical directory entry whose caseflag value is to be set.
>
>---*/
>+**/
>+VOID
>+FatSetCaseFlag (
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> CHAR16 LfnBuffer[FAT_MAIN_NAME_LEN + 1 + FAT_EXTEND_NAME_LEN + 1];
> CHAR16 *TempCharPtr;
> CHAR16 *ExtendName;
> CHAR16 *FileNameCharPtr;
>@@ -387,32 +335,25 @@ Returns:
> DirEnt->Entry.CaseFlag = 0;
> DirEnt->EntryCount++;
> }
> }
>
>+/**
>+
>+ Convert the 8.3 ASCII fat name to cased Unicode string according to case flag.
>+
>+ @param DirEnt - The corresponding directory entry.
>+ @param FileString - The output Unicode file name.
>+ @param FileStringMax The max length of FileString.
>+
>+**/
> VOID
> FatGetFileNameViaCaseFlag (
> IN FAT_DIRENT *DirEnt,
> IN OUT CHAR16 *FileString,
> IN UINTN FileStringMax
> )
>-/*++
>-
>-Routine Description:
>-
>- Convert the 8.3 ASCII fat name to cased Unicode string according to case flag.
>-
>-Arguments:
>-
>- DirEnt - The corresponding directory entry.
>- FileString - The output Unicode file name.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> UINT8 CaseFlag;
> CHAR8 *File8Dot3Name;
> CHAR16 TempExt[1 + FAT_EXTEND_NAME_LEN + 1];
> //
>@@ -427,29 +368,23 @@ Returns:
> TempExt[0] = L'.';
> StrCatS (FileString, FileStringMax, TempExt);
> }
> }
>
>-UINT8
>-FatCheckSum (
>- IN CHAR8 *ShortNameString
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Get the Check sum for a short name.
>
>-Arguments:
>+ @param ShortNameString - The short name for a file.
>
>- ShortNameString - The short name for a file.
>+ @retval Sum - UINT8 checksum.
>
>-Returns:
>-
>- Sum - UINT8 checksum.
>-
>---*/
>+**/
>+UINT8
>+FatCheckSum (
>+ IN CHAR8 *ShortNameString
>+ )
> {
> UINTN ShortNameLen;
> UINT8 Sum;
> Sum = 0;
> for (ShortNameLen = FAT_NAME_LEN; ShortNameLen != 0; ShortNameLen--) {
>@@ -457,33 +392,27 @@ Returns:
> }
>
> return Sum;
> }
>
>-CHAR16 *
>-FatGetNextNameComponent (
>- IN CHAR16 *Path,
>- OUT CHAR16 *Name
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Takes Path as input, returns the next name component
> in Name, and returns the position after Name (e.g., the
> start of the next name component)
>
>-Arguments:
>-
>- Path - The path of one file.
>- Name - The next name component in Path.
>-
>-Returns:
>+ @param Path - The path of one file.
>+ @param Name - The next name component in Path.
>
> The position after Name in the Path
>
>---*/
>+**/
>+CHAR16 *
>+FatGetNextNameComponent (
>+ IN CHAR16 *Path,
>+ OUT CHAR16 *Name
>+ )
> {
> while (*Path != 0 && *Path != PATH_NAME_SEPARATOR) {
> *Name++ = *Path++;
> }
> *Name = 0;
>@@ -495,35 +424,28 @@ Returns:
> }
>
> return Path;
> }
>
>-BOOLEAN
>-FatFileNameIsValid (
>- IN CHAR16 *InputFileName,
>- OUT CHAR16 *OutputFileName
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Check whether the IFileName is valid long file name. If the IFileName is a valid
> long file name, then we trim the possible leading blanks and leading/trailing dots.
> the trimmed filename is stored in OutputFileName
>
>-Arguments:
>+ @param InputFileName - The input file name.
>+ @param OutputFileName - The output file name.
>
>- InputFileName - The input file name.
>- OutputFileName - The output file name.
>+ @retval TRUE - The InputFileName is a valid long file name.
>+ @retval FALSE - The InputFileName is not a valid long file name.
>
>-
>-Returns:
>-
>- TRUE - The InputFileName is a valid long file name.
>- FALSE - The InputFileName is not a valid long file name.
>-
>---*/
>+**/
>+BOOLEAN
>+FatFileNameIsValid (
>+ IN CHAR16 *InputFileName,
>+ OUT CHAR16 *OutputFileName
>+ )
> {
> CHAR16 *TempNamePointer;
> CHAR16 TempChar;
> //
> // Trim Leading blanks
>diff --git a/FatPkg/EnhancedFatDxe/FileSpace.c b/FatPkg/EnhancedFatDxe/FileSpace.c
>index db44a33..1254cd6 100644
>--- a/FatPkg/EnhancedFatDxe/FileSpace.c
>+++ b/FatPkg/EnhancedFatDxe/FileSpace.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Routines dealing with disk spaces and FAT table entries.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,47 +9,32 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>
>- FileSpace.c
>+**/
>
>-Abstract:
>+#include "Fat.h"
>
>- Routines dealing with disk spaces and FAT table entries
>
>-Revision History
>+/**
>
>---*/
>+ Get the FAT entry of the volume, which is identified with the Index.
>
>-#include "Fat.h"
>+ @param Volume - FAT file system volume.
>+ @param Index - The index of the FAT entry of the volume.
>
>+ @return The buffer of the FAT entry
>
>+**/
> STATIC
> VOID *
> FatLoadFatEntry (
> IN FAT_VOLUME *Volume,
> IN UINTN Index
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the FAT entry of the volume, which is identified with the Index.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Index - The index of the FAT entry of the volume.
>-
>-Returns:
>-
>- The buffer of the FAT entry
>-
>---*/
> {
> UINTN Pos;
> EFI_STATUS Status;
>
> if (Index > (Volume->MaxCluster + 1)) {
>@@ -87,32 +73,26 @@ Returns:
> }
>
> return &Volume->FatEntryBuffer;
> }
>
>+/**
>+
>+ Get the FAT entry value of the volume, which is identified with the Index.
>+
>+ @param Volume - FAT file system volume.
>+ @param Index - The index of the FAT entry of the volume.
>+
>+ @return The value of the FAT entry.
>+
>+**/
> STATIC
> UINTN
> FatGetFatEntry (
> IN FAT_VOLUME *Volume,
> IN UINTN Index
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the FAT entry value of the volume, which is identified with the Index.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Index - The index of the FAT entry of the volume.
>-
>-Returns:
>-
>- The value of the FAT entry.
>-
>---*/
> {
> VOID *Pos;
> UINT8 *En12;
> UINT16 *En16;
> UINT32 *En32;
>@@ -145,36 +125,30 @@ Returns:
> }
>
> return Accum;
> }
>
>+/**
>+
>+ Set the FAT entry value of the volume, which is identified with the Index.
>+
>+ @param Volume - FAT file system volume.
>+ @param Index - The index of the FAT entry of the volume.
>+ @param Value - The new value of the FAT entry.
>+
>+ @retval EFI_SUCCESS - Set the new FAT entry value sucessfully.
>+ @retval EFI_VOLUME_CORRUPTED - The FAT type of the volume is error.
>+ @return other - An error occurred when operation the FAT entries.
>+
>+**/
> STATIC
> EFI_STATUS
> FatSetFatEntry (
> IN FAT_VOLUME *Volume,
> IN UINTN Index,
> IN UINTN Value
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the FAT entry value of the volume, which is identified with the Index.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Index - The index of the FAT entry of the volume.
>- Value - The new value of the FAT entry.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the new FAT entry value sucessfully.
>- EFI_VOLUME_CORRUPTED - The FAT type of the volume is error.
>- other - An error occurred when operation the FAT entries.
>-
>---*/
> {
> VOID *Pos;
> UINT8 *En12;
> UINT16 *En16;
> UINT32 *En32;
>@@ -251,33 +225,27 @@ Returns:
> NULL
> );
> return Status;
> }
>
>+/**
>+
>+ Free the cluster clain.
>+
>+ @param Volume - FAT file system volume.
>+ @param Cluster - The first cluster of cluster chain.
>+
>+ @retval EFI_SUCCESS - The cluster chain is freed successfully.
>+ @retval EFI_VOLUME_CORRUPTED - There are errors in the file's clusters.
>+
>+**/
> STATIC
> EFI_STATUS
> FatFreeClusters (
> IN FAT_VOLUME *Volume,
> IN UINTN Cluster
> )
>-/*++
>-
>-Routine Description:
>-
>- Free the cluster clain.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- Cluster - The first cluster of cluster chain.
>-
>-Returns:
>-
>- EFI_SUCCESS - The cluster chain is freed successfully.
>- EFI_VOLUME_CORRUPTED - There are errors in the file's clusters.
>-
>---*/
> {
> UINTN LastCluster;
>
> while (!FAT_END_OF_FAT_CHAIN (Cluster)) {
> if (Cluster == FAT_CLUSTER_FREE || Cluster >= FAT_CLUSTER_SPECIAL) {
>@@ -292,30 +260,24 @@ Returns:
> }
>
> return EFI_SUCCESS;
> }
>
>-STATIC
>-UINTN
>-FatAllocateCluster (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Allocate a free cluster and return the cluster index.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>+ @param Volume - FAT file system volume.
>
>-Returns:
>+ @return The index of the free cluster
>
>- The index of the free cluster
>-
>---*/
>+**/
>+STATIC
>+UINTN
>+FatAllocateCluster (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> UINTN Cluster;
>
> //
> // Start looking at FatFreePos for the next unallocated cluster
>@@ -352,32 +314,26 @@ Returns:
> Cluster = Volume->FatInfoSector.FreeInfo.NextCluster;
> Volume->FatInfoSector.FreeInfo.NextCluster += 1;
> return Cluster;
> }
>
>+/**
>+
>+ Count the number of clusters given a size.
>+
>+ @param Volume - The file system volume.
>+ @param Size - The size in bytes.
>+
>+ @return The number of the clusters.
>+
>+**/
> STATIC
> UINTN
> FatSizeToClusters (
> IN FAT_VOLUME *Volume,
> IN UINTN Size
> )
>-/*++
>-
>-Routine Description:
>-
>- Count the number of clusters given a size
>-
>-Arguments:
>-
>- Volume - The file system volume.
>- Size - The size in bytes.
>-
>-Returns:
>-
>- The number of the clusters.
>-
>---*/
> {
> UINTN Clusters;
>
> Clusters = Size >> Volume->ClusterAlignment;
> if ((Size & (Volume->ClusterSize - 1)) > 0) {
>@@ -385,30 +341,24 @@ Returns:
> }
>
> return Clusters;
> }
>
>-EFI_STATUS
>-FatShrinkEof (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Shrink the end of the open file base on the file size.
>
>-Arguments:
>-
>- OFile - The open file.
>+ @param OFile - The open file.
>
>-Returns:
>+ @retval EFI_SUCCESS - Shrinked sucessfully.
>+ @retval EFI_VOLUME_CORRUPTED - There are errors in the file's clusters.
>
>- EFI_SUCCESS - Shrinked sucessfully.
>- EFI_VOLUME_CORRUPTED - There are errors in the file's clusters.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatShrinkEof (
>+ IN FAT_OFILE *OFile
>+ )
> {
> FAT_VOLUME *Volume;
> UINTN NewSize;
> UINTN CurSize;
> UINTN Cluster;
>@@ -463,34 +413,28 @@ Returns:
> // Free the remaining cluster chain
> //
> return FatFreeClusters (Volume, Cluster);
> }
>
>-EFI_STATUS
>-FatGrowEof (
>- IN FAT_OFILE *OFile,
>- IN UINT64 NewSizeInBytes
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Grow the end of the open file base on the NewSizeInBytes.
>
>-Arguments:
>-
>- OFile - The open file.
>- NewSizeInBytes - The new size in bytes of the open file.
>+ @param OFile - The open file.
>+ @param NewSizeInBytes - The new size in bytes of the open file.
>
>-Returns:
>+ @retval EFI_SUCCESS - The file is grown sucessfully.
>+ @retval EFI_UNSUPPORTED - The file size is larger than 4GB.
>+ @retval EFI_VOLUME_CORRUPTED - There are errors in the files' clusters.
>+ @retval EFI_VOLUME_FULL - The volume is full and can not grow the file.
>
>- EFI_SUCCESS - The file is grown sucessfully.
>- EFI_UNSUPPORTED - The file size is larger than 4GB.
>- EFI_VOLUME_CORRUPTED - There are errors in the files' clusters.
>- EFI_VOLUME_FULL - The volume is full and can not grow the file.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatGrowEof (
>+ IN FAT_OFILE *OFile,
>+ IN UINT64 NewSizeInBytes
>+ )
> {
> FAT_VOLUME *Volume;
> EFI_STATUS Status;
> UINTN Cluster;
> UINTN CurSize;
>@@ -589,35 +533,29 @@ Returns:
> Done:
> FatShrinkEof (OFile);
> return Status;
> }
>
>-EFI_STATUS
>-FatOFilePosition (
>- IN FAT_OFILE *OFile,
>- IN UINTN Position,
>- IN UINTN PosLimit
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Seek OFile to requested position, and calculate the number of
> consecutive clusters from the position in the file
>
>-Arguments:
>-
>- OFile - The open file.
>- Position - The file's position which will be accessed.
>- PosLimit - The maximum length current reading/writing may access
>+ @param OFile - The open file.
>+ @param Position - The file's position which will be accessed.
>+ @param PosLimit - The maximum length current reading/writing may access
>
>-Returns:
>+ @retval EFI_SUCCESS - Set the info successfully.
>+ @retval EFI_VOLUME_CORRUPTED - Cluster chain corrupt.
>
>- EFI_SUCCESS - Set the info successfully.
>- EFI_VOLUME_CORRUPTED - Cluster chain corrupt.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatOFilePosition (
>+ IN FAT_OFILE *OFile,
>+ IN UINTN Position,
>+ IN UINTN PosLimit
>+ )
> {
> FAT_VOLUME *Volume;
> UINTN ClusterSize;
> UINTN Cluster;
> UINTN StartPos;
>@@ -689,32 +627,26 @@ Returns:
>
> OFile->PosRem = Run;
> return EFI_SUCCESS;
> }
>
>-UINTN
>-FatPhysicalDirSize (
>- IN FAT_VOLUME *Volume,
>- IN UINTN Cluster
>- )
>-/*++
>-
>-Routine Description:
>-
>- Get the size of directory of the open file
>+/**
>
>-Arguments:
>+ Get the size of directory of the open file.
>
>- Volume - The File System Volume.
>- Cluster - The Starting cluster.
>+ @param Volume - The File System Volume.
>+ @param Cluster - The Starting cluster.
>
>-Returns:
>-
>- The physical size of the file starting at the input cluster, if there is error in the
>+ @return The physical size of the file starting at the input cluster, if there is error in the
> cluster chain, the return value is 0.
>
>---*/
>+**/
>+UINTN
>+FatPhysicalDirSize (
>+ IN FAT_VOLUME *Volume,
>+ IN UINTN Cluster
>+ )
> {
> UINTN Size;
> ASSERT_VOLUME_LOCKED (Volume);
> //
> // Run the cluster chain for the OFile
>@@ -740,58 +672,44 @@ Returns:
> }
>
> return Size;
> }
>
>+/**
>+
>+ Get the physical size of a file on the disk.
>+
>+ @param Volume - The file system volume.
>+ @param RealSize - The real size of a file.
>+
>+ @return The physical size of a file on the disk.
>+
>+**/
> UINT64
> FatPhysicalFileSize (
> IN FAT_VOLUME *Volume,
> IN UINTN RealSize
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the physical size of a file on the disk.
>-
>-Arguments:
>-
>- Volume - The file system volume.
>- RealSize - The real size of a file.
>-
>-Returns:
>-
>- The physical size of a file on the disk.
>-
>---*/
> {
> UINTN ClusterSizeMask;
> UINT64 PhysicalSize;
> ClusterSizeMask = Volume->ClusterSize - 1;
> PhysicalSize = (RealSize + ClusterSizeMask) & (~((UINT64) ClusterSizeMask));
> return PhysicalSize;
> }
>
>-VOID
>-FatComputeFreeInfo (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Update the free cluster info of FatInfoSector of the volume.
>
>-Arguments:
>-
>- Volume - FAT file system volume.
>-
>-Returns:
>-
>- None.
>+ @param Volume - FAT file system volume.
>
>---*/
>+**/
>+VOID
>+FatComputeFreeInfo (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> UINTN Index;
>
> //
> // If we don't have valid info, compute it now
>diff --git a/FatPkg/EnhancedFatDxe/Flush.c b/FatPkg/EnhancedFatDxe/Flush.c
>index 172f202..9cb0d9a 100644
>--- a/FatPkg/EnhancedFatDxe/Flush.c
>+++ b/FatPkg/EnhancedFatDxe/Flush.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Routines that check references and flush OFiles
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,49 +9,33 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>-
>- flush.c
>+**/
>
>-Abstract:
>+#include "Fat.h"
>
>- Routines that check references and flush OFiles
>+/**
>
>-Revision History
>+ Flushes all data associated with the file handle.
>
>---*/
>+ @param FHand - Handle to file to flush.
>+ @param Token - A pointer to the token associated with the transaction.
>
>-#include "Fat.h"
>+ @retval EFI_SUCCESS - Flushed the file successfully.
>+ @retval EFI_WRITE_PROTECTED - The volume is read only.
>+ @retval EFI_ACCESS_DENIED - The file is read only.
>+ @return Others - Flushing of the file failed.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatFlushEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Flushes all data associated with the file handle.
>-
>-Arguments:
>-
>- FHand - Handle to file to flush.
>- Token - A pointer to the token associated with the transaction.
>-
>-Returns:
>-
>- EFI_SUCCESS - Flushed the file successfully.
>- EFI_WRITE_PROTECTED - The volume is read only.
>- EFI_ACCESS_DENIED - The file is read only.
>- Others - Flushing of the file failed.
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
> EFI_STATUS Status;
>@@ -111,57 +96,45 @@ Returns:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-EFIAPI
>-FatFlush (
>- IN EFI_FILE_PROTOCOL *FHand
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Flushes all data associated with the file handle.
>
>-Arguments:
>-
>- FHand - Handle to file to flush.
>-
>-Returns:
>+ @param FHand - Handle to file to flush.
>
>- EFI_SUCCESS - Flushed the file successfully.
>- EFI_WRITE_PROTECTED - The volume is read only.
>- EFI_ACCESS_DENIED - The file is read only.
>- Others - Flushing of the file failed.
>-
>---*/
>-{
>- return FatFlushEx (FHand, NULL);
>-}
>+ @retval EFI_SUCCESS - Flushed the file successfully.
>+ @retval EFI_WRITE_PROTECTED - The volume is read only.
>+ @retval EFI_ACCESS_DENIED - The file is read only.
>+ @return Others - Flushing of the file failed.
>
>+**/
> EFI_STATUS
> EFIAPI
>-FatClose (
>+FatFlush (
> IN EFI_FILE_PROTOCOL *FHand
> )
>-/*++
>+{
>+ return FatFlushEx (FHand, NULL);
>+}
>
>-Routine Description:
>+/**
>
> Flushes & Closes the file handle.
>
>-Arguments:
>-
>- FHand - Handle to the file to delete.
>-
>-Returns:
>+ @param FHand - Handle to the file to delete.
>
>- EFI_SUCCESS - Closed the file successfully.
>+ @retval EFI_SUCCESS - Closed the file successfully.
>
>---*/
>+**/
>+EFI_STATUS
>+EFIAPI
>+FatClose (
>+ IN EFI_FILE_PROTOCOL *FHand
>+ )
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
>
>@@ -189,29 +162,23 @@ Returns:
> // Close always succeed
> //
> return EFI_SUCCESS;
> }
>
>-EFI_STATUS
>-FatIFileClose (
>- FAT_IFILE *IFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Close the open file instance.
>
>-Arguments:
>+ @param IFile - Open file instance.
>
>- IFile - Open file instance.
>+ @retval EFI_SUCCESS - Closed the file successfully.
>
>-Returns:
>-
>- EFI_SUCCESS - Closed the file successfully.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatIFileClose (
>+ FAT_IFILE *IFile
>+ )
> {
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
>
> OFile = IFile->OFile;
>@@ -237,31 +204,25 @@ Returns:
> //
> FreePool (IFile);
> return EFI_SUCCESS;
> }
>
>-EFI_STATUS
>-FatOFileFlush (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Flush the data associated with an open file.
> In this implementation, only last Mod/Access time is updated.
>
>-Arguments:
>+ @param OFile - The open file.
>
>- OFile - The open file.
>+ @retval EFI_SUCCESS - The OFile is flushed successfully.
>+ @return Others - An error occurred when flushing this OFile.
>
>-Returns:
>-
>- EFI_SUCCESS - The OFile is flushed successfully.
>- Others - An error occurred when flushing this OFile.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatOFileFlush (
>+ IN FAT_OFILE *OFile
>+ )
> {
> EFI_STATUS Status;
> FAT_OFILE *Parent;
> FAT_DIRENT *DirEnt;
> FAT_DATE_TIME FatNow;
>@@ -316,32 +277,26 @@ Returns:
> OFile = Parent;
> } while (OFile != NULL);
> return EFI_SUCCESS;
> }
>
>-BOOLEAN
>-FatCheckOFileRef (
>- IN FAT_OFILE *OFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Check the references of the OFile.
> If the OFile (that is checked) is no longer
> referenced, then it is freed.
>
>-Arguments:
>+ @param OFile - The OFile to be checked.
>
>- OFile - The OFile to be checked.
>+ @retval TRUE - The OFile is not referenced and freed.
>+ @retval FALSE - The OFile is kept.
>
>-Returns:
>-
>- TRUE - The OFile is not referenced and freed.
>- FALSE - The OFile is kept.
>-
>---*/
>+**/
>+BOOLEAN
>+FatCheckOFileRef (
>+ IN FAT_OFILE *OFile
>+ )
> {
> //
> // If the OFile is on the check ref list, remove it
> //
> if (OFile->CheckLink.ForwardLink != NULL) {
>@@ -364,33 +319,25 @@ Returns:
> //
> FatCloseDirEnt (OFile->DirEnt);
> return TRUE;
> }
>
>-STATIC
>-VOID
>-FatCheckVolumeRef (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Check the references of all open files on the volume.
> Any open file (that is checked) that is no longer
> referenced, is freed - and it's parent open file
> is then referenced checked.
>
>-Arguments:
>-
>- Volume - The volume to check the pending open file list.
>-
>-Returns:
>+ @param Volume - The volume to check the pending open file list.
>
>- None
>-
>---*/
>+**/
>+STATIC
>+VOID
>+FatCheckVolumeRef (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> FAT_OFILE *OFile;
> FAT_OFILE *Parent;
>
> //
>@@ -412,38 +359,33 @@ Returns:
> }
> }
> }
> }
>
>-EFI_STATUS
>-FatCleanupVolume (
>- IN FAT_VOLUME *Volume,
>- IN FAT_OFILE *OFile,
>- IN EFI_STATUS EfiStatus,
>- IN FAT_TASK *Task
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Set error status for a specific OFile, reference checking the volume.
> If volume is already marked as invalid, and all resources are freed
> after reference checking, the file system protocol is uninstalled and
> the volume structure is freed.
>
>-Arguments:
>+ @param Volume - the Volume that is to be reference checked and unlocked.
>+ @param OFile - the OFile whose permanent error code is to be set.
>+ @param EfiStatus - error code to be set.
>+ @param Task point to task instance.
>
>- Volume - the Volume that is to be reference checked and unlocked.
>- OFile - the OFile whose permanent error code is to be set.
>- EfiStatus - error code to be set.
>+ @retval EFI_SUCCESS - Clean up the volume successfully.
>+ @return Others - Cleaning up of the volume is failed.
>
>-Returns:
>-
>- EFI_SUCCESS - Clean up the volume successfully.
>- Others - Cleaning up of the volume is failed.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatCleanupVolume (
>+ IN FAT_VOLUME *Volume,
>+ IN FAT_OFILE *OFile,
>+ IN EFI_STATUS EfiStatus,
>+ IN FAT_TASK *Task
>+ )
> {
> EFI_STATUS Status;
> //
> // Flag the OFile
> //
>@@ -497,31 +439,23 @@ Returns:
> }
>
> return EfiStatus;
> }
>
>+/**
>+
>+ Set the OFile and its child OFile with the error Status
>+
>+ @param OFile - The OFile whose permanent error code is to be set.
>+ @param Status - Error code to be set.
>+
>+**/
> VOID
> FatSetVolumeError (
> IN FAT_OFILE *OFile,
> IN EFI_STATUS Status
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the OFile and its child OFile with the error Status
>-
>-Arguments:
>-
>- OFile - The OFile whose permanent error code is to be set.
>- Status - Error code to be set.
>-
>-Returns:
>-
>- None
>-
>---*/
> {
> LIST_ENTRY *Link;
> FAT_OFILE *ChildOFile;
>
> //
>diff --git a/FatPkg/EnhancedFatDxe/Hash.c b/FatPkg/EnhancedFatDxe/Hash.c
>index f827368..5a9bbda 100644
>--- a/FatPkg/EnhancedFatDxe/Hash.c
>+++ b/FatPkg/EnhancedFatDxe/Hash.c
>@@ -1,51 +1,35 @@
>-/*++
>+/** @file
>+ Hash table operations.
>
> Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- Hash.c
>-
>-Abstract:
>+#include "Fat.h"
>
>- 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,
>@@ -56,57 +40,45 @@ Returns:
> 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)];
> *PreviousHashNode != NULL;
> PreviousHashNode = &(*PreviousHashNode)->LongNameForwardLink
>@@ -117,31 +89,25 @@ 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)];
> *PreviousHashNode != NULL;
> PreviousHashNode = &(*PreviousHashNode)->ShortNameForwardLink
>@@ -152,31 +118,23 @@ 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;
>
> //
>@@ -193,30 +151,22 @@ Returns:
> HashTable = ODir->LongNameHashTable;
> DirEnt->LongNameForwardLink = HashTable[HashTableIndex];
> 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;
> }
>diff --git a/FatPkg/EnhancedFatDxe/Info.c b/FatPkg/EnhancedFatDxe/Info.c
>index aa1b0f2..1a7f828 100644
>--- a/FatPkg/EnhancedFatDxe/Info.c
>+++ b/FatPkg/EnhancedFatDxe/Info.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Routines dealing with setting/getting file/volume info
>
> Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,21 +9,12 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>-
>- Info.c
>-
>-Abstract:
>-
>- Routines dealing with setting/getting file/volume info
>-
>-Revision History
>
>---*/
>+**/
>
> #include "Fat.h"
>
> EFI_STATUS
> FatGetVolumeInfo (
>@@ -45,62 +37,50 @@ FatSetOrGetInfo (
> IN EFI_GUID *Type,
> IN OUT UINTN *BufferSize,
> IN OUT VOID *Buffer
> );
>
>+/**
>+
>+ Get the open file's info into Buffer.
>+
>+ @param OFile - The open file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing file info.
>+
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_BUFFER_TOO_SMALL - The buffer is too small.
>+
>+**/
> EFI_STATUS
> FatGetFileInfo (
> IN FAT_OFILE *OFile,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the open file's info into Buffer.
>-
>-Arguments:
>+{
>+ return FatGetDirEntInfo (OFile->Volume, OFile->DirEnt, BufferSize, Buffer);
>+}
>
>- OFile - The open file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing file info.
>+/**
>
>-Returns:
>+ Get the volume's info into Buffer.
>
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_BUFFER_TOO_SMALL - The buffer is too small.
>+ @param Volume - FAT file system volume.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing volume info.
>
>---*/
>-{
>- return FatGetDirEntInfo (OFile->Volume, OFile->DirEnt, BufferSize, Buffer);
>-}
>+ @retval EFI_SUCCESS - Get the volume info successfully.
>+ @retval EFI_BUFFER_TOO_SMALL - The buffer is too small.
>
>+**/
> EFI_STATUS
> FatGetVolumeInfo (
> IN FAT_VOLUME *Volume,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the volume's info into Buffer.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing volume info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the volume info successfully.
>- EFI_BUFFER_TOO_SMALL - The buffer is too small.
>-
>---*/
> {
> UINTN Size;
> UINTN NameSize;
> UINTN ResultSize;
> CHAR16 Name[FAT_NAME_LEN + 1];
>@@ -139,34 +119,28 @@ Returns:
>
> *BufferSize = ResultSize;
> return Status;
> }
>
>+/**
>+
>+ Get the volume's label info into Buffer.
>+
>+ @param Volume - FAT file system volume.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing volume's label info.
>+
>+ @retval EFI_SUCCESS - Get the volume's label info successfully.
>+ @retval EFI_BUFFER_TOO_SMALL - The buffer is too small.
>+
>+**/
> EFI_STATUS
> FatGetVolumeLabelInfo (
> IN FAT_VOLUME *Volume,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the volume's label info into Buffer.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing volume's label info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the volume's label info successfully.
>- EFI_BUFFER_TOO_SMALL - The buffer is too small.
>-
>---*/
> {
> UINTN Size;
> UINTN NameSize;
> UINTN ResultSize;
> CHAR16 Name[FAT_NAME_LEN + 1];
>@@ -185,36 +159,30 @@ Returns:
>
> *BufferSize = ResultSize;
> return Status;
> }
>
>+/**
>+
>+ Set the volume's info.
>+
>+ @param Volume - FAT file system volume.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing the new volume info.
>+
>+ @retval EFI_SUCCESS - Set the volume info successfully.
>+ @retval EFI_BAD_BUFFER_SIZE - The buffer size is error.
>+ @retval EFI_WRITE_PROTECTED - The volume is read only.
>+ @return other - An error occurred when operation the disk.
>+
>+**/
> EFI_STATUS
> FatSetVolumeInfo (
> IN FAT_VOLUME *Volume,
> IN UINTN BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the volume's info.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing the new volume info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the volume info successfully.
>- EFI_BAD_BUFFER_SIZE - The buffer size is error.
>- EFI_WRITE_PROTECTED - The volume is read only.
>- other - An error occurred when operation the disk.
>-
>---*/
> {
> EFI_FILE_SYSTEM_INFO *Info;
>
> Info = (EFI_FILE_SYSTEM_INFO *) Buffer;
>
>@@ -223,36 +191,30 @@ Returns:
> }
>
> return FatSetVolumeEntry (Volume, Info->VolumeLabel);
> }
>
>+/**
>+
>+ Set the volume's label info.
>+
>+ @param Volume - FAT file system volume.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing the new volume label info.
>+
>+ @retval EFI_SUCCESS - Set the volume label info successfully.
>+ @retval EFI_WRITE_PROTECTED - The disk is write protected.
>+ @retval EFI_BAD_BUFFER_SIZE - The buffer size is error.
>+ @return other - An error occurred when operation the disk.
>+
>+**/
> EFI_STATUS
> FatSetVolumeLabelInfo (
> IN FAT_VOLUME *Volume,
> IN UINTN BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the volume's label info
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing the new volume label info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the volume label info successfully.
>- EFI_WRITE_PROTECTED - The disk is write protected.
>- EFI_BAD_BUFFER_SIZE - The buffer size is error.
>- other - An error occurred when operation the disk.
>-
>---*/
> {
> EFI_FILE_SYSTEM_VOLUME_LABEL *Info;
>
> Info = (EFI_FILE_SYSTEM_VOLUME_LABEL *) Buffer;
>
>@@ -261,48 +223,42 @@ Returns:
> }
>
> return FatSetVolumeEntry (Volume, Info->VolumeLabel);
> }
>
>+/**
>+
>+ Set the file info.
>+
>+ @param Volume - FAT file system volume.
>+ @param IFile - The instance of the open file.
>+ @param OFile - The open file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing the new file info.
>+
>+ @retval EFI_SUCCESS - Set the file info successfully.
>+ @retval EFI_ACCESS_DENIED - It is the root directory
>+ or the directory attribute bit can not change
>+ or try to change a directory size
>+ or something else.
>+ @retval EFI_UNSUPPORTED - The new file size is larger than 4GB.
>+ @retval EFI_WRITE_PROTECTED - The disk is write protected.
>+ @retval EFI_BAD_BUFFER_SIZE - The buffer size is error.
>+ @retval EFI_INVALID_PARAMETER - The time info or attributes info is error.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate new memory.
>+ @retval EFI_VOLUME_CORRUPTED - The volume is corrupted.
>+ @return other - An error occurred when operation the disk.
>+
>+**/
> EFI_STATUS
> FatSetFileInfo (
> IN FAT_VOLUME *Volume,
> IN FAT_IFILE *IFile,
> IN FAT_OFILE *OFile,
> IN UINTN BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the file info.
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- IFile - The instance of the open file.
>- OFile - The open file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing the new file info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the file info successfully.
>- EFI_ACCESS_DENIED - It is the root directory
>- or the directory attribute bit can not change
>- or try to change a directory size
>- or something else.
>- EFI_UNSUPPORTED - The new file size is larger than 4GB.
>- EFI_WRITE_PROTECTED - The disk is write protected.
>- EFI_BAD_BUFFER_SIZE - The buffer size is error.
>- EFI_INVALID_PARAMETER - The time info or attributes info is error.
>- EFI_OUT_OF_RESOURCES - Can not allocate new memory.
>- EFI_VOLUME_CORRUPTED - The volume is corrupted.
>- other - An error occurred when operation the disk.
>-
>---*/
> {
> EFI_STATUS Status;
> EFI_FILE_INFO *NewInfo;
> FAT_OFILE *DotOFile;
> FAT_OFILE *Parent;
>@@ -470,38 +426,32 @@ Returns:
>
> OFile->Dirty = TRUE;
> return FatOFileFlush (OFile);
> }
>
>+/**
>+
>+ Set or Get the some types info of the file into Buffer.
>+
>+ @param IsSet - TRUE:The access is set, else is get
>+ @param FHand - The handle of file
>+ @param Type - The type of the info
>+ @param BufferSize - Size of Buffer
>+ @param Buffer - Buffer containing volume info
>+
>+ @retval EFI_SUCCESS - Get the info successfully
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file
>+
>+**/
> EFI_STATUS
> FatSetOrGetInfo (
> IN BOOLEAN IsSet,
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_GUID *Type,
> IN OUT UINTN *BufferSize,
> IN OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set or Get the some types info of the file into Buffer
>-
>-Arguments:
>-
>- IsSet - TRUE:The access is set, else is get
>- FHand - The handle of file
>- Type - The type of the info
>- BufferSize - Size of Buffer
>- Buffer - Buffer containing volume info
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the info successfully
>- EFI_DEVICE_ERROR - Can not find the OFile for the file
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
> EFI_STATUS Status;
>@@ -558,66 +508,54 @@ Returns:
>
> FatReleaseLock ();
> return Status;
> }
>
>+/**
>+
>+ Get the some types info of the file into Buffer.
>+
>+ @param FHand - The handle of file.
>+ @param Type - The type of the info.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing volume info.
>+
>+ @retval EFI_SUCCESS - Get the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatGetInfo (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_GUID *Type,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the some types info of the file into Buffer.
>-
>-Arguments:
>+{
>+ return FatSetOrGetInfo (FALSE, FHand, Type, BufferSize, Buffer);
>+}
>
>- FHand - The handle of file.
>- Type - The type of the info.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing volume info.
>+/**
>
>-Returns:
>+ Set the some types info of the file into Buffer.
>
>- EFI_SUCCESS - Get the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @param FHand - The handle of file.
>+ @param Type - The type of the info.
>+ @param BufferSize - Size of Buffer
>+ @param Buffer - Buffer containing volume info.
>
>---*/
>-{
>- return FatSetOrGetInfo (FALSE, FHand, Type, BufferSize, Buffer);
>-}
>+ @retval EFI_SUCCESS - Set the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatSetInfo (
> IN EFI_FILE_PROTOCOL *FHand,
> IN EFI_GUID *Type,
> IN UINTN BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the some types info of the file into Buffer.
>-
>-Arguments:
>-
>- FHand - The handle of file.
>- Type - The type of the info.
>- BufferSize - Size of Buffer
>- Buffer - Buffer containing volume info.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>-
>---*/
> {
> return FatSetOrGetInfo (TRUE, FHand, Type, &BufferSize, Buffer);
> }
>diff --git a/FatPkg/EnhancedFatDxe/Init.c b/FatPkg/EnhancedFatDxe/Init.c
>index d7cfa82..6febffc 100644
>--- a/FatPkg/EnhancedFatDxe/Init.c
>+++ b/FatPkg/EnhancedFatDxe/Init.c
>@@ -1,56 +1,43 @@
>-/*++
>+/** @file
>+ Initialization routines.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- Init.c
>+#include "Fat.h"
>
>-Abstract:
>+/**
>
>- Initialization routines
>+ Allocates volume structure, detects FAT file system, installs protocol,
>+ and initialize cache.
>
>---*/
>+ @param Handle - The handle of parent device.
>+ @param DiskIo - The DiskIo of parent device.
>+ @param DiskIo2 - The DiskIo2 of parent device.
>+ @param BlockIo - The BlockIo of parent devicel
>
>-#include "Fat.h"
>+ @retval EFI_SUCCESS - Allocate a new volume successfully.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>+ @return Others - Allocating a new volume failed.
>
>+**/
> EFI_STATUS
> FatAllocateVolume (
> IN EFI_HANDLE Handle,
> IN EFI_DISK_IO_PROTOCOL *DiskIo,
> IN EFI_DISK_IO2_PROTOCOL *DiskIo2,
> IN EFI_BLOCK_IO_PROTOCOL *BlockIo
> )
>-/*++
>-
>-Routine Description:
>-
>- Allocates volume structure, detects FAT file system, installs protocol,
>- and initialize cache.
>-
>-Arguments:
>-
>- Handle - The handle of parent device.
>- DiskIo - The DiskIo of parent device.
>- BlockIo - The BlockIo of parent devicel
>-
>-Returns:
>-
>- EFI_SUCCESS - Allocate a new volume successfully.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>- Others - Allocating a new volume failed.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_VOLUME *Volume;
>
> //
>@@ -118,30 +105,24 @@ Done:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-FatAbandonVolume (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Called by FatDriverBindingStop(), Abandon the volume.
>
>-Arguments:
>-
>- Volume - The volume to be abandoned.
>-
>-Returns:
>+ @param Volume - The volume to be abandoned.
>
>- EFI_SUCCESS - Abandoned the volume successfully.
>- Others - Can not uninstall the protocol interfaces.
>+ @retval EFI_SUCCESS - Abandoned the volume successfully.
>+ @return Others - Can not uninstall the protocol interfaces.
>
>---*/
>+**/
>+EFI_STATUS
>+FatAbandonVolume (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> EFI_STATUS Status;
> BOOLEAN LockedByMe;
>
> //
>@@ -200,31 +181,25 @@ Returns:
> }
>
> return EFI_SUCCESS;
> }
>
>-EFI_STATUS
>-FatOpenDevice (
>- IN OUT FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>-
>- Detects FAT file system on Disk and set relevant fields of Volume
>-
>-Arguments:
>+/**
>
>- Volume - The volume structure.
>+ Detects FAT file system on Disk and set relevant fields of Volume.
>
>-Returns:
>+ @param Volume - The volume structure.
>
>- EFI_SUCCESS - The Fat File System is detected successfully
>- EFI_UNSUPPORTED - The volume is not FAT file system.
>- EFI_VOLUME_CORRUPTED - The volume is corrupted.
>+ @retval EFI_SUCCESS - The Fat File System is detected successfully
>+ @retval EFI_UNSUPPORTED - The volume is not FAT file system.
>+ @retval EFI_VOLUME_CORRUPTED - The volume is corrupted.
>
>---*/
>+**/
>+EFI_STATUS
>+FatOpenDevice (
>+ IN OUT FAT_VOLUME *Volume
>+ )
> {
> EFI_STATUS Status;
> UINT32 BlockSize;
> UINT32 DirtyMask;
> EFI_DISK_IO_PROTOCOL *DiskIo;
>diff --git a/FatPkg/EnhancedFatDxe/Misc.c b/FatPkg/EnhancedFatDxe/Misc.c
>index 48c99f9..c36bdb8 100644
>--- a/FatPkg/EnhancedFatDxe/Misc.c
>+++ b/FatPkg/EnhancedFatDxe/Misc.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Miscellaneous functions.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,43 +9,29 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>-
>- Misc.c
>+**/
>
>-Abstract:
>+#include "Fat.h"
>
>- Miscellaneous functions
>+/**
>
>-Revision History
>+ Create the task
>
>---*/
>+ @param IFile - The instance of the open file.
>+ @param Token - A pointer to the token associated with the transaction.
>
>-#include "Fat.h"
>+ @return FAT_TASK * - Return the task instance.
>
>+**/
> FAT_TASK *
> FatCreateTask (
> FAT_IFILE *IFile,
> EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Create the task
>-
>-Arguments:
>-
>- IFile - The instance of the open file.
>- Token - A pointer to the token associated with the transaction.
>-
>-Return:
>- FAT_TASK * - Return the task instance.
>-**/
> {
> FAT_TASK *Task;
>
> Task = AllocateZeroPool (sizeof (*Task));
> if (Task != NULL) {
>@@ -55,24 +42,21 @@ Return:
> InitializeListHead (&Task->Link);
> }
> return Task;
> }
>
>-VOID
>-FatDestroyTask (
>- FAT_TASK *Task
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
>- Destroy the task
>+ Destroy the task.
>
>-Arguments:
>+ @param Task - The task to be destroyed.
>
>- Task - The task to be destroyed.
> **/
>+VOID
>+FatDestroyTask (
>+ FAT_TASK *Task
>+ )
> {
> LIST_ENTRY *Link;
> FAT_SUBTASK *Subtask;
>
> Link = GetFirstNode (&Task->Subtasks);
>@@ -81,53 +65,44 @@ Arguments:
> Link = FatDestroySubtask (Subtask);
> }
> FreePool (Task);
> }
>
>-VOID
>-FatWaitNonblockingTask (
>- FAT_IFILE *IFile
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Wait all non-blocking requests complete.
>
>-Arguments:
>+ @param IFile - The instance of the open file.
>
>- IFile - The instance of the open file.
> **/
>+VOID
>+FatWaitNonblockingTask (
>+ FAT_IFILE *IFile
>+ )
> {
> BOOLEAN TaskQueueEmpty;
>
> do {
> EfiAcquireLock (&FatTaskLock);
> TaskQueueEmpty = IsListEmpty (&IFile->Tasks);
> EfiReleaseLock (&FatTaskLock);
> } while (!TaskQueueEmpty);
> }
>
>-LIST_ENTRY *
>-FatDestroySubtask (
>- FAT_SUBTASK *Subtask
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Remove the subtask from subtask list.
>
>-Arguments:
>-
>- Subtask - The subtask to be removed.
>+ @param Subtask - The subtask to be removed.
>
>-Returns:
>+ @return LIST_ENTRY * - The next node in the list.
>
>- LIST_ENTRY * - The next node in the list.
>-
>---*/
>+**/
>+LIST_ENTRY *
>+FatDestroySubtask (
>+ FAT_SUBTASK *Subtask
>+ )
> {
> LIST_ENTRY *Link;
>
> gBS->CloseEvent (Subtask->DiskIo2Token.Event);
>
>@@ -135,32 +110,26 @@ Returns:
> FreePool (Subtask);
>
> return Link;
> }
>
>+/**
>+
>+ Execute the task.
>+
>+ @param IFile - The instance of the open file.
>+ @param Task - The task to be executed.
>+
>+ @retval EFI_SUCCESS - The task was executed sucessfully.
>+ @return other - An error occurred when executing the task.
>+
>+**/
> EFI_STATUS
> FatQueueTask (
> IN FAT_IFILE *IFile,
> IN FAT_TASK *Task
> )
>-/*++
>-
>-Routine Description:
>-
>- Execute the task
>-
>-Arguments:
>-
>- IFile - The instance of the open file.
>- Task - The task to be executed.
>-
>-Returns:
>-
>- EFI_SUCCESS - The task was executed sucessfully.
>- other - An error occurred when executing the task.
>-
>---*/
> {
> EFI_STATUS Status;
> LIST_ENTRY *Link;
> FAT_SUBTASK *Subtask;
>
>@@ -236,43 +205,37 @@ Returns:
> }
>
> return Status;
> }
>
>+/**
>+
>+ Set the volume as dirty or not.
>+
>+ @param Volume - FAT file system volume.
>+ @param IoMode - The access mode.
>+ @param DirtyValue - Set the volume as dirty or not.
>+
>+ @retval EFI_SUCCESS - Set the new FAT entry value sucessfully.
>+ @return other - An error occurred when operation the FAT entries.
>+
>+**/
> EFI_STATUS
> FatAccessVolumeDirty (
> IN FAT_VOLUME *Volume,
> IN IO_MODE IoMode,
> IN VOID *DirtyValue
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the volume as dirty or not
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- IoMode - The access mode.
>- DirtyValue - Set the volume as dirty or not.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the new FAT entry value sucessfully.
>- other - An error occurred when operation the FAT entries.
>-
>---*/
> {
> UINTN WriteCount;
>
> WriteCount = Volume->FatEntrySize;
> return FatDiskIo (Volume, IoMode, Volume->FatPos + WriteCount, WriteCount, DirtyValue, NULL);
> }
>
> /**
>- Invoke a notification event
>+ Invoke a notification event.
>
> @param Event Event whose notification function is being invoked.
> @param Context The pointer to the notification function's context,
> which is implementation-dependent.
>
>@@ -281,26 +244,10 @@ VOID
> EFIAPI
> FatOnAccessComplete (
> IN EFI_EVENT Event,
> IN VOID *Context
> )
>-/*++
>-
>-Routine Description:
>-
>- Invoke a notification event
>- case #1. some subtasks are not completed when the FatOpenEx checks the Task->Subtasks
>- - sets Task->SubtaskCollected so callback to signal the event and free the task.
>- case #2. all subtasks are completed when the FatOpenEx checks the Task->Subtasks
>- - FatOpenEx signal the event and free the task.
>-Arguments:
>-
>- Event - Event whose notification function is being invoked.
>- Context - The pointer to the notification function's context,
>- which is implementation-dependent.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_SUBTASK *Subtask;
> FAT_TASK *Task;
>
>@@ -339,40 +286,35 @@ Arguments:
> RemoveEntryList (&Task->Link);
> FreePool (Task);
> }
> }
>
>+/**
>+
>+ General disk access function.
>+
>+ @param Volume - FAT file system volume.
>+ @param IoMode - The access mode (disk read/write or cache access).
>+ @param Offset - The starting byte offset to read from.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing read data.
>+ @param Task point to task instance.
>+
>+ @retval EFI_SUCCESS - The operation is performed successfully.
>+ @retval EFI_VOLUME_CORRUPTED - The accesss is
>+ @return Others - The status of read/write the disk
>+
>+**/
> EFI_STATUS
> FatDiskIo (
> IN FAT_VOLUME *Volume,
> IN IO_MODE IoMode,
> IN UINT64 Offset,
> IN UINTN BufferSize,
> IN OUT VOID *Buffer,
> IN FAT_TASK *Task
> )
>-/*++
>-
>-Routine Description:
>-
>- General disk access function
>-
>-Arguments:
>-
>- Volume - FAT file system volume.
>- IoMode - The access mode (disk read/write or cache access).
>- Offset - The starting byte offset to read from.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing read data.
>-
>-Returns:
>-
>- EFI_SUCCESS - The operation is performed successfully.
>- EFI_VOLUME_CORRUPTED - The accesss is
>- Others - The status of read/write the disk
>-
>---*/
> {
> EFI_STATUS Status;
> EFI_DISK_IO_PROTOCOL *DiskIo;
> EFI_DISK_READ IoFunction;
> FAT_SUBTASK *Subtask;
>@@ -435,128 +377,84 @@ Returns:
> }
>
> return Status;
> }
>
>+/**
>+
>+ Lock the volume.
>+
>+**/
> VOID
> FatAcquireLock (
> VOID
> )
>-/*++
>-
>-Routine Description:
>-
>- Lock the volume.
>-
>-Arguments:
>-
>- None.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> EfiAcquireLock (&FatFsLock);
> }
>
>-EFI_STATUS
>-FatAcquireLockOrFail (
>- VOID
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Lock the volume.
> If the lock is already in the acquired state, then EFI_ACCESS_DENIED is returned.
> Otherwise, EFI_SUCCESS is returned.
>
>-Arguments:
>-
>- None.
>-
>-Returns:
>+ @retval EFI_SUCCESS - The volume is locked.
>+ @retval EFI_ACCESS_DENIED - The volume could not be locked because it is already locked.
>
>- EFI_SUCCESS - The volume is locked.
>- EFI_ACCESS_DENIED - The volume could not be locked because it is already locked.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatAcquireLockOrFail (
>+ VOID
>+ )
> {
> return EfiAcquireLockOrFail (&FatFsLock);
> }
>
>+/**
>+
>+ Unlock the volume.
>+
>+**/
> VOID
> FatReleaseLock (
> VOID
> )
>-/*++
>-
>-Routine Description:
>-
>- Unlock the volume.
>-
>-Arguments:
>-
>- Null.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> EfiReleaseLock (&FatFsLock);
> }
>
>-VOID
>-FatFreeDirEnt (
>- IN FAT_DIRENT *DirEnt
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Free directory entry.
>
>-Arguments:
>-
>- DirEnt - The directory entry to be freed.
>-
>-Returns:
>+ @param DirEnt - The directory entry to be freed.
>
>- None.
>-
>---*/
>+**/
>+VOID
>+FatFreeDirEnt (
>+ IN FAT_DIRENT *DirEnt
>+ )
> {
> if (DirEnt->FileString != NULL) {
> FreePool (DirEnt->FileString);
> }
>
> FreePool (DirEnt);
> }
>
>-VOID
>-FatFreeVolume (
>- IN FAT_VOLUME *Volume
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Free volume structure (including the contents of directory cache and disk cache).
>
>-Arguments:
>-
>- Volume - The volume structure to be freed.
>+ @param Volume - The volume structure to be freed.
>
>-Returns:
>-
>- None.
>-
>---*/
>+**/
>+VOID
>+FatFreeVolume (
>+ IN FAT_VOLUME *Volume
>+ )
> {
> //
> // Free disk cache
> //
> if (Volume->CacheBuffer != NULL) {
>@@ -567,31 +465,23 @@ Returns:
> //
> FatCleanupODirCache (Volume);
> FreePool (Volume);
> }
>
>+/**
>+
>+ Translate EFI time to FAT time.
>+
>+ @param ETime - The time of EFI_TIME.
>+ @param FTime - The time of FAT_DATE_TIME.
>+
>+**/
> VOID
> FatEfiTimeToFatTime (
> IN EFI_TIME *ETime,
> OUT FAT_DATE_TIME *FTime
> )
>-/*++
>-
>-Routine Description:
>-
>- Translate EFI time to FAT time.
>-
>-Arguments:
>-
>- ETime - The time of EFI_TIME.
>- FTime - The time of FAT_DATE_TIME.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> //
> // ignores timezone info in source ETime
> //
> if (ETime->Year > 1980) {
>@@ -607,31 +497,23 @@ Returns:
> FTime->Time.Hour = ETime->Hour;
> FTime->Time.Minute = ETime->Minute;
> FTime->Time.DoubleSecond = (UINT16) (ETime->Second / 2);
> }
>
>+/**
>+
>+ Translate Fat time to EFI time.
>+
>+ @param FTime - The time of FAT_DATE_TIME.
>+ @param ETime - The time of EFI_TIME..
>+
>+**/
> VOID
> FatFatTimeToEfiTime (
> IN FAT_DATE_TIME *FTime,
> OUT EFI_TIME *ETime
> )
>-/*++
>-
>-Routine Description:
>-
>- Translate Fat time to EFI time.
>-
>-Arguments:
>-
>- FTime - The time of FAT_DATE_TIME.
>- ETime - The time of EFI_TIME.
>-
>-Returns:
>-
>- None.
>-
>---*/
> {
> ETime->Year = (UINT16) (FTime->Date.Year + 1980);
> ETime->Month = (UINT8) FTime->Date.Month;
> ETime->Day = (UINT8) FTime->Date.Day;
> ETime->Hour = (UINT8) FTime->Time.Hour;
>@@ -640,29 +522,21 @@ Returns:
> ETime->Nanosecond = 0;
> ETime->TimeZone = EFI_UNSPECIFIED_TIMEZONE;
> ETime->Daylight = 0;
> }
>
>-VOID
>-FatGetCurrentFatTime (
>- OUT FAT_DATE_TIME *FatNow
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Get Current FAT time.
>
>-Arguments:
>-
>- FatNow - Current FAT time.
>-
>-Returns:
>+ @param FatNow - Current FAT time.
>
>- None.
>-
>---*/
>+**/
>+VOID
>+FatGetCurrentFatTime (
>+ OUT FAT_DATE_TIME *FatNow
>+ )
> {
> EFI_STATUS Status;
> EFI_TIME Now;
>
> Status = gRT->GetTime (&Now, NULL);
>@@ -675,30 +549,24 @@ Returns:
> Now.Day = 1;
> FatEfiTimeToFatTime (&Now, FatNow);
> }
> }
>
>-BOOLEAN
>-FatIsValidTime (
>- IN EFI_TIME *Time
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Check whether a time is valid.
>
>-Arguments:
>-
>- Time - The time of EFI_TIME.
>+ @param Time - The time of EFI_TIME.
>
>-Returns:
>+ @retval TRUE - The time is valid.
>+ @retval FALSE - The time is not valid.
>
>- TRUE - The time is valid.
>- FALSE - The time is not valid.
>-
>---*/
>+**/
>+BOOLEAN
>+FatIsValidTime (
>+ IN EFI_TIME *Time
>+ )
> {
> STATIC UINT8 MonthDays[12];
> UINTN Day;
> BOOLEAN ValidTime;
>
>diff --git a/FatPkg/EnhancedFatDxe/Open.c b/FatPkg/EnhancedFatDxe/Open.c
>index 1d864d1..7b273fe 100644
>--- a/FatPkg/EnhancedFatDxe/Open.c
>+++ b/FatPkg/EnhancedFatDxe/Open.c
>@@ -1,54 +1,38 @@
>-/*++
>+/** @file
>+ Routines dealing with file open.
>
> Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- open.c
>+#include "Fat.h"
>
>-Abstract:
>+/**
>
>- Routines dealing with file open
>+ Create an Open instance for the existing OFile.
>+ The IFile of the newly opened file is passed out.
>
>-Revision History
>+ @param OFile - The file that serves as a starting reference point.
>+ @param PtrIFile - The newly generated IFile instance.
>
>---*/
>-
>-#include "Fat.h"
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory for the IFile
>+ @retval EFI_SUCCESS - Create the new IFile for the OFile successfully
>
>+**/
> EFI_STATUS
> FatAllocateIFile (
> IN FAT_OFILE *OFile,
> OUT FAT_IFILE **PtrIFile
> )
>-/*++
>-
>-Routine Description:
>-
>- Create an Open instance for the existing OFile.
>- The IFile of the newly opened file is passed out.
>-
>-Arguments:
>-
>- OFile - The file that serves as a starting reference point.
>- PtrIFile - The newly generated IFile instance.
>-
>-Returns:
>-
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory for the IFile
>- EFI_SUCCESS - Create the new IFile for the OFile successfully
>-
>---*/
> {
> FAT_IFILE *IFile;
>
> ASSERT_VOLUME_LOCKED (OFile->Volume);
>
>@@ -79,45 +63,40 @@ Returns:
>
> *PtrIFile = IFile;
> return EFI_SUCCESS;
> }
>
>-EFI_STATUS
>-FatOFileOpen (
>- IN FAT_OFILE *OFile,
>- OUT FAT_IFILE **NewIFile,
>- IN CHAR16 *FileName,
>- IN UINT64 OpenMode,
>- IN UINT8 Attributes
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Open a file for a file name relative to an existing OFile.
> The IFile of the newly opened file is passed out.
>
>-Arguments:
>-
>- OFile - The file that serves as a starting reference point.
>- NewIFile - The newly generated IFile instance.
>- FileName - The file name relative to the OFile.
>- OpenMode - Open mode.
>- Attributes - Attributes to set if the file is created.
>+ @param OFile - The file that serves as a starting reference point.
>+ @param NewIFile - The newly generated IFile instance.
>+ @param FileName - The file name relative to the OFile.
>+ @param OpenMode - Open mode.
>+ @param Attributes - Attributes to set if the file is created.
>
>-Returns:
>
>- EFI_SUCCESS - Open the file successfully.
>- EFI_INVALID_PARAMETER - The open mode is conflict with the attributes
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @retval EFI_INVALID_PARAMETER - The open mode is conflict with the attributes
> or the file name is not valid.
>- EFI_NOT_FOUND - Conficts between dir intention and attribute.
>- EFI_WRITE_PROTECTED - Can't open for write if the volume is read only.
>- EFI_ACCESS_DENIED - If the file's attribute is read only, and the
>+ @retval EFI_NOT_FOUND - Conficts between dir intention and attribute.
>+ @retval EFI_WRITE_PROTECTED - Can't open for write if the volume is read only.
>+ @retval EFI_ACCESS_DENIED - If the file's attribute is read only, and the
> open is for read-write fail it.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>
>---*/
>+**/
>+EFI_STATUS
>+FatOFileOpen (
>+ IN FAT_OFILE *OFile,
>+ OUT FAT_IFILE **NewIFile,
>+ IN CHAR16 *FileName,
>+ IN UINT64 OpenMode,
>+ IN UINT8 Attributes
>+ )
> {
> FAT_VOLUME *Volume;
> EFI_STATUS Status;
> CHAR16 NewFileName[EFI_PATH_STRING_LENGTH];
> FAT_DIRENT *DirEnt;
>@@ -197,44 +176,39 @@ Returns:
>
> DEBUG ((EFI_D_INFO, "FSOpen: Open '%S' %r\n", FileName, Status));
> return FatOFileFlush (OFile);
> }
>
>+/**
>+
>+ Implements OpenEx() of Simple File System Protocol.
>+
>+ @param FHand - File handle of the file serves as a starting reference point.
>+ @param NewHandle - Handle of the file that is newly opened.
>+ @param FileName - File name relative to FHand.
>+ @param OpenMode - Open mode.
>+ @param Attributes - Attributes to set if the file is created.
>+ @param Token - A pointer to the token associated with the transaction.:
>+
>+ @retval EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>+ The OpenMode is not supported.
>+ The Attributes is not the valid attributes.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @return Others - The status of open file.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatOpenEx (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT EFI_FILE_PROTOCOL **NewHandle,
> IN CHAR16 *FileName,
> IN UINT64 OpenMode,
> IN UINT64 Attributes,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-Routine Description:
>-
>- Implements OpenEx() of Simple File System Protocol.
>-
>-Arguments:
>-
>- FHand - File handle of the file serves as a starting reference point.
>- NewHandle - Handle of the file that is newly opened.
>- FileName - File name relative to FHand.
>- OpenMode - Open mode.
>- Attributes - Attributes to set if the file is created.
>- Token - A pointer to the token associated with the transaction.
>-
>-Returns:
>-
>- EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>- The OpenMode is not supported.
>- The Attributes is not the valid attributes.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>- EFI_SUCCESS - Open the file successfully.
>- Others - The status of open file.
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_IFILE *NewIFile;
> FAT_OFILE *OFile;
> EFI_STATUS Status;
>@@ -317,40 +291,36 @@ Returns:
> }
>
> return Status;
> }
>
>+/**
>+
>+ Implements Open() of Simple File System Protocol.
>+
>+
>+ @param FHand - File handle of the file serves as a starting reference point.
>+ @param NewHandle - Handle of the file that is newly opened.
>+ @param FileName - File name relative to FHand.
>+ @param OpenMode - Open mode.
>+ @param Attributes - Attributes to set if the file is created.
>+
>+ @retval EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>+ The OpenMode is not supported.
>+ The Attributes is not the valid attributes.
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>+ @retval EFI_SUCCESS - Open the file successfully.
>+ @return Others - The status of open file.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatOpen (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT EFI_FILE_PROTOCOL **NewHandle,
> IN CHAR16 *FileName,
> IN UINT64 OpenMode,
> IN UINT64 Attributes
> )
>-/*++
>-Routine Description:
>-
>- Implements Open() of Simple File System Protocol.
>-
>-Arguments:
>-
>- FHand - File handle of the file serves as a starting reference point.
>- NewHandle - Handle of the file that is newly opened.
>- FileName - File name relative to FHand.
>- OpenMode - Open mode.
>- Attributes - Attributes to set if the file is created.
>-
>-Returns:
>-
>- EFI_INVALID_PARAMETER - The FileName is NULL or the file string is empty.
>- The OpenMode is not supported.
>- The Attributes is not the valid attributes.
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory for file string.
>- EFI_SUCCESS - Open the file successfully.
>- Others - The status of open file.
>-
>---*/
> {
> return FatOpenEx (FHand, NewHandle, FileName, OpenMode, Attributes, NULL);
> }
>diff --git a/FatPkg/EnhancedFatDxe/OpenVolume.c b/FatPkg/EnhancedFatDxe/OpenVolume.c
>index 0f43ffa..4e12db3 100644
>--- a/FatPkg/EnhancedFatDxe/OpenVolume.c
>+++ b/FatPkg/EnhancedFatDxe/OpenVolume.c
>@@ -1,55 +1,39 @@
>-/*++
>+/** @file
>+ OpenVolume() function of Simple File System Protocol.
>
> Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>
> 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
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>+**/
>
>-Module Name:
>-
>- OpenVolume.c
>+#include "Fat.h"
>
>-Abstract:
>+/**
>
>- OpenVolume() function of Simple File System Protocol
>+ Implements Simple File System Protocol interface function OpenVolume().
>
>-Revision History
>+ @param This - Calling context.
>+ @param File - the Root Directory of the volume.
>
>---*/
>-
>-#include "Fat.h"
>+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>+ @retval EFI_VOLUME_CORRUPTED - The FAT type is error.
>+ @retval EFI_SUCCESS - Open the volume successfully.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatOpenVolume (
> IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,
> OUT EFI_FILE_PROTOCOL **File
> )
>-/*++
>-
>-Routine Description:
>-
>- Implements Simple File System Protocol interface function OpenVolume().
>-
>-Arguments:
>-
>- This - Calling context.
>- File - the Root Directory of the volume.
>-
>-Returns:
>-
>- EFI_OUT_OF_RESOURCES - Can not allocate the memory.
>- EFI_VOLUME_CORRUPTED - The FAT type is error.
>- EFI_SUCCESS - Open the volume successfully.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_VOLUME *Volume;
> FAT_IFILE *IFile;
>
>diff --git a/FatPkg/EnhancedFatDxe/ReadWrite.c b/FatPkg/EnhancedFatDxe/ReadWrite.c
>index 81676cd..a6e0ec4 100644
>--- a/FatPkg/EnhancedFatDxe/ReadWrite.c
>+++ b/FatPkg/EnhancedFatDxe/ReadWrite.c
>@@ -1,6 +1,7 @@
>-/*++
>+/** @file
>+ Functions that perform file read/write.
>
> Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
> 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
>@@ -8,48 +9,33 @@ http://opensource.org/licenses/bsd-license.php
>
> THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>
>
>-Module Name:
>+**/
>
>- ReadWrite.c
>+#include "Fat.h"
>
>-Abstract:
>+/**
>
>- Functions that perform file read/write
>+ Get the file's position of the file.
>
>-Revision History
>
>---*/
>+ @param FHand - The handle of file.
>+ @param Position - The file's position of the file.
>
>-#include "Fat.h"
>+ @retval EFI_SUCCESS - Get the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_UNSUPPORTED - The open file is not a file.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatGetPosition (
> IN EFI_FILE_PROTOCOL *FHand,
> OUT UINT64 *Position
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file's position of the file.
>-
>-Arguments:
>-
>- FHand - The handle of file.
>- Position - The file's position of the file.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_UNSUPPORTED - The open file is not a file.
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
>
> IFile = IFILE_FROM_FHAND (FHand);
>@@ -65,34 +51,28 @@ Returns:
>
> *Position = IFile->Position;
> return EFI_SUCCESS;
> }
>
>+/**
>+
>+ Set the file's position of the file.
>+
>+ @param FHand - The handle of file.
>+ @param Position - The file's position of the file.
>+
>+ @retval EFI_SUCCESS - Set the info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_UNSUPPORTED - Set a directory with a not-zero position.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatSetPosition (
> IN EFI_FILE_PROTOCOL *FHand,
> IN UINT64 Position
> )
>-/*++
>-
>-Routine Description:
>-
>- Set the file's position of the file.
>-
>-Arguments:
>-
>- FHand - The handle of file.
>- Position - The file's position of the file.
>-
>-Returns:
>-
>- EFI_SUCCESS - Set the info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_UNSUPPORTED - Set a directory with a not-zero position.
>-
>---*/
> {
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
>
> IFile = IFILE_FROM_FHAND (FHand);
>@@ -128,34 +108,28 @@ Returns:
> //
> IFile->Position = Position;
> return EFI_SUCCESS;
> }
>
>+/**
>+
>+ Get the file info from the open file of the IFile into Buffer.
>+
>+ @param IFile - The instance of the open file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing read data.
>+
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval other - An error occurred when operation the disk.
>+
>+**/
> EFI_STATUS
> FatIFileReadDir (
> IN FAT_IFILE *IFile,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info from the open file of the IFile into Buffer.
>-
>-Arguments:
>-
>- IFile - The instance of the open file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing read data.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- other - An error occurred when operation the disk.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_OFILE *OFile;
> FAT_ODIR *ODir;
> FAT_DIRENT *DirEnt;
>@@ -203,42 +177,36 @@ Done:
> }
>
> return Status;
> }
>
>+/**
>+
>+ Get the file info from the open file of the IFile into Buffer.
>+
>+ @param FHand - The file handle to access.
>+ @param IoMode - Indicate whether the access mode is reading or writing.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing read data.
>+ @param Token - A pointer to the token associated with the transaction.
>+
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @retval EFI_WRITE_PROTECTED - The disk is write protect.
>+ @retval EFI_ACCESS_DENIED - The file is read-only.
>+ @return other - An error occurred when operating on the disk.
>+
>+**/
> EFI_STATUS
> FatIFileAccess (
> IN EFI_FILE_PROTOCOL *FHand,
> IN IO_MODE IoMode,
> IN OUT UINTN *BufferSize,
> IN OUT VOID *Buffer,
> IN EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info from the open file of the IFile into Buffer.
>-
>-Arguments:
>-
>- FHand - The file handle to access.
>- IoMode - Indicate whether the access mode is reading or writing.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing read data.
>- Token - A pointer to the token associated with the transaction.
>-
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- EFI_WRITE_PROTECTED - The disk is write protect.
>- EFI_ACCESS_DENIED - The file is read-only.
>- other - An error occurred when operating on the disk.
>-
>---*/
> {
> EFI_STATUS Status;
> FAT_IFILE *IFile;
> FAT_OFILE *OFile;
> FAT_VOLUME *Volume;
>@@ -371,163 +339,135 @@ Done:
>
> FatReleaseLock ();
> return Status;
> }
>
>+/**
>+
>+ Get the file info.
>+
>+ @param FHand - The handle of the file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing read data.
>+
>+
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>+
>+**/
> EFI_STATUS
> EFIAPI
> FatRead (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT UINTN *BufferSize,
> OUT VOID *Buffer
> )
>-/*++
>+{
>+ return FatIFileAccess (FHand, ReadData, BufferSize, Buffer, NULL);
>+}
>
>-Routine Description:
>+/**
>
> Get the file info.
>
>-Arguments:
>-
>- FHand - The handle of the file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing read data.
>+ @param FHand - The handle of the file.
>+ @param Token - A pointer to the token associated with the transaction.
>
>-Returns:
>-
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>-
>---*/
>-{
>- return FatIFileAccess (FHand, ReadData, BufferSize, Buffer, NULL);
>-}
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatReadEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info.
>-
>-Arguments:
>+{
>+ return FatIFileAccess (FHand, ReadData, &Token->BufferSize, Token->Buffer, Token);
>+}
>
>- FHand - The handle of the file.
>- Token - A pointer to the token associated with the transaction.
>+/**
>
>-Returns:
>+ Write the content of buffer into files.
>
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>+ @param FHand - The handle of the file.
>+ @param BufferSize - Size of Buffer.
>+ @param Buffer - Buffer containing write data.
>
>---*/
>-{
>- return FatIFileAccess (FHand, ReadData, &Token->BufferSize, Token->Buffer, Token);
>-}
>+ @retval EFI_SUCCESS - Set the file info successfully.
>+ @retval EFI_WRITE_PROTECTED - The disk is write protect.
>+ @retval EFI_ACCESS_DENIED - The file is read-only.
>+ @retval EFI_DEVICE_ERROR - The OFile is not valid.
>+ @retval EFI_UNSUPPORTED - The open file is not a file.
>+ - The writing file size is larger than 4GB.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatWrite (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT UINTN *BufferSize,
> IN VOID *Buffer
> )
>-/*++
>-
>-Routine Description:
>-
>- Write the content of buffer into files.
>+{
>+ return FatIFileAccess (FHand, WriteData, BufferSize, Buffer, NULL);
>+}
>
>-Arguments:
>+/**
>
>- FHand - The handle of the file.
>- BufferSize - Size of Buffer.
>- Buffer - Buffer containing write data.
>+ Get the file info.
>
>-Returns:
>+ @param FHand - The handle of the file.
>+ @param Token - A pointer to the token associated with the transaction.
>
>- EFI_SUCCESS - Set the file info successfully.
>- EFI_WRITE_PROTECTED - The disk is write protect.
>- EFI_ACCESS_DENIED - The file is read-only.
>- EFI_DEVICE_ERROR - The OFile is not valid.
>- EFI_UNSUPPORTED - The open file is not a file.
>- - The writing file size is larger than 4GB.
>- other - An error occurred when operation the disk.
>-
>---*/
>-{
>- return FatIFileAccess (FHand, WriteData, BufferSize, Buffer, NULL);
>-}
>+ @retval EFI_SUCCESS - Get the file info successfully.
>+ @retval EFI_DEVICE_ERROR - Can not find the OFile for the file.
>+ @retval EFI_VOLUME_CORRUPTED - The file type of open file is error.
>+ @return other - An error occurred when operation the disk.
>
>+**/
> EFI_STATUS
> EFIAPI
> FatWriteEx (
> IN EFI_FILE_PROTOCOL *FHand,
> IN OUT EFI_FILE_IO_TOKEN *Token
> )
>-/*++
>-
>-Routine Description:
>-
>- Get the file info.
>-
>-Arguments:
>+{
>+ return FatIFileAccess (FHand, WriteData, &Token->BufferSize, Token->Buffer, Token);
>+}
>
>- FHand - The handle of the file.
>- Token - A pointer to the token associated with the transaction.
>+/**
>
>-Returns:
>+ This function reads data from a file or writes data to a file.
>+ It uses OFile->PosRem to determine how much data can be accessed in one time.
>
>- EFI_SUCCESS - Get the file info successfully.
>- EFI_DEVICE_ERROR - Can not find the OFile for the file.
>- EFI_VOLUME_CORRUPTED - The file type of open file is error.
>- other - An error occurred when operation the disk.
>+ @param OFile - The open file.
>+ @param IoMode - Indicate whether the access mode is reading or writing.
>+ @param Position - The position where data will be accessed.
>+ @param DataBufferSize - Size of Buffer.
>+ @param UserBuffer - Buffer containing data.
>+ @param Task point to task instance.
>
>---*/
>-{
>- return FatIFileAccess (FHand, WriteData, &Token->BufferSize, Token->Buffer, Token);
>-}
>+ @retval EFI_SUCCESS - Access the data successfully.
>+ @return other - An error occurred when operating on the disk.
>
>+**/
> EFI_STATUS
> FatAccessOFile (
> IN FAT_OFILE *OFile,
> IN IO_MODE IoMode,
> IN UINTN Position,
> IN OUT UINTN *DataBufferSize,
> IN OUT UINT8 *UserBuffer,
> IN FAT_TASK *Task
> )
>-/*++
>-
>-Routine Description:
>-
>- This function reads data from a file or writes data to a file.
>- It uses OFile->PosRem to determine how much data can be accessed in one time.
>-
>-Arguments:
>-
>- OFile - The open file.
>- IoMode - Indicate whether the access mode is reading or writing.
>- Position - The position where data will be accessed.
>- DataBufferSize - Size of Buffer.
>- UserBuffer - Buffer containing data.
>-
>-Returns:
>-
>- EFI_SUCCESS - Access the data successfully.
>- other - An error occurred when operating on the disk.
>-
>---*/
> {
> FAT_VOLUME *Volume;
> UINTN Len;
> EFI_STATUS Status;
> UINTN BufferSize;
>@@ -577,32 +517,26 @@ Returns:
> //
> *DataBufferSize -= BufferSize;
> return Status;
> }
>
>-EFI_STATUS
>-FatExpandOFile (
>- IN FAT_OFILE *OFile,
>- IN UINT64 ExpandedSize
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Expand OFile by appending zero bytes at the end of OFile.
>
>-Arguments:
>-
>- OFile - The open file.
>- ExpandedSize - The number of zero bytes appended at the end of the file.
>+ @param OFile - The open file.
>+ @param ExpandedSize - The number of zero bytes appended at the end of the file.
>
>-Returns:
>+ @retval EFI_SUCCESS - The file is expanded successfully.
>+ @return other - An error occurred when expanding file.
>
>- EFI_SUCCESS - The file is expanded successfully.
>- other - An error occurred when expanding file.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatExpandOFile (
>+ IN FAT_OFILE *OFile,
>+ IN UINT64 ExpandedSize
>+ )
> {
> EFI_STATUS Status;
> UINTN WritePos;
>
> WritePos = OFile->FileSize;
>@@ -612,33 +546,27 @@ Returns:
> }
>
> return Status;
> }
>
>-EFI_STATUS
>-FatWriteZeroPool (
>- IN FAT_OFILE *OFile,
>- IN UINTN WritePos
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Write zero pool from the WritePos to the end of OFile.
>
>-Arguments:
>-
>- OFile - The open file to write zero pool.
>- WritePos - The number of zero bytes written.
>-
>-Returns:
>+ @param OFile - The open file to write zero pool.
>+ @param WritePos - The number of zero bytes written.
>
>- EFI_SUCCESS - Write the zero pool successfully.
>- EFI_OUT_OF_RESOURCES - Not enough memory to perform the operation.
>- other - An error occurred when writing disk.
>+ @retval EFI_SUCCESS - Write the zero pool successfully.
>+ @retval EFI_OUT_OF_RESOURCES - Not enough memory to perform the operation.
>+ @return other - An error occurred when writing disk.
>
>---*/
>+**/
>+EFI_STATUS
>+FatWriteZeroPool (
>+ IN FAT_OFILE *OFile,
>+ IN UINTN WritePos
>+ )
> {
> EFI_STATUS Status;
> VOID *ZeroBuffer;
> UINTN AppendedSize;
> UINTN BufferSize;
>@@ -674,31 +602,25 @@ Returns:
>
> FreePool (ZeroBuffer);
> return Status;
> }
>
>-EFI_STATUS
>-FatTruncateOFile (
>- IN FAT_OFILE *OFile,
>- IN UINTN TruncatedSize
>- )
>-/*++
>-
>-Routine Description:
>+/**
>
> Truncate the OFile to smaller file size.
>
>-Arguments:
>-
>- OFile - The open file.
>- TruncatedSize - The new file size.
>+ @param OFile - The open file.
>+ @param TruncatedSize - The new file size.
>
>-Returns:
>+ @retval EFI_SUCCESS - The file is truncated successfully.
>+ @return other - An error occurred when truncating file.
>
>- EFI_SUCCESS - The file is truncated successfully.
>- other - An error occurred when truncating file.
>-
>---*/
>+**/
>+EFI_STATUS
>+FatTruncateOFile (
>+ IN FAT_OFILE *OFile,
>+ IN UINTN TruncatedSize
>+ )
> {
> OFile->FileSize = TruncatedSize;
> return FatShrinkEof (OFile);
> }
>diff --git a/FatPkg/EnhancedFatDxe/UnicodeCollation.c b/FatPkg/EnhancedFatDxe/UnicodeCollation.c
>index 61b9aab..b240a93 100644
>--- a/FatPkg/EnhancedFatDxe/UnicodeCollation.c
>+++ b/FatPkg/EnhancedFatDxe/UnicodeCollation.c
>@@ -187,13 +187,12 @@ FatStriCmp (
>
>
> /**
> Uppercase a string.
>
>- @param Str The string which will be upper-cased.
>+ @param String The string which will be upper-cased.
>
>- @return None.
>
> **/
> VOID
> FatStrUpr (
> IN OUT CHAR16 *String
>@@ -207,13 +206,12 @@ FatStrUpr (
>
>
> /**
> Lowercase a string
>
>- @param Str The string which will be lower-cased.
>+ @param String The string which will be lower-cased.
>
>- @return None
>
> **/
> VOID
> FatStrLwr (
> IN OUT CHAR16 *String
>--
>1.9.5.msysgit.1
next prev parent reply other threads:[~2016-12-09 1:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-08 10:54 [patch 0/8] FatPkg: Fix coding style issues Dandan Bi
2016-12-08 10:54 ` [patch 1/8] FatPkg\EnhancedFatDxe: Avoid Non-Boolean type uses as Boolean Dandan Bi
2016-12-09 1:14 ` Ni, Ruiyu
2016-12-08 10:54 ` [patch 2/8] FatPkg\EnhancedFatDxe: Initialize variable after declaration Dandan Bi
2016-12-08 17:27 ` Kurt Kennett
2016-12-08 23:11 ` Andrew Fish
2016-12-20 23:26 ` Brian J. Johnson
2016-12-08 23:47 ` Yao, Jiewen
2016-12-09 0:26 ` Kurt Kennett
2016-12-09 0:36 ` Andrew Fish
2016-12-09 0:40 ` Yao, Jiewen
2016-12-09 16:32 ` Kurt Kennett
2016-12-09 0:40 ` Kurt Kennett
2016-12-09 0:57 ` Ni, Ruiyu
2016-12-09 1:18 ` Bi, Dandan
2016-12-08 10:54 ` [patch 3/8] FatPkg\EnhancedFatDxe: Make function prototype align with definition Dandan Bi
2016-12-09 1:13 ` Ni, Ruiyu
2016-12-08 10:54 ` [patch 4/8] FatPkg\EnhancedFatDxe: Make the variable name follow rule Dandan Bi
2016-12-09 1:12 ` Ni, Ruiyu
2016-12-08 10:54 ` [patch 5/8] FatPkg\EnhancedFatDxe: Use typedef for complex type Dandan Bi
2016-12-09 1:11 ` Ni, Ruiyu
2016-12-08 10:54 ` [patch 6/8] FatPkg\EnhancedFatDxe: Make the comments align with EDKII coding style Dandan Bi
2016-12-09 1:10 ` Ni, Ruiyu [this message]
2016-12-08 10:54 ` [patch 7/8] FatPkg\EnhancedFatDxe: Add comments for functions Dandan Bi
2016-12-09 1:10 ` Ni, Ruiyu
2016-12-08 10:54 ` [patch 8/8] FatPkg: Fix format issues in dec/inf/dsc files Dandan Bi
2016-12-09 1:09 ` Ni, Ruiyu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=734D49CCEBEEF84792F5B80ED585239D58EAFAF1@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox