4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
23 #define REGULAR_NUMERIC 0
24 #define TIME_NUMERIC 1
25 #define DATE_NUMERIC 2
41 } UI_SCREEN_OPERATION
;
68 #define UI_MENU_OPTION_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'm')
69 #define UI_MENU_LIST_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'l')
83 EFI_HII_HANDLE Handle
;
98 UI_MENU_OPTION Selection
;
99 UINTN FormerEntryNumber
;
102 typedef struct _MENU_REFRESH_ENTRY
{
103 struct _MENU_REFRESH_ENTRY
*Next
;
104 EFI_FILE_FORM_TAGS
*FileFormTagsHead
;
107 UINTN CurrentAttribute
;
108 UI_MENU_OPTION
*MenuOption
; // Describes the entry needing an update
109 } MENU_REFRESH_ENTRY
;
113 UI_SCREEN_OPERATION ScreenOperation
;
114 } SCAN_CODE_TO_SCREEN_OPERATION
;
117 UI_SCREEN_OPERATION ScreenOperation
;
118 UI_CONTROL_FLAG ControlFlag
;
119 } SCREEN_OPERATION_T0_CONTROL_FLAG
;
122 LIST_ENTRY gMenuList
;
123 MENU_REFRESH_ENTRY
*gMenuRefreshHead
;
143 UiRemoveMenuListEntry (
144 IN UI_MENU_OPTION
*Selection
,
145 OUT UI_MENU_OPTION
**PreviousSelection
157 IN UI_MENU_OPTION
*Selection
170 IN EFI_HII_HANDLE Handle
,
180 IN EFI_HII_HANDLE Handle
,
184 IN UINT16 MenuItemCount
191 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
192 OUT EFI_IFR_DATA_ARRAY
*PageData
204 IN UI_MENU_OPTION
*Selection
,
206 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
207 IN UINT8
*CallbackData
221 UiWaitForSingleEvent (
223 IN UINT64 Timeout OPTIONAL
229 IN UINTN ScreenWidth
,
230 IN UINTN NumberOfLines
,
231 IN CHAR16
*ArrayOfStrings
,
238 IN UI_MENU_OPTION
*MenuOption
,
239 OUT CHAR16
*StringPtr
245 IN UI_MENU_OPTION
*MenuOption
,
246 IN BOOLEAN PromptForPassword
,
248 IN EFI_IFR_DATA_ARRAY
*PageData
,
249 IN BOOLEAN SecondEntry
,
250 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
251 OUT CHAR16
*StringPtr
263 GetSelectionInputPopUp (
264 IN UI_MENU_OPTION
*MenuOption
,
273 GetSelectionInputLeftRight (
274 IN UI_MENU_OPTION
*MenuOption
,
283 IN UI_MENU_OPTION
*MenuOption
,
284 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
285 IN BOOLEAN ManualInput
,
287 IN UINTN NumericType
,
294 IN UINTN MessageType
,
302 IN UI_MENU_OPTION
*MenuOption
,
304 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
305 IN EFI_IFR_DATA_ARRAY
*PageData
,
306 OUT CHAR16
**OptionString
312 IN CHAR16
*StringPtr
,
313 OUT CHAR16
**FormattedString
,
320 IN UI_MENU_OPTION
*Selection
,
330 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
337 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
338 IN CHAR16
*FormattedString
,
339 IN CHAR16
*OptionString
361 IN CHAR16
*InputString
,
364 OUT CHAR16
**OutputString
371 IN EFI_HII_HANDLE Handle
385 IN EFI_TAG
*TargetTag
,
387 EFI_VARIABLE_DEFINITION
*VariableDefinitionsHead
393 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
394 IN UINT16 VariableId
,
395 IN UINT16 VariableSize
,
396 IN UINT16 OffsetValue
,
402 ExtractRequestedNvMap (
403 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
404 IN UINT16 VariableId
,
405 OUT EFI_VARIABLE_DEFINITION
**VariableDefinition
411 IN BOOLEAN Direction
,
412 IN LIST_ENTRY
*CurrentPos
417 AdjustDateAndTimePosition (
418 IN BOOLEAN DirectionUp
,
419 IN LIST_ENTRY
**CurrentPosition
425 OUT EFI_INPUT_KEY
*Key