## @file
#  SMM report status code library
#
#  Retrieve status code and report status code in SMM phase
#  Copyright (c) 2009 - 2010, Intel Corporation.
#
#  All rights reserved. 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                      = SmmReportStatusCodeLib
  FILE_GUID                      = 67089D19-B3D6-4d9e-A0EB-FEDC1F83A1EE
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  PI_SPECIFICATION_VERSION       = 0x0001000A
  LIBRARY_CLASS                  = ReportStatusCodeLib|DXE_SMM_DRIVER SMM_CORE

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  ReportStatusCodeLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  PcdLib
  BaseMemoryLib
  SmmServicesTableLib
  DebugLib
  UefiDriverEntryPoint
  MemoryAllocationLib

[Guids]
  gEfiStatusCodeSpecificDataGuid                ## CONSUMES
  gEfiStatusCodeDataTypeDebugGuid               ## CONSUMES

[Protocols]
  gEfiSmmStatusCodeProtocolGuid                 ## CONSUMES

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask
