REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			235 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			235 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   A shell application that triggers capsule update process.
 | |
| 
 | |
|   Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _CAPSULE_APP_H_
 | |
| #define _CAPSULE_APP_H_
 | |
| 
 | |
| #include <Uefi.h>
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| #include <Library/MemoryAllocationLib.h>
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| #include <Library/UefiRuntimeServicesTableLib.h>
 | |
| #include <Library/UefiLib.h>
 | |
| #include <Library/PrintLib.h>
 | |
| #include <Library/BmpSupportLib.h>
 | |
| #include <Library/FileHandleLib.h>
 | |
| #include <Library/SortLib.h>
 | |
| #include <Library/UefiBootManagerLib.h>
 | |
| #include <Library/DevicePathLib.h>
 | |
| #include <Protocol/GraphicsOutput.h>
 | |
| #include <Protocol/SimpleFileSystem.h>
 | |
| #include <Protocol/ShellParameters.h>
 | |
| #include <Protocol/Shell.h>
 | |
| #include <Protocol/FirmwareManagement.h>
 | |
| #include <Guid/GlobalVariable.h>
 | |
| #include <Guid/CapsuleReport.h>
 | |
| #include <Guid/SystemResourceTable.h>
 | |
| #include <Guid/FmpCapsule.h>
 | |
| #include <Guid/FileInfo.h>
 | |
| #include <Guid/ImageAuthentication.h>
 | |
| #include <Guid/CapsuleVendor.h>
 | |
| #include <Guid/Gpt.h>
 | |
| #include <IndustryStandard/WindowsUxCapsule.h>
 | |
| 
 | |
| #define CAPSULE_HEADER_SIZE  0x20
 | |
| 
 | |
| #define NESTED_CAPSULE_HEADER_SIZE  SIZE_4KB
 | |
| #define SYSTEM_FIRMWARE_FLAG        0x50000
 | |
| #define DEVICE_FIRMWARE_FLAG        0x78010
 | |
| 
 | |
| #define MAJOR_VERSION  1
 | |
| #define MINOR_VERSION  0
 | |
| 
 | |
| #define MAX_CAPSULE_NUM  10
 | |
| 
 | |
| //
 | |
| // (20 * (6+5+2))+1) unicode characters from EFI FAT spec (doubled for bytes)
 | |
| //
 | |
| #define MAX_FILE_NAME_SIZE  522
 | |
| #define MAX_FILE_NAME_LEN   (MAX_FILE_NAME_SIZE / sizeof(CHAR16))
 | |
| 
 | |
| extern UINTN   Argc;
 | |
| extern CHAR16  **Argv;
 | |
| 
 | |
| /**
 | |
| 
 | |
|   This function parse application ARG.
 | |
| 
 | |
|   @return Status
 | |
| **/
 | |
| EFI_STATUS
 | |
