]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.h
remove some comments introduced by tools.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / HiiDataBaseDxe / HiiDatabase.h
CommitLineData
103b6520 1/*++\r
2\r
ececc2eb 3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
103b6520 11\r
12Module Name:\r
13\r
14 HiiDatabase.h\r
15\r
16Abstract:\r
17\r
ececc2eb 18 This file contains global defines and prototype definitions\r
103b6520 19 for the HII database.\r
20\r
21--*/\r
22\r
23#ifndef _HIIDATABASE_H\r
24#define _HIIDATABASE_H\r
25\r
ed7748fe 26\r
ececc2eb 27#include <PiDxe.h>\r
ed7748fe 28\r
ececc2eb 29#include <Guid/GlobalVariable.h>\r
30#include <Protocol/FormCallbackFramework.h>\r
31#include <Protocol/HiiFramework.h>\r
ed7748fe 32\r
ececc2eb 33#include <Library/BaseLib.h>\r
34#include <Library/DebugLib.h>\r
35#include <Library/UefiDriverEntryPoint.h>\r
36#include <Library/MemoryAllocationLib.h>\r
37#include <Library/BaseMemoryLib.h>\r
38#include <Library/UefiBootServicesTableLib.h>\r
39#include <Library/UefiRuntimeServicesTableLib.h>\r
40#include <Library/IfrSupportLibFramework.h>\r
103b6520 41\r
42//\r
43// HII Database Global data\r
44//\r
45#define EFI_HII_DATA_SIGNATURE EFI_SIGNATURE_32 ('H', 'i', 'i', 'P')\r
46\r
47#define MAX_GLYPH_COUNT 65535\r
48#define NARROW_GLYPH_ARRAY_SIZE 19\r
49#define WIDE_GLYPH_ARRAY_SIZE 38\r
50\r
51#define SETUP_MAP_NAME L"Setup"\r
52#define HII_VARIABLE_SUFFIX_USER_DATA L"UserSavedData"\r
53#define HII_VARIABLE_SUFFIX_DEFAULT_OVERRIDE L"DefaultOverride"\r
54#define HII_VARIABLE_SUFFIX_MANUFACTURING_OVERRIDE L"ManufacturingOverride"\r
55\r
56typedef struct _EFI_HII_HANDLE_DATABASE {\r
57 VOID *Buffer; // Actual buffer pointer\r
58 EFI_HII_HANDLE Handle; // Monotonically increasing value to signify the value returned to caller\r
59 UINT32 NumberOfTokens; // The initial number of tokens when first registered\r
60 struct _EFI_HII_HANDLE_DATABASE *NextHandleDatabase;\r
61} EFI_HII_HANDLE_DATABASE;\r
62\r
63typedef struct {\r
64 EFI_NARROW_GLYPH NarrowGlyphs[MAX_GLYPH_COUNT];\r
65 EFI_WIDE_GLYPH WideGlyphs[MAX_GLYPH_COUNT];\r
66 EFI_KEY_DESCRIPTOR SystemKeyboardLayout[106];\r
67 EFI_KEY_DESCRIPTOR OverrideKeyboardLayout[106];\r
68 BOOLEAN SystemKeyboardUpdate; // Has the SystemKeyboard been updated?\r
69} EFI_HII_GLOBAL_DATA;\r
70\r
71typedef struct {\r
72 UINTN Signature;\r
73\r
74 EFI_HII_GLOBAL_DATA *GlobalData;\r
75 EFI_HII_HANDLE_DATABASE *DatabaseHead; // Head of the Null-terminated singly-linked list of handles.\r
76 EFI_HII_PROTOCOL Hii;\r
77} EFI_HII_DATA;\r
78\r
79typedef struct {\r
80 EFI_HII_HANDLE Handle;\r
81 EFI_GUID Guid;\r
82 EFI_HII_HANDLE_PACK HandlePack;\r
83 UINTN IfrSize;\r
84 UINTN StringSize;\r
85 EFI_HII_IFR_PACK *IfrData; // All the IFR data stored here\r
86 EFI_HII_STRING_PACK *StringData; // All the String data stored at &IfrData + IfrSize (StringData is just a label - never referenced)\r
87} EFI_HII_PACKAGE_INSTANCE;\r
88\r
89typedef struct {\r
90 EFI_HII_PACK_HEADER Header;\r
91 EFI_IFR_FORM_SET FormSet;\r
92 EFI_IFR_END_FORM_SET EndFormSet;\r
93} EFI_FORM_SET_STUB;\r
94\r
95#define EFI_HII_DATA_FROM_THIS(a) CR (a, EFI_HII_DATA, Hii, EFI_HII_DATA_SIGNATURE)\r
96\r
97#define NARROW_WIDTH 8\r
98#define WIDE_WIDTH 16\r
99\r
100extern UINT8 mUnknownGlyph[38];\r
101\r
102//\r
103// Prototypes\r
104//\r
105EFI_STATUS\r
106GetPackSize (\r
107 IN VOID *Pack,\r
108 OUT UINTN *PackSize,\r
109 OUT UINT32 *NumberOfTokens\r
110 )\r
111;\r
112\r
113EFI_STATUS\r
114ValidatePack (\r
115 IN EFI_HII_PROTOCOL *This,\r
116 IN EFI_HII_PACKAGE_INSTANCE *PackageInstance,\r
117 OUT EFI_HII_PACKAGE_INSTANCE **StringPackageInstance,\r
118 OUT UINT32 *TotalStringCount\r
119 )\r
120;\r
121\r
122//\r
123// Public Interface Prototypes\r
124//\r
125EFI_STATUS\r
126EFIAPI\r
127InitializeHiiDatabase (\r
128 IN EFI_HANDLE ImageHandle,\r
129 IN EFI_SYSTEM_TABLE *SystemTable\r
130 )\r
131;\r
132\r
133EFI_STATUS\r
134EFIAPI\r
135HiiNewPack (\r
136 IN EFI_HII_PROTOCOL *This,\r
137 IN EFI_HII_PACKAGES *PackageList,\r
138 OUT EFI_HII_HANDLE *Handle\r
139 )\r
140;\r
141\r
142EFI_STATUS\r
143EFIAPI\r
144HiiRemovePack (\r
145 IN EFI_HII_PROTOCOL *This,\r
146 IN EFI_HII_HANDLE Handle\r
147 )\r
148;\r
149\r
150EFI_STATUS\r
151EFIAPI\r
152HiiFindHandles (\r
153 IN EFI_HII_PROTOCOL *This,\r
154 IN OUT UINT16 *HandleBufferLength,\r
155 OUT EFI_HII_HANDLE *Handle\r
156 )\r
157;\r
158\r
159EFI_STATUS\r
160EFIAPI\r
161HiiExportDatabase (\r
162 IN EFI_HII_PROTOCOL *This,\r
163 IN EFI_HII_HANDLE Handle,\r
164 IN OUT UINTN *BufferSize,\r
165 OUT VOID *Buffer\r
166 )\r
167;\r
168\r
169EFI_STATUS\r
170EFIAPI\r
171HiiGetGlyph (\r
172 IN EFI_HII_PROTOCOL *This,\r
173 IN CHAR16 *Source,\r
174 IN OUT UINT16 *Index,\r
175 OUT UINT8 **GlyphBuffer,\r
176 OUT UINT16 *BitWidth,\r
177 IN OUT UINT32 *InternalStatus\r
178 )\r
179;\r
180\r
181EFI_STATUS\r
182EFIAPI\r
183HiiGlyphToBlt (\r
184 IN EFI_HII_PROTOCOL *This,\r
185 IN UINT8 *GlyphBuffer,\r
186 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground,\r
187 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background,\r
188 IN UINTN Count,\r
189 IN UINTN Width,\r
190 IN UINTN Height,\r
191 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer\r
192 )\r
193;\r
194\r
195EFI_STATUS\r
196EFIAPI\r
197HiiNewString (\r
198 IN EFI_HII_PROTOCOL *This,\r
199 IN CHAR16 *Language,\r
200 IN EFI_HII_HANDLE Handle,\r
201 IN OUT STRING_REF *Reference,\r
202 IN CHAR16 *NewString\r
203 )\r
204;\r
205\r
206EFI_STATUS\r
207EFIAPI\r
208HiiGetString (\r
209 IN EFI_HII_PROTOCOL *This,\r
210 IN EFI_HII_HANDLE Handle,\r
211 IN STRING_REF Token,\r
212 IN BOOLEAN Raw,\r
213 IN CHAR16 *LanguageString,\r
214 IN OUT UINTN *BufferLength,\r
215 OUT EFI_STRING StringBuffer\r
216 )\r
217;\r
218\r
219EFI_STATUS\r
220EFIAPI\r
221HiiResetStrings (\r
222 IN EFI_HII_PROTOCOL *This,\r
223 IN EFI_HII_HANDLE Handle\r
224 )\r
225;\r
226\r
227EFI_STATUS\r
228EFIAPI\r
229HiiTestString (\r
230 IN EFI_HII_PROTOCOL *This,\r
231 IN CHAR16 *StringToTest,\r
232 IN OUT UINT32 *FirstMissing,\r
233 OUT UINT32 *GlyphBufferSize\r
234 )\r
235;\r
236\r
237EFI_STATUS\r
238EFIAPI\r
239HiiGetPrimaryLanguages (\r
240 IN EFI_HII_PROTOCOL *This,\r
241 IN EFI_HII_HANDLE Handle,\r
242 OUT EFI_STRING *LanguageString\r
243 )\r
244;\r
245\r
246EFI_STATUS\r
247EFIAPI\r
248HiiGetSecondaryLanguages (\r
249 IN EFI_HII_PROTOCOL *This,\r
250 IN EFI_HII_HANDLE Handle,\r
251 IN CHAR16 *PrimaryLanguage,\r
252 OUT EFI_STRING *LanguageString\r
253 )\r
254;\r
255\r
256EFI_STATUS\r
257EFIAPI\r
258HiiGetLine (\r
259 IN EFI_HII_PROTOCOL *This,\r
260 IN EFI_HII_HANDLE Handle,\r
261 IN STRING_REF Token,\r
262 IN OUT UINT16 *Index,\r
263 IN UINT16 LineWidth,\r
264 IN CHAR16 *LanguageString,\r
265 IN OUT UINT16 *BufferLength,\r
266 OUT EFI_STRING StringBuffer\r
267 )\r
268;\r
269\r
270EFI_STATUS\r
271EFIAPI\r
272HiiGetForms (\r
273 IN EFI_HII_PROTOCOL *This,\r
274 IN EFI_HII_HANDLE Handle,\r
275 IN EFI_FORM_ID FormId,\r
276 IN OUT UINTN *BufferLength,\r
277 OUT UINT8 *Buffer\r
278 )\r
279;\r
280\r
281EFI_STATUS\r
282EFIAPI\r
283HiiGetDefaultImage (\r
284 IN EFI_HII_PROTOCOL *This,\r
285 IN EFI_HII_HANDLE Handle,\r
286 IN UINTN DefaultMask,\r
287 OUT EFI_HII_VARIABLE_PACK_LIST **VariablePackList\r
288 )\r
289;\r
290\r
291EFI_STATUS\r
292EFIAPI\r
293HiiUpdateForm (\r
294 IN EFI_HII_PROTOCOL *This,\r
295 IN EFI_HII_HANDLE Handle,\r
296 IN EFI_FORM_LABEL Label,\r
297 IN BOOLEAN AddData,\r
298 IN EFI_HII_UPDATE_DATA *Data\r
299 )\r
300;\r
301\r
302EFI_STATUS\r
303EFIAPI\r
304HiiGetKeyboardLayout (\r
305 IN EFI_HII_PROTOCOL *This,\r
306 OUT UINT16 *DescriptorCount,\r
307 OUT EFI_KEY_DESCRIPTOR *Descriptor\r
308 )\r
309;\r
310\r
311EFI_STATUS\r
312HiiCompareLanguage (\r
313 IN CHAR16 *LanguageStringLocation,\r
314 IN CHAR16 *Language\r
315 )\r
316;\r
317\r
318#endif\r