1/** @file
2
3Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
4
5This program and the accompanying materials
6are licensed and made available under the terms and conditions
7of the BSD License which accompanies this distribution.  The
8full text of the license may be found at
9http://opensource.org/licenses/bsd-license.php
10
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12WITHOUT 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
30typedef 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
41typedef 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