//********************************************************************** //********************************************************************** //** ** //** (C)Copyright 1985-2011, American Megatrends, Inc. ** //** ** //** All Rights Reserved. ** //** ** //** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** //** ** //** Phone: (770)-246-8600 ** //** ** //********************************************************************** //********************************************************************** //********************************************************************** // $Header: /Alaska/BIN/Core/Include/UefiHii.h 12 5/22/12 10:25a Artems $ // // $Revision: 12 $ // // $Date: 5/22/12 10:25a $ //********************************************************************** // Revision History // ---------------- // $Log: /Alaska/BIN/Core/Include/UefiHii.h $ // // 12 5/22/12 10:25a Artems // [TAG] EIP83593 // [Category] New Feature // [Description] Proportional font support for Aptio // [Files] UefiHii.h HiiFont.c HiiFontEx.c HiiDatabase.c HiiString.c // // 11 12/21/11 10:52a Artems // Fixed bug in EFI_NUM_LOCK _MODIFIER macro // // 10 7/21/11 4:00p Artems // EIP 64356: Combine common keyboard definitions in one file // // 9 6/17/11 10:51a Artems // Updated EFI_HII_KEYBOARD_LAYOUT structure to UEFI 2.3.1 spec // // 8 5/05/11 3:40p Artems // EIP 58707: Added changes introduced in UEFI spec v. 2.3.1 // // 7 5/05/11 11:55a Artems // EIP 58707: Added changes introduced in UEFI spec v. 2.3.1 // // 6 5/02/11 5:37p Artems // EIP 59569: Minor changes introduced in UEFI spec v. 2.3.1 // // 5 3/09/11 5:38p Artems // Added macros defined in UEFI 2.3.1 specification // // 4 12/04/09 12:09p Felixp // // 3 12/03/09 6:00p Artems // Added Keyboard layout structures inside pack pragma // // 2 11/05/09 3:29p Felixp // EfiKeyRshift compatibility declaration is added // // 1 10/13/09 5:59p Felixp // // 1 10/09/09 4:28p Felixp // // 1 3/18/07 5:23p Felixp // //********************************************************************** // // // Name: UefiHii.h // // Description: Hii basic types definition // // //********************************************************************** #ifndef __UEFI_HII__H__ #define __UEFI_HII__H__ #ifdef __cplusplus extern "C" { #endif #include #include #pragma pack (push,1) typedef struct { EFI_GUID PackageListGuid; UINT32 PackageLength; } EFI_HII_PACKAGE_LIST_HEADER; typedef struct { UINT32 Length :24; UINT32 Type :8; } EFI_HII_PACKAGE_HEADER; typedef struct _EFI_HII_GUID_PACKAGE_HDR { EFI_HII_PACKAGE_HEADER Header; EFI_GUID Guid; } EFI_HII_GUID_PACKAGE_HDR; typedef struct { EFI_HII_PACKAGE_HEADER Header; UINT16 LayoutCount; //EFI_HII_KEYBOARD_LAYOUT Layout[]; } EFI_HII_KEYBOARD_PACKAGE_HDR; #define EFI_HII_PACKAGE_TYPE_ALL 0x00 #define EFI_HII_PACKAGE_TYPE_GUID 0x01 #define EFI_HII_PACKAGE_FORMS 0x02 #define EFI_HII_PACKAGE_STRINGS 0x04 #define EFI_HII_PACKAGE_FONTS 0x05 #define EFI_HII_PACKAGE_IMAGES 0x06 #define EFI_HII_PACKAGE_SIMPLE_FONTS 0x07 #define EFI_HII_PACKAGE_DEVICE_PATH 0x08 #define EFI_HII_PACKAGE_KEYBOARD_LAYOUT 0x09 #define EFI_HII_PACKAGE_ANIMATIONS 0x0A #define EFI_HII_PACKAGE_END 0xDF #define EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN 0xE0 #define EFI_HII_PACKAGE_TYPE_SYSTEM_END 0xFF typedef CHAR16 *EFI_STRING; typedef UINT16 EFI_QUESTION_ID; typedef UINT16 EFI_IMAGE_ID; typedef UINT16 EFI_STRING_ID; typedef UINT16 EFI_FORM_ID; typedef UINT16 EFI_VARSTORE_ID; typedef UINT32 EFI_HII_FONT_STYLE; typedef VOID *EFI_HII_HANDLE; #define EFI_HII_FONT_STYLE_NORMAL 0x00000000 #define EFI_HII_FONT_STYLE_BOLD 0x00000001 #define EFI_HII_FONT_STYLE_ITALIC 0x00000002 #define EFI_HII_FONT_STYLE_EMBOSS 0x00010000 #define EFI_HII_FONT_STYLE_OUTLINE 0x00020000 #define EFI_HII_FONT_STYLE_SHADOW 0x00040000 #define EFI_HII_FONT_STYLE_UNDERLINE 0x00080000 #define EFI_HII_FONT_STYLE_DBL_UNDER 0x00100000 typedef struct { EFI_HII_FONT_STYLE FontStyle; UINT16 FontSize; // character cell size in pixels CHAR16 FontName[1]; } EFI_FONT_INFO; #define EFI_GLYPH_NON_SPACING 0x01 #define EFI_GLYPH_WIDE 0x02 #define EFI_GLYPH_HEIGHT 19 #define EFI_GLYPH_WIDTH 8 #define EFI_GLYPH_WIDE_WIDTH 16 #define EFI_GLYPH_BASE_LINE 14 typedef struct { CHAR16 UnicodeWeight; UINT8 Attributes; UINT8 GlyphCol1[EFI_GLYPH_HEIGHT]; } EFI_NARROW_GLYPH; typedef struct { CHAR16 UnicodeWeight; UINT8 Attributes; UINT8 GlyphCol1[EFI_GLYPH_HEIGHT]; UINT8 GlyphCol2[EFI_GLYPH_HEIGHT]; UINT8 Pad[3]; } EFI_WIDE_GLYPH; typedef struct _EFI_HII_SIMPLE_FONT_PACKAGE_HDR { EFI_HII_PACKAGE_HEADER Header; UINT16 NumberOfNarrowGlyphs; UINT16 NumberOfWideGlyphs; EFI_NARROW_GLYPH NarrowGlyphs[1]; // EFI_WIDE_GLYPH WideGlyphs[...]; } EFI_HII_SIMPLE_FONT_PACKAGE_HDR; typedef struct _EFI_HII_GLYPH_INFO { UINT16 Width; UINT16 Height; INT16 OffsetX; INT16 OffsetY; INT16 AdvanceX; } EFI_HII_GLYPH_INFO; typedef struct _EFI_HII_FONT_PACKAGE_HDR { EFI_HII_PACKAGE_HEADER Header; UINT32 HdrSize; UINT32 GlyphBlockOffset; EFI_HII_GLYPH_INFO Cell; EFI_HII_FONT_STYLE FontStyle; // CHAR16 FontFamily[]; } EFI_HII_FONT_PACKAGE_HDR; #define EFI_HII_GIBT_END 0x00 #define EFI_HII_GIBT_GLYPH 0x10 #define EFI_HII_GIBT_GLYPHS 0x11 #define EFI_HII_GIBT_GLYPH_DEFAULT 0x12 #define EFI_HII_GIBT_GLYPHS_DEFAULT 0x13 #define EFI_HII_GIBT_DUPLICATE 0x20 #define EFI_HII_GIBT_SKIP2 0x21 #define EFI_HII_GIBT_SKIP1 0x22 #define EFI_HII_GIBT_DEFAULTS 0x23 #define EFI_HII_GIBT_EXT1 0x30 #define EFI_HII_GIBT_EXT2 0x31 #define EFI_HII_GIBT_EXT4 0x32 typedef struct _EFI_HII_GLYPH_BLOCK { UINT8 BlockType; // UINT8 BlockBody[]; } EFI_HII_GLYPH_BLOCK; typedef struct _EFI_HII_GIBT_DEFAULTS_BLOCK { EFI_HII_GLYPH_BLOCK Header; EFI_HII_GLYPH_INFO Cell; } EFI_HII_GIBT_DEFAULTS_BLOCK; typedef struct _EFI_HII_GIBT_DUPLICATE_BLOCK { EFI_HII_GLYPH_BLOCK Header; CHAR16 CharValue; } EFI_HII_GIBT_DUPLICATE_BLOCK; typedef struct _EFI_GLYPH_GIBT_END_BLOCK { EFI_HII_GLYPH_BLOCK Header; } EFI_GLYPH_GIBT_END_BLOCK; typedef struct _EFI_HII_GIBT_EXT1_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT8 BlockType2; UINT8 Length; } EFI_HII_GIBT_EXT1_BLOCK; typedef struct _EFI_HII_GIBT_EXT2_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT8 BlockType2; UINT16 Length; } EFI_HII_GIBT_EXT2_BLOCK; typedef struct _EFI_HII_GIBT_EXT4_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT8 BlockType2; UINT32 Length; } EFI_HII_GIBT_EXT4_BLOCK; typedef struct _EFI_HII_GIBT_GLYPH_BLOCK { EFI_HII_GLYPH_BLOCK Header; EFI_HII_GLYPH_INFO Cell; // UINT8 BitmapData[]; } EFI_HII_GIBT_GLYPH_BLOCK; typedef struct _EFI_HII_GIBT_GLYPHS_BLOCK { EFI_HII_GLYPH_BLOCK Header; EFI_HII_GLYPH_INFO Cell; UINT16 Count; // UINT8 BitmapData[]; } EFI_HII_GIBT_GLYPHS_BLOCK; typedef struct _EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK { EFI_HII_GLYPH_BLOCK Header; // UINT8 BitmapData[]; } EFI_HII_GIBT_GLYPH_DEFAULT_BLOCK; typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT16 Count; // UINT8 BitmapData[]; } EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK; typedef struct _EFI_HII_GIBT_SKIP2_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT16 SkipCount; } EFI_HII_GIBT_SKIP2_BLOCK; typedef struct _EFI_HII_GIBT_SKIP1_BLOCK { EFI_HII_GLYPH_BLOCK Header; UINT8 SkipCount; } EFI_HII_GIBT_SKIP1_BLOCK; typedef struct _EFI_HII_STRING_PACKAGE_HDR { EFI_HII_PACKAGE_HEADER Header; UINT32 HdrSize; UINT32 StringInfoOffset; CHAR16 LanguageWindow[16]; EFI_STRING_ID LanguageName; CHAR8 Language[1]; } EFI_HII_STRING_PACKAGE_HDR; #define UEFI_CONFIG_LANG "x-UEFI" #define UEFI_CONFIG_LANG_2 "x-i-UEFI" typedef struct { UINT8 BlockType; // UINT8 *BlockBody; } EFI_HII_STRING_BLOCK; #define EFI_HII_SIBT_END 0x00 #define EFI_HII_SIBT_STRING_SCSU 0x10 #define EFI_HII_SIBT_STRING_SCSU_FONT 0x11 #define EFI_HII_SIBT_STRINGS_SCSU 0x12 #define EFI_HII_SIBT_STRINGS_SCSU_FONT 0x13 #define EFI_HII_SIBT_STRING_UCS2 0x14 #define EFI_HII_SIBT_STRING_UCS2_FONT 0x15 #define EFI_HII_SIBT_STRINGS_UCS2 0x16 #define EFI_HII_SIBT_STRINGS_UCS2_FONT 0x17 #define EFI_HII_SIBT_DUPLICATE 0x20 #define EFI_HII_SIBT_SKIP2 0x21 #define EFI_HII_SIBT_SKIP1 0x22 #define EFI_HII_SIBT_EXT1 0x30 #define EFI_HII_SIBT_EXT2 0x31 #define EFI_HII_SIBT_EXT4 0x32 #define EFI_HII_SIBT_FONT 0x40 typedef struct _EFI_HII_SIBT_DUPLICATE_BLOCK { EFI_HII_STRING_BLOCK Header; EFI_STRING_ID StringId; } EFI_HII_SIBT_DUPLICATE_BLOCK; typedef struct _EFI_HII_SIBT_END_BLOCK { EFI_HII_STRING_BLOCK Header; } EFI_HII_SIBT_END_BLOCK; typedef struct _EFI_HII_SIBT_EXT1_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 BlockType2; UINT8 Length; } EFI_HII_SIBT_EXT1_BLOCK; typedef struct _EFI_HII_SIBT_EXT2_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 BlockType2; UINT16 Length; } EFI_HII_SIBT_EXT2_BLOCK; typedef struct _EFI_HII_SIBT_EXT4_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 BlockType2; UINT32 Length; } EFI_HII_SIBT_EXT4_BLOCK; typedef struct _EFI_HII_SIBT_FONT_BLOCK { EFI_HII_SIBT_EXT2_BLOCK Header; UINT8 FontId; UINT16 FontSize; EFI_HII_FONT_STYLE FontStyle; // CHAR16 FontName[]; } EFI_HII_SIBT_FONT_BLOCK; typedef struct _EFI_HII_SIBT_SKIP1_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 SkipCount; } EFI_HII_SIBT_SKIP1_BLOCK; typedef struct _EFI_HII_SIBT_SKIP2_BLOCK { EFI_HII_STRING_BLOCK Header; UINT16 SkipCount; } EFI_HII_SIBT_SKIP2_BLOCK; typedef struct _EFI_HII_SIBT_STRING_SCSU_BLOCK { EFI_HII_STRING_BLOCK Header; // UINT8 *StringText; } EFI_HII_SIBT_STRING_SCSU_BLOCK; typedef struct _EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 FontIdentifier; // UINT8 *StringText; } EFI_HII_SIBT_STRING_SCSU_FONT_BLOCK; typedef struct _EFI_HII_SIBT_STRINGS_SCSU_BLOCK { EFI_HII_STRING_BLOCK Header; UINT16 StringCount; // UINT8 *StringText; } EFI_HII_SIBT_STRINGS_SCSU_BLOCK; typedef struct _EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 FontIdentifier; UINT16 StringCount; // UINT8 *StringText; } EFI_HII_SIBT_STRINGS_SCSU_FONT_BLOCK; typedef struct _EFI_HII_SIBT_STRING_UCS2_BLOCK { EFI_HII_STRING_BLOCK Header; // CHAR16 *StringText; } EFI_HII_SIBT_STRING_UCS2_BLOCK; typedef struct _EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 FontIdentifier; // CHAR16 *StringText; } EFI_HII_SIBT_STRING_UCS2_FONT_BLOCK; typedef struct _EFI_HII_SIBT_STRINGS_UCS2_BLOCK { EFI_HII_STRING_BLOCK Header; UINT16 StringCount; // CHAR16 *StringText; } EFI_HII_SIBT_STRINGS_UCS2_BLOCK; typedef struct _EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK { EFI_HII_STRING_BLOCK Header; UINT8 FontIdentifier; UINT16 StringCount; // CHAR16 *StringText; } EFI_HII_SIBT_STRINGS_UCS2_FONT_BLOCK; #define EFI_IFR_FORM_OP 0x01 #define EFI_IFR_SUBTITLE_OP 0x02 #define EFI_IFR_TEXT_OP 0x03 #define EFI_IFR_IMAGE_OP 0x04 #define EFI_IFR_ONE_OF_OP 0x05 #define EFI_IFR_CHECKBOX_OP 0x06 #define EFI_IFR_NUMERIC_OP 0x07 #define EFI_IFR_PASSWORD_OP 0x08 #define EFI_IFR_ONE_OF_OPTION_OP 0x09 #define EFI_IFR_SUPPRESS_IF_OP 0x0A #define EFI_IFR_LOCKED_OP 0x0B #define EFI_IFR_ACTION_OP 0x0C #define EFI_IFR_RESET_BUTTON_OP 0x0D #define EFI_IFR_FORM_SET_OP 0x0E #define EFI_IFR_REF_OP 0x0F #define EFI_IFR_NO_SUBMIT_IF_OP 0x10 #define EFI_IFR_INCONSISTENT_IF_OP 0x11 #define EFI_IFR_EQ_ID_VAL_OP 0x12 #define EFI_IFR_EQ_ID_ID_OP 0x13 #define EFI_IFR_EQ_ID_LIST_OP 0x14 #define EFI_IFR_AND_OP 0x15 #define EFI_IFR_OR_OP 0x16 #define EFI_IFR_NOT_OP 0x17 #define EFI_IFR_RULE_OP 0x18 #define EFI_IFR_GRAY_OUT_IF_OP 0x19 #define EFI_IFR_DATE_OP 0x1A #define EFI_IFR_TIME_OP 0x1B #define EFI_IFR_STRING_OP 0x1C #define EFI_IFR_REFRESH_OP 0x1D #define EFI_IFR_DISABLE_IF_OP 0x1E #define EFI_IFR_TO_LOWER_OP 0x20 #define EFI_IFR_TO_UPPER_OP 0x21 #define EFI_IFR_ORDERED_LIST_OP 0x23 #define EFI_IFR_VARSTORE_OP 0x24 #define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25 #define EFI_IFR_VARSTORE_EFI_OP 0x26 #define EFI_IFR_VARSTORE_DEVICE_OP 0x27 #define EFI_IFR_VERSION_OP 0x28 #define EFI_IFR_END_OP 0x29 #define EFI_IFR_MATCH_OP 0x2A #define EFI_IFR_EQUAL_OP 0x2F #define EFI_IFR_NOT_EQUAL_OP 0x30 #define EFI_IFR_GREATER_THAN_OP 0x31 #define EFI_IFR_GREATER_EQUAL_OP 0x32 #define EFI_IFR_LESS_THAN_OP 0x33 #define EFI_IFR_LESS_EQUAL_OP 0x34 #define EFI_IFR_BITWISE_AND_OP 0x35 #define EFI_IFR_BITWISE_OR_OP 0x36 #define EFI_IFR_BITWISE_NOT_OP 0x37 #define EFI_IFR_SHIFT_LEFT_OP 0x38 #define EFI_IFR_SHIFT_RIGHT_OP 0x39 #define EFI_IFR_ADD_OP 0x3A #define EFI_IFR_SUBTRACT_OP 0x3B #define EFI_IFR_MULTIPLY_OP 0x3C #define EFI_IFR_DIVIDE_OP 0x3D #define EFI_IFR_MODULO_OP 0x3E #define EFI_IFR_RULE_REF_OP 0x3F #define EFI_IFR_QUESTION_REF1_OP 0x40 #define EFI_IFR_QUESTION_REF2_OP 0x41 #define EFI_IFR_UINT8_OP 0x42 #define EFI_IFR_UINT16_OP 0x43 #define EFI_IFR_UINT32_OP 0x44 #define EFI_IFR_UINT64_OP 0x45 #define EFI_IFR_TRUE_OP 0x46 #define EFI_IFR_FALSE_OP 0x47 #define EFI_IFR_TO_UINT_OP 0x48 #define EFI_IFR_TO_STRING_OP 0x49 #define EFI_IFR_TO_BOOLEAN_OP 0x4A #define EFI_IFR_MID_OP 0x4B #define EFI_IFR_FIND_OP 0x4C #define EFI_IFR_TOKEN_OP 0x4D #define EFI_IFR_STRING_REF1_OP 0x4E #define EFI_IFR_STRING_REF2_OP 0x4F #define EFI_IFR_CONDITIONAL_OP 0x50 #define EFI_IFR_QUESTION_REF3_OP 0x51 #define EFI_IFR_ZERO_OP 0x52 #define EFI_IFR_ONE_OP 0x53 #define EFI_IFR_ONES_OP 0x54 #define EFI_IFR_UNDEFINED_OP 0x55 #define EFI_IFR_LENGTH_OP 0x56 #define EFI_IFR_DUP_OP 0x57 #define EFI_IFR_THIS_OP 0x58 #define EFI_IFR_SPAN_OP 0x59 #define EFI_IFR_VALUE_OP 0x5A #define EFI_IFR_DEFAULT_OP 0x5B #define EFI_IFR_DEFAULTSTORE_OP 0x5C #define EFI_IFR_FORM_MAP_OP 0x5D #define EFI_IFR_CATENATE_OP 0x5E #define EFI_IFR_GUID_OP 0x5F #define EFI_IFR_SECURITY_OP 0x60 #define EFI_IFR_MODAL_TAG_OP 0x61 #define EFI_IFR_REFRESH_ID_OP 0x62 typedef struct { UINT8 Hour; UINT8 Minute; UINT8 Second; } EFI_HII_TIME; typedef struct { UINT16 Year; UINT8 Month; UINT8 Day; } EFI_HII_DATE; typedef union { UINT8 u8; UINT16 u16; UINT32 u32; UINT64 u64; BOOLEAN b; EFI_HII_TIME time; EFI_HII_DATE date; EFI_STRING_ID string; } EFI_IFR_TYPE_VALUE; typedef struct _EFI_IFR_OP_HEADER { UINT8 OpCode; UINT8 Length:7; UINT8 Scope:1; } EFI_IFR_OP_HEADER; typedef struct _EFI_IFR_STATEMENT_HEADER { EFI_STRING_ID Prompt; EFI_STRING_ID Help; } EFI_IFR_STATEMENT_HEADER; typedef struct _EFI_IFR_QUESTION_HEADER { EFI_IFR_STATEMENT_HEADER Header; EFI_QUESTION_ID QuestionId; EFI_VARSTORE_ID VarStoreId; union { EFI_STRING_ID VarName; UINT16 VarOffset; } VarStoreInfo; UINT8 Flags; } EFI_IFR_QUESTION_HEADER; #define EFI_IFR_FLAG_READ_ONLY 0x01 #define EFI_IFR_FLAG_CALLBACK 0x04 #define EFI_IFR_FLAG_RESET_REQUIRED 0x10 #define EFI_IFR_FLAG_OPTIONS_ONLY 0x80 typedef struct _EFI_IFR_DEFAULTSTORE { EFI_IFR_OP_HEADER Header; EFI_STRING_ID DefaultName; UINT16 DefaultId; } EFI_IFR_DEFAULTSTORE; #define EFI_HII_DEFAULT_CLASS_STANDARD 0x0000 #define EFI_HII_DEFAULT_CLASS_MANUFACTURING 0x0001 #define EFI_HII_DEFAULT_CLASS_SAFE 0x0002 #define EFI_HII_DEFAULT_CLASS_PLATFORM_BEGIN 0x4000 #define EFI_HII_DEFAULT_CLASS_PLATFORM_END 0x7fff #define EFI_HII_DEFAULT_CLASS_HARDWARE_BEGIN 0x8000 #define EFI_HII_DEFAULT_CLASS_HARDWARE_END 0xbfff #define EFI_HII_DEFAULT_CLASS_FIRMWARE_BEGIN 0xc000 #define EFI_HII_DEFAULT_CLASS_FIRMWARE_END 0xffff typedef struct _EFI_IFR_VARSTORE { EFI_IFR_OP_HEADER Header; EFI_GUID Guid; EFI_VARSTORE_ID VarStoreId; UINT16 Size; UINT8 Name[1]; } EFI_IFR_VARSTORE; typedef struct _EFI_IFR_VARSTORE_EFI { EFI_IFR_OP_HEADER Header; EFI_VARSTORE_ID VarStoreId; EFI_GUID Guid; UINT32 Attributes; } EFI_IFR_VARSTORE_EFI; typedef struct _EFI_IFR_VARSTORE_NAME_VALUE { EFI_IFR_OP_HEADER Header; EFI_VARSTORE_ID VarStoreId; EFI_GUID Guid; } EFI_IFR_VARSTORE_NAME_VALUE; #define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \ { 0x93039971, 0x8545, 0x4b04, 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } #define EFI_HII_DRIVER_HEALTH_FORMSET_GUID \ { 0xf22fc20c, 0x8cf4, 0x45eb, 0x8e, 0x6, 0xad, 0x4e, 0x50, 0xb9, 0x5d, 0xd3 } #define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \ { 0x337f4407, 0x5aee, 0x4b83, 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } typedef struct _EFI_IFR_FORM_SET { EFI_IFR_OP_HEADER Header; EFI_GUID Guid; EFI_STRING_ID FormSetTitle; EFI_STRING_ID Help; UINT8 Flags; EFI_GUID ClassGuid[1]; } EFI_IFR_FORM_SET; typedef struct _EFI_IFR_END { EFI_IFR_OP_HEADER Header; } EFI_IFR_END; typedef struct _EFI_IFR_FORM { EFI_IFR_OP_HEADER Header; UINT16 FormId; EFI_STRING_ID FormTitle; } EFI_IFR_FORM; typedef struct _EFI_IFR_IMAGE { EFI_IFR_OP_HEADER Header; EFI_IMAGE_ID Id; } EFI_IFR_IMAGE; typedef struct _EFI_IFR_LOCKED { EFI_IFR_OP_HEADER Header; } EFI_IFR_LOCKED; typedef struct _EFI_IFR_RULE { EFI_IFR_OP_HEADER Header; UINT8 RuleId; } EFI_IFR_RULE; typedef struct _EFI_IFR_DEFAULT { EFI_IFR_OP_HEADER Header; UINT16 DefaultId; UINT8 Type; EFI_IFR_TYPE_VALUE Value; } EFI_IFR_DEFAULT; typedef struct _EFI_IFR_VALUE { EFI_IFR_OP_HEADER Header; } EFI_IFR_VALUE; typedef struct _EFI_IFR_SUBTITLE { EFI_IFR_OP_HEADER Header; EFI_IFR_STATEMENT_HEADER Statement; UINT8 Flags; } EFI_IFR_SUBTITLE; #define EFI_IFR_FLAGS_HORIZONTAL 0x01 typedef struct _EFI_IFR_CHECKBOX { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 Flags; } EFI_IFR_CHECKBOX; #define EFI_IFR_CHECKBOX_DEFAULT 0x01 #define EFI_IFR_CHECKBOX_DEFAULT_MFG 0x02 typedef struct _EFI_IFR_TEXT { EFI_IFR_OP_HEADER Header; EFI_IFR_STATEMENT_HEADER Statement; EFI_STRING_ID TextTwo; } EFI_IFR_TEXT; typedef struct _EFI_IFR_REF { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; EFI_FORM_ID FormId; } EFI_IFR_REF; typedef struct _EFI_IFR_REF2 { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; EFI_FORM_ID FormId; EFI_QUESTION_ID QuestionId; } EFI_IFR_REF2; typedef struct _EFI_IFR_REF3 { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; EFI_FORM_ID FormId; EFI_QUESTION_ID QuestionId; EFI_GUID FormSetId; } EFI_IFR_REF3; typedef struct _EFI_IFR_REF4 { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; EFI_FORM_ID FormId; EFI_QUESTION_ID QuestionId; EFI_GUID FormSetId; EFI_STRING_ID DevicePath; } EFI_IFR_REF4; typedef struct _EFI_IFR_RESET_BUTTON { EFI_IFR_OP_HEADER Header; EFI_IFR_STATEMENT_HEADER Statement; UINT16 DefaultId; } EFI_IFR_RESET_BUTTON; typedef struct _EFI_IFR_ACTION { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; EFI_STRING_ID QuestionConfig; } EFI_IFR_ACTION; typedef struct _EFI_IFR_ACTION_1 { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; } EFI_IFR_ACTION_1; typedef struct _EFI_IFR_DATE { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 Flags; } EFI_IFR_DATE; #define EFI_QF_DATE_YEAR_SUPPRESS 0x01 #define EFI_QF_DATE_MONTH_SUPPRESS 0x02 #define EFI_QF_DATE_DAY_SUPPRESS 0x04 #define EFI_QF_DATE_STORAGE 0x30 #define QF_DATE_STORAGE_NORMAL 0x00 #define QF_DATE_STORAGE_TIME 0x10 #define QF_DATE_STORAGE_WAKEUP 0x20 typedef union { struct { UINT8 MinValue; UINT8 MaxValue; UINT8 Step; } u8; struct { UINT16 MinValue; UINT16 MaxValue; UINT16 Step; } u16; struct { UINT32 MinValue; UINT32 MaxValue; UINT32 Step; } u32; struct { UINT64 MinValue; UINT64 MaxValue; UINT64 Step; } u64; } MINMAXSTEP_DATA; typedef struct _EFI_IFR_NUMERIC { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 Flags; MINMAXSTEP_DATA data; } EFI_IFR_NUMERIC; #define EFI_IFR_NUMERIC_SIZE 0x03 #define EFI_IFR_NUMERIC_SIZE_1 0x00 #define EFI_IFR_NUMERIC_SIZE_2 0x01 #define EFI_IFR_NUMERIC_SIZE_4 0x02 #define EFI_IFR_NUMERIC_SIZE_8 0x03 #define EFI_IFR_DISPLAY 0x30 #define EFI_IFR_DISPLAY_INT_DEC 0x00 #define EFI_IFR_DISPLAY_UINT_DEC 0x10 #define EFI_IFR_DISPLAY_UINT_HEX 0x20 typedef struct _EFI_IFR_ONE_OF { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 Flags; MINMAXSTEP_DATA data; } EFI_IFR_ONE_OF; typedef struct _EFI_IFR_STRING { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 MinSize; UINT8 MaxSize; UINT8 Flags; } EFI_IFR_STRING; #define EFI_IFR_STRING_MULTI_LINE 0x01 typedef struct _EFI_IFR_PASSWORD { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT16 MinSize; UINT16 MaxSize; } EFI_IFR_PASSWORD; typedef struct _EFI_IFR_ORDERED_LIST { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 MaxContainers; UINT8 Flags; } EFI_IFR_ORDERED_LIST; #define EFI_IFR_UNIQUE_SET 0x01 #define EFI_IFR_NO_EMPTY_SET 0x02 typedef struct _EFI_IFR_TIME { EFI_IFR_OP_HEADER Header; EFI_IFR_QUESTION_HEADER Question; UINT8 Flags; } EFI_IFR_TIME; #define QF_TIME_HOUR_SUPPRESS 0x01 #define QF_TIME_MINUTE_SUPPRESS 0x02 #define QF_TIME_SECOND_SUPPRESS 0x04 #define QF_TIME_STORAGE 0x30 #define QF_TIME_STORAGE_NORMAL 0x00 #define QF_TIME_STORAGE_TIME 0x10 #define QF_TIME_STORAGE_WAKEUP 0x20 typedef struct _EFI_IFR_DISABLE_IF { EFI_IFR_OP_HEADER Header; } EFI_IFR_DISABLE_IF; typedef struct _EFI_IFR_SUPPRESS_IF { EFI_IFR_OP_HEADER Header; } EFI_IFR_SUPPRESS_IF; typedef struct _EFI_IFR_GRAY_OUT_IF { EFI_IFR_OP_HEADER Header; } EFI_IFR_GRAY_OUT_IF; typedef struct _EFI_IFR_INCONSISTENT_IF { EFI_IFR_OP_HEADER Header; EFI_STRING_ID Error; } EFI_IFR_INCONSISTENT_IF; typedef struct _EFI_IFR_NO_SUBMIT_IF { EFI_IFR_OP_HEADER Header; EFI_STRING_ID Error; } EFI_IFR_NO_SUBMIT_IF; typedef struct _EFI_IFR_REFRESH { EFI_IFR_OP_HEADER Header; UINT8 RefreshInterval; } EFI_IFR_REFRESH; typedef struct _EFI_IFR_VARSTORE_DEVICE { EFI_IFR_OP_HEADER Header; EFI_STRING_ID DevicePath; } EFI_IFR_VARSTORE_DEVICE; typedef struct _EFI_IFR_ONE_OF_OPTION { EFI_IFR_OP_HEADER Header; EFI_STRING_ID Option; UINT8 Flags; UINT8 Type; EFI_IFR_TYPE_VALUE Value; } EFI_IFR_ONE_OF_OPTION; #define EFI_IFR_TYPE_NUM_SIZE_8 0x00 #define EFI_IFR_TYPE_NUM_SIZE_16 0x01 #define EFI_IFR_TYPE_NUM_SIZE_32 0x02 #define EFI_IFR_TYPE_NUM_SIZE_64 0x03 #define EFI_IFR_TYPE_BOOLEAN 0x04 #define EFI_IFR_TYPE_TIME 0x05 #define EFI_IFR_TYPE_DATE 0x06 #define EFI_IFR_TYPE_STRING 0x07 #define EFI_IFR_TYPE_OTHER 0x08 #define EFI_IFR_OPTION_DEFAULT 0x10 #define EFI_IFR_OPTION_DEFAULT_MFG 0x20 typedef struct _EFI_IFR_GUID { EFI_IFR_OP_HEADER Header; EFI_GUID Guid; //Optional Data Follows } EFI_IFR_GUID; typedef struct _EFI_IFR_DUP { EFI_IFR_OP_HEADER Header; } EFI_IFR_DUP; typedef struct _EFI_IFR_EQ_ID_ID { EFI_IFR_OP_HEADER Header; EFI_QUESTION_ID QuestionId1; EFI_QUESTION_ID QuestionId2; } EFI_IFR_EQ_ID_ID; typedef struct _EFI_IFR_EQ_ID_VAL { EFI_IFR_OP_HEADER Header; EFI_QUESTION_ID QuestionId; UINT16 Value; } EFI_IFR_EQ_ID_VAL; typedef struct _EFI_IFR_EQ_ID_LIST { EFI_IFR_OP_HEADER Header; EFI_QUESTION_ID QuestionId; UINT16 ListLength; UINT16 ValueList[1]; } EFI_IFR_EQ_ID_LIST; typedef struct _EFI_IFR_QUESTION_REF1 { EFI_IFR_OP_HEADER Header; EFI_QUESTION_ID QuestionId; } EFI_IFR_QUESTION_REF1; typedef struct _EFI_IFR_UINT8 { EFI_IFR_OP_HEADER Header; UINT8 Value; } EFI_IFR_UINT8; typedef struct _EFI_IFR_UINT16 { EFI_IFR_OP_HEADER Header; UINT16 Value; } EFI_IFR_UINT16; typedef struct _EFI_IFR_QUESTION_REF2 { EFI_IFR_OP_HEADER Header; } EFI_IFR_QUESTION_REF2; typedef struct _EFI_IFR_UINT32 { EFI_IFR_OP_HEADER Header; UINT32 Value; } EFI_IFR_UINT32; typedef struct _EFI_IFR_UINT64 { EFI_IFR_OP_HEADER Header; UINT64 Value; } EFI_IFR_UINT64; typedef struct _EFI_IFR_QUESTION_REF3 { EFI_IFR_OP_HEADER Header; } EFI_IFR_QUESTION_REF3; typedef struct _EFI_IFR_QUESTION_REF3_2 { EFI_IFR_OP_HEADER Header; EFI_STRING_ID DevicePath; } EFI_IFR_QUESTION_REF3_2; typedef struct _EFI_IFR_QUESTION_REF3_3 { EFI_IFR_OP_HEADER Header; EFI_STRING_ID DevicePath; EFI_GUID Guid; } EFI_IFR_QUESTION_REF3_3; typedef struct _EFI_IFR_RULE_REF { EFI_IFR_OP_HEADER Header; UINT8 RuleId; } EFI_IFR_RULE_REF; typedef struct _EFI_IFR_STRING_REF1 { EFI_IFR_OP_HEADER Header; EFI_STRING_ID StringId; } EFI_IFR_STRING_REF1; typedef struct _EFI_IFR_STRING_REF2 { EFI_IFR_OP_HEADER Header; } EFI_IFR_STRING_REF2; typedef struct _EFI_IFR_THIS { EFI_IFR_OP_HEADER Header; } EFI_IFR_THIS; typedef struct _EFI_IFR_TRUE { EFI_IFR_OP_HEADER Header; } EFI_IFR_TRUE; typedef struct _EFI_IFR_FALSE { EFI_IFR_OP_HEADER Header; } EFI_IFR_FALSE; typedef struct _EFI_IFR_ONE { EFI_IFR_OP_HEADER Header; } EFI_IFR_ONE; typedef struct _EFI_IFR_ONES { EFI_IFR_OP_HEADER Header; } EFI_IFR_ONES; typedef struct _EFI_IFR_ZERO { EFI_IFR_OP_HEADER Header; } EFI_IFR_ZERO; typedef struct _EFI_IFR_UNDEFINED { EFI_IFR_OP_HEADER Header; } EFI_IFR_UNDEFINED; typedef struct _EFI_IFR_VERSION { EFI_IFR_OP_HEADER Header; } EFI_IFR_VERSION; typedef struct _EFI_IFR_LENGTH { EFI_IFR_OP_HEADER Header; } EFI_IFR_LENGTH; typedef struct _EFI_IFR_NOT { EFI_IFR_OP_HEADER Header; } EFI_IFR_NOT; typedef struct _EFI_IFR_BITWISE_NOT { EFI_IFR_OP_HEADER Header; } EFI_IFR_BITWISE_NOT; typedef struct _EFI_IFR_TO_BOOLEAN { EFI_IFR_OP_HEADER Header; } EFI_IFR_TO_BOOLEAN; #define EFI_IFR_STRING_UNSIGNED_DEC 0 #define EFI_IFR_STRING_SIGNED_DEC 1 #define EFI_IFR_STRING_LOWERCASE_HEX 2 #define EFI_IFR_STRING_UPPERCASE_HEX 3 #define EFI_IFR_STRING_ASCII 0 #define EFI_IFR_STRING_UNICODE 8 typedef struct _EFI_IFR_TO_STRING { EFI_IFR_OP_HEADER Header; UINT8 Format; } EFI_IFR_TO_STRING; typedef struct _EFI_IFR_TO_UINT { EFI_IFR_OP_HEADER Header; } EFI_IFR_TO_UINT; typedef struct _EFI_IFR_TO_UPPER { EFI_IFR_OP_HEADER Header; } EFI_IFR_TO_UPPER; typedef struct _EFI_IFR_TO_LOWER { EFI_IFR_OP_HEADER Header; } EFI_IFR_TO_LOWER; typedef struct _EFI_IFR_ADD { EFI_IFR_OP_HEADER Header; } EFI_IFR_ADD; typedef struct _EFI_IFR_AND { EFI_IFR_OP_HEADER Header; } EFI_IFR_AND; typedef struct _EFI_IFR_BITWISE_AND { EFI_IFR_OP_HEADER Header; } EFI_IFR_BITWISE_AND; typedef struct _EFI_IFR_BITWISE_OR { EFI_IFR_OP_HEADER Header; } EFI_IFR_BITWISE_OR; typedef struct _EFI_IFR_CATENATE { EFI_IFR_OP_HEADER Header; } EFI_IFR_CATENATE; typedef struct _EFI_IFR_DIVIDE { EFI_IFR_OP_HEADER Header; } EFI_IFR_DIVIDE; typedef struct _EFI_IFR_EQUAL { EFI_IFR_OP_HEADER Header; } EFI_IFR_EQUAL; typedef struct _EFI_IFR_GREATER_EQUAL { EFI_IFR_OP_HEADER Header; } EFI_IFR_GREATER_EQUAL; typedef struct _EFI_IFR_GREATER_THAN { EFI_IFR_OP_HEADER Header; } EFI_IFR_GREATER_THAN; typedef struct _EFI_IFR_LESS_EQUAL { EFI_IFR_OP_HEADER Header; } EFI_IFR_LESS_EQUAL; typedef struct _EFI_IFR_LESS_THAN { EFI_IFR_OP_HEADER Header; } EFI_IFR_LESS_THAN; typedef struct _EFI_IFR_MATCH { EFI_IFR_OP_HEADER Header; } EFI_IFR_MATCH; typedef struct _EFI_IFR_MULTIPLY { EFI_IFR_OP_HEADER Header; } EFI_IFR_MULTIPLY; typedef struct _EFI_IFR_MODULO { EFI_IFR_OP_HEADER Header; } EFI_IFR_MODULO; typedef struct _EFI_IFR_NOT_EQUAL { EFI_IFR_OP_HEADER Header; } EFI_IFR_NOT_EQUAL; typedef struct _EFI_IFR_OR { EFI_IFR_OP_HEADER Header; } EFI_IFR_OR; typedef struct _EFI_IFR_SHIFT_LEFT { EFI_IFR_OP_HEADER Header; } EFI_IFR_SHIFT_LEFT; typedef struct _EFI_IFR_SHIFT_RIGHT { EFI_IFR_OP_HEADER Header; } EFI_IFR_SHIFT_RIGHT; typedef struct _EFI_IFR_SUBTRACT { EFI_IFR_OP_HEADER Header; } EFI_IFR_SUBTRACT; typedef struct _EFI_IFR_CONDITIONAL { EFI_IFR_OP_HEADER Header; } EFI_IFR_CONDITIONAL; #define EFI_IFR_FF_CASE_SENSITIVE 0x00 #define EFI_IFR_FF_CASE_INSENSITIVE 0x01 typedef struct _EFI_IFR_FIND { EFI_IFR_OP_HEADER Header; UINT8 Format; } EFI_IFR_FIND; typedef struct _EFI_IFR_MID { EFI_IFR_OP_HEADER Header; } EFI_IFR_MID; typedef struct _EFI_IFR_TOKEN { EFI_IFR_OP_HEADER Header; } EFI_IFR_TOKEN; #define EFI_IFR_FLAGS_FIRST_MATCHING 0x00 #define EFI_IFR_FLAGS_FIRST_NON_MATCHING 0x01 typedef struct _EFI_IFR_SPAN { EFI_IFR_OP_HEADER Header; UINT8 Flags; } EFI_IFR_SPAN; typedef UINTN EFI_BROWSER_ACTION; #define EFI_BROWSER_ACTION_CHANGING 0 #define EFI_BROWSER_ACTION_CHANGED 1 #define EFI_BROWSER_ACTION_RETRIEVE 2 #define EFI_BROWSER_ACTION_FORM_OPEN 3 #define EFI_BROWSER_ACTION_FORM_CLOSE 4 #define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000 #define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001 #define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002 #define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000 #define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000 #define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000 typedef UINTN EFI_BROWSER_ACTION_REQUEST; #define EFI_BROWSER_ACTION_REQUEST_NONE 0 #define EFI_BROWSER_ACTION_REQUEST_RESET 1 #define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2 #define EFI_BROWSER_ACTION_REQUEST_EXIT 3 #define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 4 #define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT 5 #define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY 6 #define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7 //*************************************************** // EFI_DESCRIPTOR_STRING //*************************************************** typedef struct { // CHAR16 Language[3]; CHAR16 Space; // CHAR16 *DescriptionString; } EFI_DESCRIPTION_STRING; //*************************************************** // EFI_DESCRIPTOR_STRING_BUNDLE // // Example: 2ENG English KeyboardSPA Keyboard en ingles // = U-0000 //*************************************************** typedef struct { UINT16 DescriptionCount; EFI_DESCRIPTION_STRING *DescriptionString; } EFI_DESCRIPTION_STRING_BUNDLE; //*************************************************** // EFI_KEY_DESCRIPTOR //*************************************************** typedef struct { EFI_KEY Key; CHAR16 Unicode; CHAR16 ShiftedUnicode; CHAR16 AltGrUnicode; CHAR16 ShiftedAltGrUnicode; UINT16 Modifier; UINT16 AffectedAttribute; } EFI_KEY_DESCRIPTOR; // A key which is affected by all the standard shift modifiers. // Most keys would be expected to have this bit active. #define EFI_AFFECTED_BY_STANDARD_SHIFT 0x0001 // This key is affected by the caps lock so that if a keyboard // driver would need to disambiguate between a key which had a // "1" defined versus a "a" character. Having this bit turned on // would tell the keyboard driver to use the appropriate shifted // state or not. #define EFI_AFFECTED_BY_CAPS_LOCK 0x0002 // Similar to the case of CAPS lock, if this bit is active, the // key is affected by the num lock being turned on. #define EFI_AFFECTED_BY_NUM_LOCK 0x0004 //*************************************************** // EFI_HII_KEYBOARD_LAYOUT //*************************************************** typedef struct { UINT16 LayoutLength; EFI_GUID Guid; UINT32 LayoutDescriptorStringOffset; UINT8 DescriptorCount; EFI_KEY_DESCRIPTOR *Descriptors; } EFI_HII_KEYBOARD_LAYOUT; #pragma pack (pop) //*************************************************** // Modifier values //*************************************************** #define EFI_NULL_MODIFIER 0x0000 #define EFI_LEFT_CONTROL_MODIFIER 0x0001 #define EFI_RIGHT_CONTROL_MODIFIER 0x0002 #define EFI_LEFT_ALT_MODIFIER 0x0003 #define EFI_RIGHT_ALT_MODIFIER 0x0004 #define EFI_ALT_GR_MODIFIER 0x0005 #define EFI_INSERT_MODIFIER 0x0006 #define EFI_DELETE_MODIFIER 0x0007 #define EFI_PAGE_DOWN_MODIFIER 0x0008 #define EFI_PAGE_UP_MODIFIER 0x0009 #define EFI_HOME_MODIFIER 0x000A #define EFI_END_MODIFIER 0x000B #define EFI_LEFT_SHIFT_MODIFIER 0x000C #define EFI_RIGHT_SHIFT_MODIFIER 0x000D #define EFI_CAPS_LOCK_MODIFIER 0x000E #define EFI_NUM_LOCK_MODIFIER 0x000F #define EFI_LEFT_ARROW_MODIFIER 0x0010 #define EFI_RIGHT_ARROW_MODIFIER 0x0011 #define EFI_DOWN_ARROW_MODIFIER 0x0012 #define EFI_UP_ARROW_MODIFIER 0X0013 #define EFI_NS_KEY_MODIFIER 0x0014 #define EFI_NS_KEY_DEPENDENCY_MODIFIER 0x0015 #define EFI_FUNCTION_KEY_ONE_MODIFIER 0x0016 #define EFI_FUNCTION_KEY_TWO_MODIFIER 0x0017 #define EFI_FUNCTION_KEY_THREE_MODIFIER 0x0018 #define EFI_FUNCTION_KEY_FOUR_MODIFIER 0x0019 #define EFI_FUNCTION_KEY_FIVE_MODIFIER 0x001A #define EFI_FUNCTION_KEY_SIX_MODIFIER 0x001B #define EFI_FUNCTION_KEY_SEVEN_MODIFIER 0x001C #define EFI_FUNCTION_KEY_EIGHT_MODIFIER 0x001D #define EFI_FUNCTION_KEY_NINE_MODIFIER 0x001E #define EFI_FUNCTION_KEY_TEN_MODIFIER 0x001F #define EFI_FUNCTION_KEY_ELEVEN_MODIFIER 0x0020 #define EFI_FUNCTION_KEY_TWELVE_MODIFIER 0x0021 // // Keys that have multiple control functions based on modifier // settings are handled in the keyboard driver implementation. // For instance PRINT_KEY might have a modifier held down and // is still a nonprinting character, but might have an alternate // control function like SYSREQUEST // #define EFI_PRINT_MODIFIER 0x0022 #define EFI_SYS_REQUEST_MODIFIER 0x0023 #define EFI_SCROLL_LOCK_MODIFIER 0x0024 #define EFI_PAUSE_MODIFIER 0x0025 #define EFI_BREAK_MODIFIER 0x0026 #define EFI_LEFT_LOGO_MODIFIER 0x0027 #define EFI_RIGHT_LOGO_MODIFIER 0x0028 #define EFI_MENU_MODIFIER 0x0029 #define EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID \ { 0x14982a4f, 0xb0ed, 0x45b8, 0xa8, 0x11, 0x5a, 0x7a, 0x9b, 0xc2, 0x32, 0xdf } /**************** Compatibility declarations *******************************/ typedef EFI_STRING_ID STRING_REF; #define EfiKeyRshift EfiKeyRShift /****** DO NOT WRITE BELOW THIS LINE *******/ #ifdef __cplusplus } #endif #endif //********************************************************************** //********************************************************************** //** ** //** (C)Copyright 1985-2011, American Megatrends, Inc. ** //** ** //** All Rights Reserved. ** //** ** //** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** //** ** //** Phone: (770)-246-8600 ** //** ** //********************************************************************** //**********************************************************************