## @file
#  Instance of SMM IPMI Library.
#
#  Copyright (c) 2009 - 2015, 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                      = SmmIpmiLibSmmIpmiProtocol
  MODULE_UNI_FILE                = SmmIpmiLibSmmIpmiProtocol.uni
  FILE_GUID                      = B422FB70-E835-448D-A921-EBA460E105B6
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = IpmiLib|DXE_SMM_DRIVER SMM_CORE

#
#  VALID_ARCHITECTURES          = IA32 X64
#

[Sources]
  SmmIpmiLibSmmIpmiProtocol.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  DebugLib
  SmmServicesTableLib

[Protocols]
  gSmmIpmiProtocolGuid      ## SOMETIMES_CONSUMES
