MdeModulePkg/Include/Protocol/FormBrowserEx.h File Reference


Data Structures

struct  _EFI_FORM_BROWSER_EXTENSION_PROTOCOL

Defines

#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
_EFI_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 gEfiFormBrowserExProtocolGuid

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 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define 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_CHANGES No browser data is changed.
BROWSER_SAVE_CHANGES The changed browser data is saved.
BROWSER_DISCARD_CHANGES The changed browser data is discard.
BROWSER_KEEP_CURRENT Browser keep current changes.


Enumeration Type Documentation

Enumerator:
FormLevel 
FormSetLevel 
SystemLevel 
MaxLevel 


Function Documentation

typedef EFI_STATUS ( EFIAPI *  EDKII_VARIABLE_LOCK_PROTOCOL_REQUEST_TO_LOCK  ) 

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] Scope Scope level to be set.
Return values:
EFI_SUCCESS Scope is set correctly.
EFI_INVALID_PARAMETER Scope is not the valid value specified in BROWSER_SETTING_SCOPE.
EFI_UNSPPORTED Scope 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] KeyData A 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] Action Action value that describes what action will be trigged when the hot key is pressed.
[in] DefaultId Specifies the type of defaults to retrieve, which is only for DEFAULT action.
[in] HelpString Help string that describes the hot key information. Its value may be NULL for the unregistered hot key.
Return values:
EFI_SUCCESS Hot key is registered or unregistered.
EFI_INVALID_PARAMETER KeyData is NULL.
Finds next variable in storage blocks of volatile and non-volatile storage areas.

This code finds next variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the next variable.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Update the variable region with Variable information.

Parameters:
[in] AuthVariableInfo Pointer AUTH_VARIABLE_INFO structure for input of the variable.
Return values:
EFI_SUCCESS The update operation is success.
EFI_INVALID_PARAMETER Invalid parameter.
EFI_WRITE_PROTECTED Variable is write-protected.
EFI_OUT_OF_RESOURCES There is not enough resource.
Get scratch buffer.

Parameters:
[in,out] ScratchBufferSize Scratch buffer size. If input size is greater than the maximum supported buffer size, this value contains the maximum supported buffer size as output.
[out] ScratchBuffer Pointer to scratch buffer address.
Return values:
EFI_SUCCESS Get scratch buffer successfully.
EFI_UNSUPPORTED If input size is greater than the maximum supported buffer size.
Clears any system state that was created in response to the Active call.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
Periodic Optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The source could not be cleared.
EFI_INVALID_PARAMETER The service did not support the Periodic input argument.
Display one form, and return user input.

Parameters:
FormData Form Data to be shown.
UserInputData User input data.
Return values:
EFI_SUCCESS Form Data is shown, and user input is got.
This interface allows you to configure the EBC debug support driver. For example, turn on or off saving and printing of delta VM even if called. Or to even disable the entire interface, in which case all functions become no-ops.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] ConfigId ID to be configured.
[in] ConfigValue Value to be set.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Configure EBC debug.
Convert AsmText to the instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] AsmText A pointer to EBC ASM text code.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully convert AsmText to the instruction.
Dump the executed instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[out] AsmText Contain the disasm text.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully dump the executed instruction.
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] KeyData A 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] Action Action value that describes what action will be trigged when the hot key is pressed.
[in] DefaultId Specifies the type of defaults to retrieve, which is only for DEFAULT action.
[in] HelpString Help string that describes the hot key information. Its value may be NULL for the unregistered hot key.
Return values:
EFI_SUCCESS Hot key is registered or unregistered.
EFI_INVALID_PARAMETER KeyData is NULL.
Variable property set. Variable driver will do check according to the VariableProperty before really setting the variable into variable storage.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[in] VariableProperty Pointer to the input variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was set successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string, or the fields of VariableProperty are not valid.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource for the variable property set request.
Variable property get.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[out] VariableProperty Pointer to the output variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was got successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string.
EFI_NOT_FOUND The property of variable specified by the Name and Guid was not found.
Finds variable in storage blocks of volatile and non-volatile storage areas.

This code finds variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the variable found.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Finds next variable in storage blocks of volatile and non-volatile storage areas.

This code finds next variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the next variable.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Update the variable region with Variable information.

