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.
30 #define REGULAR_NUMERIC 0
31 #define TIME_NUMERIC 1
32 #define DATE_NUMERIC 2
48 } UI_SCREEN_OPERATION
;
75 #define UI_MENU_OPTION_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'm')
76 #define UI_MENU_LIST_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'l')
90 EFI_HII_HANDLE Handle
;
105 UI_MENU_OPTION Selection
;
106 UINTN FormerEntryNumber
;
109 typedef struct _MENU_REFRESH_ENTRY
{
110 struct _MENU_REFRESH_ENTRY
*Next
;
111 EFI_FILE_FORM_TAGS
*FileFormTagsHead
;
114 UINTN CurrentAttribute
;
115 UI_MENU_OPTION
*MenuOption
; // Describes the entry needing an update
116 } MENU_REFRESH_ENTRY
;
120 UI_SCREEN_OPERATION ScreenOperation
;
121 } SCAN_CODE_TO_SCREEN_OPERATION
;
124 UI_SCREEN_OPERATION ScreenOperation
;
125 UI_CONTROL_FLAG ControlFlag
;
126 } SCREEN_OPERATION_T0_CONTROL_FLAG
;
129 LIST_ENTRY gMenuList
;
130 MENU_REFRESH_ENTRY
*gMenuRefreshHead
;
150 UiRemoveMenuListEntry (
151 IN UI_MENU_OPTION
*Selection
,
152 OUT UI_MENU_OPTION
**PreviousSelection
164 IN UI_MENU_OPTION
*Selection
177 IN EFI_HII_HANDLE Handle
,
187 IN EFI_HII_HANDLE Handle
,
191 IN UINT16 MenuItemCount
198 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
199 OUT EFI_IFR_DATA_ARRAY
*PageData
211 IN UI_MENU_OPTION
*Selection
,
213 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
214 IN UINT8
*CallbackData
228 UiWaitForSingleEvent (
230 IN UINT64 Timeout OPTIONAL
236 IN UINTN ScreenWidth
,
237 IN UINTN NumberOfLines
,
238 IN CHAR16
*ArrayOfStrings
,
245 IN UI_MENU_OPTION
*MenuOption
,
246 OUT CHAR16
*StringPtr
252 IN UI_MENU_OPTION
*MenuOption
,
253 IN BOOLEAN PromptForPassword
,
255 IN EFI_IFR_DATA_ARRAY
*PageData
,
256 IN BOOLEAN SecondEntry
,
257 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
258 OUT CHAR16
*StringPtr
270 GetSelectionInputPopUp (
271 IN UI_MENU_OPTION
*MenuOption
,
280 GetSelectionInputLeftRight (
281 IN UI_MENU_OPTION
*MenuOption
,
290 IN UI_MENU_OPTION
*MenuOption
,
291 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
292 IN BOOLEAN ManualInput
,
294 IN UINTN NumericType
,
301 IN UINTN MessageType
,
309 IN UI_MENU_OPTION
*MenuOption
,
311 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
312 IN EFI_IFR_DATA_ARRAY
*PageData
,
313 OUT CHAR16
**OptionString
319 IN CHAR16
*StringPtr
,
320 OUT CHAR16
**FormattedString
,
327 IN UI_MENU_OPTION
*Selection
,
337 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
344 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
345 IN CHAR16
*FormattedString
,
346 IN CHAR16
*OptionString
368 IN CHAR16
*InputString
,
371 OUT CHAR16
**OutputString
378 IN EFI_HII_HANDLE Handle
392 IN EFI_TAG
*TargetTag
,
394 EFI_VARIABLE_DEFINITION
*VariableDefinitionsHead
400 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
401 IN UINT16 VariableId
,
402 IN UINT16 VariableSize
,
403 IN UINT16 OffsetValue
,
409 ExtractRequestedNvMap (
410 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
411 IN UINT16 VariableId
,
412 OUT EFI_VARIABLE_DEFINITION
**VariableDefinition
418 IN BOOLEAN Direction
,
419 IN LIST_ENTRY
*CurrentPos
424 AdjustDateAndTimePosition (
425 IN BOOLEAN DirectionUp
,
426 IN LIST_ENTRY
**CurrentPosition
432 OUT EFI_INPUT_KEY
*Key