IFR is primarily consumed by the EFI presentation engine, and produced by EFI\r
internal application and drivers as well as all add-in card option-ROM drivers\r
\r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials are licensed and made available under \r
the terms and conditions of the BSD License that accompanies this distribution. \r
The full text of the license may be found at\r
UINT8 Day;\r
} EFI_HII_DATE;\r
\r
+typedef struct {\r
+ EFI_QUESTION_ID QuestionId;\r
+ EFI_FORM_ID FormId;\r
+ EFI_GUID FormSetGuid;\r
+ EFI_STRING_ID DevicePath;\r
+} EFI_HII_REF;\r
+\r
typedef union {\r
UINT8 u8;\r
UINT16 u16;\r
EFI_HII_TIME time;\r
EFI_HII_DATE date;\r
EFI_STRING_ID string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION\r
- // UINT8 buffer[]; ///< EFI_IFR_TYPE_ORDERED_LIST\r
+ EFI_HII_REF ref; ///< EFI_IFR_TYPE_REF\r
+ // UINT8 buffer[]; ///< EFI_IFR_TYPE_BUFFER\r
} EFI_IFR_TYPE_VALUE;\r
\r
//\r
#define EFI_IFR_INCONSISTENT_IF_OP 0x11\r
#define EFI_IFR_EQ_ID_VAL_OP 0x12\r
#define EFI_IFR_EQ_ID_ID_OP 0x13\r
-#define EFI_IFR_EQ_ID_LIST_OP 0x14\r
+#define EFI_IFR_EQ_ID_VAL_LIST_OP 0x14\r
#define EFI_IFR_AND_OP 0x15\r
#define EFI_IFR_OR_OP 0x16\r
#define EFI_IFR_NOT_OP 0x17\r
#define EFI_IFR_SECURITY_OP 0x60\r
#define EFI_IFR_MODAL_TAG_OP 0x61\r
#define EFI_IFR_REFRESH_ID_OP 0x62\r
+#define EFI_IFR_WARNING_IF_OP 0x63\r
+#define EFI_IFR_MATCH2_OP 0x64\r
\r
//\r
// Definitions of IFR Standard Headers\r
//\r
// Flag values of EFI_IFR_QUESTION_HEADER\r
//\r
-#define EFI_IFR_FLAG_READ_ONLY 0x01\r
-#define EFI_IFR_FLAG_CALLBACK 0x04\r
-#define EFI_IFR_FLAG_RESET_REQUIRED 0x10\r
-#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80\r
+#define EFI_IFR_FLAG_READ_ONLY 0x01\r
+#define EFI_IFR_FLAG_CALLBACK 0x04\r
+#define EFI_IFR_FLAG_RESET_REQUIRED 0x10\r
+#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40\r
+#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80\r
\r
//\r
// Definition for Opcode Reference\r
EFI_VARSTORE_ID VarStoreId;\r
EFI_GUID Guid;\r
UINT32 Attributes;\r
+ UINT16 Size;\r
+ UINT8 Name[1];\r
} EFI_IFR_VARSTORE_EFI;\r
\r
typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {\r
EFI_IMAGE_ID Id;\r
} EFI_IFR_IMAGE;\r
\r
-typedef struct _EFI_IFR_MODAL {\r
+typedef struct _EFI_IFR_MODAL_TAG {\r
EFI_IFR_OP_HEADER Header;\r
-} EFI_IFR_MODAL;\r
+} EFI_IFR_MODAL_TAG;\r
\r
typedef struct _EFI_IFR_LOCKED {\r
EFI_IFR_OP_HEADER Header;\r
EFI_IFR_TYPE_VALUE Value;\r
} EFI_IFR_DEFAULT;\r
\r
+typedef struct _EFI_IFR_DEFAULT_2 {\r
+ EFI_IFR_OP_HEADER Header;\r
+ UINT16 DefaultId;\r
+ UINT8 Type;\r
+} EFI_IFR_DEFAULT_2;\r
+\r
typedef struct _EFI_IFR_VALUE {\r
EFI_IFR_OP_HEADER Header;\r
} EFI_IFR_VALUE;\r
EFI_STRING_ID DevicePath;\r
} EFI_IFR_REF4;\r
\r
+typedef struct _EFI_IFR_REF5 {\r
+ EFI_IFR_OP_HEADER Header;\r
+ EFI_IFR_QUESTION_HEADER Question;\r
+} EFI_IFR_REF5;\r
+\r
typedef struct _EFI_IFR_RESET_BUTTON {\r
EFI_IFR_OP_HEADER Header;\r
EFI_IFR_STATEMENT_HEADER Statement;\r
EFI_STRING_ID Error;\r
} EFI_IFR_NO_SUBMIT_IF;\r
\r
+typedef struct _EFI_IFR_WARNING_IF {\r
+ EFI_IFR_OP_HEADER Header;\r
+ EFI_STRING_ID Warning;\r
+ UINT8 TimeOut;\r
+} EFI_IFR_WARNING_IF;\r
+\r
typedef struct _EFI_IFR_REFRESH {\r
EFI_IFR_OP_HEADER Header;\r
UINT8 RefreshInterval;\r
#define EFI_IFR_TYPE_UNDEFINED 0x09\r
#define EFI_IFR_TYPE_ACTION 0x0A\r
#define EFI_IFR_TYPE_BUFFER 0x0B\r
+#define EFI_IFR_TYPE_REF 0x0C\r
\r
#define EFI_IFR_OPTION_DEFAULT 0x10\r
#define EFI_IFR_OPTION_DEFAULT_MFG 0x20\r
EFI_IFR_OP_HEADER Header;\r
} EFI_IFR_MATCH;\r
\r
+typedef struct _EFI_IFR_MATCH2 {\r
+ EFI_IFR_OP_HEADER Header;\r
+ EFI_GUID SyntaxType;\r
+} EFI_IFR_MATCH2;\r
+\r
typedef struct _EFI_IFR_MULTIPLY {\r
EFI_IFR_OP_HEADER Header;\r
} EFI_IFR_MULTIPLY;\r