/** @file\r
\r
- The EFI HII results processing protocol invokes this type of protocol \r
- when it needs to forward results to a driver's configuration handler. \r
- This protocol is published by drivers providing and requesting \r
+ The EFI HII results processing protocol invokes this type of protocol\r
+ when it needs to forward results to a driver's configuration handler.\r
+ This protocol is published by drivers providing and requesting\r
configuration data from HII. It may only be invoked by HII.\r
- \r
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials are licensed and made available under \r
-the terms and conditions of the BSD License that accompanies this distribution. \r
-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
-**/\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+ @par Revision Reference:\r
+ This Protocol was introduced in UEFI Specification 2.1.\r
\r
+**/\r
\r
#ifndef __EFI_HII_CONFIG_ACCESS_H__\r
#define __EFI_HII_CONFIG_ACCESS_H__\r
#define EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID \\r
{ 0x330d4706, 0xf2a0, 0x4e4f, { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } }\r
\r
-typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;\r
+typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL EFI_HII_CONFIG_ACCESS_PROTOCOL;\r
\r
typedef UINTN EFI_BROWSER_ACTION;\r
\r
-#define EFI_BROWSER_ACTION_CHANGING 0\r
-#define EFI_BROWSER_ACTION_CHANGED 1\r
-#define EFI_BROWSER_ACTION_RETRIEVE 2\r
-#define EFI_BROWSER_ACTION_FORM_OPEN 3\r
-#define EFI_BROWSER_ACTION_FORM_CLOSE 4\r
-#define EFI_BROWSER_ACTION_SUBMITTED 5\r
-#define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000\r
-#define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001\r
-#define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002\r
-#define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000\r
-#define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000\r
-#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000\r
+#define EFI_BROWSER_ACTION_CHANGING 0\r
+#define EFI_BROWSER_ACTION_CHANGED 1\r
+#define EFI_BROWSER_ACTION_RETRIEVE 2\r
+#define EFI_BROWSER_ACTION_FORM_OPEN 3\r
+#define EFI_BROWSER_ACTION_FORM_CLOSE 4\r
+#define EFI_BROWSER_ACTION_SUBMITTED 5\r
+#define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000\r
+#define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001\r
+#define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002\r
+#define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000\r
+#define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000\r
+#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000\r
\r
/**\r
- \r
+\r
This function allows the caller to request the current\r
configuration for one or more named elements. The resulting\r
string is in <ConfigAltResp> format. Any and all alternative\r
includes the routing information as well as\r
the configurable name / value pairs. It is\r
invalid for this string to be in\r
- <MultiConfigRequest> format. \r
- If a NULL is passed in for the Request field, \r
- all of the settings being abstracted by this function \r
- will be returned in the Results field. In addition, \r
- if a ConfigHdr is passed in with no request elements, \r
- all of the settings being abstracted for that particular \r
+ <MultiConfigRequest> format.\r
+ If a NULL is passed in for the Request field,\r
+ all of the settings being abstracted by this function\r
+ will be returned in the Results field. In addition,\r
+ if a ConfigHdr is passed in with no request elements,\r
+ all of the settings being abstracted for that particular\r
ConfigHdr reference will be returned in the Results Field.\r
\r
@param Progress On return, points to a character in the\r
stored awaiting possible future\r
protocols.\r
\r
- @retval EFI_NOT_FOUND A configuration element matching \r
+ @retval EFI_NOT_FOUND A configuration element matching\r
the routing data is not found.\r
Progress set to the first character\r
in the routing header.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EFI_HII_ACCESS_EXTRACT_CONFIG)(\r
+(EFIAPI *EFI_HII_ACCESS_EXTRACT_CONFIG)(\r
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
IN CONST EFI_STRING Request,\r
OUT EFI_STRING *Progress,\r
OUT EFI_STRING *Results\r
-);\r
-\r
+ );\r
\r
/**\r
- \r
+\r
This function applies changes in a driver's configuration.\r
Input is a Configuration, which has the routing data for this\r
driver followed by name / value configuration pairs. The driver\r
@param This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\r
\r
@param Configuration A null-terminated Unicode string in\r
- <ConfigString> format. \r
- \r
+ <ConfigString> format.\r
+\r
@param Progress A pointer to a string filled in with the\r
offset of the most recent '&' before the\r
first failing name / value pair (or the\r
\r
@retval EFI_SUCCESS The results have been distributed or are\r
awaiting distribution.\r
- \r
+\r
@retval EFI_OUT_OF_RESOURCES Not enough memory to store the\r
parts of the results that must be\r
stored awaiting possible future\r
protocols.\r
- \r
+\r
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the\r
Results parameter would result\r
in this type of error.\r
- \r
+\r
@retval EFI_NOT_FOUND Target for the specified routing data\r
was not found\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EFI_HII_ACCESS_ROUTE_CONFIG)(\r
+(EFIAPI *EFI_HII_ACCESS_ROUTE_CONFIG)(\r
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,\r
IN CONST EFI_STRING Configuration,\r
OUT EFI_STRING *Progress\r
-);\r
+ );\r
\r
/**\r
- \r
+\r
This function is called to provide results data to the driver.\r
This data consists of a unique key that is used to identify\r
which data is either being passed back or being asked for.\r
@param Action Specifies the type of action taken by the browser.\r
@param QuestionId A unique value which is sent to the original\r
exporting driver so that it can identify the type\r
- of data to expect. The format of the data tends to \r
+ of data to expect. The format of the data tends to\r
vary based on the opcode that generated the callback.\r
@param Type The type of value for the question.\r
@param Value A pointer to the data being sent to the original\r
IN OUT EFI_IFR_TYPE_VALUE *Value,\r
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest\r
)\r
- ;\r
- \r
+;\r
+\r
///\r
/// This protocol provides a callable interface between the HII and\r
/// drivers. Only drivers which provide IFR data to HII are required\r
/// to publish this protocol.\r
///\r
struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {\r
- EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;\r
- EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;\r
- EFI_HII_ACCESS_FORM_CALLBACK Callback;\r
-} ;\r
+ EFI_HII_ACCESS_EXTRACT_CONFIG ExtractConfig;\r
+ EFI_HII_ACCESS_ROUTE_CONFIG RouteConfig;\r
+ EFI_HII_ACCESS_FORM_CALLBACK Callback;\r
+};\r
\r
-extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;\r
+extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;\r
\r
#endif\r
-\r
-\r