3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
31 #define REGULAR_NUMERIC 0
32 #define TIME_NUMERIC 1
33 #define DATE_NUMERIC 2
49 } UI_SCREEN_OPERATION
;
76 #define UI_MENU_OPTION_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'm')
77 #define UI_MENU_LIST_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'l')
91 EFI_HII_HANDLE Handle
;
106 UI_MENU_OPTION Selection
;
107 UINTN FormerEntryNumber
;
110 typedef struct _MENU_REFRESH_ENTRY
{
111 struct _MENU_REFRESH_ENTRY
*Next
;
112 EFI_FILE_FORM_TAGS
*FileFormTagsHead
;
115 UINTN CurrentAttribute
;
116 UI_MENU_OPTION
*MenuOption
; // Describes the entry needing an update
117 } MENU_REFRESH_ENTRY
;
121 UI_SCREEN_OPERATION ScreenOperation
;
122 } SCAN_CODE_TO_SCREEN_OPERATION
;
125 UI_SCREEN_OPERATION ScreenOperation
;
126 UI_CONTROL_FLAG ControlFlag
;
127 } SCREEN_OPERATION_T0_CONTROL_FLAG
;
130 LIST_ENTRY gMenuList
;
131 MENU_REFRESH_ENTRY
*gMenuRefreshHead
;
151 UiRemoveMenuListEntry (
152 IN UI_MENU_OPTION
*Selection
,
153 OUT UI_MENU_OPTION
**PreviousSelection
165 IN UI_MENU_OPTION
*Selection
178 IN EFI_HII_HANDLE Handle
,
188 IN EFI_HII_HANDLE Handle
,
192 IN UINT16 MenuItemCount
199 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
200 OUT EFI_IFR_DATA_ARRAY
*PageData
212 IN UI_MENU_OPTION
*Selection
,
214 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
215 IN UINT8
*CallbackData
229 UiWaitForSingleEvent (
231 IN UINT64 Timeout OPTIONAL
237 IN UINTN ScreenWidth
,
238 IN UINTN NumberOfLines
,
239 IN CHAR16
*ArrayOfStrings
,
246 IN UI_MENU_OPTION
*MenuOption
,
247 OUT CHAR16
*StringPtr
253 IN UI_MENU_OPTION
*MenuOption
,
254 IN BOOLEAN PromptForPassword
,
256 IN EFI_IFR_DATA_ARRAY
*PageData
,
257 IN BOOLEAN SecondEntry
,
258 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
259 OUT CHAR16
*StringPtr
271 GetSelectionInputPopUp (
272 IN UI_MENU_OPTION
*MenuOption
,
281 GetSelectionInputLeftRight (
282 IN UI_MENU_OPTION
*MenuOption
,
291 IN UI_MENU_OPTION
*MenuOption
,
292 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
293 IN BOOLEAN ManualInput
,
295 IN UINTN NumericType
,
302 IN UINTN MessageType
,
310 IN UI_MENU_OPTION
*MenuOption
,
312 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
313 IN EFI_IFR_DATA_ARRAY
*PageData
,
314 OUT CHAR16
**OptionString
320 IN CHAR16
*StringPtr
,
321 OUT CHAR16
**FormattedString
,
328 IN UI_MENU_OPTION
*Selection
,
338 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
345 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
346 IN CHAR16
*FormattedString
,
347 IN CHAR16
*OptionString
369 IN CHAR16
*InputString
,
372 OUT CHAR16
**OutputString
379 IN EFI_HII_HANDLE Handle
393 IN EFI_TAG
*TargetTag
,
395 EFI_VARIABLE_DEFINITION
*VariableDefinitionsHead
401 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
402 IN UINT16 VariableId
,
403 IN UINT16 VariableSize
,
404 IN UINT16 OffsetValue
,
410 ExtractRequestedNvMap (
411 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
412 IN UINT16 VariableId
,
413 OUT EFI_VARIABLE_DEFINITION
**VariableDefinition
419 IN BOOLEAN Direction
,
420 IN LIST_ENTRY
*CurrentPos
425 AdjustDateAndTimePosition (
426 IN BOOLEAN DirectionUp
,
427 IN LIST_ENTRY
**CurrentPosition
433 OUT EFI_INPUT_KEY
*Key