## @file
#  Provides security service for TPM 1.2 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) 2009 - 2018, 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                      = DxeTpmMeasureBootLib
  MODULE_UNI_FILE                = DxeTpmMeasureBootLib.uni
  FILE_GUID                      = 6C60C7D0-922A-4b7c-87D7-E503EDD73BBF
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
  CONSTRUCTOR                    = DxeTpmMeasureBootLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  DxeTpmMeasureBootLib.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]
  gEfiTcgProtocolGuid                   ## SOMETIMES_CONSUMES
  gEfiFirmwareVolumeBlockProtocolGuid   ## SOMETIMES_CONSUMES
  gEfiBlockIoProtocolGuid               ## SOMETIMES_CONSUMES
  gEfiDiskIoProtocolGuid                ## SOMETIMES_CONSUMES