Parameters:
[in] AuthVariableInfo Pointer AUTH_VARIABLE_INFO structure for input of the variable.
Return values:
EFI_SUCCESS The update operation is success.
EFI_INVALID_PARAMETER Invalid parameter.
EFI_WRITE_PROTECTED Variable is write-protected.
EFI_OUT_OF_RESOURCES There is not enough resource.
Get scratch buffer.

Parameters:
[in,out] ScratchBufferSize Scratch buffer size. If input size is greater than the maximum supported buffer size, this value contains the maximum supported buffer size as output.
[out] ScratchBuffer Pointer to scratch buffer address.
Return values:
EFI_SUCCESS Get scratch buffer successfully.
EFI_UNSUPPORTED If input size is greater than the maximum supported buffer size.
A callback function to intercept events during message parser.

This function will be invoked during HttpParseMessageBody() with various events type. An error return status of the callback function will cause the HttpParseMessageBody() aborted.

Parameters:
[in] EventType Event type of this callback call.
[in] Data A pointer to data buffer.
[in] Length Length in bytes of the Data.
[in] Context Callback context set by HttpInitMsgParser().
Return values:
EFI_SUCCESS Continue to parser the message body.
Others Abort the parse.
Callback function which provided by user to remove one node in NetDestroyLinkList process.

Parameters:
[in] Entry The entry to be removed.
[in] Context Pointer to the callback context corresponds to the Context in NetDestroyLinkList.
Return values:
EFI_SUCCESS The entry has been removed successfully.
Others Fail to remove the entry.
The security handler is used to abstracts security-specific functions from the DXE Foundation of UEFI Image Verification, Trusted Computing Group (TCG) measured boot, User Identity policy for image loading and consoles, and for purposes of handling GUIDed section encapsulations.

Parameters:
[in] AuthenticationStatus The authentication status for the input file.
[in] File The pointer to the device path of the file that is being dispatched. This will optionally be used for logging.
[in] FileBuffer A pointer to the buffer with the UEFI file image
[in] FileSize The size of File buffer.
[in] BootPolicy A boot policy that was used to call LoadImage() UEFI service.
Return values:
EFI_SUCCESS The file specified by DevicePath and non-NULL FileBuffer did authenticate, and the platform policy dictates that the DXE Foundation may use the file.
EFI_SUCCESS The device path specified by NULL device path DevicePath and non-NULL FileBuffer did authenticate, and the platform policy dictates that the DXE Foundation may execute the image in FileBuffer.
EFI_SUCCESS FileBuffer is NULL and current user has permission to start UEFI device drivers on the device path specified by DevicePath.
EFI_SECURITY_VIOLATION The file specified by DevicePath and FileBuffer did not authenticate, and the platform policy dictates that the file should be placed in the untrusted state. The image has been added to the file execution table.
EFI_ACCESS_DENIED The file specified by File and FileBuffer did not authenticate, and the platform policy dictates that the DXE Foundation may not use File.
EFI_SECURITY_VIOLATION FileBuffer is NULL and the user has no permission to start UEFI device drivers on the device path specified by DevicePath.
EFI_SECURITY_VIOLATION FileBuffer is not NULL and the user has no permission to load drivers from the device path specified by DevicePath. The image has been added into the list of the deferred images.
The prototype called when UdpIo Library configures a UDP instance.

The prototype is set and called when creating a UDP_IO in UdpIoCreatePort().

Parameters:
[in] UdpIo The UDP_IO to configure.
[in] Context The user-defined data when calling UdpIoCreatePort().
Return values:
EFI_SUCCESS The configuration succeeded.
Others The UDP_IO fails to configure indicating UdpIoCreatePort() should fail.
This interface conveys performance information out of the Security (SEC) phase into PEI.

This service is published by the SEC phase. The SEC phase handoff has an optional EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the PEI Foundation. As such, if the platform supports collecting performance data in SEC, this information is encapsulated into the data structure abstracted by this service. This information is collected for the boot-strap processor (BSP) on IA-32.

Parameters:
[in] PeiServices The pointer to the PEI Services Table.
[in] This The pointer to this instance of the PEI_SEC_PERFORMANCE_PPI.
[out] Performance The pointer to performance data collected in SEC phase.
Return values:
EFI_SUCCESS The performance data was successfully returned.
Invokes SMI activation from either the preboot or runtime environment.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
ArgumentBuffer The optional sized data to pass into the protocol activation.
ArgumentBufferSize The optional size of the data.
Periodic An optional mechanism to periodically repeat activation.
ActivationInterval An optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The timing is unsupported.
EFI_INVALID_PARAMETER The activation period is unsupported.
EFI_NOT_STARTED The SMM base service has not been initialized.
Clears any system state that was created in response to the Active call.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
Periodic Optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The source could not be cleared.
EFI_INVALID_PARAMETER The service did not support the Periodic input argument.
Perform Password check. Passwork may be encrypted by driver that requires the specific check.

