]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Library / VarCheckHiiLib / VarCheckHiiGen.h
1 /** @file
2 Include file for Var Check Hii bin generation.
3
4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef _VAR_CHECK_HII_GEN_H_
10 #define _VAR_CHECK_HII_GEN_H_
11
12 #include "VarCheckHii.h"
13
14 /**
15 Dump Hii Package.
16
17 @param[in] HiiPackage Pointer to Hii Package.
18
19 **/
20 VOID
21 DumpHiiPackage (
22 IN VOID *HiiPackage
23 );
24
25 /**
26 Dump Hii Database.
27
28 @param[in] HiiDatabase Pointer to Hii Database.
29 @param[in] HiiDatabaseSize Hii Database size.
30
31 **/
32 VOID
33 DumpHiiDatabase (
34 IN VOID *HiiDatabase,
35 IN UINTN HiiDatabaseSize
36 );
37
38 /**
39 Allocates and zeros a buffer of type EfiBootServicesData.
40
41 Allocates the number bytes specified by AllocationSize of type EfiBootServicesData, clears the
42 buffer with zeros, and returns a pointer to the allocated buffer. If AllocationSize is 0, then a
43 valid buffer of 0 size is returned. If there is not enough memory remaining to satisfy the
44 request, then NULL is returned.
45
46 @param AllocationSize The number of bytes to allocate and zero.
47
48 @return A pointer to the allocated buffer or NULL if allocation fails.
49
50 **/
51 VOID *
52 InternalVarCheckAllocateZeroPool (
53 IN UINTN AllocationSize
54 );
55
56 /**
57 Frees a buffer that was previously allocated with one of the pool allocation functions in the
58 Memory Allocation Library.
59
60 Frees the buffer specified by Buffer. Buffer must have been allocated on a previous call to the
61 pool allocation services of the Memory Allocation Library. If it is not possible to free pool
62 resources, then this function will perform no actions.
63
64 If Buffer was not allocated with a pool allocation function in the Memory Allocation Library,
65 then ASSERT().
66
67 @param Buffer The pointer to the buffer to free.
68
69 **/
70 VOID
71 EFIAPI
72 InternalVarCheckFreePool (
73 IN VOID *Buffer
74 );
75
76 /**
77 Var Check Parse Hii Package.
78
79 @param[in] HiiPackage Pointer to Hii Package.
80 @param[in] FromFv Hii Package from FV.
81
82 **/
83 VOID
84 VarCheckParseHiiPackage (
85 IN VOID *HiiPackage,
86 IN BOOLEAN FromFv
87 );
88
89 /**
90 Var Check Parse Hii Database.
91
92 @param[in] HiiDatabase Pointer to Hii Database.
93 @param[in] HiiDatabaseSize Hii Database size.
94
95 **/
96 VOID
97 VarCheckParseHiiDatabase (
98 IN VOID *HiiDatabase,
99 IN UINTN HiiDatabaseSize
100 );
101
102 /**
103 Generate from FV.
104
105 **/
106 VOID
107 VarCheckHiiGenFromFv (
108 VOID
109 );
110
111 /**
112 Generate from Hii Database.
113
114 **/
115 VOID
116 VarCheckHiiGenFromHiiDatabase (
117 VOID
118 );
119
120 /**
121 Generate VarCheckHiiBin from Hii Database and FV.
122
123 **/
124 VOID
125 EFIAPI
126 VarCheckHiiGen (
127 VOID
128 );
129
130 #endif