TianoCore EDK2 master
Loading...
Searching...
No Matches
HiiInternal.h
Go to the documentation of this file.
1
12#ifndef HII_INTERNAL_H_
13#define HII_INTERNAL_H_
14
15#include <Uefi.h>
16
23
24#include <Guid/MdeModuleHii.h>
25#include <Guid/ZeroGuid.h>
28
29#include <Library/PrintLib.h>
30#include <Library/DebugLib.h>
35#include <Library/HiiLib.h>
37#include <Library/UefiLib.h>
38
39#include "HiiExpression.h"
41
42#define EXPRESSION_STACK_SIZE_INCREMENT 0x100
43#define EFI_IFR_SPECIFICATION_VERSION (UINT16) (((EFI_SYSTEM_TABLE_REVISION >> 16) << 8) | (((EFI_SYSTEM_TABLE_REVISION & 0xFFFF) / 10) << 4) | ((EFI_SYSTEM_TABLE_REVISION & 0xFFFF) % 10))
44
47//
48typedef struct {
49 UINTN Signature;
50 LIST_ENTRY Link;
51
52 CHAR16 *ConfigRequest;
53 CHAR16 *ConfigAltResp;
55 UINTN SpareStrLen;
58
59 HII_FORMSET_STORAGE *Storage;
61
62#define HII_FORM_CONFIG_REQUEST_SIGNATURE SIGNATURE_32 ('F', 'C', 'R', 'S')
63#define HII_FORM_CONFIG_REQUEST_FROM_LINK(a) CR (a, HII_FORM_CONFIG_REQUEST, Link, HII_FORM_CONFIG_REQUEST_SIGNATURE)
64
68#define CONFIG_REQUEST_STRING_INCREMENTAL 1024
69
77VOID
79 IN OUT CHAR16 **Dest,
80 IN CHAR16 *Src
81 );
82
97 IN HII_FORMSET_STORAGE *Storage,
98 IN CHAR16 *Name,
99 IN CHAR16 *Value,
100 OUT HII_NAME_VALUE_NODE **ReturnNode
101 );
102
112VOID
114 IN HII_STATEMENT *Question,
115 IN UINT8 *Buffer,
116 OUT HII_STATEMENT_VALUE *QuestionValue
117 );
118
128VOID
130 IN HII_STATEMENT *Question,
131 IN OUT UINT8 *Buffer,
132 IN UINT32 Value
133 );
134
147 IN HII_STATEMENT *Question,
148 IN CHAR16 *Value,
149 OUT HII_STATEMENT_VALUE *QuestionValue
150 );
151
162CHAR16 *
164 IN EFI_STRING_ID Token,
165 IN EFI_HII_HANDLE HiiHandle
166 );
167
175VOID
176EFIAPI
178 IN EFI_STRING ConfigString
179 );
180
190BOOLEAN
192 IN EFI_HII_VALUE *Result
193 );
194
207EFI_STRING_ID
209 IN CHAR16 *String,
210 IN EFI_HII_HANDLE HiiHandle
211 );
212
226 IN HII_FORMSET *FormSet,
227 IN HII_FORM *Form,
228 IN HII_STATEMENT *Question
229 );
230
244 IN HII_FORMSET *FormSet,
245 IN OUT HII_FORM **CurrentForm,
246 OUT HII_STATEMENT **Statement
247 );
248
262 IN HII_FORMSET_STORAGE *Storage,
263 IN CHAR16 **ConfigResp,
264 IN CHAR16 *ConfigRequest
265 );
266
279 IN HII_FORMSET_STORAGE *Storage,
280 IN CHAR16 *ConfigResp
281 );
282
304 IN EFI_HII_HANDLE Handle,
305 IN OUT EFI_GUID *FormSetGuid,
306 OUT UINTN *BinaryLength,
307 OUT UINT8 **BinaryData
308 );
309
317VOID
319 IN HII_FORMSET *FormSet,
320 IN HII_FORMSET_STORAGE *Storage
321 );
322
330VOID
332 IN HII_FORMSET *FormSet,
333 IN OUT HII_FORM *Form
334 );
335
347 IN HII_FORMSET *FormSet,
348 IN EFI_VARSTORE_ID VarStoreId
349 );
350
357VOID
360 );
361
373 IN HII_FORMSET *FormSet
374 );
375
376#endif // HII_INTERNAL_H_
UINT64 UINTN
EFI_STATUS NoSubmitCheck(IN HII_FORMSET *FormSet, IN OUT HII_FORM **CurrentForm, OUT HII_STATEMENT **Statement)
VOID EFIAPI HiiStringToLowercase(IN EFI_STRING ConfigString)
VOID ExtendValueToU64(IN HII_STATEMENT_VALUE *Value)
VOID NewStringCopy(IN OUT CHAR16 **Dest, IN CHAR16 *Src)
EFI_STRING_ID NewHiiString(IN CHAR16 *String, IN EFI_HII_HANDLE HiiHandle)
EFI_STATUS SetValueByName(IN HII_FORMSET_STORAGE *Storage, IN CHAR16 *Name, IN CHAR16 *Value, OUT HII_NAME_VALUE_NODE **ReturnNode)
HII_FORMSET_STORAGE * GetFstStgFromVarId(IN HII_FORMSET *FormSet, IN EFI_VARSTORE_ID VarStoreId)
Definition: HiiIfrParse.c:417
EFI_STATUS ValidateNoSubmit(IN HII_FORMSET *FormSet, IN HII_FORM *Form, IN HII_STATEMENT *Question)
VOID LoadFormSetStorage(IN HII_FORMSET *FormSet, IN HII_FORMSET_STORAGE *Storage)
EFI_STATUS StorageToConfigResp(IN HII_FORMSET_STORAGE *Storage, IN CHAR16 **ConfigResp, IN CHAR16 *ConfigRequest)
VOID GetBitsQuestionValue(IN HII_STATEMENT *Question, IN UINT8 *Buffer, OUT HII_STATEMENT_VALUE *QuestionValue)
EFI_STATUS GetIfrBinaryData(IN EFI_HII_HANDLE Handle, IN OUT EFI_GUID *FormSetGuid, OUT UINTN *BinaryLength, OUT UINT8 **BinaryData)
Definition: Setup.c:5843
EFI_STATUS ConfigRespToStorage(IN HII_FORMSET_STORAGE *Storage, IN CHAR16 *ConfigResp)
VOID DestroyForm(IN HII_FORMSET *FormSet, IN OUT HII_FORM *Form)
Definition: HiiIfrParse.c:798
CHAR16 * GetTokenString(IN EFI_STRING_ID Token, IN EFI_HII_HANDLE HiiHandle)
EFI_STATUS ParseOpCodes(IN HII_FORMSET *FormSet)
Definition: HiiIfrParse.c:985
BOOLEAN IsHiiValueTrue(IN EFI_HII_VALUE *Result)
EFI_STATUS BufferToQuestionValue(IN HII_STATEMENT *Question, IN CHAR16 *Value, OUT HII_STATEMENT_VALUE *QuestionValue)
VOID SetBitsQuestionValue(IN HII_STATEMENT *Question, IN OUT UINT8 *Buffer, IN UINT32 Value)
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HII_HANDLE
Definition: Base.h:213
Definition of HII_FORM_CONFIG_REQUEST.
Definition: HiiInternal.h:48
CHAR16 * ConfigAltResp
Alt config response string for this ConfigRequest.
Definition: HiiInternal.h:53
CHAR16 * ConfigRequest
<ConfigRequest> = <ConfigHdr> + <RequestElement>
Definition: HiiInternal.h:52
UINTN ElementCount
Number of <RequestElement> in the <ConfigRequest>
Definition: HiiInternal.h:54
CHAR16 * RestoreConfigRequest
When submit form fail, the element need to be restored.
Definition: HiiInternal.h:56
CHAR16 * SyncConfigRequest
When submit form fail, the element need to be synced.
Definition: HiiInternal.h:57