Parameters:
Form Form where Password Statement is in.
Statement Password statement
PasswordString Password string to be checked. It may be NULL. NULL means to restore password. "" string can be used to checked whether old password does exist.
Returns:
Status Status of Password check.
Display one form, and return user input.

Parameters:
FormData Form Data to be shown.
UserInputData User input data.
Return values:
EFI_SUCCESS Form Data is shown, and user input is got.
Trig Exception on EBC VM.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] VmPtr A pointer to a VM context.
[in] ExceptionType Exception to be trigged.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Exception is trigged.
This interface allows you to configure the EBC debug support driver. For example, turn on or off saving and printing of delta VM even if called. Or to even disable the entire interface, in which case all functions become no-ops.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] ConfigId ID to be configured.
[in] ConfigValue Value to be set.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Configure EBC debug.
Given a pointer to a new VM context, execute one or more instructions. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] VmPtr A pointer to a VM context.
[in,out] InstructionCount A pointer to a UINTN value holding the number of instructions to execute. If it holds value of 0, then the instruction to be executed is 1.
Return values:
EFI_UNSUPPORTED At least one of the opcodes is not supported.
EFI_SUCCESS All of the instructions are executed successfully.
Convert AsmText to the instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] AsmText A pointer to EBC ASM text code.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully convert AsmText to the instruction.
Dump the executed instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[out] AsmText Contain the disasm text.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully dump the executed instruction.
Execute the action requested by the Action parameter.

Parameters:
[in] Action Execute the request action.
[in] DefaultId The default Id info when need to load default value.
Return values:
EFI_SUCCESS Execute the request action succss.
Mark a variable that will become read-only after leaving the DXE phase of execution. Write request coming from SMM environment through EFI_SMM_VARIABLE_PROTOCOL is allowed.

Parameters:
[in] This The EDKII_VARIABLE_LOCK_PROTOCOL instance.
[in] VariableName A pointer to the variable name that will be made read-only subsequently.
[in] VendorGuid A pointer to the vendor GUID that will be made read-only subsequently.
Return values:
EFI_SUCCESS The variable specified by the VariableName and the VendorGuid was marked as pending to be read-only.
EFI_INVALID_PARAMETER VariableName or VendorGuid is NULL. Or VariableName is an empty string.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource to hold the lock request.

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] Handler Pointer to handler function.
The prototype is called back when an IP packet is received.

Parameters:
[in] Status The result of the receive request.
[in] IcmpErr Valid when Status is EFI_ICMP_ERROR.
[in] NetSession The IP session for the received packet.
[in] Pkt The packet received.
[in] Context The data provided by the user for the received packet when the callback is registered in IP_IO_OPEN_DATA::RcvdContext.
The prototype is called back when an IP packet is sent.

Parameters:
[in] Status Result of the IP packet being sent.
[in] Context The data provided by user for the received packet when the callback is registered in IP_IO_OPEN_DATA::SndContext.
[in] Sender A Union type to specify a pointer of EFI_IP4_PROTOCOL or EFI_IP6_PROTOCOL.
[in] NotifyData The Context data specified when calling IpIoSend()
The function boots a legacy boot option.

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] Handler Pointer to handler function.
Prototype called when receiving or sending packets to or from a UDP point.

This prototype is used by both receive and sending when calling UdpIoRecvDatagram() or UdpIoSendDatagram(). When receiving, Netbuf is allocated by the UDP access point and released by the user. When sending, the user allocates the the NetBuf, which is then provided to the callback as a reference.

Parameters:
[in] Packet The packet received or sent.
[in] EndPoint The UDP address pair corresponds to the UDP IO.
[in] IoStatus The packet receiving or sending status.
[in] Context The user-defined data when calling UdpIoRecvDatagram() or UdpIoSendDatagram().
Given a pointer to a new VM context, debug one or more instructions.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] VmPtr A pointer to a VM context.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Debug one or more instructions.


Variable Documentation


Generated on Thu Sep 24 23:30:15 2015 for MdeModulePkg[ALL] by  doxygen 1.5.7.1