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
 |