EFI_CONFIGURATION_TABLE *ConfigurationTable;\r
};\r
\r
+//\r
+// EFI Load Options Attributes\r
+//\r
+#define LOAD_OPTION_ACTIVE 0x00000001\r
+#define LOAD_OPTION_FORCE_RECONNECT 0x00000002\r
+#define LOAD_OPTION_GRAPHICS 0x00000004\r
+#define LOAD_OPTION_HIDDEN 0x00000008\r
+#define LOAD_OPTION_CATEGORY 0x00001F00\r
+\r
+#define LOAD_OPTION_CATEGORY_BOOT 0x00000000\r
+#define LOAD_OPTION_CATEGORY_APP 0x00000100\r
+\r
+#define EFI_BOOT_OPTION_SUPPORT_KEY 0x00000001\r
+#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002\r
+#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300\r
+\r
+typedef union {\r
+ struct {\r
+ UINT32 Revision : 8;\r
+ UINT32 ShiftPressed : 1;\r
+ UINT32 ControlPressed : 1;\r
+ UINT32 AltPressed : 1;\r
+ UINT32 LogoPressed : 1;\r
+ UINT32 MenuPressed : 1;\r
+ UINT32 SysReqPessed : 1;\r
+ UINT32 Reserved : 16;\r
+ UINT32 InputKeyCount : 2;\r
+ } Options;\r
+ UINT32 PackedValue;\r
+} EFI_KEY_DATA;\r
+\r
+typedef struct {\r
+ EFI_KEY_DATA KeyData;\r
+ UINT32 BootOptionCrc;\r
+ UINT16 BootOption;\r
+ // EFI_INPUT_KEY Keys[];\r
+} EFI_KEY_OPTION;\r
+\r
//\r
// EFI File location to boot from on removable media devices\r
//\r
//\r
// Load Option Attributes defined in EFI Specification\r
//\r
-#define LOAD_OPTION_ACTIVE 0x00000001\r
-#define LOAD_OPTION_FORCE_RECONNECT 0x00000002\r
#define IS_LOAD_OPTION_TYPE(_c, _Mask) (BOOLEAN) (((_c) & (_Mask)) != 0)\r
\r
//\r
#define MAX_CHAR 480\r
#define MAX_CHAR_SIZE (MAX_CHAR * 2)\r
\r
-//\r
-// Check to see if current build support option active feature of\r
-// some driver option\r
-//\r
-#define LOAD_OPTION_ACTIVE 0x00000001\r
-\r
-//\r
-// Check to see if current build support force reconnect feature of\r
-// some driver option\r
-//\r
-#define LOAD_OPTION_FORCE_RECONNECT 0x00000002\r
\r
//\r
// Below are the form ids for display, form id is used as callback key value,\r