REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the SignedCapsulePkg 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: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			147 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   EDKII System Capsule library.
 | |
| 
 | |
| Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __EDKII_SYSTEM_CAPSULE_LIB_H__
 | |
| #define __EDKII_SYSTEM_CAPSULE_LIB_H__
 | |
| 
 | |
| #include <Guid/EdkiiSystemFmpCapsule.h>
 | |
| 
 | |
| /**
 | |
|   Extract ImageFmpInfo from system firmware.
 | |
| 
 | |
|   @param[in]  SystemFirmwareImage     The System Firmware image.
 | |
|   @param[in]  SystemFirmwareImageSize The size of the System Firmware image in bytes.
 | |
|   @param[out] ImageFmpInfo            The ImageFmpInfo.
 | |
|   @param[out] ImageFmpInfoSize        The size of the ImageFmpInfo in bytes.
 | |
| 
 | |
|   @retval TRUE  The ImageFmpInfo is extracted.
 | |
|   @retval FALSE The ImageFmpInfo is not extracted.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ExtractSystemFirmwareImageFmpInfo (
 | |
|   IN VOID                                     *SystemFirmwareImage,
 | |
|   IN UINTN                                    SystemFirmwareImageSize,
 | |
|   OUT EDKII_SYSTEM_FIRMWARE_IMAGE_DESCRIPTOR  **ImageFmpInfo,
 | |
|   OUT UINTN                                   *ImageFmpInfoSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Extract the driver FV from an authenticated image.
 | |
| 
 | |
|   @param[in]  AuthenticatedImage      The authenticated capsule image.
 | |
|   @param[in]  AuthenticatedImageSize  The size of the authenticated capsule image in bytes.
 | |
|   @param[out] DriverFvImage           The driver FV image.
 | |
|   @param[out] DriverFvImageSize       The size of the driver FV image in bytes.
 | |
| 
 | |
|   @retval TRUE  The driver Fv is extracted.
 | |
|   @retval FALSE The driver Fv is not extracted.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ExtractDriverFvImage (
 | |
|   IN VOID    *AuthenticatedImage,
 | |
|   IN UINTN   AuthenticatedImageSize,
 | |
|   OUT VOID   **DriverFvImage,
 | |
|   OUT UINTN  *DriverFvImageSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Extract the config image from an authenticated image.
 | |
| 
 | |
|   @param[in]  AuthenticatedImage      The authenticated capsule image.
 | |
|   @param[in]  AuthenticatedImageSize  The size of the authenticated capsule image in bytes.
 | |
|   @param[out] ConfigImage             The config image.
 | |
|   @param[out] ConfigImageSize         The size of the config image in bytes.
 | |
| 
 | |
|   @retval TRUE  The config image is extracted.
 | |
|   @retval FALSE The config image is not extracted.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ExtractConfigImage (
 | |
|   IN VOID    *AuthenticatedImage,
 | |
|   IN UINTN   AuthenticatedImageSize,
 | |
|   OUT VOID   **ConfigImage,
 | |
|   OUT UINTN  *ConfigImageSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Extract the System Firmware image from an authenticated image.
 | |
| 
 | |
|   @param[in]  AuthenticatedImage      The authenticated capsule image.
 | |
|   @param[in]  AuthenticatedImageSize  The size of the authenticated capsule image in bytes.
 | |
|   @param[out] SystemFirmwareImage     The System Firmware image.
 | |
|   @param[out] SystemFirmwareImageSize The size of the System Firmware image in bytes.
 | |
| 
 | |
|   @retval TRUE  The System Firmware image is extracted.
 | |
|   @retval FALSE The System Firmware image is not extracted.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ExtractSystemFirmwareImage (
 | |
|   IN VOID    *AuthenticatedImage,
 | |
|   IN UINTN   AuthenticatedImageSize,
 | |
|   OUT VOID   **SystemFirmwareImage,
 | |
|   OUT UINTN  *SystemFirmwareImageSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Extract the authenticated image from an FMP capsule image.
 | |
| 
 | |
|   @param[in]  Image                   The FMP capsule image, including EFI_FIRMWARE_IMAGE_AUTHENTICATION.
 | |
|   @param[in]  ImageSize               The size of FMP capsule image in bytes.
 | |
|   @param[out] LastAttemptStatus       The last attempt status, which will be recorded in ESRT and FMP EFI_FIRMWARE_IMAGE_DESCRIPTOR.
 | |
|   @param[out] AuthenticatedImage      The authenticated capsule image, excluding EFI_FIRMWARE_IMAGE_AUTHENTICATION.
 | |
|   @param[out] AuthenticatedImageSize  The size of the authenticated capsule image in bytes.
 | |
| 
 | |
|   @retval TRUE  The authenticated image is extracted.
 | |
|   @retval FALSE The authenticated image is not extracted.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ExtractAuthenticatedImage (
 | |
|   IN VOID     *Image,
 | |
|   IN UINTN    ImageSize,
 | |
|   OUT UINT32  *LastAttemptStatus,
 | |
|   OUT VOID    **AuthenticatedImage,
 | |
|   OUT UINTN   *AuthenticatedImageSize
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Authenticated system firmware FMP capsule image.
 | |
| 
 | |
|   Caution: This function may receive untrusted input.
 | |
| 
 | |
|   @param[in]  Image                   The FMP capsule image, including EFI_FIRMWARE_IMAGE_AUTHENTICATION.
 | |
|   @param[in]  ImageSize               The size of FMP capsule image in bytes.
 | |
|   @param[in]  ForceVersionMatch       TRUE: The version of capsule must be as same as the version of current image.
 | |
|                                       FALSE: The version of capsule must be as same as greater than the lowest
 | |
|                                              supported version of current image.
 | |
|   @param[out] LastAttemptVersion      The last attempt version, which will be recorded in ESRT and FMP EFI_FIRMWARE_IMAGE_DESCRIPTOR.
 | |
|   @param[out] LastAttemptStatus       The last attempt status, which will be recorded in ESRT and FMP EFI_FIRMWARE_IMAGE_DESCRIPTOR.
 | |
|   @param[out] AuthenticatedImage      The authenticated capsule image, excluding EFI_FIRMWARE_IMAGE_AUTHENTICATION.
 | |
|   @param[out] AuthenticatedImageSize  The size of the authenticated capsule image in bytes.
 | |
| 
 | |
|   @retval TRUE  Authentication passes and the authenticated image is extracted.
 | |
|   @retval FALSE Authentication fails and the authenticated image is not extracted.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| CapsuleAuthenticateSystemFirmware (
 | |
|   IN VOID     *Image,
 | |
|   IN UINTN    ImageSize,
 | |
|   IN BOOLEAN  ForceVersionMatch,
 | |
|   OUT UINT32  *LastAttemptVersion,
 | |
|   OUT UINT32  *LastAttemptStatus,
 | |
|   OUT VOID    **AuthenticatedImage,
 | |
|   OUT UINTN   *AuthenticatedImageSize
 | |
|   );
 | |
| 
 | |
| #endif
 |