## @file
#  Provides security service for TPM 2.0 measured boot
#
#  This library instance hooks LoadImage() API to measure every image that 
#  is not measured in PEI phase. And, it will also measure GPT partition.
#
#  Caution: This module requires additional review when modified.
#  This library will have external input - PE/COFF image and GPT partition.
#  This external input must be validated carefully to avoid security issues such 
#  as buffer overflow or integer overflow.
#
# Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeTpm2MeasureBootLib
  MODULE_UNI_FILE                = DxeTpm2MeasureBootLib.uni
  FILE_GUID                      = 778CE4F4-36BD-4ae7-B8F0-10B420B0D174
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER 
  CONSTRUCTOR                    = DxeTpm2MeasureBootLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  DxeTpm2MeasureBootLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  MemoryAllocationLib
  DevicePathLib
  UefiBootServicesTableLib
  BaseCryptLib
  PeCoffLib
  BaseLib
  SecurityManagementLib
  HobLib

[Guids]
  gMeasuredFvHobGuid                    ## SOMETIMES_CONSUMES ## HOB

[Protocols]
  gEfiTcg2ProtocolGuid                  ## SOMETIMES_CONSUMES
  gEfiFirmwareVolumeBlockProtocolGuid   ## SOMETIMES_CONSUMES
  gEfiBlockIoProtocolGuid               ## SOMETIMES_CONSUMES
  gEfiDiskIoProtocolGuid                ## SOMETIMES_CONSUMES