X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FProtocol%2FFormBrowser2.h;h=867b1e0ed0ac18f231f2cc726294d38c76af4582;hp=34fd9b71a7b796f4d4177b68a549ccac65c09353;hb=fed5f4475948fd09cb71ba4c9f3918af1c3a7ba6;hpb=7d582d6b499ed30268da033cc17fbde6e7b02a9d
diff --git a/MdePkg/Include/Protocol/FormBrowser2.h b/MdePkg/Include/Protocol/FormBrowser2.h
index 34fd9b71a7..867b1e0ed0 100644
--- a/MdePkg/Include/Protocol/FormBrowser2.h
+++ b/MdePkg/Include/Protocol/FormBrowser2.h
@@ -1,21 +1,24 @@
/** @file
-
- The file provides services to call for drivers to leverage the
- EFI configuration driver interface.
+ This protocol is defined in UEFI spec.
- Copyright (c) 2006 - 2007, 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
- which 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.
+ The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
+ leverage the EFI configuration driver interface.
+
+Copyright (c) 2006 - 2015, 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.
**/
-#ifndef __EFI_FORM_BROWSER_H__
-#define __EFI_FORM_BROWSER_H__
+#ifndef __EFI_FORM_BROWSER2_H__
+#define __EFI_FORM_BROWSER2_H__
+
+#include
#define EFI_FORM_BROWSER2_PROTOCOL_GUID \
{0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58 }}
@@ -27,20 +30,21 @@ typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
/**
- @param LeftColumn Value that designates the text column
+ @param LeftColumn The value that designates the text column
where the browser window will begin from
the left-hand side of the screen
- RightColumn Value that designates the text
+
+ @param RightColumn The value that designates the text
column where the browser window will end
on the right-hand side of the screen.
- @param TopRow Value that designates the text row from the
- top of the screen where the browser window
- will start.
+ @param TopRow The value that designates the text row from the
+ top of the screen where the browser window
+ will start.
- @param BottomRow Value that designates the text row from the
- bottom of the screen where the browser
- window will end.
+ @param BottomRow The value that designates the text row from the
+ bottom of the screen where the browser
+ window will end.
**/
typedef struct {
UINTN LeftColumn;
@@ -55,69 +59,52 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
#define EFI_BROWSER_ACTION_REQUEST_RESET 1
#define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2
#define EFI_BROWSER_ACTION_REQUEST_EXIT 3
+#define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 4
+#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT 5
+#define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY 6
+#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7
+#define EFI_BROWSER_ACTION_REQUEST_RECONNECT 8
/**
-
- This function is the primary interface to the internal
- forms-based browser. By calling this routine, one is directing
- the browser to use a variety of passed-in information or
- primarily use the HII database as the source of information.
-
- @param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL
- instance.
-
- @param Handle A pointer to an array of HII handles to
- display. This value should correspond to the
- value of the HII form package that is required
- to be displayed.
-
- @param HandleCount The number of handles in the array
- specified by Handle.
-
- @param SingleUse If FALSE, the browser operates as a standard
- forms processor and exits only when
- explicitly requested by the user. If TRUE,
- the browser will return immediately after
- processing the first user-generated
- selection.
-
- @param ScreenDimensions Allows the browser to be called so
- that it occupies a portion of the
- physical screen instead of
- dynamically determining the screen
- dimensions. If the input values
- violate the platform policy then the
- dimensions will be dynamically
- adjusted to comply.
-
- @param ResetRequired This BOOLEAN value will tell the caller
- if a reset is required based on the data
- that might have been changed. The
- ResetRequired parameter is primarily
- applicable for configuration
- applications, and is an optional
- parameter.
-
- @retval EFI_SUCCESS The function completed successfully
-
- @retval EFI_NOT_FOUND The variable was not found.
-
- @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for
- the result. DataSize has been
- updated with the size needed to
- complete the request.
-
- @retval EFI_INVALID_PARAMETER One of the parameters has an
- invalid value.
+ Initialize the browser to display the specified configuration forms.
+
+ This function is the primary interface to the internal forms-based browser.
+ The forms browser will display forms associated with the specified Handles.
+ The browser will select all forms in packages which have the specified Type
+ and (for EFI_HII_PACKAGE_TYPE_GUID) the specified PackageGuid.
+
+ @param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance
+
+ @param Handles A pointer to an array of Handles. This value should correspond
+ to the value of the HII form package that is required to be displayed.
+
+ @param HandleCount The number of Handles specified in Handle.
+
+ @param FormSetGuid This field points to the EFI_GUID which must match the Guid field or one of the
+ elements of the ClassId field in the EFI_IFR_FORM_SET op-code. If
+ FormsetGuid is NULL, then this function will display the form set class
+ EFI_HII_PLATFORM_SETUP_FORMSET_GUID.
+
+ @param FormId This field specifies the identifier of the form within the form set to render as the first
+ displayable page. If this field has a value of 0x0000, then the Forms Browser will
+ render the first enabled form in the form set.
+
+ @param ScreenDimensions Points to recommended form dimensions, including any non-content area, in
+ characters.
+
+ @param ActionRequest Points to the action recommended by the form.
+
+ @retval EFI_SUCCESS The function completed successfully
- @retval EFI_DEVICE_ERROR The variable could not be saved due
- to a hardware failure.
+ @retval EFI_NOT_FOUND The variable was not found.
+ @retval EFI_INVALID_PARAMETER One of the parameters has an
+ invalid value.
**/
typedef
EFI_STATUS
-(EFIAPI *EFI_SEND_FORM2) (
+(EFIAPI *EFI_SEND_FORM2)(
IN CONST EFI_FORM_BROWSER2_PROTOCOL *This,
IN EFI_HII_HANDLE *Handle,
IN UINTN HandleCount,
@@ -129,20 +116,22 @@ EFI_STATUS
/**
-
+ This function is called by a callback handler to retrieve uncommitted state data from the browser.
+
This routine is called by a routine which was called by the
browser. This routine called this service in the browser to
retrieve or set certain uncommitted state information.
- @param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL
- instance.
+ @param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance.
@param ResultsDataSize A pointer to the size of the buffer
- associated with ResultsData.
+ associated with ResultsData. On input, the size in
+ bytes of ResultsData. On output, the size of data
+ returned in ResultsData.
- @param ResultsData A string returned from an IFR browser or
- equivalent. The results string will have
- no routing information in them.
+ @param ResultsData A string returned from an IFR browser or
+ equivalent. The results string will have
+ no routing information in them.
@param RetrieveData A BOOLEAN field which allows an agent to
retrieve (if RetrieveData = TRUE) data
@@ -157,9 +146,8 @@ EFI_STATUS
@param VariableName An optional field to indicate the target
human-readable variable name.
-
- @retval EFI_SUCCESS The results have been distributed or are
- awaiting distribution.
+ @retval EFI_SUCCESS The results have been distributed or are
+ awaiting distribution.
@retval EFI_OUT_OF_RESOURCES The ResultsDataSize specified
was too small to contain the
@@ -168,7 +156,7 @@ EFI_STATUS
**/
typedef
EFI_STATUS
-(EFIAPI *EFI_BROWSER_CALLBACK2 ) (
+(EFIAPI *EFI_BROWSER_CALLBACK2)(
IN CONST EFI_FORM_BROWSER2_PROTOCOL *This,
IN OUT UINTN *ResultsDataSize,
IN OUT EFI_STRING ResultsData,
@@ -177,35 +165,15 @@ EFI_STATUS
IN CONST CHAR16 *VariableName OPTIONAL
);
-/**
-
- This protocol is the interface to call for drivers to leverage
- the EFI configuration driver interface.
-
- @param SendForm Provides direction to the configuration
- driver whether to use the HII database or to
- use a passed-in set of data. This functions
- also establishes a pointer to the calling
- driver's callback interface. See the
- SendForm() function description.
-
- @param BrowserCallback Routine used to expose internal
- configuration state of the browser.
- This is primarily used by callback
- handler routines which were called by
- the browser and in-turn need to get
- additional information from the
- browser itself. See the
- BrowserCallback() function
- description.
-
-**/
+///
+/// This interface will allow the caller to direct the configuration
+/// driver to use either the HII database or use the passed-in packet of data.
+///
struct _EFI_FORM_BROWSER2_PROTOCOL {
EFI_SEND_FORM2 SendForm;
EFI_BROWSER_CALLBACK2 BrowserCallback;
} ;
-
extern EFI_GUID gEfiFormBrowser2ProtocolGuid;
#endif