REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the FmpDevicePkg 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>
		
			
				
	
	
		
			105 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Fmp Capsule Dependency support functions for Firmware Management Protocol based
 | |
|   firmware updates.
 | |
| 
 | |
|   Copyright (c) Microsoft Corporation.<BR>
 | |
|   Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __FMP_DEPENDENCY_LIB__
 | |
| #define __FMP_DEPENDENCY_LIB__
 | |
| 
 | |
| #include <PiDxe.h>
 | |
| #include <Protocol/FirmwareManagement.h>
 | |
| 
 | |
| //
 | |
| // Data struct to store FMP ImageType and version for dependency check.
 | |
| //
 | |
| typedef struct {
 | |
|   EFI_GUID    ImageTypeId;
 | |
|   UINT32      Version;
 | |
| } FMP_DEPEX_CHECK_VERSION_DATA;
 | |
| 
 | |
| /**
 | |
|   Validate the dependency expression and output its size.
 | |
| 
 | |
|   @param[in]   Dependencies       Pointer to the EFI_FIRMWARE_IMAGE_DEP.
 | |
|   @param[in]   MaxDepexSize       Max size of the dependency.
 | |
|   @param[out]  DepexSize          Size of dependency.
 | |
|   @param[out]  LastAttemptStatus  An optional pointer to a UINT32 that holds the
 | |
|                                   last attempt status to report back to the caller.
 | |
|                                   If a last attempt status error code is not returned,
 | |
|                                   this function will not modify the LastAttemptStatus value.
 | |
| 
 | |
|   @retval TRUE    The dependency expression is valid.
 | |
|   @retval FALSE   The dependency expression is invalid.
 | |
| 
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| ValidateDependency (
 | |
|   IN  EFI_FIRMWARE_IMAGE_DEP  *Dependencies,
 | |
|   IN  UINTN                   MaxDepexSize,
 | |
|   OUT UINT32                  *DepexSize,
 | |
|   OUT UINT32                  *LastAttemptStatus OPTIONAL
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Get dependency from firmware image.
 | |
| 
 | |
|   @param[in]  Image               Points to the firmware image.
 | |
|   @param[in]  ImageSize           Size, in bytes, of the firmware image.
 | |
|   @param[out] DepexSize           Size, in bytes, of the dependency.
 | |
|   @param[out] LastAttemptStatus   An optional pointer to a UINT32 that holds the
 | |
|                                   last attempt status to report back to the caller.
 | |
|                                   If a last attempt status error code is not returned,
 | |
|                                   this function will not modify the LastAttemptStatus value.
 | |
|   @retval  The pointer to dependency.
 | |
|   @retval  Null
 | |
| 
 | |
| **/
 | |
| EFI_FIRMWARE_IMAGE_DEP *
 | |
| EFIAPI
 | |
| GetImageDependency (
 | |
|   IN  EFI_FIRMWARE_IMAGE_AUTHENTICATION  *Image,
 | |
|   IN  UINTN                              ImageSize,
 | |
|   OUT UINT32                             *DepexSize,
 | |
|   OUT UINT32                             *LastAttemptStatus  OPTIONAL
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Evaluate the dependencies. The caller must search all the Fmp instances and
 | |
|   gather their versions into FmpVersions parameter. If there is PUSH_GUID opcode
 | |
|   in dependency expression with no FmpVersions provided, the dependency will
 | |
|   evaluate to FALSE.
 | |
| 
 | |
|   @param[in]   Dependencies       Dependency expressions.
 | |
|   @param[in]   DependenciesSize   Size of Dependency expressions.
 | |
|   @param[in]   FmpVersions        Array of Fmp ImageTypeId and version. This
 | |
|                                   parameter is optional and can be set to NULL.
 | |
|   @param[in]   FmpVersionsCount   Element count of the array. When FmpVersions
 | |
|                                   is NULL, FmpVersionsCount must be 0.
 | |
|   @param[out]  LastAttemptStatus  An optional pointer to a UINT32 that holds the
 | |
|                                   last attempt status to report back to the caller.
 | |
|                                   This function will set the value to LAST_ATTEMPT_STATUS_SUCCESS
 | |
|                                   if an error code is not set.
 | |
| 
 | |
|   @retval TRUE    Dependency expressions evaluate to TRUE.
 | |
|   @retval FALSE   Dependency expressions evaluate to FALSE.
 | |
| 
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| EvaluateDependency (
 | |
|   IN  EFI_FIRMWARE_IMAGE_DEP        *Dependencies,
 | |
|   IN  UINTN                         DependenciesSize,
 | |
|   IN  FMP_DEPEX_CHECK_VERSION_DATA  *FmpVersions       OPTIONAL,
 | |
|   IN  UINTN                         FmpVersionsCount,
 | |
|   OUT UINT32                        *LastAttemptStatus OPTIONAL
 | |
|   );
 | |
| 
 | |
| #endif
 |