blob: 5adb65fef207cec11f1e8daf146171ef0df75568 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2
3 Copyright (c) 2006 - 2014, 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 of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef __LOCK_BOX_LIB_IMPL_H__
16#define __LOCK_BOX_LIB_IMPL_H__
17
18#pragma pack(1)
19
20typedef struct {
21 UINT32 Signature;
22 UINT32 SubPageBuffer;
23 UINT32 SubPageRemaining;
24} LOCK_BOX_GLOBAL;
25
26#define LOCK_BOX_GLOBAL_SIGNATURE SIGNATURE_32('L', 'B', 'G', 'S')
27
28extern LOCK_BOX_GLOBAL *mLockBoxGlobal;
29
30#pragma pack()
31
32/**
33 Allocates a buffer of type EfiACPIMemoryNVS.
34
35 Allocates the number bytes specified by AllocationSize of type
36 EfiACPIMemoryNVS and returns a pointer to the allocated buffer.
37 If AllocationSize is 0, then a valid buffer of 0 size is
38 returned. If there is not enough memory remaining to satisfy
39 the request, then NULL is returned.
40
41 @param AllocationSize The number of bytes to allocate.
42
43 @return A pointer to the allocated buffer or NULL if allocation fails.
44
45**/
46VOID *
47EFIAPI
48AllocateAcpiNvsPool (
49 IN UINTN AllocationSize
50 );
51
52
53RETURN_STATUS
54EFIAPI
55LockBoxLibInitialize (
56 VOID
57 );
58
59
60#endif