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.
28 // Include common header file for this module.
30 #include "CommonHeader.h"
35 #define REGULAR_NUMERIC 0
36 #define TIME_NUMERIC 1
37 #define DATE_NUMERIC 2
53 } UI_SCREEN_OPERATION
;
80 #define UI_MENU_OPTION_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'm')
81 #define UI_MENU_LIST_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'l')
95 EFI_HII_HANDLE Handle
;
110 UI_MENU_OPTION Selection
;
111 UINTN FormerEntryNumber
;
114 typedef struct _MENU_REFRESH_ENTRY
{
115 struct _MENU_REFRESH_ENTRY
*Next
;
116 EFI_FILE_FORM_TAGS
*FileFormTagsHead
;
119 UINTN CurrentAttribute
;
120 UI_MENU_OPTION
*MenuOption
; // Describes the entry needing an update
121 } MENU_REFRESH_ENTRY
;
125 UI_SCREEN_OPERATION ScreenOperation
;
126 } SCAN_CODE_TO_SCREEN_OPERATION
;
129 UI_SCREEN_OPERATION ScreenOperation
;
130 UI_CONTROL_FLAG ControlFlag
;
131 } SCREEN_OPERATION_T0_CONTROL_FLAG
;
134 LIST_ENTRY gMenuList
;
135 MENU_REFRESH_ENTRY
*gMenuRefreshHead
;
155 UiRemoveMenuListEntry (
156 IN UI_MENU_OPTION
*Selection
,
157 OUT UI_MENU_OPTION
**PreviousSelection
169 IN UI_MENU_OPTION
*Selection
182 IN EFI_HII_HANDLE Handle
,
192 IN EFI_HII_HANDLE Handle
,
196 IN UINT16 MenuItemCount
203 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
204 OUT EFI_IFR_DATA_ARRAY
*PageData
216 IN UI_MENU_OPTION
*Selection
,
218 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
219 IN UINT8
*CallbackData
233 UiWaitForSingleEvent (
235 IN UINT64 Timeout OPTIONAL
241 IN UINTN ScreenWidth
,
242 IN UINTN NumberOfLines
,
243 IN CHAR16
*ArrayOfStrings
,
250 IN UI_MENU_OPTION
*MenuOption
,
251 OUT CHAR16
*StringPtr
257 IN UI_MENU_OPTION
*MenuOption
,
258 IN BOOLEAN PromptForPassword
,
260 IN EFI_IFR_DATA_ARRAY
*PageData
,
261 IN BOOLEAN SecondEntry
,
262 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
263 OUT CHAR16
*StringPtr
275 GetSelectionInputPopUp (
276 IN UI_MENU_OPTION
*MenuOption
,
285 GetSelectionInputLeftRight (
286 IN UI_MENU_OPTION
*MenuOption
,
295 IN UI_MENU_OPTION
*MenuOption
,
296 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
297 IN BOOLEAN ManualInput
,
299 IN UINTN NumericType
,
306 IN UINTN MessageType
,
314 IN UI_MENU_OPTION
*MenuOption
,
316 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
317 IN EFI_IFR_DATA_ARRAY
*PageData
,
318 OUT CHAR16
**OptionString
324 IN CHAR16
*StringPtr
,
325 OUT CHAR16
**FormattedString
,
332 IN UI_MENU_OPTION
*Selection
,
342 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
349 IN EFI_FILE_FORM_TAGS
*FileFormTagsHead
,
350 IN CHAR16
*FormattedString
,
351 IN CHAR16
*OptionString
373 IN CHAR16
*InputString
,
376 OUT CHAR16
**OutputString
383 IN EFI_HII_HANDLE Handle
397 IN EFI_TAG
*TargetTag
,
399 EFI_VARIABLE_DEFINITION
*VariableDefinitionsHead
405 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
406 IN UINT16 VariableId
,
407 IN UINT16 VariableSize
,
408 IN UINT16 OffsetValue
,
414 ExtractRequestedNvMap (
415 IN EFI_FILE_FORM_TAGS
*FileFormTags
,
416 IN UINT16 VariableId
,
417 OUT EFI_VARIABLE_DEFINITION
**VariableDefinition
423 IN BOOLEAN Direction
,
424 IN LIST_ENTRY
*CurrentPos
429 AdjustDateAndTimePosition (
430 IN BOOLEAN DirectionUp
,
431 IN LIST_ENTRY
**CurrentPosition
437 OUT EFI_INPUT_KEY
*Key