]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.h
6a2a597b33ced340000f4bd743686963edf6d867
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Tools / Source / HiiPack / IfrParse.h
1 /*++
2
3 Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 IfrParse.h
15
16 Abstract:
17
18 Prototypes and defines for the IFR parsing services.
19
20 --*/
21
22 #ifndef _IFR_PARSE_H_
23 #define _IFR_PARSE_H_
24
25 #define DEFAULT_HII_PACK_FILENAME_EXTENSION ".hpk"
26 //
27 // When we parse IFR, we'll keep the IFR in a linked list of
28 // these.
29 //
30 typedef struct _IFR_PARSE_ENTRY {
31 struct _IFR_PARSE_ENTRY *Next;
32 int Tag; // for debugging
33 EFI_IFR_OP_HEADER *RawIfrHeader;
34 //
35 // GUIDs for variable storage
36 //
37 EFI_GUID *VarStoreGuid1;
38 char *VarStoreName1;
39 EFI_GUID *VarStoreGuid2;
40 char *VarStoreName2;
41 } IFR_PARSE_ENTRY;
42
43 typedef struct _IFR_PARSE_CONTEXT {
44 struct _IFR_PARSE_CONTEXT *Next;
45 EFI_HII_IFR_PACK *PackHeader;
46 char *IfrBufferStart;
47 char *CurrentPos;
48 long IfrBufferLen;
49 int Handle;
50 IFR_PARSE_ENTRY *Ifr;
51 IFR_PARSE_ENTRY *LastIfr;
52 IFR_PARSE_ENTRY *CurrentIfr;
53 FILE *OutFptr;
54 CHAR16 *Language;
55 EFI_GUID *FormsetGuid;
56 EFI_GUID NullGuid; // for use until we set the Guid field correctly
57 EFI_GUID PackageGuid; // from the PackageGuid in the HII data table
58 } IFR_PARSE_CONTEXT;
59
60 STATUS
61 IfrGetVarPack (
62 int VarIndex,
63 EFI_HII_VARIABLE_PACK **VarPack
64 )
65 /*++
66
67 Routine Description:
68
69 GC_TODO: Add function description
70
71 Arguments:
72
73 VarIndex - GC_TODO: add argument description
74 VarPack - GC_TODO: add argument description
75
76 Returns:
77
78 GC_TODO: add return values
79
80 --*/
81 ;
82
83 STATUS
84 IfrParsePack (
85 int Handle,
86 EFI_HII_IFR_PACK *PackHeader,
87 EFI_GUID *PackageGuid
88 )
89 /*++
90
91 Routine Description:
92
93 GC_TODO: Add function description
94
95 Arguments:
96
97 Handle - GC_TODO: add argument description
98 PackHeader - GC_TODO: add argument description
99 PackageGuid - GC_TODO: add argument description
100
101 Returns:
102
103 GC_TODO: add return values
104
105 --*/
106 ;
107
108 STATUS
109 IfrParseCheck (
110 char *Buffer,
111 long BufferSize
112 )
113 /*++
114
115 Routine Description:
116
117 GC_TODO: Add function description
118
119 Arguments:
120
121 Buffer - GC_TODO: add argument description
122 BufferSize - GC_TODO: add argument description
123
124 Returns:
125
126 GC_TODO: add return values
127
128 --*/
129 ;
130
131 STATUS
132 IfrParseInit (
133 VOID
134 )
135 /*++
136
137 Routine Description:
138
139 GC_TODO: Add function description
140
141 Arguments:
142
143 None
144
145 Returns:
146
147 GC_TODO: add return values
148
149 --*/
150 ;
151
152 STATUS
153 IfrParseEnd (
154 VOID
155 )
156 /*++
157
158 Routine Description:
159
160 GC_TODO: Add function description
161
162 Arguments:
163
164 None
165
166 Returns:
167
168 GC_TODO: add return values
169
170 --*/
171 ;
172
173 STATUS
174 IfrParseDump (
175 int Handle,
176 CHAR16 *Language,
177 FILE *OutFptr
178 )
179 /*++
180
181 Routine Description:
182
183 GC_TODO: Add function description
184
185 Arguments:
186
187 Handle - GC_TODO: add argument description
188 Language - GC_TODO: add argument description
189 OutFptr - GC_TODO: add argument description
190
191 Returns:
192
193 GC_TODO: add return values
194
195 --*/
196 ;
197
198 STATUS
199 IfrSetDefaults (
200 int MfgDefaults
201 )
202 /*++
203
204 Routine Description:
205
206 GC_TODO: Add function description
207
208 Arguments:
209
210 MfgDefaults - GC_TODO: add argument description
211
212 Returns:
213
214 GC_TODO: add return values
215
216 --*/
217 ;
218
219 STATUS
220 IfrGetIfrPack (
221 int Handle,
222 EFI_HII_IFR_PACK **PackHeader,
223 EFI_GUID *FormsetGuid
224 )
225 /*++
226
227 Routine Description:
228
229 GC_TODO: Add function description
230
231 Arguments:
232
233 Handle - GC_TODO: add argument description
234 PackHeader - GC_TODO: add argument description
235 FormsetGuid - GC_TODO: add argument description
236
237 Returns:
238
239 GC_TODO: add return values
240
241 --*/
242 ;
243
244 STATUS
245 IfrReferencesVarPack (
246 int IfrHandle,
247 EFI_HII_VARIABLE_PACK *VarPack
248 )
249 /*++
250
251 Routine Description:
252
253 GC_TODO: Add function description
254
255 Arguments:
256
257 IfrHandle - GC_TODO: add argument description
258 VarPack - GC_TODO: add argument description
259
260 Returns:
261
262 GC_TODO: add return values
263
264 --*/
265 ;
266
267 #endif // #ifndef _IFR_PARSE_H_