]>
Commit | Line | Data |
---|---|---|
d393bdda | 1 | /** @file\r |
e5618791 | 2 | EDKII extented HII IFR guid opcodes.\r |
93e3992d | 3 | \r |
cd5ebaa0 | 4 | Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r |
64a80549 | 5 | This program and the accompanying materials are licensed and made available under \r |
6 | the terms and conditions of the BSD License that accompanies this distribution. \r | |
7 | The full text of the license may be found at\r | |
8 | http://opensource.org/licenses/bsd-license.php. \r | |
93e3992d | 9 | \r |
64a80549 | 10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r |
93e3992d | 11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r |
12 | \r | |
13 | **/\r | |
14 | \r | |
5f597758 LG |
15 | #ifndef __MDEMODULE_HII_H__\r |
16 | #define __MDEMODULE_HII_H__\r | |
93e3992d | 17 | \r |
18 | #define NARROW_CHAR 0xFFF0\r | |
19 | #define WIDE_CHAR 0xFFF1\r | |
20 | #define NON_BREAKING_CHAR 0xFFF2\r | |
21 | \r | |
ebafc55b | 22 | ///\r |
64a80549 | 23 | /// State defined for password statemachine .\r |
ebafc55b | 24 | ///\r |
93e3992d | 25 | #define BROWSER_STATE_VALIDATE_PASSWORD 0\r |
26 | #define BROWSER_STATE_SET_PASSWORD 1\r | |
27 | \r | |
ebafc55b | 28 | ///\r |
64a80549 | 29 | /// GUIDed opcodes defined for EDKII implementation.\r |
ebafc55b | 30 | ///\r |
93e3992d | 31 | #define EFI_IFR_TIANO_GUID \\r |
32 | { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }\r | |
33 | \r | |
93e3992d | 34 | #pragma pack(1)\r |
35 | \r | |
ebafc55b LG |
36 | ///\r |
37 | /// EDKII implementation extension opcodes, new extension can be added here later.\r | |
38 | ///\r | |
93e3992d | 39 | #define EFI_IFR_EXTEND_OP_LABEL 0x0\r |
40 | #define EFI_IFR_EXTEND_OP_BANNER 0x1\r | |
41 | #define EFI_IFR_EXTEND_OP_TIMEOUT 0x2\r | |
42 | #define EFI_IFR_EXTEND_OP_CLASS 0x3\r | |
43 | #define EFI_IFR_EXTEND_OP_SUBCLASS 0x4\r | |
44 | \r | |
ebafc55b | 45 | ///\r |
64a80549 | 46 | /// Label opcode.\r |
ebafc55b | 47 | ///\r |
93e3992d | 48 | typedef struct _EFI_IFR_GUID_LABEL {\r |
49 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 50 | ///\r |
64a80549 | 51 | /// EFI_IFR_TIANO_GUID.\r |
ebafc55b | 52 | ///\r |
93e3992d | 53 | EFI_GUID Guid;\r |
ebafc55b | 54 | ///\r |
64a80549 | 55 | /// EFI_IFR_EXTEND_OP_LABEL.\r |
ebafc55b | 56 | ///\r |
93e3992d | 57 | UINT8 ExtendOpCode;\r |
ebafc55b | 58 | ///\r |
64a80549 | 59 | /// Label Number.\r |
ebafc55b | 60 | ///\r |
93e3992d | 61 | UINT16 Number;\r |
62 | } EFI_IFR_GUID_LABEL;\r | |
63 | \r | |
64 | #define EFI_IFR_BANNER_ALIGN_LEFT 0\r | |
65 | #define EFI_IFR_BANNER_ALIGN_CENTER 1\r | |
66 | #define EFI_IFR_BANNER_ALIGN_RIGHT 2\r | |
67 | \r | |
ebafc55b | 68 | ///\r |
64a80549 | 69 | /// Banner opcode.\r |
ebafc55b | 70 | ///\r |
93e3992d | 71 | typedef struct _EFI_IFR_GUID_BANNER {\r |
72 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 73 | ///\r |
64a80549 | 74 | /// EFI_IFR_TIANO_GUID.\r |
ebafc55b | 75 | ///\r |
93e3992d | 76 | EFI_GUID Guid;\r |
ebafc55b LG |
77 | ///\r |
78 | /// EFI_IFR_EXTEND_OP_BANNER\r | |
79 | ///\r | |
80 | UINT8 ExtendOpCode;\r | |
64a80549 | 81 | EFI_STRING_ID Title; ///< The string token for the banner title.\r |
82 | UINT16 LineNumber; ///< 1-based line number.\r | |
83 | UINT8 Alignment; ///< left, center, or right-aligned.\r | |
93e3992d | 84 | } EFI_IFR_GUID_BANNER;\r |
85 | \r | |
ebafc55b | 86 | ///\r |
64a80549 | 87 | /// Timeout opcode.\r |
ebafc55b | 88 | ///\r |
93e3992d | 89 | typedef struct _EFI_IFR_GUID_TIMEOUT {\r |
90 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 91 | ///\r |
64a80549 | 92 | /// EFI_IFR_TIANO_GUID.\r |
ebafc55b | 93 | ///\r |
93e3992d | 94 | EFI_GUID Guid;\r |
ebafc55b | 95 | ///\r |
64a80549 | 96 | /// EFI_IFR_EXTEND_OP_TIMEOUT.\r |
ebafc55b | 97 | ///\r |
93e3992d | 98 | UINT8 ExtendOpCode;\r |
64a80549 | 99 | UINT16 TimeOut; ///< TimeOut Value.\r |
93e3992d | 100 | } EFI_IFR_GUID_TIMEOUT;\r |
101 | \r | |
102 | #define EFI_NON_DEVICE_CLASS 0x00\r | |
103 | #define EFI_DISK_DEVICE_CLASS 0x01\r | |
104 | #define EFI_VIDEO_DEVICE_CLASS 0x02\r | |
105 | #define EFI_NETWORK_DEVICE_CLASS 0x04\r | |
106 | #define EFI_INPUT_DEVICE_CLASS 0x08\r | |
107 | #define EFI_ON_BOARD_DEVICE_CLASS 0x10\r | |
108 | #define EFI_OTHER_DEVICE_CLASS 0x20\r | |
109 | \r | |
ebafc55b | 110 | ///\r |
64a80549 | 111 | /// Device Class opcode.\r |
ebafc55b | 112 | ///\r |
93e3992d | 113 | typedef struct _EFI_IFR_GUID_CLASS {\r |
114 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 115 | ///\r |
64a80549 | 116 | /// EFI_IFR_TIANO_GUID.\r |
ebafc55b | 117 | ///\r |
93e3992d | 118 | EFI_GUID Guid;\r |
ebafc55b | 119 | ///\r |
64a80549 | 120 | /// EFI_IFR_EXTEND_OP_CLASS.\r |
ebafc55b | 121 | ///\r |
93e3992d | 122 | UINT8 ExtendOpCode;\r |
64a80549 | 123 | UINT16 Class; ///< Device Class from the above.\r |
93e3992d | 124 | } EFI_IFR_GUID_CLASS;\r |
125 | \r | |
126 | #define EFI_SETUP_APPLICATION_SUBCLASS 0x00\r | |
127 | #define EFI_GENERAL_APPLICATION_SUBCLASS 0x01\r | |
128 | #define EFI_FRONT_PAGE_SUBCLASS 0x02\r | |
129 | #define EFI_SINGLE_USE_SUBCLASS 0x03\r | |
130 | \r | |
ebafc55b LG |
131 | ///\r |
132 | /// SubClass opcode\r | |
133 | ///\r | |
93e3992d | 134 | typedef struct _EFI_IFR_GUID_SUBCLASS {\r |
135 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 136 | ///\r |
64a80549 | 137 | /// EFI_IFR_TIANO_GUID.\r |
ebafc55b | 138 | ///\r |
93e3992d | 139 | EFI_GUID Guid;\r |
ebafc55b | 140 | ///\r |
64a80549 | 141 | /// EFI_IFR_EXTEND_OP_SUBCLASS.\r |
ebafc55b | 142 | ///\r |
93e3992d | 143 | UINT8 ExtendOpCode;\r |
64a80549 | 144 | UINT16 SubClass; ///< Sub Class type from the above.\r |
93e3992d | 145 | } EFI_IFR_GUID_SUBCLASS;\r |
146 | \r | |
ebafc55b LG |
147 | ///\r |
148 | /// GUIDed opcodes support for framework vfr.\r | |
149 | ///\r | |
f2a05cc2 | 150 | #define EFI_IFR_FRAMEWORK_GUID \\r |
151 | { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }\r | |
152 | \r | |
ebafc55b | 153 | ///\r |
e9b67286 | 154 | /// Two extended opcodes are added, and new extensions can be added here later.\r |
64a80549 | 155 | /// One is for framework OneOf question Option Key value;\r |
156 | /// another is for framework vareqval.\r | |
ebafc55b | 157 | ///\r |
f2a05cc2 | 158 | #define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0\r |
159 | #define EFI_IFR_EXTEND_OP_VAREQNAME 0x1\r | |
160 | \r | |
ebafc55b | 161 | ///\r |
64a80549 | 162 | /// Store the framework vfr option key value.\r |
ebafc55b | 163 | ///\r |
f02d0c0f LG |
164 | typedef struct _EFI_IFR_GUID_OPTIONKEY {\r |
165 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 166 | ///\r |
64a80549 | 167 | /// EFI_IFR_FRAMEWORK_GUID.\r |
ebafc55b | 168 | ///\r |
f02d0c0f | 169 | EFI_GUID Guid;\r |
ebafc55b | 170 | ///\r |
64a80549 | 171 | /// EFI_IFR_EXTEND_OP_OPTIONKEY.\r |
ebafc55b | 172 | ///\r |
f02d0c0f | 173 | UINT8 ExtendOpCode;\r |
ebafc55b | 174 | ///\r |
64a80549 | 175 | /// OneOf Questiond ID binded by OneOf Option.\r |
ebafc55b | 176 | ///\r |
f02d0c0f | 177 | EFI_QUESTION_ID QuestionId;\r |
ebafc55b LG |
178 | ///\r |
179 | /// The OneOf Option Value.\r | |
180 | ///\r | |
f02d0c0f | 181 | EFI_IFR_TYPE_VALUE OptionValue;\r |
ebafc55b LG |
182 | ///\r |
183 | /// The Framework OneOf Option Key Value.\r | |
184 | ///\r | |
f2a05cc2 | 185 | UINT16 KeyValue;\r |
f02d0c0f LG |
186 | } EFI_IFR_GUID_OPTIONKEY;\r |
187 | \r | |
ebafc55b | 188 | ///\r |
64a80549 | 189 | /// Store the framework vfr vareqval name number.\r |
ebafc55b | 190 | ///\r |
f2a05cc2 | 191 | typedef struct _EFI_IFR_GUID_VAREQNAME {\r |
192 | EFI_IFR_OP_HEADER Header;\r | |
ebafc55b | 193 | ///\r |
64a80549 | 194 | /// EFI_IFR_FRAMEWORK_GUID.\r |
ebafc55b | 195 | ///\r |
f2a05cc2 | 196 | EFI_GUID Guid;\r |
ebafc55b | 197 | ///\r |
64a80549 | 198 | /// EFI_IFR_EXTEND_OP_VAREQNAME.\r |
ebafc55b | 199 | ///\r |
f2a05cc2 | 200 | UINT8 ExtendOpCode;\r |
ebafc55b LG |
201 | ///\r |
202 | /// Question ID of the Numeric Opcode created.\r | |
203 | ///\r | |
f2a05cc2 | 204 | EFI_QUESTION_ID QuestionId;\r |
ebafc55b LG |
205 | ///\r |
206 | /// For vareqval (0x100), NameId is 0x100.\r | |
64a80549 | 207 | /// This value will convert to a Unicode String following this rule;\r |
208 | /// sprintf(StringBuffer, "%d", NameId) .\r | |
ebafc55b LG |
209 | /// The the Unicode String will be used as a EFI Variable Name.\r |
210 | ///\r | |
7b05e2c9 | 211 | UINT16 NameId;\r |
f2a05cc2 | 212 | } EFI_IFR_GUID_VAREQNAME;\r |
213 | \r | |
93e3992d | 214 | #pragma pack()\r |
215 | \r | |
5c526736 LG |
216 | extern EFI_GUID gEfiIfrTianoGuid;\r |
217 | extern EFI_GUID gEfiIfrFrameworkGuid;\r | |
218 | \r | |
93e3992d | 219 | #endif\r |
220 | \r |