]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FatPkg/EnhancedFatDxe/ReadWrite.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / FatPkg / EnhancedFatDxe / ReadWrite.c
index 4621817c93d2562490142c6b3a7502f8d4be8cce..8f525044d1f147e2cec8e62f20d0f289623b26e6 100644 (file)
@@ -1,56 +1,36 @@
-/*++\r
+/** @file\r
+  Functions that perform file read/write.\r
 \r
-Copyright (c) 2005 - 2013, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials are licensed and made available\r
-under the terms and conditions of the BSD License which accompanies this\r
-distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
+Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
+**/\r
 \r
-Module Name:\r
+#include "Fat.h"\r
 \r
-  ReadWrite.c\r
+/**\r
 \r
-Abstract:\r
+  Get the file's position of the file.\r
 \r
-  Functions that perform file read/write\r
 \r
-Revision History\r
+  @param  FHand                 - The handle of file.\r
+  @param  Position              - The file's position of the file.\r
 \r
---*/\r
-\r
-#include "Fat.h"\r
+  @retval EFI_SUCCESS           - Get the info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_UNSUPPORTED       - The open file is not a file.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatGetPosition (\r
-  IN  EFI_FILE_PROTOCOL *FHand,\r
-  OUT UINT64            *Position\r
+  IN  EFI_FILE_PROTOCOL  *FHand,\r
+  OUT UINT64             *Position\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get the file's position of the file.\r
-\r
-Arguments:\r
-\r
-  FHand                 - The handle of file.\r
-  Position              - The file's position of the file.\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS           - Get the info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_UNSUPPORTED       - The open file is not a file.\r
-\r
---*/\r
 {\r
-  FAT_IFILE *IFile;\r
-  FAT_OFILE *OFile;\r
+  FAT_IFILE  *IFile;\r
+  FAT_OFILE  *OFile;\r
 \r
   IFile = IFILE_FROM_FHAND (FHand);\r
   OFile = IFile->OFile;\r
@@ -67,33 +47,27 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Set the file's position of the file.\r
+\r
+  @param  FHand                 - The handle of file.\r
+  @param  Position              - The file's position of the file.\r
+\r
+  @retval EFI_SUCCESS           - Set the info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_UNSUPPORTED       - Set a directory with a not-zero position.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatSetPosition (\r
   IN EFI_FILE_PROTOCOL  *FHand,\r
   IN UINT64             Position\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Set the file's position of the file.\r
-\r
-Arguments:\r
-\r
-  FHand                 - The handle of file.\r
-  Position              - The file's position of the file.\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS           - Set the info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_UNSUPPORTED       - Set a directory with a not-zero position.\r
-\r
---*/\r
 {\r
-  FAT_IFILE *IFile;\r
-  FAT_OFILE *OFile;\r
+  FAT_IFILE  *IFile;\r
+  FAT_OFILE  *OFile;\r
 \r
   IFile = IFILE_FROM_FHAND (FHand);\r
   OFile = IFile->OFile;\r
@@ -117,12 +91,14 @@ Returns:
 \r
     FatResetODirCursor (OFile);\r
   }\r
+\r
   //\r
   // Set the position\r
   //\r
   if (Position == (UINT64)-1) {\r
     Position = OFile->FileSize;\r
   }\r
+\r
   //\r
   // Set the position\r
   //\r
@@ -130,30 +106,24 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_STATUS\r
-FatIFileReadDir (\r
-  IN     FAT_IFILE              *IFile,\r
-  IN OUT UINTN                  *BufferSize,\r
-     OUT VOID                   *Buffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Get the file info from the open file of the IFile into Buffer.\r
 \r
-Arguments:\r
-\r
-  IFile                 - The instance of the open file.\r
-  BufferSize            - Size of Buffer.\r
-  Buffer                - Buffer containing read data.\r
-\r
-Returns:\r
+  @param  IFile                 - The instance of the open file.\r
+  @param  BufferSize            - Size of Buffer.\r
+  @param  Buffer                - Buffer containing read data.\r
 \r
-  EFI_SUCCESS           - Get the file info successfully.\r
-  other                 - An error occurred when operation the disk.\r
+  @retval EFI_SUCCESS           - Get the file info successfully.\r
+  @retval other                 - An error occurred when operation the disk.\r
 \r
---*/\r
+**/\r
+EFI_STATUS\r
+FatIFileReadDir (\r
+  IN     FAT_IFILE  *IFile,\r
+  IN OUT UINTN      *BufferSize,\r
+  OUT VOID          *Buffer\r
+  )\r
 {\r
   EFI_STATUS  Status;\r
   FAT_OFILE   *OFile;\r
@@ -161,9 +131,9 @@ Returns:
   FAT_DIRENT  *DirEnt;\r
   UINT32      CurrentPos;\r
 \r
-  OFile       = IFile->OFile;\r
-  ODir        = OFile->ODir;\r
-  CurrentPos  = ((UINT32) IFile->Position) / sizeof (FAT_DIRECTORY_ENTRY);\r
+  OFile      = IFile->OFile;\r
+  ODir       = OFile->ODir;\r
+  CurrentPos = ((UINT32)IFile->Position) / sizeof (FAT_DIRECTORY_ENTRY);\r
 \r
   //\r
   // We need to relocate the directory\r
@@ -174,12 +144,13 @@ Returns:
     //\r
     FatResetODirCursor (OFile);\r
   }\r
+\r
   //\r
   // We seek the next directory entry's position\r
   //\r
   do {\r
     Status = FatGetNextDirEnt (OFile, &DirEnt);\r
-    if (EFI_ERROR (Status) || DirEnt == NULL) {\r
+    if (EFI_ERROR (Status) || (DirEnt == NULL)) {\r
       //\r
       // Something error occurred or reach the end of directory,\r
       // return 0 buffersize\r
@@ -188,6 +159,7 @@ Returns:
       goto Done;\r
     }\r
   } while (ODir->CurrentPos <= CurrentPos);\r
+\r
   Status = FatGetDirEntInfo (OFile->Volume, DirEnt, BufferSize, Buffer);\r
 \r
 Done:\r
@@ -199,44 +171,38 @@ Done:
     // Update IFile->Position, if everything is all right\r
     //\r
     CurrentPos      = ODir->CurrentPos;\r
-    IFile->Position = (UINT64) (CurrentPos * sizeof (FAT_DIRECTORY_ENTRY));\r
+    IFile->Position = CurrentPos * sizeof (FAT_DIRECTORY_ENTRY);\r
   }\r
 \r
   return Status;\r
 }\r
 \r
-EFI_STATUS\r
-FatIFileAccess (\r
-  IN     EFI_FILE_PROTOCOL     *FHand,\r
-  IN     IO_MODE               IoMode,\r
-  IN OUT UINTN                 *BufferSize,\r
-  IN OUT VOID                  *Buffer,\r
-  IN     EFI_FILE_IO_TOKEN     *Token\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Get the file info from the open file of the IFile into Buffer.\r
 \r
-Arguments:\r
+  @param FHand                 - The file handle to access.\r
+  @param  IoMode                - Indicate whether the access mode is reading or writing.\r
+  @param  BufferSize            - Size of Buffer.\r
+  @param  Buffer                - Buffer containing read data.\r
+  @param  Token                 - A pointer to the token associated with the transaction.\r
 \r
-  FHand                 - The file handle to access.\r
-  IoMode                - Indicate whether the access mode is reading or writing.\r
-  BufferSize            - Size of Buffer.\r
-  Buffer                - Buffer containing read data.\r
-  Token                 - A pointer to the token associated with the transaction.\r
+  @retval EFI_SUCCESS           - Get the file info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
+  @retval EFI_WRITE_PROTECTED   - The disk is write protect.\r
+  @retval EFI_ACCESS_DENIED     - The file is read-only.\r
+  @return other                 - An error occurred when operating on the disk.\r
 \r
-Returns:\r
-\r
-  EFI_SUCCESS           - Get the file info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
-  EFI_WRITE_PROTECTED   - The disk is write protect.\r
-  EFI_ACCESS_DENIED     - The file is read-only.\r
-  other                 - An error occurred when operating on the disk.\r
-\r
---*/\r
+**/\r
+EFI_STATUS\r
+FatIFileAccess (\r
+  IN     EFI_FILE_PROTOCOL  *FHand,\r
+  IN     IO_MODE            IoMode,\r
+  IN OUT UINTN              *BufferSize,\r
+  IN OUT VOID               *Buffer,\r
+  IN     EFI_FILE_IO_TOKEN  *Token\r
+  )\r
 {\r
   EFI_STATUS  Status;\r
   FAT_IFILE   *IFile;\r
@@ -250,11 +216,18 @@ Returns:
   Volume = OFile->Volume;\r
   Task   = NULL;\r
 \r
+  //\r
+  // Write to a directory is unsupported\r
+  //\r
+  if ((OFile->ODir != NULL) && (IoMode == WriteData)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   if (OFile->Error == EFI_NOT_FOUND) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  if (IoMode == READ_DATA) {\r
+  if (IoMode == ReadData) {\r
     //\r
     // If position is at EOF, then return device error\r
     //\r
@@ -284,6 +257,7 @@ Returns:
     if (FHand->Revision < EFI_FILE_PROTOCOL_REVISION2) {\r
       return EFI_UNSUPPORTED;\r
     }\r
+\r
     Task = FatCreateTask (IFile, Token);\r
     if (Task == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
@@ -296,17 +270,11 @@ Returns:
   if (!EFI_ERROR (Status)) {\r
     if (OFile->ODir != NULL) {\r
       //\r
-      // Access a directory\r
+      // Read a directory is supported\r
       //\r
-      Status = EFI_UNSUPPORTED;\r
-      if (IoMode == READ_DATA) {\r
-        //\r
-        // Read a directory is supported\r
-        //\r
-        Status = FatIFileReadDir (IFile, BufferSize, Buffer);\r
-      }\r
-\r
-      OFile = NULL;\r
+      ASSERT (IoMode == ReadData);\r
+      Status = FatIFileReadDir (IFile, BufferSize, Buffer);\r
+      OFile  = NULL;\r
     } else {\r
       //\r
       // Access a file\r
@@ -316,11 +284,11 @@ Returns:
         //\r
         // The position goes beyond the end of file\r
         //\r
-        if (IoMode == READ_DATA) {\r
+        if (IoMode == ReadData) {\r
           //\r
           // Adjust the actual size read\r
           //\r
-          *BufferSize -= (UINTN) EndPosition - OFile->FileSize;\r
+          *BufferSize -= (UINTN)EndPosition - OFile->FileSize;\r
         } else {\r
           //\r
           // We expand the file size of OFile\r
@@ -341,7 +309,7 @@ Returns:
         }\r
       }\r
 \r
-      Status = FatAccessOFile (OFile, IoMode, (UINTN) IFile->Position, BufferSize, Buffer, Task);\r
+      Status           = FatAccessOFile (OFile, IoMode, (UINTN)IFile->Position, BufferSize, Buffer, Task);\r
       IFile->Position += *BufferSize;\r
     }\r
   }\r
@@ -372,66 +340,72 @@ Done:
   return Status;\r
 }\r
 \r
+/**\r
+\r
+  Get the file info.\r
+\r
+  @param  FHand                 - The handle of the file.\r
+  @param  BufferSize            - Size of Buffer.\r
+  @param  Buffer                - Buffer containing read data.\r
+\r
+\r
+  @retval EFI_SUCCESS           - Get the file info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
+  @return other                 - An error occurred when operation the disk.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatRead (\r
   IN     EFI_FILE_PROTOCOL  *FHand,\r
   IN OUT UINTN              *BufferSize,\r
-     OUT VOID               *Buffer\r
+  OUT VOID                  *Buffer\r
   )\r
-/*++\r
+{\r
+  return FatIFileAccess (FHand, ReadData, BufferSize, Buffer, NULL);\r
+}\r
 \r
-Routine Description:\r
+/**\r
 \r
   Get the file info.\r
 \r
-Arguments:\r
-\r
-  FHand                 - The handle of the file.\r
-  BufferSize            - Size of Buffer.\r
-  Buffer                - Buffer containing read data.\r
-\r
-Returns:\r
+  @param  FHand                 - The handle of the file.\r
+  @param  Token                 - A pointer to the token associated with the transaction.\r
 \r
-  EFI_SUCCESS           - Get the file info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
-  other                 - An error occurred when operation the disk.\r
-\r
---*/\r
-{\r
-  return FatIFileAccess (FHand, READ_DATA, BufferSize, Buffer, NULL);\r
-}\r
+  @retval EFI_SUCCESS           - Get the file info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
+  @return other                 - An error occurred when operation the disk.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatReadEx (\r
   IN     EFI_FILE_PROTOCOL  *FHand,\r
   IN OUT EFI_FILE_IO_TOKEN  *Token\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get the file info.\r
-\r
-Arguments:\r
+{\r
+  return FatIFileAccess (FHand, ReadData, &Token->BufferSize, Token->Buffer, Token);\r
+}\r
 \r
-  FHand                 - The handle of the file.\r
-  Token                 - A pointer to the token associated with the transaction.\r
+/**\r
 \r
-Returns:\r
+  Write the content of buffer into files.\r
 \r
-  EFI_SUCCESS           - Get the file info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
-  other                 - An error occurred when operation the disk.\r
+  @param  FHand                 - The handle of the file.\r
+  @param  BufferSize            - Size of Buffer.\r
+  @param  Buffer                - Buffer containing write data.\r
 \r
---*/\r
-{\r
-  return FatIFileAccess (FHand, READ_DATA, &Token->BufferSize, Token->Buffer, Token);\r
-}\r
+  @retval EFI_SUCCESS           - Set the file info successfully.\r
+  @retval EFI_WRITE_PROTECTED   - The disk is write protect.\r
+  @retval EFI_ACCESS_DENIED     - The file is read-only.\r
+  @retval EFI_DEVICE_ERROR      - The OFile is not valid.\r
+  @retval EFI_UNSUPPORTED       - The open file is not a file.\r
+                        - The writing file size is larger than 4GB.\r
+  @return other                 - An error occurred when operation the disk.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatWrite (\r
@@ -439,100 +413,66 @@ FatWrite (
   IN OUT UINTN              *BufferSize,\r
   IN     VOID               *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Write the content of buffer into files.\r
-\r
-Arguments:\r
+{\r
+  return FatIFileAccess (FHand, WriteData, BufferSize, Buffer, NULL);\r
+}\r
 \r
-  FHand                 - The handle of the file.\r
-  BufferSize            - Size of Buffer.\r
-  Buffer                - Buffer containing write data.\r
+/**\r
 \r
-Returns:\r
+  Get the file info.\r
 \r
-  EFI_SUCCESS           - Set the file info successfully.\r
-  EFI_WRITE_PROTECTED   - The disk is write protect.\r
-  EFI_ACCESS_DENIED     - The file is read-only.\r
-  EFI_DEVICE_ERROR      - The OFile is not valid.\r
-  EFI_UNSUPPORTED       - The open file is not a file.\r
-                        - The writing file size is larger than 4GB.\r
-  other                 - An error occurred when operation the disk.\r
+  @param  FHand                 - The handle of the file.\r
+  @param  Token                 - A pointer to the token associated with the transaction.\r
 \r
---*/\r
-{\r
-  return FatIFileAccess (FHand, WRITE_DATA, BufferSize, Buffer, NULL);\r
-}\r
+  @retval EFI_SUCCESS           - Get the file info successfully.\r
+  @retval EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
+  @retval EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
+  @return other                 - An error occurred when operation the disk.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 FatWriteEx (\r
   IN     EFI_FILE_PROTOCOL  *FHand,\r
   IN OUT EFI_FILE_IO_TOKEN  *Token\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get the file info.\r
-\r
-Arguments:\r
-\r
-  FHand                 - The handle of the file.\r
-  Token                 - A pointer to the token associated with the transaction.\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS           - Get the file info successfully.\r
-  EFI_DEVICE_ERROR      - Can not find the OFile for the file.\r
-  EFI_VOLUME_CORRUPTED  - The file type of open file is error.\r
-  other                 - An error occurred when operation the disk.\r
-\r
---*/\r
 {\r
-  return FatIFileAccess (FHand, WRITE_DATA, &Token->BufferSize, Token->Buffer, Token);\r
+  return FatIFileAccess (FHand, WriteData, &Token->BufferSize, Token->Buffer, Token);\r
 }\r
 \r
-EFI_STATUS\r
-FatAccessOFile (\r
-  IN     FAT_OFILE      *OFile,\r
-  IN     IO_MODE        IoMode,\r
-  IN     UINTN          Position,\r
-  IN OUT UINTN          *DataBufferSize,\r
-  IN OUT UINT8          *UserBuffer,\r
-  IN FAT_TASK           *Task\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   This function reads data from a file or writes data to a file.\r
   It uses OFile->PosRem to determine how much data can be accessed in one time.\r
 \r
-Arguments:\r
-\r
-  OFile                 - The open file.\r
-  IoMode                - Indicate whether the access mode is reading or writing.\r
-  Position              - The position where data will be accessed.\r
-  DataBufferSize        - Size of Buffer.\r
-  UserBuffer            - Buffer containing data.\r
-\r
-Returns:\r
+  @param  OFile                 - The open file.\r
+  @param  IoMode                - Indicate whether the access mode is reading or writing.\r
+  @param  Position              - The position where data will be accessed.\r
+  @param  DataBufferSize        - Size of Buffer.\r
+  @param  UserBuffer            - Buffer containing data.\r
+  @param  Task                    point to task instance.\r
 \r
-  EFI_SUCCESS           - Access the data successfully.\r
-  other                 - An error occurred when operating on the disk.\r
+  @retval EFI_SUCCESS           - Access the data successfully.\r
+  @return other                 - An error occurred when operating on the disk.\r
 \r
---*/\r
+**/\r
+EFI_STATUS\r
+FatAccessOFile (\r
+  IN     FAT_OFILE  *OFile,\r
+  IN     IO_MODE    IoMode,\r
+  IN     UINTN      Position,\r
+  IN OUT UINTN      *DataBufferSize,\r
+  IN OUT UINT8      *UserBuffer,\r
+  IN FAT_TASK       *Task\r
+  )\r
 {\r
   FAT_VOLUME  *Volume;\r
   UINTN       Len;\r
   EFI_STATUS  Status;\r
   UINTN       BufferSize;\r
 \r
-  BufferSize  = *DataBufferSize;\r
-  Volume      = OFile->Volume;\r
+  BufferSize = *DataBufferSize;\r
+  Volume     = OFile->Volume;\r
   ASSERT_VOLUME_LOCKED (Volume);\r
 \r
   Status = EFI_SUCCESS;\r
@@ -544,6 +484,7 @@ Returns:
     if (EFI_ERROR (Status)) {\r
       break;\r
     }\r
+\r
     //\r
     // Clip length to block run\r
     //\r
@@ -556,21 +497,24 @@ Returns:
     if (EFI_ERROR (Status)) {\r
       break;\r
     }\r
+\r
     //\r
     // Data was successfully accessed\r
     //\r
     Position   += Len;\r
     UserBuffer += Len;\r
     BufferSize -= Len;\r
-    if (IoMode == WRITE_DATA) {\r
-      OFile->Dirty    = TRUE;\r
-      OFile->Archive  = TRUE;\r
+    if (IoMode == WriteData) {\r
+      OFile->Dirty   = TRUE;\r
+      OFile->Archive = TRUE;\r
     }\r
+\r
     //\r
     // Make sure no outbound occurred\r
     //\r
     ASSERT (Position <= OFile->FileSize);\r
   }\r
+\r
   //\r
   // Update the number of bytes accessed\r
   //\r
@@ -578,34 +522,28 @@ Returns:
   return Status;\r
 }\r
 \r
-EFI_STATUS\r
-FatExpandOFile (\r
-  IN FAT_OFILE          *OFile,\r
-  IN UINT64             ExpandedSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Expand OFile by appending zero bytes at the end of OFile.\r
 \r
-Arguments:\r
-\r
-  OFile                 - The open file.\r
-  ExpandedSize          - The number of zero bytes appended at the end of the file.\r
-\r
-Returns:\r
+  @param  OFile                 - The open file.\r
+  @param  ExpandedSize          - The number of zero bytes appended at the end of the file.\r
 \r
-  EFI_SUCCESS           - The file is expanded successfully.\r
-  other                 - An error occurred when expanding file.\r
+  @retval EFI_SUCCESS           - The file is expanded successfully.\r
+  @return other                 - An error occurred when expanding file.\r
 \r
---*/\r
+**/\r
+EFI_STATUS\r
+FatExpandOFile (\r
+  IN FAT_OFILE  *OFile,\r
+  IN UINT64     ExpandedSize\r
+  )\r
 {\r
   EFI_STATUS  Status;\r
   UINTN       WritePos;\r
 \r
-  WritePos  = OFile->FileSize;\r
-  Status    = FatGrowEof (OFile, ExpandedSize);\r
+  WritePos = OFile->FileSize;\r
+  Status   = FatGrowEof (OFile, ExpandedSize);\r
   if (!EFI_ERROR (Status)) {\r
     Status = FatWriteZeroPool (OFile, WritePos);\r
   }\r
@@ -613,29 +551,23 @@ Returns:
   return Status;\r
 }\r
 \r
-EFI_STATUS\r
-FatWriteZeroPool (\r
-  IN FAT_OFILE  *OFile,\r
-  IN UINTN      WritePos\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Write zero pool from the WritePos to the end of OFile.\r
 \r
-Arguments:\r
-\r
-  OFile                 - The open file to write zero pool.\r
-  WritePos              - The number of zero bytes written.\r
-\r
-Returns:\r
+  @param  OFile                 - The open file to write zero pool.\r
+  @param  WritePos              - The number of zero bytes written.\r
 \r
-  EFI_SUCCESS           - Write the zero pool successfully.\r
-  EFI_OUT_OF_RESOURCES  - Not enough memory to perform the operation.\r
-  other                 - An error occurred when writing disk.\r
+  @retval EFI_SUCCESS           - Write the zero pool successfully.\r
+  @retval EFI_OUT_OF_RESOURCES  - Not enough memory to perform the operation.\r
+  @return other                 - An error occurred when writing disk.\r
 \r
---*/\r
+**/\r
+EFI_STATUS\r
+FatWriteZeroPool (\r
+  IN FAT_OFILE  *OFile,\r
+  IN UINTN      WritePos\r
+  )\r
 {\r
   EFI_STATUS  Status;\r
   VOID        *ZeroBuffer;\r
@@ -643,8 +575,8 @@ Returns:
   UINTN       BufferSize;\r
   UINTN       WriteSize;\r
 \r
-  AppendedSize  = OFile->FileSize - WritePos;\r
-  BufferSize    = AppendedSize;\r
+  AppendedSize = OFile->FileSize - WritePos;\r
+  BufferSize   = AppendedSize;\r
   if (AppendedSize > FAT_MAX_ALLOCATE_SIZE) {\r
     //\r
     // If the appended size is larger, maybe we can not allocate the whole\r
@@ -661,9 +593,9 @@ Returns:
   }\r
 \r
   do {\r
-    WriteSize     = AppendedSize > BufferSize ? BufferSize : (UINTN) AppendedSize;\r
+    WriteSize     = AppendedSize > BufferSize ? BufferSize : (UINTN)AppendedSize;\r
     AppendedSize -= WriteSize;\r
-    Status = FatAccessOFile (OFile, WRITE_DATA, WritePos, &WriteSize, ZeroBuffer, NULL);\r
+    Status        = FatAccessOFile (OFile, WriteData, WritePos, &WriteSize, ZeroBuffer, NULL);\r
     if (EFI_ERROR (Status)) {\r
       break;\r
     }\r
@@ -675,28 +607,22 @@ Returns:
   return Status;\r
 }\r
 \r
-EFI_STATUS\r
-FatTruncateOFile (\r
-  IN FAT_OFILE          *OFile,\r
-  IN UINTN              TruncatedSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
   Truncate the OFile to smaller file size.\r
 \r
-Arguments:\r
-\r
-  OFile                 - The open file.\r
-  TruncatedSize         - The new file size.\r
-\r
-Returns:\r
+  @param  OFile                 - The open file.\r
+  @param  TruncatedSize         - The new file size.\r
 \r
-  EFI_SUCCESS           - The file is truncated successfully.\r
-  other                 - An error occurred when truncating file.\r
+  @retval EFI_SUCCESS           - The file is truncated successfully.\r
+  @return other                 - An error occurred when truncating file.\r
 \r
---*/\r
+**/\r
+EFI_STATUS\r
+FatTruncateOFile (\r
+  IN FAT_OFILE  *OFile,\r
+  IN UINTN      TruncatedSize\r
+  )\r
 {\r
   OFile->FileSize = TruncatedSize;\r
   return FatShrinkEof (OFile);\r