| GetArg (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Get shell protocol.
 | |
| 
 | |
|   @return Pointer to shell protocol.
 | |
| 
 | |
| **/
 | |
| EFI_SHELL_PROTOCOL *
 | |
| GetShellProtocol (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read a file.
 | |
| 
 | |
|   @param[in]  FileName        The file to be read.
 | |
|   @param[out] BufferSize      The file buffer size
 | |
|   @param[out] Buffer          The file buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS    Read file successfully
 | |
|   @retval EFI_NOT_FOUND  Shell protocol or file not found
 | |
|   @retval others         Read file failed
 | |
| **/
 | |
| EFI_STATUS
 | |
| ReadFileToBuffer (
 | |
|   IN  CHAR16  *FileName,
 | |
|   OUT UINTN   *BufferSize,
 | |
|   OUT VOID    **Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Write a file.
 | |
| 
 | |
|   @param[in] FileName        The file to be written.
 | |
|   @param[in] BufferSize      The file buffer size
 | |
|   @param[in] Buffer          The file buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS    Write file successfully
 | |
|   @retval EFI_NOT_FOUND  Shell protocol not found
 | |
|   @retval others         Write file failed
 | |
| **/
 | |
| EFI_STATUS
 | |
| WriteFileFromBuffer (
 | |
|   IN  CHAR16  *FileName,
 | |
|   IN  UINTN   BufferSize,
 | |
|   IN  VOID    *Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump capsule information
 | |
| 
 | |
|   @param[in] CapsuleName  The name of the capsule image.
 | |
| 
 | |
|   @retval EFI_SUCCESS            The capsule information is dumped.
 | |
|   @retval EFI_UNSUPPORTED        Input parameter is not valid.
 | |
| **/
 | |
| EFI_STATUS
 | |
| DumpCapsule (
 | |
|   IN CHAR16  *CapsuleName
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump capsule status variable.
 | |
| 
 | |
|   @retval EFI_SUCCESS            The capsule status variable is dumped.
 | |
|   @retval EFI_UNSUPPORTED        Input parameter is not valid.
 | |
| **/
 | |
| EFI_STATUS
 | |
| DumpCapsuleStatusVariable (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump FMP protocol info.
 | |
| **/
 | |
| VOID
 | |
| DumpFmpData (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump FMP image data.
 | |
| 
 | |
|   @param[in]  ImageTypeId   The ImageTypeId of the FMP image.
 | |
|                             It is used to identify the FMP protocol.
 | |
|   @param[in]  ImageIndex    The ImageIndex of the FMP image.
 | |
|                             It is the input parameter for FMP->GetImage().
 | |
|   @param[in]  ImageName     The file name to hold the output FMP image.
 | |
| **/
 | |
| VOID
 | |
| DumpFmpImage (
 | |
|   IN EFI_GUID  *ImageTypeId,
 | |
|   IN UINTN     ImageIndex,
 | |
|   IN CHAR16    *ImageName
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump ESRT info.
 | |
| **/
 | |
| VOID
 | |
| DumpEsrtData (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump Provisioned Capsule.
 | |
| 
 | |
|   @param[in]  DumpCapsuleInfo  The flag to indicate whether to dump the capsule inforomation.
 | |
| **/
 | |
| VOID
 | |
| DumpProvisionedCapsule (
 | |
|   IN BOOLEAN  DumpCapsuleInfo
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Dump all EFI System Partition.
 | |
| **/
 | |
| VOID
 | |
| DumpAllEfiSysPartition (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Get SimpleFileSystem from boot option file path.
 | |
| 
 | |
|   @param[in]  DevicePath     The file path of boot option
 | |
|   @param[out] FullPath       The full device path of boot device
 | |
|   @param[out] Fs             The file system within EfiSysPartition
 | |
| 
 | |
|   @retval EFI_SUCCESS    Get file system successfully
 | |
|   @retval EFI_NOT_FOUND  No valid file system found
 | |
|   @retval others         Get file system failed
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| GetEfiSysPartitionFromBootOptionFilePath (
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL         *DevicePath,
 | |
|   OUT EFI_DEVICE_PATH_PROTOCOL         **FullPath,
 | |
|   OUT EFI_SIMPLE_FILE_SYSTEM_PROTOCOL  **Fs
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Process Capsule On Disk.
 | |
| 
 | |
|   @param[in]  CapsuleBuffer       An array of pointer to capsule images
 | |
|   @param[in]  CapsuleBufferSize   An array of UINTN to capsule images size
 | |
|   @param[in]  FilePath            An array of capsule images file path
 | |
|   @param[in]  Map                 File system mapping string
 | |
|   @param[in]  CapsuleNum          The count of capsule images
 | |
| 
 | |
|   @retval EFI_SUCCESS       Capsule on disk success.
 | |
|   @retval others            Capsule on disk fail.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| ProcessCapsuleOnDisk (
 | |
|   IN VOID    **CapsuleBuffer,
 | |
|   IN UINTN   *CapsuleBufferSize,
 | |
|   IN CHAR16  **FilePath,
 | |
|   IN CHAR16  *Map,
 | |
|   IN UINTN   CapsuleNum
 | |
|   );
 | |
| 
 | |
| #endif
 |