1 /** @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 20 typedef 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 28 extern 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 **/ 46 VOID * 47 EFIAPI 48 AllocateAcpiNvsPool ( 49 IN UINTN AllocationSize 50 ); 51 52 53 RETURN_STATUS 54 EFIAPI 55 LockBoxLibInitialize ( 56 VOID 57 ); 58 59 60 #endif 61