1 /** @file
2 
3 Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
4 
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions
7 of the BSD License which accompanies this distribution.  The
8 full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10 
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef _SMM_LOCK_BOX_LIB_PRIVATE_H_
17 #define _SMM_LOCK_BOX_LIB_PRIVATE_H_
18 
19 #include <Uefi.h>
20 
21 #pragma pack(1)
22 
23 //
24 // Below data structure is used for lockbox registration in SMST
25 //
26 
27 #define SMM_LOCK_BOX_SIGNATURE_32 SIGNATURE_64 ('L','O','C','K','B','_','3','2')
28 #define SMM_LOCK_BOX_SIGNATURE_64 SIGNATURE_64 ('L','O','C','K','B','_','6','4')
29 
30 typedef struct {
31   UINT64                   Signature;
32   EFI_PHYSICAL_ADDRESS     LockBoxDataAddress;
33 } SMM_LOCK_BOX_CONTEXT;
34 
35 //
36 // Below data structure is used for lockbox management
37 //
38 
39 #define SMM_LOCK_BOX_DATA_SIGNATURE SIGNATURE_64 ('L','O','C','K','B','O','X','D')
40 
41 typedef struct {
42   UINT64                         Signature;
43   EFI_GUID                       Guid;
44   EFI_PHYSICAL_ADDRESS           Buffer;
45   UINT64                         Length;
46   UINT64                         Attributes;
47   EFI_PHYSICAL_ADDRESS           SmramBuffer;
48   LIST_ENTRY                     Link;
49 } SMM_LOCK_BOX_DATA;
50 
51 #pragma pack()
52 
53 #endif
54 
55