summaryrefslogtreecommitdiff
path: root/FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
blob: c9fc0bb15c90d788a333ff1934fa61178da173f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
## @file
#  Provides FMP Capsule Dependency Expression support.
#
#  This library validates a dependency expression, extracts a dependency
#  expression from a firmware image, and evaluates a dependency expression
#  against the versions of other installed Firmware Management Protocol
#  instances.
#
#  A dependency expression is a byte stream of opcodes, as defined by the
#  FMP capsule dependency format in the UEFI Specification. EvaluateDependency()
#  in this library walks this byte stream and, when it encounters a PUSH_GUID
#  opcode, requires the caller to have supplied the matching FMP instance's
#  ImageTypeId and Version in the FmpVersions array. If a PUSH_GUID opcode refers
#  to an FMP instance that is not present in FmpVersions, the dependency expression
#  evaluates to FALSE.
#
#  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION     = 0x00010005
  BASE_NAME       = FmpDependencyLib
  MODULE_UNI_FILE = FmpDependencyLib.uni
  FILE_GUID       = 67F55EA4-B4CF-4A08-931B-0BBCF1E0F7A3
  MODULE_TYPE     = BASE
  VERSION_STRING  = 1.0
  LIBRARY_CLASS   = FmpDependencyLib

[Sources]
  FmpDependencyLib.c

[Packages]
  MdePkg/MdePkg.dec
  FmpDevicePkg/FmpDevicePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  BaseMemoryLib