]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/MdeModuleHii.h
sync comments, fix function header, rename variable name to follow coding style.
[mirror_edk2.git] / MdeModulePkg / Include / MdeModuleHii.h
CommitLineData
d393bdda 1/** @file\r
2 EDK II implementation specific HII relative definition.\r
93e3992d 3\r
d393bdda 4Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
93e3992d 5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT 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
93e3992d 22//\r
23// State defined for password statemachine \r
24//\r
25#define BROWSER_STATE_VALIDATE_PASSWORD 0\r
26#define BROWSER_STATE_SET_PASSWORD 1\r
27\r
28\r
29//\r
30// Tiano Implementation specific Device Path definition.\r
31//\r
c7493fe5 32#pragma pack(1)\r
93e3992d 33typedef struct {\r
34 VENDOR_DEVICE_PATH VendorDevicePath;\r
c7493fe5 35 UINT32 Reserved;\r
36 UINT64 UniqueId;\r
93e3992d 37} HII_VENDOR_DEVICE_PATH_NODE;\r
c7493fe5 38#pragma pack()\r
93e3992d 39\r
40typedef struct {\r
41 HII_VENDOR_DEVICE_PATH_NODE Node;\r
42 EFI_DEVICE_PATH_PROTOCOL End;\r
43} HII_VENDOR_DEVICE_PATH;\r
44\r
45\r
93e3992d 46//\r
47// GUIDed opcodes defined for Tiano\r
48//\r
49#define EFI_IFR_TIANO_GUID \\r
50 { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }\r
51\r
93e3992d 52#pragma pack(1)\r
53\r
54#define EFI_IFR_EXTEND_OP_LABEL 0x0\r
55#define EFI_IFR_EXTEND_OP_BANNER 0x1\r
56#define EFI_IFR_EXTEND_OP_TIMEOUT 0x2\r
57#define EFI_IFR_EXTEND_OP_CLASS 0x3\r
58#define EFI_IFR_EXTEND_OP_SUBCLASS 0x4\r
59\r
f2a05cc2 60\r
93e3992d 61typedef struct _EFI_IFR_GUID_LABEL {\r
62 EFI_IFR_OP_HEADER Header;\r
63 EFI_GUID Guid;\r
64 UINT8 ExtendOpCode;\r
65 UINT16 Number;\r
66} EFI_IFR_GUID_LABEL;\r
67\r
68#define EFI_IFR_BANNER_ALIGN_LEFT 0\r
69#define EFI_IFR_BANNER_ALIGN_CENTER 1\r
70#define EFI_IFR_BANNER_ALIGN_RIGHT 2\r
71\r
72typedef struct _EFI_IFR_GUID_BANNER {\r
73 EFI_IFR_OP_HEADER Header;\r
74 EFI_GUID Guid;\r
75 UINT8 ExtendOpCode; // Extended opcode is EFI_IFR_EXTEND_OP_BANNER\r
76 EFI_STRING_ID Title; // The string token for the banner title\r
77 UINT16 LineNumber; // 1-based line number\r
78 UINT8 Alignment; // left, center, or right-aligned\r
79} EFI_IFR_GUID_BANNER;\r
80\r
81typedef struct _EFI_IFR_GUID_TIMEOUT {\r
82 EFI_IFR_OP_HEADER Header;\r
83 EFI_GUID Guid;\r
84 UINT8 ExtendOpCode;\r
85 UINT16 TimeOut;\r
86} EFI_IFR_GUID_TIMEOUT;\r
87\r
88#define EFI_NON_DEVICE_CLASS 0x00\r
89#define EFI_DISK_DEVICE_CLASS 0x01\r
90#define EFI_VIDEO_DEVICE_CLASS 0x02\r
91#define EFI_NETWORK_DEVICE_CLASS 0x04\r
92#define EFI_INPUT_DEVICE_CLASS 0x08\r
93#define EFI_ON_BOARD_DEVICE_CLASS 0x10\r
94#define EFI_OTHER_DEVICE_CLASS 0x20\r
95\r
96typedef struct _EFI_IFR_GUID_CLASS {\r
97 EFI_IFR_OP_HEADER Header;\r
98 EFI_GUID Guid;\r
99 UINT8 ExtendOpCode;\r
100 UINT16 Class;\r
101} EFI_IFR_GUID_CLASS;\r
102\r
103#define EFI_SETUP_APPLICATION_SUBCLASS 0x00\r
104#define EFI_GENERAL_APPLICATION_SUBCLASS 0x01\r
105#define EFI_FRONT_PAGE_SUBCLASS 0x02\r
106#define EFI_SINGLE_USE_SUBCLASS 0x03\r
107\r
108typedef struct _EFI_IFR_GUID_SUBCLASS {\r
109 EFI_IFR_OP_HEADER Header;\r
110 EFI_GUID Guid;\r
111 UINT8 ExtendOpCode;\r
112 UINT16 SubClass;\r
113} EFI_IFR_GUID_SUBCLASS;\r
114\r
f2a05cc2 115//\r
60c93673 116// GUIDed opcodes defined for framework vfr.\r
f2a05cc2 117//\r
118#define EFI_IFR_FRAMEWORK_GUID \\r
119 { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }\r
120\r
121#define EFI_IFR_EXTEND_OP_OPTIONKEY 0x0\r
122#define EFI_IFR_EXTEND_OP_VAREQNAME 0x1\r
123\r
f02d0c0f
LG
124//\r
125// Store the framework vfr option key value\r
126//\r
127typedef struct _EFI_IFR_GUID_OPTIONKEY {\r
128 EFI_IFR_OP_HEADER Header;\r
129 EFI_GUID Guid;\r
130 UINT8 ExtendOpCode;\r
131 EFI_QUESTION_ID QuestionId;\r
132 EFI_IFR_TYPE_VALUE OptionValue;\r
f2a05cc2 133 UINT16 KeyValue;\r
f02d0c0f
LG
134} EFI_IFR_GUID_OPTIONKEY;\r
135\r
f2a05cc2 136\r
137//\r
138// Store the framework vfr vareqval name number\r
139//\r
140typedef struct _EFI_IFR_GUID_VAREQNAME {\r
141 EFI_IFR_OP_HEADER Header;\r
142 EFI_GUID Guid;\r
143 UINT8 ExtendOpCode;\r
144 EFI_QUESTION_ID QuestionId;\r
145 EFI_STRING_ID NameId;\r
146} EFI_IFR_GUID_VAREQNAME;\r
147\r
93e3992d 148#pragma pack()\r
149\r
150#endif\r
151\r