1 /*++ 2 3 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 TianoHii.h 15 16 Abstract: 17 18 Tiano specific HII relative definition. 19 20 Revision History 21 22 --*/ 23 24 #ifndef _TIANO_HII_H_ 25 #define _TIANO_HII_H_ 26 27 #include "EfiHii.h" 28 29 #define NARROW_CHAR 0xFFF0 30 #define WIDE_CHAR 0xFFF1 31 #define NON_BREAKING_CHAR 0xFFF2 32 33 #define GLYPH_WIDTH EFI_GLYPH_WIDTH 34 #define GLYPH_HEIGHT EFI_GLYPH_HEIGHT 35 36 // 37 // State defined for password statemachine 38 // 39 #define BROWSER_STATE_VALIDATE_PASSWORD 0 40 #define BROWSER_STATE_SET_PASSWORD 1 41 42 // 43 // References to string tokens must use this macro to enable scanning for 44 // token usages. 45 // 46 #define STRING_TOKEN(t) t 47 48 // 49 // GUIDed opcodes defined for Tiano 50 // 51 #define EFI_IFR_TIANO_GUID \ 52 { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} } 53 // 54 // ClassGuid for Front Page 55 // 56 #define EFI_HII_FRONT_PAGE_CLASS_GUID \ 57 { 0x94d411b7, 0x7669, 0x45c3, {0xba, 0x3b, 0xf3, 0xa5, 0x8a, 0x71, 0x56, 0x81} } 58 59 #pragma pack(1) 60 61 #define EFI_IFR_EXTEND_OP_LABEL 0x0 62 #define EFI_IFR_EXTEND_OP_BANNER 0x1 63 #define EFI_IFR_EXTEND_OP_TIMEOUT 0x2 64 #define EFI_IFR_EXTEND_OP_CLASS 0x3 65 #define EFI_IFR_EXTEND_OP_SUBCLASS 0x4 66 67 typedef struct _EFI_IFR_GUID_LABEL { 68 EFI_IFR_OP_HEADER Header; 69 EFI_GUID Guid; 70 UINT8 ExtendOpCode; 71 UINT16 Number; 72 } EFI_IFR_GUID_LABEL; 73 74 #define EFI_IFR_BANNER_ALIGN_LEFT 0 75 #define EFI_IFR_BANNER_ALIGN_CENTER 1 76 #define EFI_IFR_BANNER_ALIGN_RIGHT 2 77 78 typedef struct _EFI_IFR_GUID_BANNER { 79 EFI_IFR_OP_HEADER Header; 80 EFI_GUID Guid; 81 UINT8 ExtendOpCode; // Extended opcode is EFI_IFR_EXTEND_OP_BANNER 82 EFI_STRING_ID Title; // The string token for the banner title 83 UINT16 LineNumber; // 1-based line number 84 UINT8 Alignment; // left, center, or right-aligned 85 } EFI_IFR_GUID_BANNER; 86 87 typedef struct _EFI_IFR_GUID_TIMEOUT { 88 EFI_IFR_OP_HEADER Header; 89 EFI_GUID Guid; 90 UINT8 ExtendOpCode; 91 UINT16 TimeOut; 92 } EFI_IFR_GUID_TIMEOUT; 93 94 #define EFI_NON_DEVICE_CLASS 0x00 95 #define EFI_DISK_DEVICE_CLASS 0x01 96 #define EFI_VIDEO_DEVICE_CLASS 0x02 97 #define EFI_NETWORK_DEVICE_CLASS 0x04 98 #define EFI_INPUT_DEVICE_CLASS 0x08 99 #define EFI_ON_BOARD_DEVICE_CLASS 0x10 100 #define EFI_OTHER_DEVICE_CLASS 0x20 101 102 typedef struct _EFI_IFR_GUID_CLASS { 103 EFI_IFR_OP_HEADER Header; 104 EFI_GUID Guid; 105 UINT8 ExtendOpCode; 106 UINT16 Class; 107 } EFI_IFR_GUID_CLASS; 108 109 #define EFI_SETUP_APPLICATION_SUBCLASS 0x00 110 #define EFI_GENERAL_APPLICATION_SUBCLASS 0x01 111 #define EFI_FRONT_PAGE_SUBCLASS 0x02 112 #define EFI_SINGLE_USE_SUBCLASS 0x03 113 114 typedef struct _EFI_IFR_GUID_SUBCLASS { 115 EFI_IFR_OP_HEADER Header; 116 EFI_GUID Guid; 117 UINT8 ExtendOpCode; 118 UINT16 SubClass; 119 } EFI_IFR_GUID_SUBCLASS; 120 121 #pragma pack() 122 123 #endif 124