4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPrivate structure, MACRO and function definitions for User Interface related functionalities.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncare licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncwhich accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynchttp://opensource.org/licenses/bsd-license.php
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#ifndef _UI_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define _UI_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Globals
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define REGULAR_NUMERIC 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define TIME_NUMERIC 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define DATE_NUMERIC 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define SUBTITLE_INDENT 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// It take 23 characters including the NULL to print a 64 bits number with "[" and "]".
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// pow(2, 64) = [18446744073709551616]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define MAX_NUMERIC_INPUT_WIDTH 23
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef enum {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiNoOperation,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiSelect,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiUp,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiDown,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiLeft,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiRight,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiReset,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiPrevious,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiPageUp,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiPageDown,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiHotKey,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UiMaxOperation
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} UI_SCREEN_OPERATION;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef enum {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfInitialization,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfCheckSelection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfRepaint,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfRefreshHighLight,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUpdateHelpString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfPrepareToReadKey,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfReadKey,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfScreenOperation,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiSelect,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiReset,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiLeft,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiRight,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiUp,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiPageUp,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiPageDown,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiDown,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiDefault,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiNoOperation,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfExit,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfUiHotKey,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CfMaxControlFlag
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} UI_CONTROL_FLAG;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_ACTION_NONE 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_ACTION_REFRESH_FORM 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_ACTION_REFRESH_FORMSET 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_ACTION_EXIT 3
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct _UI_MENU_LIST UI_MENU_LIST;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_HII_HANDLE Handle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Target formset/form/Question information
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_GUID FormSetGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Sequence; // used for time/date only.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN TopRow;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN BottomRow;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN PromptCol;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN OptionCol;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN CurrentRow;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Ation for Browser to taken:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // UI_ACTION_NONE - navigation inside a form
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // UI_ACTION_REFRESH_FORM - re-evaluate expressions and repaint form
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // UI_ACTION_REFRESH_FORMSET - re-parse formset IFR binary
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Action;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Current selected fomset/form/Question
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FORM_BROWSER_FORMSET *FormSet;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FORM_BROWSER_FORM *Form;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FORM_BROWSER_STATEMENT *Statement;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Whether the Form is editable
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN FormEditable;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_MENU_LIST *CurrentMenu;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} UI_MENU_SELECTION;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_MENU_OPTION_SIGNATURE SIGNATURE_32 ('u', 'i', 'm', 'm')
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_MENU_LIST_SIGNATURE SIGNATURE_32 ('u', 'i', 'm', 'l')
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Signature;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync LIST_ENTRY Link;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_HII_HANDLE Handle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FORM_BROWSER_STATEMENT *ThisTag;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 EntryNumber;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Row;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Col;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN OptCol;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR16 *Description;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Skip; // Number of lines
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Display item sequence for date/time
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Date: Month/Day/Year
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Sequence: 0 1 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Time: Hour : Minute : Second
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Sequence: 0 1 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Sequence;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN GrayOut;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN ReadOnly;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Whether user could change value of this item
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN IsQuestion;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} UI_MENU_OPTION;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define MENU_OPTION_FROM_LINK(a) CR (a, UI_MENU_OPTION, Link, UI_MENU_OPTION_SIGNATURE)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct _UI_MENU_LIST {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Signature;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync LIST_ENTRY Link;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_HII_HANDLE HiiHandle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_GUID FormSetGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN Sequence; // used for time/date only.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_MENU_LIST *Parent;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync LIST_ENTRY ChildListHead;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define UI_MENU_LIST_FROM_LINK(a) CR (a, UI_MENU_LIST, Link, UI_MENU_LIST_SIGNATURE)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct _MENU_REFRESH_ENTRY MENU_REFRESH_ENTRY;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct _MENU_REFRESH_ENTRY {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MENU_REFRESH_ENTRY *Next;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_MENU_OPTION *MenuOption; // Describes the entry needing an update
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_MENU_SELECTION *Selection;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN CurrentColumn;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN CurrentRow;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINTN CurrentAttribute;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_EVENT Event;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 ScanCode;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_SCREEN_OPERATION ScreenOperation;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} SCAN_CODE_TO_SCREEN_OPERATION;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_SCREEN_OPERATION ScreenOperation;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UI_CONTROL_FLAG ControlFlag;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} SCREEN_OPERATION_T0_CONTROL_FLAG;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern LIST_ENTRY gMenuOption;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern MENU_REFRESH_ENTRY *gMenuRefreshHead;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern UI_MENU_SELECTION *gCurrentSelection;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern BOOLEAN mHiiPackageListUpdated;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync// Global Functions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync//
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Initialize Menu option list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiInitMenu (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Initialize Menu option list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiInitMenuList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Free Menu option linked list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiFreeMenu (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Create a menu with specified formset GUID and form ID, and add it as a child
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync of the given parent menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Parent The parent of menu to be added.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param HiiHandle Hii handle related to this formset.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSetGuid The Formset Guid of menu to be added.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormId The Form ID of menu to be added.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return A pointer to the newly added menu or NULL if memory is insufficient.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUI_MENU_LIST *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiAddMenuList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT UI_MENU_LIST *Parent,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_HANDLE HiiHandle,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_GUID *FormSetGuid,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 FormId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Search Menu with given FormId in the parent menu and all its child menus.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Parent The parent of menu to search.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSetGuid The Formset GUID of the menu to search.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormId The Form ID of menu to search.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return A pointer to menu found or NULL if not found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUI_MENU_LIST *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiFindChildMenuList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_LIST *Parent,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_GUID *FormSetGuid,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 FormId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Search Menu with given FormSetGuid and FormId in all cached menu list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSetGuid The Formset GUID of the menu to search.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormId The Form ID of menu to search.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return A pointer to menu found or NULL if not found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUI_MENU_LIST *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiFindMenuList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_GUID *FormSetGuid,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 FormId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Free Menu option linked list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiFreeRefreshList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Add one menu option by specified description and context.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param String String description for this option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Handle Hii handle for the package list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Form The form this statement belong to.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Statement Statement of this Menu Option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param NumberOfLines Display lines for this Menu Option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuItemCount The index for this Option in the Menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Pointer Pointer to the added Menu Option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUI_MENU_OPTION *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiAddMenuOption (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *String,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_HANDLE Handle,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORM *Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_STATEMENT *Statement,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 NumberOfLines,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 MenuItemCount
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Display menu and wait for user to select one menu option, then return it.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If AutoBoot is enabled, then if user doesn't select any option,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync after period of time, it will automatically return the first menu option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Menu selection.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Return the pointer of the menu which selected,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return otherwise return NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiDisplayMenu (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT UI_MENU_SELECTION *Selection
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Free up the resource allocated for all strings required
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync by Setup Browser.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncFreeBrowserStrings (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Process the goto op code, update the info in the selection structure.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Statement The statement belong to goto op code.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection The selection info.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Repaint Whether need to repaint the menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param NewLine Whether need to create new line.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The menu process successfully.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Other value if the process failed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncProcessGotoOpCode (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT FORM_BROWSER_STATEMENT *Statement,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT BOOLEAN *Repaint,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT BOOLEAN *NewLine
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The worker function that send the displays to the screen. On output,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the selection made by user is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection On input, Selection tell setup browser the information
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync about the Selection, form and formset to be displayed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync On output, Selection return the screen item that is selected
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync by user.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The page is displayed successfully.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Other value if the page failed to be diplayed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSetupBrowser (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT UI_MENU_SELECTION *Selection
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set Buffer to Value for Size bytes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Buffer Memory to set.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Size Number of bytes to set
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value Value of the set operation.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSetUnicodeMem (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VOID *Buffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Size,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 Value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Wait for a given event to fire, or for an optional timeout to expire.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Event The event to wait for
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Timeout An optional timeout value in 100 ns units.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param RefreshInterval Menu refresh interval (in seconds).
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Event fired before Timeout expired.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_TIME_OUT Timout expired before Event fired.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUiWaitForSingleEvent (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_EVENT Event,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT64 Timeout, OPTIONAL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 RefreshInterval OPTIONAL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Draw a pop up windows based on the dimension, number of lines and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync strings specified.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ScreenWidth The width of the pop-up.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param NumberOfLines The number of lines.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ... A series of text strings that displayed in the pop-up.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCreateMultiStringPopUp (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN ScreenWidth,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN NumberOfLines,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ...
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get string or password input from user.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuOption Pointer to the current input menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Prompt The prompt string shown on popup window.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StringPtr Old user input and destination for use input string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS If string input is read successfully
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_DEVICE_ERROR If operation fails
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncReadString (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_OPTION *MenuOption,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *Prompt,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT CHAR16 *StringPtr
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get selection for OneOf and OrderedList (Left/Right will be ignored).
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Pointer to current selection.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuOption Pointer to the current input menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS If Option input is processed successfully
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_DEVICE_ERROR If operation fails
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetSelectionInputPopUp (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_OPTION *MenuOption
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This routine reads a numeric value from the user input.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Pointer to current selection.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuOption Pointer to the current input menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS If numerical input is read successfully
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_DEVICE_ERROR If operation fails
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetNumericInput (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_OPTION *MenuOption
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Update status bar on the bottom of menu.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Current selection info.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MessageType The type of message to be shown.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Flags The flags in Question header.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param State Set or clear.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUpdateStatusBar (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN MessageType,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BOOLEAN State
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Process Question Config.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection The UI menu selection.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Question The Question to be peocessed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Question Config process success.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Other Question Config process fail.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncProcessQuestionConfig (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_STATEMENT *Question
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Print Question Value according to it's storage width and display attributes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Question The Question to be printed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormattedNumber Buffer for output string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The FormattedNumber buffer size in bytes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Print success.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_BUFFER_TOO_SMALL Buffer size is not enough for formatted number.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPrintFormattedNumber (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_STATEMENT *Question,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT CHAR16 *FormattedNumber,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Search an Option of a Question by its value.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Question The Question
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param OptionValue Value for Option to be searched.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Pointer Pointer to the found Option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL Option not found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncQUESTION_OPTION *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncValueToOption (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_STATEMENT *Question,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_VALUE *OptionValue
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Return data element in an Array by its Index.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Array The data array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Type Type of the data in this array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Index Zero based index for data in this array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Value The data to be returned
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINT64
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetArrayData (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VOID *Array,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Type,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Index
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Set value of a data element in an Array by its Index.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Array The data array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Type Type of the data in this array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Index Zero based index for data in this array.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value The value to be set.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSetArrayData (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VOID *Array,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Type,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Index,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT64 Value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Process a Question's Option (whether selected or un-selected).
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Pointer to UI_MENU_SELECTION.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuOption The MenuOption for this Question.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selected TRUE: if Question is selected.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param OptionString Pointer of the Option String to be displayed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Question Option process success.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Other Question Option process fail.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncProcessOptions (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_OPTION *MenuOption,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BOOLEAN Selected,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 **OptionString
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Process the help string: Split StringPtr to several lines of strings stored in
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FormattedString and the glyph width of each line cannot exceed gHelpBlockWidth.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StringPtr The entire help string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormattedString The oupput formatted string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param RowCount TRUE: if Question is selected.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncProcessHelpString (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *StringPtr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 **FormattedString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN RowCount
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Update key's help imformation.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selection Tell setup browser the information about the Selection
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param MenuOption The Menu option
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Selected Whether or not a tag be selected
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUpdateKeyHelp (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_SELECTION *Selection,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UI_MENU_OPTION *MenuOption,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BOOLEAN Selected
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Clear retangle with specified text attribute.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param LeftColumn Left column of retangle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param RightColumn Right column of retangle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param TopRow Start row of retangle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BottomRow End row of retangle.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param TextAttribute The character foreground and background.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncClearLines (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN LeftColumn,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN RightColumn,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN TopRow,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BottomRow,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN TextAttribute
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Count the storage space of a Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This function handles the Unicode string with NARROW_CHAR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and WIDE_CHAR control characters. NARROW_HCAR and WIDE_CHAR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync does not count in the resultant output. If a WIDE_CHAR is
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync hit, then 2 Unicode character will consume an output storage
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync space with size of CHAR16 till a NARROW_CHAR is hit.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If String is NULL, then ASSERT ().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param String The input string to be counted.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Storage space for the input string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetStringWidth (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *String
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Will copy LineWidth amount of a string in the OutputString buffer and return the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync number of CHAR16 characters that were copied into the OutputString buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param InputString String description for this option.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param LineWidth Width of the desired string to extract in CHAR16
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync characters
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Index Where in InputString to start the copy process
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param OutputString Buffer to copy the string into
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Returns the number of CHAR16 characters that were copied into the OutputString buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINT16
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetLineByWidth (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *InputString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 LineWidth,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT UINTN *Index,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 **OutputString
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get the supported width for a particular op-code
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Statement The FORM_BROWSER_STATEMENT structure passed in.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Handle The handle in the HII database being used
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return Returns the number of CHAR16 characters that is support.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINT16
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetWidth (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_STATEMENT *Statement,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_HANDLE Handle
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Concatenate a narrow string to another string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Destination The destination string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Source The source string. The string to be concatenated.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync to the end of Destination.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncNewStrCat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT CHAR16 *Destination,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR16 *Source
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Wait for a key to be pressed by user.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Key The key which is pressed by user.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The function always completed successfully.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWaitForKeyStroke (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT EFI_INPUT_KEY *Key
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Reset stack pointer to begin of the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncResetScopeStack (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Push the expression options onto the Stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Pointer Pointer to the current expression.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Level Which type this expression belong to. Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync statement or option?
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPushConditionalExpression (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_EXPRESSION *Pointer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EXPRESS_LEVEL Level
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Pop the expression options from the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Level Which type this expression belong to. Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync statement or option?
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPopConditionalExpression (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EXPRESS_LEVEL Level
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get the expression Buffer pointer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Level Which type this expression belong to. Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync statement or option?
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval The start pointer of the expression buffer or NULL.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncFORM_EXPRESSION **
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetConditionalExpressionList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EXPRESS_LEVEL Level
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get the expression list count.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Level Which type this expression belong to. Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync statement or option?
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval >=0 The expression count
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval -1 Input parameter error.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncGetConditionalExpressionCount (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EXPRESS_LEVEL Level
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Push an Operand onto the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Operand Operand to push.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPushScope (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Operand
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Pop an Operand from the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Operand Operand to pop.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPopScope (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT UINT8 *Operand
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Reset stack pointer to begin of the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncResetCurrentExpressionStack (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Push current expression onto the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Pointer Pointer to current expression.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPushCurrentExpression (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VOID *Pointer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Pop current expression from the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Pointer Pointer to current expression to be pop.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPopCurrentExpression (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT VOID **Pointer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Reset stack pointer to begin of the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncResetMapExpressionListStack (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Push the list of map expression onto the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Pointer Pointer to the list of map expression to be pushed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPushMapExpressionList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VOID *Pointer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Pop the list of map expression from the Stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Pointer Pointer to the list of map expression to be pop.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The value was pushed onto the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncPopMapExpressionList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT VOID **Pointer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Get Form given its FormId.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSet The formset which contains this form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormId Id of this form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Pointer The form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL Specified Form is not found in the formset.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncFORM_BROWSER_FORM *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncIdToForm (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORMSET *FormSet,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 FormId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Search a Question in Formset scope using its QuestionId.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSet The formset which contains this form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Form The form which contains this Question.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param QuestionId Id of this Question.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval Pointer The Question.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval NULL Specified Question not found in the form.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncFORM_BROWSER_STATEMENT *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncIdToQuestion (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORMSET *FormSet,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORM *Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 QuestionId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Zero extend integer/boolean/date/time to UINT64 for comparing.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value HII Value to be converted.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncVOID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncExtendValueToU64 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_VALUE *Value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Compare two Hii value.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value1 Expression value to compare on left-hand.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value2 Expression value to compare on right-hand.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Result Return value after compare.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync retval 0 Two operators equal.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Positive value if Value1 is greater than Value2.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync retval Negative value if Value1 is less than Value2.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param HiiHandle Only required for string compare.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval other Could not perform compare on two values.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS Compare the value success.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCompareHiiValue (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_VALUE *Value1,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_VALUE *Value2,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT INTN *Result,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_HII_HANDLE HiiHandle OPTIONAL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Evaluate the result of a HII expression
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Expression is NULL, then ASSERT.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSet FormSet associated with this expression.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Form Form associated with this expression.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Expression Expression to be evaluated.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_SUCCESS The expression evaluated successfuly
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_NOT_FOUND The Question which referenced by a QuestionId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync could not be found.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync stack.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_ACCESS_DENIED The pop operation underflowed the stack
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EFI_INVALID_PARAMETER Syntax error with the Expression
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFI_STATUS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEvaluateExpression (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORMSET *FormSet,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORM *Form,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT FORM_EXPRESSION *Expression
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Return the result of the expression list. Check the expression list and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return the highest priority express result.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Priority: DisableIf > SuppressIf > GrayOutIf > FALSE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ExpList The input expression list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Evaluate Whether need to evaluate the expression first.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormSet FormSet associated with this expression. Only
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync needed when Evaluate is TRUE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Form Form associated with this expression. Only
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync needed when Evaluate is TRUE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @retval EXPRESS_RESULT Return the higher priority express result.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync DisableIf > SuppressIf > GrayOutIf > FALSE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEXPRESS_RESULT
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEvaluateExpressionList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_EXPRESSION_LIST *ExpList,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BOOLEAN Evaluate,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORMSET *FormSet, OPTIONAL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN FORM_BROWSER_FORM *Form OPTIONAL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif // _UI_H