+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- Ui.h \r
-\r
-Abstract:\r
-\r
- Head file UI\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#ifndef _UI_H\r
-#define _UI_H\r
-\r
-//\r
-// Globals\r
-//\r
-#define REGULAR_NUMERIC 0\r
-#define TIME_NUMERIC 1\r
-#define DATE_NUMERIC 2\r
-\r
-typedef enum {\r
- UiNoOperation,\r
- UiDefault,\r
- UiSelect,\r
- UiUp,\r
- UiDown,\r
- UiLeft,\r
- UiRight,\r
- UiReset,\r
- UiSave,\r
- UiPrevious,\r
- UiPageUp,\r
- UiPageDown,\r
- UiMaxOperation\r
-} UI_SCREEN_OPERATION;\r
-\r
-typedef enum {\r
- CfInitialization,\r
- CfCheckSelection,\r
- CfRepaint,\r
- CfRefreshHighLight,\r
- CfUpdateHelpString,\r
- CfPrepareToReadKey,\r
- CfReadKey,\r
- CfScreenOperation,\r
- CfUiPrevious,\r
- CfUiSelect,\r
- CfUiReset,\r
- CfUiLeft,\r
- CfUiRight,\r
- CfUiUp,\r
- CfUiPageUp,\r
- CfUiPageDown,\r
- CfUiDown,\r
- CfUiSave,\r
- CfUiDefault,\r
- CfUiNoOperation,\r
- CfExit,\r
- CfMaxControlFlag\r
-} UI_CONTROL_FLAG;\r
-\r
-#define UI_MENU_OPTION_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'm')\r
-#define UI_MENU_LIST_SIGNATURE EFI_SIGNATURE_32 ('u', 'i', 'm', 'l')\r
-\r
-typedef struct {\r
- UINTN Signature;\r
- LIST_ENTRY Link;\r
-\r
- UINTN Row;\r
- UINTN Col;\r
- UINTN OptCol;\r
- CHAR16 *Description;\r
- UINTN Skip;\r
-\r
- UINTN IfrNumber;\r
- VOID *FormBinary;\r
- EFI_HII_HANDLE Handle;\r
- EFI_TAG *Tags;\r
- UINTN TagIndex;\r
- EFI_TAG *ThisTag;\r
- UINT16 FormId;\r
- BOOLEAN Previous;\r
- UINT16 EntryNumber;\r
- UINT16 Consistency;\r
- BOOLEAN GrayOut;\r
-} UI_MENU_OPTION;\r
-\r
-typedef struct {\r
- UINTN Signature;\r
- LIST_ENTRY MenuLink;\r
-\r
- UI_MENU_OPTION Selection;\r
- UINTN FormerEntryNumber;\r
-} UI_MENU_LIST;\r
-\r
-typedef struct _MENU_REFRESH_ENTRY {\r
- struct _MENU_REFRESH_ENTRY *Next;\r
- EFI_FILE_FORM_TAGS *FileFormTagsHead;\r
- UINTN CurrentColumn;\r
- UINTN CurrentRow;\r
- UINTN CurrentAttribute;\r
- UI_MENU_OPTION *MenuOption; // Describes the entry needing an update\r
-} MENU_REFRESH_ENTRY;\r
-\r
-typedef struct {\r
- UINT16 ScanCode;\r
- UI_SCREEN_OPERATION ScreenOperation;\r
-} SCAN_CODE_TO_SCREEN_OPERATION;\r
-\r
-typedef struct {\r
- UI_SCREEN_OPERATION ScreenOperation;\r
- UI_CONTROL_FLAG ControlFlag;\r
-} SCREEN_OPERATION_T0_CONTROL_FLAG;\r
-\r
-LIST_ENTRY Menu;\r
-LIST_ENTRY gMenuList;\r
-MENU_REFRESH_ENTRY *gMenuRefreshHead;\r
-\r
-INTN gEntryNumber;\r
-BOOLEAN gLastOpr;\r
-//\r
-// Global Functions\r
-//\r
-VOID\r
-UiInitMenu (\r
- VOID\r
- )\r
-;\r
-\r
-VOID\r
-UiInitMenuList (\r
- VOID\r
- )\r
-;\r
-\r
-VOID\r
-UiRemoveMenuListEntry (\r
- IN UI_MENU_OPTION *Selection,\r
- OUT UI_MENU_OPTION **PreviousSelection\r
- )\r
-;\r
-\r
-VOID\r
-UiFreeMenuList (\r
- VOID\r
- )\r
-;\r
-\r
-VOID\r
-UiAddMenuListEntry (\r
- IN UI_MENU_OPTION *Selection\r
- )\r
-;\r
-\r
-VOID\r
-UiFreeMenu (\r
- VOID\r
- )\r
-;\r
-\r
-VOID\r
-UiAddMenuOption (\r
- IN CHAR16 *String,\r
- IN EFI_HII_HANDLE Handle,\r
- IN EFI_TAG *Tag,\r
- IN VOID *FormBinary,\r
- IN UINTN IfrNumber\r
- )\r
-;\r
-\r
-VOID\r
-UiAddSubMenuOption (\r
- IN CHAR16 *String,\r
- IN EFI_HII_HANDLE Handle,\r
- IN EFI_TAG *Tag,\r
- IN UINTN TagIndex,\r
- IN UINT16 FormId,\r
- IN UINT16 MenuItemCount\r
- )\r
-;\r
-\r
-UI_MENU_OPTION *\r
-UiDisplayMenu (\r
- IN BOOLEAN SubMenu,\r
- IN EFI_FILE_FORM_TAGS *FileFormTagsHead,\r
- OUT EFI_IFR_DATA_ARRAY *PageData\r
- )\r
-;\r
-\r
-VOID\r
-InitPage (\r
- VOID\r
- )\r
-;\r
-\r
-UI_MENU_OPTION *\r
-SetupBrowser (\r
- IN UI_MENU_OPTION *Selection,\r
- IN BOOLEAN Callback,\r
- IN EFI_FILE_FORM_TAGS *FileFormTagsHead,\r
- IN UINT8 *CallbackData\r
- )\r
-;\r
-\r
-\r
-VOID\r
-SetUnicodeMem (\r
- IN VOID *Buffer,\r
- IN UINTN Size,\r
- IN CHAR16 Value\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-UiWaitForSingleEvent (\r
- IN EFI_EVENT Event,\r
- IN UINT64 Timeout OPTIONAL\r
- )\r
-;\r
-\r
-VOID\r
-CreatePopUp (\r
- IN UINTN ScreenWidth,\r
- IN UINTN NumberOfLines,\r
- IN CHAR16 *ArrayOfStrings,\r
- ...\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ReadString (\r
- IN UI_MENU_OPTION *MenuOption,\r
- OUT CHAR16 *StringPtr\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ReadPassword (\r
- IN UI_MENU_OPTION *MenuOption,\r
- IN BOOLEAN PromptForPassword,\r
- IN EFI_TAG *Tag,\r
- IN EFI_IFR_DATA_ARRAY *PageData,\r
- IN BOOLEAN SecondEntry,\r
- IN EFI_FILE_FORM_TAGS *FileFormTags,\r
- OUT CHAR16 *StringPtr\r
- )\r
-;\r
-\r
-VOID\r
-EncodePassword (\r
- IN CHAR16 *Password,\r
- IN UINT8 MaxSize\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-GetSelectionInputPopUp (\r
- IN UI_MENU_OPTION *MenuOption,\r
- IN EFI_TAG *Tag,\r
- IN UINTN ValueCount,\r
- OUT UINT16 *Value,\r
- OUT UINT16 *KeyValue\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-GetSelectionInputLeftRight (\r
- IN UI_MENU_OPTION *MenuOption,\r
- IN EFI_TAG *Tag,\r
- IN UINTN ValueCount,\r
- OUT UINT16 *Value\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-GetNumericInput (\r
- IN UI_MENU_OPTION *MenuOption,\r
- IN EFI_FILE_FORM_TAGS *FileFormTagsHead,\r
- IN BOOLEAN ManualInput,\r
- IN EFI_TAG *Tag,\r
- IN UINTN NumericType,\r
- OUT UINT16 *Value\r
- )\r
-;\r
-\r
-VOID\r
-UpdateStatusBar (\r
- IN UINTN MessageType,\r
- IN UINT8 Flags,\r
- IN BOOLEAN State\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ProcessOptions (\r
- IN UI_MENU_OPTION *MenuOption,\r
- IN BOOLEAN Selected,\r
- IN EFI_FILE_FORM_TAGS *FileFormTagsHead,\r
- IN EFI_IFR_DATA_ARRAY *PageData,\r
- OUT CHAR16 **OptionString\r
- )\r
-;\r
-\r
-VOID\r
-ProcessHelpString (\r
- IN CHAR16 *StringPtr,\r
- OUT CHAR16 **FormattedString,\r
- IN UINTN RowCount\r
- )\r
-;\r
-\r
-VOID\r
-UpdateKeyHelp (\r
- IN UI_MENU_OPTION *Selection,\r
- IN BOOLEAN Selected\r
- )\r
-;\r
-\r
-BOOLEAN\r
-ValueIsNotValid (\r
- IN BOOLEAN Complex,\r
- IN UINT16 Value,\r
- IN EFI_TAG *Tag,\r
- IN EFI_FILE_FORM_TAGS *FileFormTags,\r
- IN STRING_REF *PopUp\r
- )\r
-;\r
-\r
-VOID\r
-FreeData (\r
- IN EFI_FILE_FORM_TAGS *FileFormTagsHead,\r
- IN CHAR16 *FormattedString,\r
- IN CHAR16 *OptionString\r
- )\r
-;\r
-\r
-VOID\r
-ClearLines (\r
- UINTN LeftColumn,\r
- UINTN RightColumn,\r
- UINTN TopRow,\r
- UINTN BottomRow,\r
- UINTN TextAttribute\r
- )\r
-;\r
-\r
-UINTN\r
-GetStringWidth (\r
- CHAR16 *String\r
- )\r
-;\r
-\r
-UINT16\r
-GetLineByWidth (\r
- IN CHAR16 *InputString,\r
- IN UINT16 LineWidth,\r
- IN OUT UINTN *Index,\r
- OUT CHAR16 **OutputString\r
- )\r
-;\r
-\r
-UINT16\r
-GetWidth (\r
- IN EFI_TAG *Tag,\r
- IN EFI_HII_HANDLE Handle\r
- )\r
-;\r
-\r
-VOID\r
-NewStrCat (\r
- CHAR16 *Destination,\r
- CHAR16 *Source\r
- )\r
-;\r
-\r
-VOID\r
-IfrToFormTag (\r
- IN UINT8 OpCode,\r
- IN EFI_TAG *TargetTag,\r
- IN VOID *FormData,\r
- EFI_VARIABLE_DEFINITION *VariableDefinitionsHead\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ExtractNvValue (\r
- IN EFI_FILE_FORM_TAGS *FileFormTags,\r
- IN UINT16 VariableId,\r
- IN UINT16 VariableSize,\r
- IN UINT16 OffsetValue,\r
- OUT VOID **Buffer\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-ExtractRequestedNvMap (\r
- IN EFI_FILE_FORM_TAGS *FileFormTags,\r
- IN UINT16 VariableId,\r
- OUT EFI_VARIABLE_DEFINITION **VariableDefinition\r
- )\r
-;\r
-\r
-BOOLEAN\r
-ValueIsScroll (\r
- IN BOOLEAN Direction,\r
- IN LIST_ENTRY *CurrentPos\r
- )\r
-;\r
-\r
-UINTN\r
-AdjustDateAndTimePosition (\r
- IN BOOLEAN DirectionUp,\r
- IN LIST_ENTRY **CurrentPosition\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-WaitForKeyStroke (\r
- OUT EFI_INPUT_KEY *Key\r
- )\r
-;\r
-#endif // _UI_H\r