## @file
#  SMM LockBox library instance.
#
#  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SmmLockBoxSmmLib
  MODULE_UNI_FILE                = SmmLockBoxSmmLib.uni
  FILE_GUID                      = E04894D6-290D-4171-A362-0ACFD939F3C8
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LockBoxLib|DXE_SMM_DRIVER
  CONSTRUCTOR                    = SmmLockBoxTraditionalConstructor
  DESTRUCTOR                     = SmmLockBoxTraditionalDestructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  SmmLockBoxTraditionalMmLib.c
  SmmLockBoxMmLib.c
  SmmLockBoxLibPrivate.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  MmServicesTableLib
  BaseLib
  DebugLib

[Protocols]
  gEfiMmReadyToLockProtocolGuid    ## NOTIFY
  gEfiMmEndOfDxeProtocolGuid       ## NOTIFY
  gEfiMmSxDispatchProtocolGuid     ## NOTIFY

[Guids]
  ## SOMETIMES_CONSUMES   ## UNDEFINED # SmmSystemTable
  ## SOMETIMES_PRODUCES   ## UNDEFINED # SmmSystemTable
  gEfiSmmLockBoxCommunicationGuid
  ## CONSUMES             ## UNDEFINED # Protocol notify
  gEdkiiEndOfS3ResumeGuid

