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