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
 |