]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Library/LockBoxLib/LockBoxLib.h
OvmfPkg/Virtio: take RingBaseShift in SetQueueAddress()
[mirror_edk2.git] / OvmfPkg / Library / LockBoxLib / LockBoxLib.h
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