Files
system76-edk2/FmpDevicePkg/FmpDxe/Dependency.h
GuoMinJ 466b877f43 FmpDevicePkg/FmpDxe: Issues reported by ECC in EDK2.
https://bugzilla.tianocore.org/show_bug.cgi?id=2515

Change the FmpDevicePkg to match the ECC check rule

Signed-off-by: GuoMinJ <newexplorerj@gmail.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2020-02-14 07:27:28 +00:00

64 lines
1.9 KiB
C

/** @file
Fmp Capsule Dependency support functions for Firmware Management Protocol based
firmware updates.
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __DEPENDENCY_H__
#define __DEPENDENCY_H__
#include <Library/UefiLib.h>
#include <Protocol/FirmwareManagement.h>
#define DEPENDENCIES_SATISFIED 0
#define DEPENDENCIES_UNSATISFIED 1
#define DEPENDENCIES_INVALID 2
extern UINT8 mDependenciesCheckStatus;
/**
Validate the dependency expression and output its size.
@param[in] ImageDepex Pointer to the EFI_FIRMWARE_IMAGE_DEP.
@param[in] MaxDepexSize Max size of the dependency.
@param[out] DepexSize Size of dependency.
@retval TRUE The capsule is valid.
@retval FALSE The capsule is invalid.
**/
BOOLEAN
ValidateImageDepex (
IN EFI_FIRMWARE_IMAGE_DEP *ImageDepex,
IN CONST UINTN MaxDepexSize,
OUT UINT32 *DepexSize
);
/**
Check dependency for firmware update.
@param[in] ImageTypeId Image Type Id.
@param[in] Version New version.
@param[in] Dependencies The dependencies.
@param[in] DepexSize Size of the dependencies
@param[out] IsSatisfied Indicate the dependencies is satisfied or not.
@retval EFI_SUCCESS Dependency Evaluation is successful.
@retval Others Dependency Evaluation fails with unexpected error.
**/
EFI_STATUS
EvaluateImageDependencies (
IN CONST EFI_GUID ImageTypeId,
IN CONST UINT32 Version,
IN CONST EFI_FIRMWARE_IMAGE_DEP *Dependencies,
IN CONST UINT32 DepexSize,
OUT BOOLEAN *IsSatisfied
);
#endif