2) Ignore the IFR opcode which is invalid for Form Package\r
generated using Framework VFR file.\r
\r
- Copyright (c) 2008, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
+ Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
\r
EFI_HII_VALUE Value; // For EFI_IFR_EQ_ID_VAL, EFI_IFR_UINT64, EFI_IFR_UINT32, EFI_IFR_UINT16, EFI_IFR_UINT8, EFI_IFR_STRING_REF1\r
\r
- EFI_QUESTION_ID QuestionId; // For EFI_IFR_EQ_ID_ID, EFI_IFR_EQ_ID_LIST, EFI_IFR_QUESTION_REF1\r
+ EFI_QUESTION_ID QuestionId; // For EFI_IFR_EQ_ID_ID, EFI_IFR_EQ_ID_VAL_LIST, EFI_IFR_QUESTION_REF1\r
EFI_QUESTION_ID QuestionId2;\r
\r
- UINT16 ListLength; // For EFI_IFR_EQ_ID_LIST\r
+ UINT16 ListLength; // For EFI_IFR_EQ_ID_VAL_LIST\r
UINT16 *ValueList;\r
\r
EFI_STRING_ID DevicePath; // For EFI_IFR_QUESTION_REF3_2, EFI_IFR_QUESTION_REF3_3\r
EFI_HII_VALUE Value;\r
EFI_IMAGE_ID ImageId;\r
\r
-#if 0\r
- FORM_EXPRESSION *SuppressExpression; // Non-NULL indicates nested inside of SuppressIf\r
-#endif\r
} QUESTION_OPTION;\r
\r
#define QUESTION_OPTION_FROM_LINK(a) CR (a, QUESTION_OPTION, Link, QUESTION_OPTION_SIGNATURE)\r
\r
+typedef union {\r
+ EFI_STRING_ID VarName;\r
+ UINT16 VarOffset;\r
+} VAR_STORE_INFO;\r
+\r
#define FORM_BROWSER_STATEMENT_SIGNATURE SIGNATURE_32 ('F', 'S', 'T', 'A')\r
typedef struct {\r
UINTN Signature;\r
EFI_QUESTION_ID QuestionId; // The value of zero is reserved\r
EFI_VARSTORE_ID VarStoreId; // A value of zero indicates no variable storage\r
FORMSET_STORAGE *Storage;\r
- union {\r
- EFI_STRING_ID VarName;\r
- UINT16 VarOffset;\r
- } VarStoreInfo;\r
-#if 0\r
- CHAR16 *UnicodeVarName;\r
-#endif\r
+ VAR_STORE_INFO VarStoreInfo;\r
\r
UINT16 StorageWidth;\r
UINT8 QuestionFlags;\r
\r
-#if 0\r
- CHAR16 *VariableName; // Name/Value or EFI Variable name\r
- CHAR16 *BlockName; // Buffer storage block name: "OFFSET=...WIDTH=..."\r
-#endif\r
-\r
EFI_HII_VALUE HiiValue; // Edit copy for checkbox, numberic, oneof\r
UINT8 *BufferValue; // Edit copy for string, password, orderedlist\r
\r
//\r
// Get from IFR parsing\r
//\r
-#if 0\r
- FORM_EXPRESSION *ValueExpression; // nested EFI_IFR_VALUE, provide Question value and indicate Question is ReadOnly\r
-#endif\r
LIST_ENTRY DefaultListHead; // nested EFI_IFR_DEFAULT list (QUESTION_DEFAULT), provide default values\r
LIST_ENTRY OptionListHead; // nested EFI_IFR_ONE_OF_OPTION list (QUESTION_OPTION)\r
\r
UINT8 RefreshInterval; // nested EFI_IFR_REFRESH, refresh interval(in seconds) for Question value, 0 means no refresh\r
BOOLEAN InSubtitle; // nesting inside of EFI_IFR_SUBTITLE\r
\r
-#if 0\r
- LIST_ENTRY InconsistentListHead;// nested inconsistent expression list (FORM_EXPRESSION)\r
- LIST_ENTRY NoSubmitListHead; // nested nosubmit expression list (FORM_EXPRESSION)\r
- FORM_EXPRESSION *GrayOutExpression; // nesting inside of GrayOutIf\r
- FORM_EXPRESSION *SuppressExpression; // nesting inside of SuppressIf\r
-#endif\r
-\r
} FORM_BROWSER_STATEMENT;\r
\r
#define FORM_BROWSER_STATEMENT_FROM_LINK(a) CR (a, FORM_BROWSER_STATEMENT, Link, FORM_BROWSER_STATEMENT_SIGNATURE)\r
} FORM_BROWSER_FORMSET;\r
\r
\r
+/**\r
+ Parse opcodes in the formset IFR binary.\r
+\r
+ @param FormSet Pointer of the FormSet data structure.\r
+\r
+ @retval EFI_SUCCESS Opcode parse success.\r
+ @retval Other Opcode parse fail.\r
+\r
+**/\r
EFI_STATUS\r
ParseOpCodes (\r
IN FORM_BROWSER_FORMSET *FormSet\r
);\r
\r
+/**\r
+ Free resources allocated for a FormSet\r
+\r
+ @param FormSet Pointer of the FormSet\r
+\r
+ @return None.\r
+\r
+**/\r
VOID\r
DestroyFormSet (\r
IN OUT FORM_BROWSER_FORMSET *FormSet\r