]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
Fix nmake cleanall bugs.
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrUtilityLib.h
CommitLineData
30fdf114
LG
1/** @file\r
2 \r
3 Vfr common library functions.\r
4\r
4afd3d04 5Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>\r
40d841f6 6This program and the accompanying materials \r
30fdf114
LG
7are licensed and made available under the terms and conditions of the BSD License \r
8which accompanies this distribution. The full text of the license may be found at \r
9http://opensource.org/licenses/bsd-license.php \r
10 \r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
13\r
14**/\r
15\r
16#ifndef _VFRUTILITYLIB_H_\r
17#define _VFRUTILITYLIB_H_\r
18\r
19#include "string.h"\r
20#include "Common/UefiBaseTypes.h"\r
21#include "EfiVfr.h"\r
22#include "VfrError.h"\r
23\r
24extern BOOLEAN VfrCompatibleMode;\r
25\r
26#define MAX_NAME_LEN 64\r
27#define MAX_STRING_LEN 0x100\r
28#define DEFAULT_ALIGN 1\r
29#define DEFAULT_PACK_ALIGN 0x8\r
30#define DEFAULT_NAME_TABLE_ITEMS 1024\r
31\r
32#define EFI_BITS_SHIFT_PER_UINT32 0x5\r
33#define EFI_BITS_PER_UINT32 (1 << EFI_BITS_SHIFT_PER_UINT32)\r
34\r
35#define BUFFER_SAFE_FREE(Buf) do { if ((Buf) != NULL) { delete (Buf); } } while (0);\r
36\r
37class CVfrBinaryOutput {\r
38public:\r
52302d4d
LG
39 virtual VOID WriteLine (IN FILE *, IN UINT32, IN CONST CHAR8 *, IN CHAR8 *, IN UINT32);\r
40 virtual VOID WriteEnd (IN FILE *, IN UINT32, IN CONST CHAR8 *, IN CHAR8 *, IN UINT32);\r
30fdf114
LG
41};\r
42\r
43UINT32\r
44_STR2U32 (\r
45 IN CHAR8 *Str\r
46 );\r
47\r
48struct SConfigInfo {\r
49 UINT16 mOffset;\r
50 UINT16 mWidth;\r
51 UINT8 *mValue;\r
52 SConfigInfo *mNext;\r
53\r
54 SConfigInfo (IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);\r
55 ~SConfigInfo (VOID);\r
56};\r
57\r
58struct SConfigItem {\r
59 CHAR8 *mName; // varstore name\r
4afd3d04
LG
60 EFI_GUID *mGuid; // varstore guid, varstore name + guid deside one varstore\r
61 CHAR8 *mId; // default ID\r
30fdf114
LG
62 SConfigInfo *mInfoStrList; // list of Offset/Value in the varstore\r
63 SConfigItem *mNext;\r
64\r
65public:\r
4afd3d04
LG
66 SConfigItem (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *);\r
67 SConfigItem (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT16, IN EFI_IFR_TYPE_VALUE);\r
30fdf114
LG
68 virtual ~SConfigItem ();\r
69};\r
70\r
71class CVfrBufferConfig {\r
72private:\r
73 SConfigItem *mItemListHead;\r
74 SConfigItem *mItemListTail;\r
75 SConfigItem *mItemListPos;\r
76\r
77public:\r
78 CVfrBufferConfig (VOID);\r
79 virtual ~CVfrBufferConfig (VOID);\r
80\r
4afd3d04 81 virtual UINT8 Register (IN CHAR8 *, IN EFI_GUID *,IN CHAR8 *Info = NULL);\r
30fdf114
LG
82 virtual VOID Open (VOID);\r
83 virtual BOOLEAN Eof(VOID);\r
4afd3d04
LG
84 virtual UINT8 Select (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *Info = NULL);\r
85 virtual UINT8 Write (IN CONST CHAR8, IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);\r
30fdf114
LG
86#if 0\r
87 virtual UINT8 Read (OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **);\r
88#endif\r
89 virtual VOID Close (VOID);\r
90 virtual VOID OutputCFile (IN FILE *, IN CHAR8 *);\r
91};\r
92\r
93extern CVfrBufferConfig gCVfrBufferConfig;\r
94\r
95#define ALIGN_STUFF(Size, Align) ((Align) - (Size) % (Align))\r
96#define INVALID_ARRAY_INDEX 0xFFFFFFFF\r
97\r
98struct SVfrDataType;\r
99\r
100struct SVfrDataField {\r
101 CHAR8 mFieldName[MAX_NAME_LEN];\r
102 SVfrDataType *mFieldType;\r
103 UINT32 mOffset;\r
104 UINT32 mArrayNum;\r
105 SVfrDataField *mNext;\r
106};\r
107\r
108struct SVfrDataType {\r
109 CHAR8 mTypeName[MAX_NAME_LEN];\r
110 UINT8 mType;\r
111 UINT32 mAlign;\r
112 UINT32 mTotalSize;\r
113 SVfrDataField *mMembers;\r
114 SVfrDataType *mNext;\r
115};\r
116\r
117#define VFR_PACK_ASSIGN 0x01\r
118#define VFR_PACK_SHOW 0x02\r
119#define VFR_PACK_PUSH 0x04\r
120#define VFR_PACK_POP 0x08\r
121\r
122#define PACKSTACK_MAX_SIZE 0x400\r
123\r
124struct SVfrPackStackNode {\r
125 CHAR8 *mIdentifier;\r
126 UINT32 mNumber;\r
127 SVfrPackStackNode *mNext;\r
128\r
129 SVfrPackStackNode (IN CHAR8 *Identifier, IN UINT32 Number) {\r
130 mIdentifier = NULL;\r
131 mNumber = Number;\r
132 mNext = NULL;\r
133\r
134 if (Identifier != NULL) {\r
135 mIdentifier = new CHAR8[strlen (Identifier) + 1];\r
136 strcpy (mIdentifier, Identifier);\r
137 }\r
138 }\r
139\r
140 ~SVfrPackStackNode (VOID) {\r
141 if (mIdentifier != NULL) {\r
142 delete mIdentifier;\r
143 }\r
144 mNext = NULL;\r
145 }\r
146\r
147 bool Match (IN CHAR8 *Identifier) {\r
148 if (Identifier == NULL) {\r
149 return TRUE;\r
150 } else if (mIdentifier == NULL) {\r
151 return FALSE;\r
152 } else if (strcmp (Identifier, mIdentifier) == 0) {\r
153 return TRUE;\r
154 } else {\r
155 return FALSE;\r
156 }\r
157 }\r
158};\r
159\r
160class CVfrVarDataTypeDB {\r
161private:\r
162 UINT32 mPackAlign;\r
163 SVfrPackStackNode *mPackStack;\r
164\r
165public:\r
166 EFI_VFR_RETURN_CODE Pack (IN UINT32, IN UINT8, IN CHAR8 *Identifier = NULL, IN UINT32 Number = DEFAULT_PACK_ALIGN);\r
167\r
168private:\r
169 SVfrDataType *mDataTypeList;\r
170\r
171 SVfrDataType *mNewDataType;\r
172 SVfrDataType *mCurrDataType;\r
173 SVfrDataField *mCurrDataField;\r
174\r
175 VOID InternalTypesListInit (VOID);\r
176 VOID RegisterNewType (IN SVfrDataType *);\r
177\r
178 EFI_VFR_RETURN_CODE ExtractStructTypeName (IN CHAR8 *&, OUT CHAR8 *);\r
4234283c 179 EFI_VFR_RETURN_CODE GetTypeField (IN CONST CHAR8 *, IN SVfrDataType *, IN SVfrDataField *&);\r
30fdf114
LG
180 EFI_VFR_RETURN_CODE GetFieldOffset (IN SVfrDataField *, IN UINT32, OUT UINT32 &);\r
181 UINT8 GetFieldWidth (IN SVfrDataField *);\r
182 UINT32 GetFieldSize (IN SVfrDataField *, IN UINT32);\r
183\r
184public:\r
185 CVfrVarDataTypeDB (VOID);\r
186 ~CVfrVarDataTypeDB (VOID);\r
187\r
188 VOID DeclareDataTypeBegin (VOID);\r
189 EFI_VFR_RETURN_CODE SetNewTypeName (IN CHAR8 *);\r
190 EFI_VFR_RETURN_CODE DataTypeAddField (IN CHAR8 *, IN CHAR8 *, IN UINT32);\r
191 VOID DeclareDataTypeEnd (VOID);\r
192\r
193 EFI_VFR_RETURN_CODE GetDataType (IN CHAR8 *, OUT SVfrDataType **);\r
194 EFI_VFR_RETURN_CODE GetDataTypeSize (IN CHAR8 *, OUT UINT32 *);\r
195 EFI_VFR_RETURN_CODE GetDataTypeSize (IN UINT8, OUT UINT32 *);\r
196 EFI_VFR_RETURN_CODE GetDataFieldInfo (IN CHAR8 *, OUT UINT16 &, OUT UINT8 &, OUT UINT32 &);\r
197\r
198 EFI_VFR_RETURN_CODE GetUserDefinedTypeNameList (OUT CHAR8 ***, OUT UINT32 *);\r
199 EFI_VFR_RETURN_CODE ExtractFieldNameAndArrary (IN CHAR8 *&, OUT CHAR8 *, OUT UINT32 &);\r
200\r
201 BOOLEAN IsTypeNameDefined (IN CHAR8 *);\r
202\r
203 VOID Dump(IN FILE *);\r
204 //\r
205 // First the declared \r
206 //\r
207 CHAR8 *mFirstNewDataTypeName;\r
208#ifdef CVFR_VARDATATYPEDB_DEBUG\r
209 VOID ParserDB ();\r
210#endif\r
211};\r
212\r
213extern CVfrVarDataTypeDB gCVfrVarDataTypeDB;\r
214\r
215typedef enum {\r
216 EFI_VFR_VARSTORE_INVALID,\r
217 EFI_VFR_VARSTORE_BUFFER,\r
218 EFI_VFR_VARSTORE_EFI,\r
219 EFI_VFR_VARSTORE_NAME\r
220} EFI_VFR_VARSTORE_TYPE;\r
221\r
222struct SVfrVarStorageNode {\r
223 EFI_GUID mGuid;\r
224 CHAR8 *mVarStoreName;\r
225 EFI_VARSTORE_ID mVarStoreId;\r
226 BOOLEAN mAssignedFlag; //Create varstore opcode\r
227 struct SVfrVarStorageNode *mNext;\r
228\r
229 EFI_VFR_VARSTORE_TYPE mVarStoreType;\r
230 union {\r
231 // EFI Variable\r
232 struct {\r
233 EFI_STRING_ID mEfiVarName;\r
234 UINT32 mEfiVarSize;\r
235 } mEfiVar;\r
236\r
237 // Buffer Storage\r
238 SVfrDataType *mDataType;\r
239\r
240 // NameValue Storage\r
241 struct {\r
242 EFI_STRING_ID *mNameTable;\r
243 UINT32 mTableSize;\r
244 } mNameSpace;\r
245 } mStorageInfo;\r
246\r
247public:\r
248 SVfrVarStorageNode (IN EFI_GUID *, IN CHAR8 *, IN EFI_VARSTORE_ID, IN EFI_STRING_ID, IN UINT32, IN BOOLEAN Flag = TRUE);\r
249 SVfrVarStorageNode (IN EFI_GUID *, IN CHAR8 *, IN EFI_VARSTORE_ID, IN SVfrDataType *, IN BOOLEAN Flag = TRUE);\r
250 SVfrVarStorageNode (IN CHAR8 *, IN EFI_VARSTORE_ID);\r
251 ~SVfrVarStorageNode (VOID);\r
252};\r
253\r
254struct EFI_VARSTORE_INFO {\r
255 EFI_VARSTORE_ID mVarStoreId;\r
256 union {\r
257 EFI_STRING_ID mVarName;\r
258 UINT16 mVarOffset;\r
259 } mInfo;\r
260 UINT8 mVarType;\r
261 UINT32 mVarTotalSize;\r
262\r
263 EFI_VARSTORE_INFO (VOID);\r
264 EFI_VARSTORE_INFO (IN EFI_VARSTORE_INFO &);\r
265 BOOLEAN operator == (IN EFI_VARSTORE_INFO *);\r
266};\r
267\r
268#define EFI_VARSTORE_ID_MAX 0xFFFF\r
269#define EFI_FREE_VARSTORE_ID_BITMAP_SIZE ((EFI_VARSTORE_ID_MAX + 1) / EFI_BITS_PER_UINT32)\r
270\r
271class CVfrDataStorage {\r
272private:\r
273 UINT32 mFreeVarStoreIdBitMap[EFI_FREE_VARSTORE_ID_BITMAP_SIZE];\r
274\r
275 struct SVfrVarStorageNode *mBufferVarStoreList;\r
276 struct SVfrVarStorageNode *mEfiVarStoreList;\r
277 struct SVfrVarStorageNode *mNameVarStoreList;\r
278\r
279 struct SVfrVarStorageNode *mCurrVarStorageNode;\r
280 struct SVfrVarStorageNode *mNewVarStorageNode;\r
281\r
282private:\r
283\r
284 EFI_VARSTORE_ID GetFreeVarStoreId (EFI_VFR_VARSTORE_TYPE VarType = EFI_VFR_VARSTORE_BUFFER);\r
285 BOOLEAN ChekVarStoreIdFree (IN EFI_VARSTORE_ID);\r
286 VOID MarkVarStoreIdUsed (IN EFI_VARSTORE_ID);\r
287 VOID MarkVarStoreIdUnused (IN EFI_VARSTORE_ID);\r
4afd3d04
LG
288 EFI_VARSTORE_ID CheckGuidField (IN SVfrVarStorageNode *, \r
289 IN EFI_GUID *, \r
290 IN BOOLEAN *, \r
291 OUT EFI_VFR_RETURN_CODE *);\r
30fdf114
LG
292\r
293public:\r
294 CVfrDataStorage ();\r
295 ~CVfrDataStorage ();\r
296 \r
297 SVfrVarStorageNode * GetBufferVarStoreList () {\r
298 return mBufferVarStoreList;\r
299 }\r
300 SVfrVarStorageNode * GetEfiVarStoreList () {\r
301 return mEfiVarStoreList;\r
302 }\r
e8a47801 303 EFI_VFR_RETURN_CODE DeclareNameVarStoreBegin (CHAR8 *, EFI_VARSTORE_ID);\r
30fdf114
LG
304 EFI_VFR_RETURN_CODE NameTableAddItem (EFI_STRING_ID);\r
305 EFI_VFR_RETURN_CODE DeclareNameVarStoreEnd (EFI_GUID *);\r
306\r
307 EFI_VFR_RETURN_CODE DeclareEfiVarStore (IN CHAR8 *, IN EFI_GUID *, IN EFI_STRING_ID, IN UINT32, IN BOOLEAN Flag = TRUE);\r
308\r
309 EFI_VFR_RETURN_CODE DeclareBufferVarStore (IN CHAR8 *, IN EFI_GUID *, IN CVfrVarDataTypeDB *, IN CHAR8 *, IN EFI_VARSTORE_ID, IN BOOLEAN Flag = TRUE);\r
310\r
4afd3d04 311 EFI_VFR_RETURN_CODE GetVarStoreId (IN CHAR8 *, OUT EFI_VARSTORE_ID *, IN EFI_GUID *VarGuid = NULL);\r
30fdf114 312 EFI_VFR_VARSTORE_TYPE GetVarStoreType (IN EFI_VARSTORE_ID);\r
4afd3d04 313 EFI_GUID * GetVarStoreGuid (IN EFI_VARSTORE_ID);\r
30fdf114 314 EFI_VFR_RETURN_CODE GetVarStoreName (IN EFI_VARSTORE_ID, OUT CHAR8 **);\r
4afd3d04 315 EFI_VFR_RETURN_CODE GetVarStoreByDataType (IN CHAR8 *, OUT SVfrVarStorageNode **, IN EFI_GUID *VarGuid = NULL);\r
30fdf114 316\r
4afd3d04 317 EFI_VFR_RETURN_CODE GetBufferVarStoreDataTypeName (IN EFI_VARSTORE_ID, OUT CHAR8 **);\r
30fdf114
LG
318 EFI_VFR_RETURN_CODE GetEfiVarStoreInfo (IN EFI_VARSTORE_INFO *);\r
319 EFI_VFR_RETURN_CODE GetNameVarStoreInfo (IN EFI_VARSTORE_INFO *, IN UINT32);\r
30fdf114
LG
320};\r
321\r
322#define EFI_QUESTION_ID_MAX 0xFFFF\r
323#define EFI_FREE_QUESTION_ID_BITMAP_SIZE ((EFI_QUESTION_ID_MAX + 1) / EFI_BITS_PER_UINT32)\r
324#define EFI_QUESTION_ID_INVALID 0x0\r
325\r
326#define DATE_YEAR_BITMASK 0x0000FFFF\r
327#define DATE_MONTH_BITMASK 0x00FF0000\r
328#define DATE_DAY_BITMASK 0xFF000000\r
329#define TIME_HOUR_BITMASK 0x000000FF\r
330#define TIME_MINUTE_BITMASK 0x0000FF00\r
331#define TIME_SECOND_BITMASK 0x00FF0000\r
332\r
333struct SVfrQuestionNode {\r
334 CHAR8 *mName;\r
335 CHAR8 *mVarIdStr;\r
336 EFI_QUESTION_ID mQuestionId;\r
337 UINT32 mBitMask;\r
338 SVfrQuestionNode *mNext;\r
52302d4d 339 EFI_QUESION_TYPE mQtype;\r
30fdf114
LG
340\r
341 SVfrQuestionNode (IN CHAR8 *, IN CHAR8 *, IN UINT32 BitMask = 0);\r
342 ~SVfrQuestionNode ();\r
343};\r
344\r
345class CVfrQuestionDB {\r
346private:\r
347 SVfrQuestionNode *mQuestionList;\r
348 UINT32 mFreeQIdBitMap[EFI_FREE_QUESTION_ID_BITMAP_SIZE];\r
349\r
350private:\r
351 EFI_QUESTION_ID GetFreeQuestionId (VOID);\r
352 BOOLEAN ChekQuestionIdFree (IN EFI_QUESTION_ID);\r
353 VOID MarkQuestionIdUsed (IN EFI_QUESTION_ID);\r
354 VOID MarkQuestionIdUnused (IN EFI_QUESTION_ID);\r
355\r
356public:\r
357 CVfrQuestionDB ();\r
358 ~CVfrQuestionDB();\r
359\r
360 EFI_VFR_RETURN_CODE RegisterQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
361 VOID RegisterOldDateQuestion (IN CHAR8 *, IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
362 VOID RegisterNewDateQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
363 VOID RegisterOldTimeQuestion (IN CHAR8 *, IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
364 VOID RegisterNewTimeQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
4234283c 365 VOID RegisterRefQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &); \r
30fdf114 366 EFI_VFR_RETURN_CODE UpdateQuestionId (IN EFI_QUESTION_ID, IN EFI_QUESTION_ID);\r
52302d4d 367 VOID GetQuestionId (IN CHAR8 *, IN CHAR8 *, OUT EFI_QUESTION_ID &, OUT UINT32 &, OUT EFI_QUESION_TYPE *QType = NULL);\r
30fdf114
LG
368 EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);\r
369 EFI_VFR_RETURN_CODE FindQuestion (IN CHAR8 *);\r
370 VOID PrintAllQuestion (IN VOID);\r
371 VOID ResetInit (IN VOID); \r
372\r
373 VOID SetCompatibleMode (IN BOOLEAN Mode) {\r
374 VfrCompatibleMode = Mode;\r
375 }\r
376};\r
377\r
378struct SVfrDefaultStoreNode {\r
379 EFI_IFR_DEFAULTSTORE *mObjBinAddr;\r
380 CHAR8 *mRefName;\r
381 EFI_STRING_ID mDefaultStoreNameId;\r
382 UINT16 mDefaultId;\r
383\r
384 SVfrDefaultStoreNode *mNext;\r
385\r
386 SVfrDefaultStoreNode (IN EFI_IFR_DEFAULTSTORE *, IN CHAR8 *, IN EFI_STRING_ID, IN UINT16);\r
387 ~SVfrDefaultStoreNode();\r
388};\r
389\r
390class CVfrDefaultStore {\r
391private:\r
392 SVfrDefaultStoreNode *mDefaultStoreList;\r
393\r
394public:\r
395 CVfrDefaultStore ();\r
396 ~CVfrDefaultStore ();\r
397\r
398 EFI_VFR_RETURN_CODE RegisterDefaultStore (IN CHAR8 *, IN CHAR8 *, IN EFI_STRING_ID, IN UINT16);\r
399 EFI_VFR_RETURN_CODE ReRegisterDefaultStoreById (IN UINT16, IN CHAR8 *, IN EFI_STRING_ID);\r
400 BOOLEAN DefaultIdRegistered (IN UINT16);\r
401 EFI_VFR_RETURN_CODE GetDefaultId (IN CHAR8 *, OUT UINT16 *);\r
4afd3d04 402 EFI_VFR_RETURN_CODE BufferVarStoreAltConfigAdd (IN EFI_VARSTORE_ID, IN EFI_VARSTORE_INFO &, IN CHAR8 *, IN EFI_GUID *, IN UINT8, IN EFI_IFR_TYPE_VALUE);\r
30fdf114
LG
403};\r
404\r
405#define EFI_RULE_ID_START 0x01\r
406#define EFI_RULE_ID_INVALID 0x00\r
407\r
408struct SVfrRuleNode {\r
409 UINT8 mRuleId;\r
410 CHAR8 *mRuleName;\r
411 SVfrRuleNode *mNext;\r
412\r
413 SVfrRuleNode(IN CHAR8 *, IN UINT8);\r
414 ~SVfrRuleNode();\r
415};\r
416\r
417class CVfrRulesDB {\r
418private:\r
419 SVfrRuleNode *mRuleList;\r
420 UINT8 mFreeRuleId;\r
421\r
422public:\r
423 CVfrRulesDB ();\r
424 ~CVfrRulesDB();\r
425\r
426 VOID RegisterRule (IN CHAR8 *);\r
427 UINT8 GetRuleId (IN CHAR8 *);\r
428};\r
429\r
4234283c
LG
430class CVfrStringDB {\r
431private:\r
432 CHAR8 *mStringFileName;\r
433\r
434 EFI_STATUS FindStringBlock (\r
435 IN UINT8 *StringData,\r
436 IN EFI_STRING_ID StringId,\r
437 OUT UINT32 *StringTextOffset,\r
438 OUT UINT8 *BlockType\r
439 );\r
440\r
441 UINT32 GetUnicodeStringTextSize (\r
442 IN UINT8 *StringSrc\r
443 );\r
64b2609f
LG
444 \r
445 BOOLEAN GetBestLanguage (\r
446 IN CONST CHAR8 *SupportedLanguages,\r
447 IN CHAR8 *Language\r
448 );\r
4234283c
LG
449\r
450public:\r
451 CVfrStringDB ();\r
452 ~CVfrStringDB ();\r
453\r
454 VOID SetStringFileName (\r
455 IN CHAR8 *StringFileName\r
456 );\r
457\r
458 CHAR8 * GetVarStoreNameFormStringId (\r
459 IN EFI_STRING_ID StringId\r
460 );\r
461\r
462};\r
463\r
30fdf114 464#endif\r