--- /dev/null
+/** @file\r
+\r
+Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+\r
+This program and the accompanying materials\r
+are licensed and made available under the terms and conditions\r
+of the BSD License which accompanies this distribution. The\r
+full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef _SMM_LOCK_BOX_LIB_PRIVATE_H_\r
+#define _SMM_LOCK_BOX_LIB_PRIVATE_H_\r
+\r
+#include <Uefi.h>\r
+\r
+#pragma pack(push, 1)\r
+\r
+//\r
+// Below data structure is used for lockbox registration in SMST\r
+//\r
+\r
+#define SMM_LOCK_BOX_SIGNATURE_32 SIGNATURE_64 ('L','O','C','K','B','_','3','2')\r
+#define SMM_LOCK_BOX_SIGNATURE_64 SIGNATURE_64 ('L','O','C','K','B','_','6','4')\r
+\r
+typedef struct {\r
+ UINT64 Signature;\r
+ EFI_PHYSICAL_ADDRESS LockBoxDataAddress;\r
+} SMM_LOCK_BOX_CONTEXT;\r
+\r
+//\r
+// Below data structure is used for lockbox management\r
+//\r
+\r
+#define SMM_LOCK_BOX_DATA_SIGNATURE SIGNATURE_64 ('L','O','C','K','B','O','X','D')\r
+\r
+typedef struct {\r
+ UINT64 Signature;\r
+ EFI_GUID Guid;\r
+ EFI_PHYSICAL_ADDRESS Buffer;\r
+ UINT64 Length;\r
+ UINT64 Attributes;\r
+ EFI_PHYSICAL_ADDRESS SmramBuffer;\r
+ LIST_ENTRY Link;\r
+} SMM_LOCK_BOX_DATA;\r
+\r
+#pragma pack(pop)\r
+\r
+#endif\r
+\r