MdeModulePkg[all]  0.98
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FormBrowserEx.h File Reference

Data Structures

struct  _EDKII_FORM_BROWSER_EXTENSION_PROTOCOL
 

Macros

#define FORM_BROWSER_EXTENSION_PROTOCOL_GUID   { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } }
 
#define BROWSER_NO_CHANGES   0
 
#define BROWSER_SAVE_CHANGES   1
 
#define BROWSER_DISCARD_CHANGES   2
 
#define BROWSER_KEEP_CURRENT   3
 
#define BROWSER_ACTION_UNREGISTER   0
 
#define BROWSER_ACTION_DISCARD   BIT0
 
#define BROWSER_ACTION_DEFAULT   BIT1
 
#define BROWSER_ACTION_SUBMIT   BIT2
 
#define BROWSER_ACTION_RESET   BIT3
 
#define BROWSER_ACTION_EXIT   BIT4
 
#define BROWSER_ACTION_GOTO   BIT5
 

Typedefs

typedef struct
_EDKII_FORM_BROWSER_EXTENSION_PROTOCOL 
EDKII_FORM_BROWSER_EXTENSION_PROTOCOL
 
typedef
EDKII_FORM_BROWSER_EXTENSION_PROTOCOL 
EFI_FORM_BROWSER_EXTENSION_PROTOCOL
 
typedef IN UINT32 Action
 
typedef IN UINT32 IN UINT16 DefaultId
 
typedef IN UINT32 IN UINT16 IN
EFI_STRING 
HelpString
 
typedef UINT32(EFIAPI * SAVE_REMINDER )(VOID)
 

Enumerations

enum  BROWSER_SETTING_SCOPE { FormLevel, FormSetLevel, SystemLevel, MaxLevel }
 

Functions

typedef EFI_STATUS (EFIAPI *SET_SCOPE)(IN BROWSER_SETTING_SCOPE Scope)
 
typedef VOID (EFIAPI *EXIT_HANDLER)(VOID)
 

Variables

EFI_GUID gEdkiiFormBrowserExProtocolGuid
 

Detailed Description

Extension Form Browser Protocol provides the services that can be used to register the different hot keys for the standard Browser actions described in UEFI specification.

Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define BROWSER_ACTION_DEFAULT   BIT1
#define BROWSER_ACTION_DISCARD   BIT0
#define BROWSER_ACTION_EXIT   BIT4
#define BROWSER_ACTION_GOTO   BIT5
#define BROWSER_ACTION_RESET   BIT3
#define BROWSER_ACTION_SUBMIT   BIT2
#define BROWSER_ACTION_UNREGISTER   0
#define BROWSER_DISCARD_CHANGES   2
#define BROWSER_KEEP_CURRENT   3
#define BROWSER_NO_CHANGES   0
#define BROWSER_SAVE_CHANGES   1
#define FORM_BROWSER_EXTENSION_PROTOCOL_GUID   { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } }

Typedef Documentation

typedef IN UINT32 Action
typedef IN UINT32 IN UINT16 DefaultId
typedef IN UINT32 IN UINT16 IN EFI_STRING HelpString
typedef UINT32(EFIAPI * SAVE_REMINDER)(VOID)

Create reminder to let user to choose save or discard the changed browser data. Caller can use it to actively check the changed browser data.

Return values
BROWSER_NO_CHANGESNo browser data is changed.
BROWSER_SAVE_CHANGESThe changed browser data is saved.
BROWSER_DISCARD_CHANGESThe changed browser data is discard.
BROWSER_KEEP_CURRENTBrowser keep current changes.

Enumeration Type Documentation

Enumerator
FormLevel 
FormSetLevel 
SystemLevel 
MaxLevel 

Function Documentation

typedef EFI_STATUS ( EFIAPI *  REGISTER_HOT_KEY)

Configure what scope the hot key will impact. All hot keys have the same scope. The mixed hot keys with the different level are not supported. If no scope is set, the default scope will be FormSet level. After all registered hot keys are removed, previous Scope can reset to another level.

Parameters
[in]ScopeScope level to be set.
Return values
EFI_SUCCESSScope is set correctly.
EFI_INVALID_PARAMETERScope is not the valid value specified in BROWSER_SETTING_SCOPE.
EFI_UNSPPORTEDScope level is different from current one that the registered hot keys have.

Register the hot key with its browser action, or unregistered the hot key. If the action value is zero, the hot key will be unregistered if it has been registered. If the same hot key has been registered, the new action and help string will override the previous ones.

Parameters
[in]KeyDataA pointer to a buffer that describes the keystroke information for the hot key. Its type is EFI_INPUT_KEY to be supported by all ConsoleIn devices.
[in]ActionAction value that describes what action will be trigged when the hot key is pressed.
[in]DefaultIdSpecifies the type of defaults to retrieve, which is only for DEFAULT action.
[in]HelpStringHelp string that describes the hot key information. Its value may be NULL for the unregistered hot key.
Return values
EFI_SUCCESSHot key is registered or unregistered.
EFI_INVALID_PARAMETERKeyData is NULL.
typedef VOID ( EFIAPI *  EBC_DEBUGGER_DEBUG)

This handler is responsbile for the left things on normal boot after all UI forms are closed. For example, it can continue to boot the first boot option.

It will be used only when EXIT action is trigged as system level.

Register Exit handler function. When more than one handler function is registered, the latter one will override the previous one. When NULL handler is specified, the previous Exit handler will be unregistered.

Parameters
[in]HandlerPointer to handler function.

Given a pointer to a new VM context, debug one or more instructions.

Parameters
[in]ThisA pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in]VmPtrA pointer to a VM context.
Return values
EFI_UNSUPPORTEDNo support for it.
EFI_SUCCESSDebug one or more instructions.

Variable Documentation

EFI_GUID gEdkiiFormBrowserExProtocolGuid