+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
-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
- FormBrowser2.h\r
-\r
-Abstract:\r
-\r
- The EFI_FORM_BROWSER2_PROTOCOL is the interface to the UEFI configuration driver.\r
-\r
---*/\r
-\r
-#ifndef _FORM_BROWSER2_H_\r
-#define _FORM_BROWSER2_H_\r
-\r
-#include "EfiHii.h"\r
-\r
-#define EFI_FORM_BROWSER2_PROTOCOL_GUID \\r
- { \\r
- 0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58} \\r
- }\r
-\r
-//\r
-// Forward reference for pure ANSI compatability\r
-//\r
-EFI_FORWARD_DECLARATION (EFI_FORM_BROWSER2_PROTOCOL);\r
-\r
-typedef struct {\r
- UINTN LeftColumn;\r
- UINTN RightColumn;\r
- UINTN TopRow;\r
- UINTN BottomRow;\r
-} EFI_SCREEN_DESCRIPTOR;\r
-\r
-typedef UINTN EFI_BROWSER_ACTION_REQUEST;\r
-\r
-#define EFI_BROWSER_ACTION_REQUEST_NONE 0\r
-#define EFI_BROWSER_ACTION_REQUEST_RESET 1\r
-#define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2\r
-#define EFI_BROWSER_ACTION_REQUEST_EXIT 3\r
-\r
-//\r
-// The following types are currently defined:\r
-//\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_SEND_FORM2) (\r
- IN CONST EFI_FORM_BROWSER2_PROTOCOL *This,\r
- IN EFI_HII_HANDLE *Handles,\r
- IN UINTN HandleCount,\r
- IN EFI_GUID *FormSetGuid, OPTIONAL\r
- IN UINT16 FormId, OPTIONAL\r
- IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL\r
- OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest OPTIONAL\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- This is the routine which an external caller uses to direct the browser\r
- where to obtain it's information.\r
-\r
-Arguments:\r
- This - A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance.\r
- Handles - A pointer to an array of HII handles to display.\r
- HandleCount - The number of handles in the array specified by Handle.\r
- FormSetGuid - This field points to the EFI_GUID which must match the Guid field in the EFI_IFR_FORM_SET op-code for the specified\r
- forms-based package. If FormSetGuid is NULL, then this function will display the first found forms package.\r
- FormId - This field specifies which EFI_IFR_FORM to render as the first displayable page.\r
- If this field has a value of 0x0000, then the forms browser will render the specified forms in their encoded order.\r
- ScreenDimenions - This allows the browser to be called so that it occupies a portion of the physical screen instead of\r
- dynamically determining the screen dimensions.\r
- ActionRequest - Points to the action recommended by the form.\r
-\r
-Returns:\r
- EFI_SUCCESS - The function completed successfully.\r
- EFI_INVALID_PARAMETER - One of the parameters has an invalid value.\r
- EFI_NOT_FOUND - No valid forms could be found to display.\r
-\r
---*/\r
-;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_BROWSER_CALLBACK2) (\r
- IN CONST EFI_FORM_BROWSER2_PROTOCOL *This,\r
- IN OUT UINTN *ResultsDataSize,\r
- IN OUT EFI_STRING ResultsData,\r
- IN BOOLEAN RetrieveData,\r
- IN CONST EFI_GUID *VariableGuid, OPTIONAL\r
- IN CONST CHAR16 *VariableName OPTIONAL\r
- )\r
-/*++\r
-\r
-Routine Description:\r
- This function is called by a callback handler to retrieve uncommitted state\r
- data from the browser.\r
-\r
-Arguments:\r
- This - A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance.\r
- ResultsDataSize - A pointer to the size of the buffer associated with ResultsData.\r
- On input, the size in bytes of ResultsData. \r
- On output, the size of data returned in ResultsData.\r
- ResultsData - A string returned from an IFR browser or equivalent.\r
- The results string will have no routing information in them.\r
- RetrieveData - A BOOLEAN field which allows an agent to retrieve (if RetrieveData = TRUE)\r
- data from the uncommitted browser state information or set\r
- (if RetrieveData = FALSE) data in the uncommitted browser state information.\r
- VariableGuid - An optional field to indicate the target variable GUID name to use.\r
- VariableName - An optional field to indicate the target human-readable variable name.\r
-\r
-Returns:\r
- EFI_SUCCESS - The results have been distributed or are awaiting distribution.\r
- EFI_BUFFER_TOO_SMALL - The ResultsDataSize specified was too small to contain the results data.\r
-\r
---*/\r
-;\r
-\r
-struct _EFI_FORM_BROWSER2_PROTOCOL {\r
- EFI_SEND_FORM2 SendForm;\r
- EFI_BROWSER_CALLBACK2 BrowserCallback;\r
-};\r
-\r
-extern EFI_GUID gEfiFormBrowser2ProtocolGuid;\r
-\r
-#endif\r