]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
MdeModulePkg/CapsuleApp: Enhance Capsule-On-Disk related functions.
[mirror_edk2.git] / MdeModulePkg / Application / CapsuleApp / CapsuleDump.c
index b81c5b7b3afe05549608c7bc7522ba93f0a5da50..58a93568d01350d22744572defa943e0c44eaadc 100644 (file)
@@ -6,98 +6,7 @@
 \r
 **/\r
 \r
-#include <PiDxe.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiRuntimeServicesTableLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/PrintLib.h>\r
-#include <Library/FileHandleLib.h>\r
-#include <Library/SortLib.h>\r
-#include <Library/UefiBootManagerLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Protocol/FirmwareManagement.h>\r
-#include <Protocol/SimpleFileSystem.h>\r
-#include <Protocol/Shell.h>\r
-#include <Guid/ImageAuthentication.h>\r
-#include <Guid/CapsuleReport.h>\r
-#include <Guid/SystemResourceTable.h>\r
-#include <Guid/FmpCapsule.h>\r
-#include <Guid/CapsuleVendor.h>\r
-#include <IndustryStandard/WindowsUxCapsule.h>\r
-\r
-//\r
-// (20 * (6+5+2))+1) unicode characters from EFI FAT spec (doubled for bytes)\r
-//\r
-#define MAX_FILE_NAME_SIZE   522\r
-#define MAX_FILE_NAME_LEN    (MAX_FILE_NAME_SIZE / sizeof(CHAR16))\r
-\r
-/**\r
-  Read a file.\r
-\r
-  @param[in]  FileName        The file to be read.\r
-  @param[out] BufferSize      The file buffer size\r
-  @param[out] Buffer          The file buffer\r
-\r
-  @retval EFI_SUCCESS    Read file successfully\r
-  @retval EFI_NOT_FOUND  File not found\r
-**/\r
-EFI_STATUS\r
-ReadFileToBuffer (\r
-  IN  CHAR16                               *FileName,\r
-  OUT UINTN                                *BufferSize,\r
-  OUT VOID                                 **Buffer\r
-  );\r
-\r
-/**\r
-  Write a file.\r
-\r
-  @param[in] FileName        The file to be written.\r
-  @param[in] BufferSize      The file buffer size\r
-  @param[in] Buffer          The file buffer\r
-\r
-  @retval EFI_SUCCESS    Write file successfully\r
-**/\r
-EFI_STATUS\r
-WriteFileFromBuffer (\r
-  IN  CHAR16                               *FileName,\r
-  IN  UINTN                                BufferSize,\r
-  IN  VOID                                 *Buffer\r
-  );\r
-\r
-/**\r
-  Get shell protocol.\r
-\r
-  @return Pointer to shell protocol.\r
-\r
-**/\r
-EFI_SHELL_PROTOCOL *\r
-GetShellProtocol (\r
-  VOID\r
-  );\r
-\r
-/**\r
-  Get SimpleFileSystem from boot option file path.\r
-\r
-  @param[in]  DevicePath     The file path of boot option\r
-  @param[out] FullPath       The full device path of boot device\r
-  @param[out] Fs             The file system within EfiSysPartition\r
-\r
-  @retval EFI_SUCCESS    Get file system successfully\r
-  @retval EFI_NOT_FOUND  No valid file system found\r
-  @retval others         Get file system failed\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-GetEfiSysPartitionFromBootOptionFilePath (\r
-  IN  EFI_DEVICE_PATH_PROTOCOL         *DevicePath,\r
-  OUT EFI_DEVICE_PATH_PROTOCOL         **FullPath,\r
-  OUT EFI_SIMPLE_FILE_SYSTEM_PROTOCOL  **Fs\r
-  );\r
+#include "CapsuleApp.h"\r
 \r
 /**\r
   Validate if it is valid capsule header\r
@@ -709,7 +618,6 @@ SplitFileNameExtension (
 \r
 **/\r
 INTN\r
-EFIAPI\r
 CompareFileNameInAlphabet (\r
   IN VOID                         *Left,\r
   IN VOID                         *Right\r
@@ -812,8 +720,8 @@ DumpCapsuleFromDisk (
   //\r
   // Get file count first\r
   //\r
+  Status = FileHandleFindFirstFile (DirHandle, &FileInfo);\r
   do {\r
-    Status = FileHandleFindFirstFile (DirHandle, &FileInfo);\r
     if (EFI_ERROR (Status) || FileInfo == NULL) {\r
       Print (L"Get File Info Fail. Status = %r\n", Status);\r
       goto Done;\r
@@ -846,8 +754,8 @@ DumpCapsuleFromDisk (
   //\r
   // Get all file info\r
   //\r
+  Status = FileHandleFindFirstFile (DirHandle, &FileInfo);\r
   do {\r
-    Status = FileHandleFindFirstFile (DirHandle, &FileInfo);\r
     if (EFI_ERROR (Status) || FileInfo == NULL) {\r
       Print (L"Get File Info Fail. Status = %r\n", Status);\r
       goto Done;\r