]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/HiiConfigAccess.h
MdePkg/Include/Protocol/Tls.h: pack structures from the TLS RFC
[mirror_edk2.git] / MdePkg / Include / Protocol / HiiConfigAccess.h
index 211a5d125310a1c60c4123154c0659dfb4243ddc..6cd28e569bab6b82f30091fd8e043a0accbc3190 100644 (file)
@@ -5,14 +5,14 @@
   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 - 2008, Intel Corporation\r
-  All rights reserved. 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
+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
 \r
@@ -29,8 +29,18 @@ typedef struct _EFI_HII_CONFIG_ACCESS_PROTOCOL  EFI_HII_CONFIG_ACCESS_PROTOCOL;
 \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_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
@@ -54,7 +64,13 @@ typedef UINTN EFI_BROWSER_ACTION;
                     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
+                    <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
                     Request string. Points to the string's null\r
@@ -63,10 +79,10 @@ typedef UINTN EFI_BROWSER_ACTION;
                     failing name / value pair (or the beginning\r
                     of the string if the failure is in the first\r
                     name / value pair) if the request was not\r
-                    successful\r
+                    successful.\r
 \r
   @param Results    A null-terminated Unicode string in\r
-                    <ConfigAltResp> format which has all values\r
+                    <MultiConfigAltResp> format which has all values\r
                     filled in for the names in the Request string.\r
                     String to be allocated by the called function.\r
 \r
@@ -74,28 +90,18 @@ typedef UINTN EFI_BROWSER_ACTION;
                                   values corresponding to all requested\r
                                   names.\r
 \r
-  @retval EFI_OUT_OF_MEMORY       Not enough memory to store the\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
-  @retval EFI_INVALID_PARAMETER   For example, passing in a NULL\r
-                                  for the Request parameter\r
-                                  would result in this type of\r
-                                  error. In this case, the\r
-                                  Progress parameter would be\r
-                                  set to NULL. \r
-\r
-  @retval EFI_NOT_FOUND           Routing data doesn't match any\r
-                                  known driver. Progress set to the\r
-                                  first character in the routing header.\r
-                                  Note: There is no requirement that the\r
-                                  driver validate the routing data. It\r
-                                  must skip the <ConfigHdr> in order to\r
-                                  process the names.\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
   @retval EFI_INVALID_PARAMETER   Illegal syntax. Progress set\r
-                                  to most recent & before the\r
+                                  to most recent "&" before the\r
                                   error or the beginning of the\r
                                   string.\r
 \r
@@ -121,7 +127,7 @@ EFI_STATUS
   driver followed by name / value configuration pairs. The driver\r
   must apply those pairs to its configurable storage. If the\r
   driver's configuration is stored in a linear block of data\r
-  and the driver????s name / value pairs are in <BlockConfig>\r
+  and the driver's name / value pairs are in <BlockConfig>\r
   format, it may use the ConfigToBlock helper function (above) to\r
   simplify the job.\r
 \r
@@ -141,7 +147,7 @@ EFI_STATUS
   @retval EFI_SUCCESS             The results have been distributed or are\r
                                   awaiting distribution.\r
   \r
-  @retval EFI_OUT_OF_MEMORY       Not enough memory to store the\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
@@ -173,7 +179,7 @@ EFI_STATUS
   @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
-                                 vary based on the opcode that enerated the callback.\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
                                  exporting driver.\r
@@ -190,12 +196,12 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_HII_ACCESS_FORM_CALLBACK)(\r
-  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,\r
-  IN  EFI_BROWSER_ACTION                     *Action,\r
-  IN  EFI_QUESTION_ID                        QuestionId,\r
-  IN  UINT8                                  Type,\r
-  IN  EFI_IFR_TYPE_VALUE                     *Value,\r
-  OUT EFI_BROWSER_ACTION_REQUEST             *ActionRequest\r
+  IN     CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,\r
+  IN     EFI_BROWSER_ACTION                     Action,\r
+  IN     EFI_QUESTION_ID                        QuestionId,\r
+  IN     UINT8                                  Type,\r
+  IN OUT EFI_IFR_TYPE_VALUE                     *Value,\r
+  OUT    EFI_BROWSER_ACTION_REQUEST             *ActionRequest\r
   )\r
   ;\r
   \r