]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
NetworkPkg: Convert files to CRLF line ending
[mirror_edk2.git] / NetworkPkg / TlsAuthConfigDxe / TlsAuthConfigImpl.h
index 398f7b6eea3eafda0d214b7c9303bc8574cb9b19..f50d60d2693e414200e2093adf84476f7a5d6bf9 100644 (file)
-/** @file
-  Header file of Miscellaneous Routines for TlsAuthConfigDxe driver.
-
-Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-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.
-
-**/
-
-#ifndef __TLS_AUTH_CONFIG_IMPL_H__
-#define __TLS_AUTH_CONFIG_IMPL_H__
-
-#include <Uefi.h>
-
-#include <Protocol/HiiConfigAccess.h>
-#include <Protocol/SimpleFileSystem.h>
-
-//
-// Libraries
-//
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/BaseLib.h>
-#include <Library/UefiLib.h>
-#include <Library/DebugLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/HiiLib.h>
-#include <Library/UefiHiiServicesLib.h>
-#include <Library/FileExplorerLib.h>
-#include <Library/PrintLib.h>
-
-#include <Guid/MdeModuleHii.h>
-#include <Guid/ImageAuthentication.h>
-#include <Guid/TlsAuthentication.h>
-
-
-//
-// Include files with function prototypes
-//
-#include "TlsAuthConfigNvData.h"
-
-extern   UINT8       TlsAuthConfigDxeStrings[];
-extern   UINT8       TlsAuthConfigVfrBin[];
-
-#define TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE    SIGNATURE_32 ('T', 'A', 'C', 'D')
-#define TLS_AUTH_CONFIG_PRIVATE_FROM_THIS(a)      CR (a, TLS_AUTH_CONFIG_PRIVATE_DATA, ConfigAccess, TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE)
-
-#define TLS_AUTH_CONFIG_VAR_BASE_ATTR  (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
-
-typedef struct _TLS_AUTH_CONFIG_PRIVATE_DATA      TLS_AUTH_CONFIG_PRIVATE_DATA;
-typedef struct _TLS_AUTH_CONFIG_FILE_CONTEXT      TLS_AUTH_CONFIG_FILE_CONTEXT;
-
-///
-/// HII specific Vendor Device Path definition.
-///
-typedef struct {
-  VENDOR_DEVICE_PATH                VendorDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL          End;
-} HII_VENDOR_DEVICE_PATH;
-
-struct _TLS_AUTH_CONFIG_FILE_CONTEXT {
-  EFI_FILE_HANDLE                   FHandle;
-  UINT16                            *FileName;
-};
-
-struct _TLS_AUTH_CONFIG_PRIVATE_DATA {
-  UINTN                             Signature;
-
-  EFI_HANDLE                        DriverHandle;
-  EFI_HII_HANDLE                    RegisteredHandle;
-  EFI_HII_CONFIG_ACCESS_PROTOCOL    ConfigAccess;
-  TLS_AUTH_CONFIG_IFR_NVDATA        TlsAuthConfigNvData;
-
-  TLS_AUTH_CONFIG_FILE_CONTEXT      *FileContext;
-
-  EFI_GUID                          *CertGuid;
-};
-
-/**
-  Unload the configuration form, this includes: delete all the configuration
-  entries, uninstall the form callback protocol, and free the resources used.
-  The form will only be unload completely when both IP4 and IP6 stack are stopped.
-
-  @param[in]  Private             Pointer to the driver private data.
-
-  @retval EFI_SUCCESS             The configuration form is unloaded.
-  @retval Others                  Failed to unload the form.
-
-**/
-EFI_STATUS
-TlsAuthConfigFormUnload (
-  IN TLS_AUTH_CONFIG_PRIVATE_DATA     *Private
-  );
-
-/**
-  Initialize the configuration form.
-
-  @param[in]  Private             Pointer to the driver private data.
-
-  @retval EFI_SUCCESS             The configuration form is initialized.
-  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
-
-**/
-EFI_STATUS
-TlsAuthConfigFormInit (
-  IN TLS_AUTH_CONFIG_PRIVATE_DATA     *Private
-  );
-
-/**
-   
-  This function allows the caller to request the current
-  configuration for one or more named elements. The resulting
-  string is in <ConfigAltResp> format. Any and all alternative
-  configuration strings shall also be appended to the end of the
-  current configuration string. If they are, they must appear
-  after the current configuration. They must contain the same
-  routing (GUID, NAME, PATH) as the current configuration string.
-  They must have an additional description indicating the type of
-  alternative configuration the string represents,
-  "ALTCFG=<StringToken>". That <StringToken> (when
-  converted from Hex UNICODE to binary) is a reference to a
-  string in the associated string pack.
-
-  @param This       Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
-
-  @param Request    A null-terminated Unicode string in
-                    <ConfigRequest> format. Note that this
-                    includes the routing information as well as
-                    the configurable name / value pairs. It is
-                    invalid for this string to be in
-                    <MultiConfigRequest> format. 
-                    If a NULL is passed in for the Request field, 
-                    all of the settings being abstracted by this function 
-                    will be returned in the Results field.  In addition, 
-                    if a ConfigHdr is passed in with no request elements, 
-                    all of the settings being abstracted for that particular 
-                    ConfigHdr reference will be returned in the Results Field.
-
-  @param Progress   On return, points to a character in the
-                    Request string. Points to the string's null
-                    terminator if request was successful. Points
-                    to the most recent "&" before the first
-                    failing name / value pair (or the beginning
-                    of the string if the failure is in the first
-                    name / value pair) if the request was not
-                    successful.
-
-  @param Results    A null-terminated Unicode string in
-                    <MultiConfigAltResp> format which has all values
-                    filled in for the names in the Request string.
-                    String to be allocated by the called function.
-
-  @retval EFI_SUCCESS             The Results string is filled with the
-                                  values corresponding to all requested
-                                  names.
-
-  @retval EFI_OUT_OF_RESOURCES    Not enough memory to store the
-                                  parts of the results that must be
-                                  stored awaiting possible future
-                                  protocols.
-
-  @retval EFI_NOT_FOUND           Routing data doesn't match any
-                                  known driver. Progress set to the
-                                  first character in the routing header.
-                                  Note: There is no requirement that the
-                                  driver validate the routing data. It
-                                  must skip the <ConfigHdr> in order to
-                                  process the names.
-
-  @retval EFI_INVALID_PARAMETER   Illegal syntax. Progress set
-                                  to most recent "&" before the
-                                  error or the beginning of the
-                                  string.
-
-  @retval EFI_INVALID_PARAMETER   Unknown name. Progress points
-                                  to the & before the name in
-                                  question.
-
-**/
-EFI_STATUS
-EFIAPI
-TlsAuthConfigAccessExtractConfig (
-  IN CONST  EFI_HII_CONFIG_ACCESS_PROTOCOL  *This,
-  IN CONST  EFI_STRING                      Request,
-  OUT       EFI_STRING                      *Progress,
-  OUT       EFI_STRING                      *Results
-  );
-
-/**
-   
-  This function applies changes in a driver's configuration.
-  Input is a Configuration, which has the routing data for this
-  driver followed by name / value configuration pairs. The driver
-  must apply those pairs to its configurable storage. If the
-  driver's configuration is stored in a linear block of data
-  and the driver's name / value pairs are in <BlockConfig>
-  format, it may use the ConfigToBlock helper function (above) to
-  simplify the job.
-
-  @param This           Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
-
-  @param Configuration  A null-terminated Unicode string in
-                        <ConfigString> format. 
-  
-  @param Progress       A pointer to a string filled in with the
-                        offset of the most recent '&' before the
-                        first failing name / value pair (or the
-                        beginn ing of the string if the failure
-                        is in the first name / value pair) or
-                        the terminating NULL if all was
-                        successful.
-
-  @retval EFI_SUCCESS             The results have been distributed or are
-                                  awaiting distribution.
-  
-  @retval EFI_OUT_OF_RESOURCES    Not enough memory to store the
-                                  parts of the results that must be
-                                  stored awaiting possible future
-                                  protocols.
-  
-  @retval EFI_INVALID_PARAMETERS  Passing in a NULL for the
-                                  Results parameter would result
-                                  in this type of error.
-  
-  @retval EFI_NOT_FOUND           Target for the specified routing data
-                                  was not found
-
-**/
-EFI_STATUS
-EFIAPI
-TlsAuthConfigAccessRouteConfig (
-  IN CONST  EFI_HII_CONFIG_ACCESS_PROTOCOL  *This,
-  IN CONST  EFI_STRING                      Configuration,
-  OUT       EFI_STRING                      *Progress
-  );  
-
-/**
-   
-  This function is called to provide results data to the driver.
-  This data consists of a unique key that is used to identify
-  which data is either being passed back or being asked for.
-
-  @param  This                   Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
-  @param  Action                 Specifies the type of action taken by the browser.
-  @param  QuestionId             A unique value which is sent to the original
-                                 exporting driver so that it can identify the type
-                                 of data to expect. The format of the data tends to 
-                                 vary based on the opcode that generated the callback.
-  @param  Type                   The type of value for the question.
-  @param  Value                  A pointer to the data being sent to the original
-                                 exporting driver.
-  @param  ActionRequest          On return, points to the action requested by the
-                                 callback function.
-
-  @retval EFI_SUCCESS            The callback successfully handled the action.
-  @retval EFI_OUT_OF_RESOURCES   Not enough storage is available to hold the
-                                 variable and its data.
-  @retval EFI_DEVICE_ERROR       The variable could not be saved.
-  @retval EFI_UNSUPPORTED        The specified Action is not supported by the
-                                 callback.
-**/
-EFI_STATUS
-EFIAPI
-TlsAuthConfigAccessCallback (
-  IN     CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,
-  IN     EFI_BROWSER_ACTION                     Action,
-  IN     EFI_QUESTION_ID                        QuestionId,
-  IN     UINT8                                  Type,
-  IN OUT EFI_IFR_TYPE_VALUE                     *Value,
-  OUT    EFI_BROWSER_ACTION_REQUEST             *ActionRequest
-  );
-
-#endif
-
+/** @file\r
+  Header file of Miscellaneous Routines for TlsAuthConfigDxe driver.\r
+\r
+Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+\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
+**/\r
+\r
+#ifndef __TLS_AUTH_CONFIG_IMPL_H__\r
+#define __TLS_AUTH_CONFIG_IMPL_H__\r
+\r
+#include <Uefi.h>\r
+\r
+#include <Protocol/HiiConfigAccess.h>\r
+#include <Protocol/SimpleFileSystem.h>\r
+\r
+//\r
+// Libraries\r
+//\r
+#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/UefiRuntimeServicesTableLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/BaseLib.h>\r
+#include <Library/UefiLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/DevicePathLib.h>\r
+#include <Library/HiiLib.h>\r
+#include <Library/UefiHiiServicesLib.h>\r
+#include <Library/FileExplorerLib.h>\r
+#include <Library/PrintLib.h>\r
+\r
+#include <Guid/MdeModuleHii.h>\r
+#include <Guid/ImageAuthentication.h>\r
+#include <Guid/TlsAuthentication.h>\r
+\r
+\r
+//\r
+// Include files with function prototypes\r
+//\r
+#include "TlsAuthConfigNvData.h"\r
+\r
+extern   UINT8       TlsAuthConfigDxeStrings[];\r
+extern   UINT8       TlsAuthConfigVfrBin[];\r
+\r
+#define TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE    SIGNATURE_32 ('T', 'A', 'C', 'D')\r
+#define TLS_AUTH_CONFIG_PRIVATE_FROM_THIS(a)      CR (a, TLS_AUTH_CONFIG_PRIVATE_DATA, ConfigAccess, TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE)\r
+\r
+#define TLS_AUTH_CONFIG_VAR_BASE_ATTR  (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)\r
+\r
+typedef struct _TLS_AUTH_CONFIG_PRIVATE_DATA      TLS_AUTH_CONFIG_PRIVATE_DATA;\r
+typedef struct _TLS_AUTH_CONFIG_FILE_CONTEXT      TLS_AUTH_CONFIG_FILE_CONTEXT;\r
+\r
+///\r
+/// HII specific Vendor Device Path definition.\r
+///\r
+typedef struct {\r
+  VENDOR_DEVICE_PATH                VendorDevicePath;\r
+  EFI_DEVICE_PATH_PROTOCOL          End;\r
+} HII_VENDOR_DEVICE_PATH;\r
+\r
+struct _TLS_AUTH_CONFIG_FILE_CONTEXT {\r
+  EFI_FILE_HANDLE                   FHandle;\r
+  UINT16                            *FileName;\r
+};\r
+\r
+struct _TLS_AUTH_CONFIG_PRIVATE_DATA {\r
+  UINTN                             Signature;\r
+\r
+  EFI_HANDLE                        DriverHandle;\r
+  EFI_HII_HANDLE                    RegisteredHandle;\r
+  EFI_HII_CONFIG_ACCESS_PROTOCOL    ConfigAccess;\r
+  TLS_AUTH_CONFIG_IFR_NVDATA        TlsAuthConfigNvData;\r
+\r
+  TLS_AUTH_CONFIG_FILE_CONTEXT      *FileContext;\r
+\r
+  EFI_GUID                          *CertGuid;\r
+};\r
+\r
+/**\r
+  Unload the configuration form, this includes: delete all the configuration\r
+  entries, uninstall the form callback protocol, and free the resources used.\r
+  The form will only be unload completely when both IP4 and IP6 stack are stopped.\r
+\r
+  @param[in]  Private             Pointer to the driver private data.\r
+\r
+  @retval EFI_SUCCESS             The configuration form is unloaded.\r
+  @retval Others                  Failed to unload the form.\r
+\r
+**/\r
+EFI_STATUS\r
+TlsAuthConfigFormUnload (\r
+  IN TLS_AUTH_CONFIG_PRIVATE_DATA     *Private\r
+  );\r
+\r
+/**\r
+  Initialize the configuration form.\r
+\r
+  @param[in]  Private             Pointer to the driver private data.\r
+\r
+  @retval EFI_SUCCESS             The configuration form is initialized.\r
+  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.\r
+\r
+**/\r
+EFI_STATUS\r
+TlsAuthConfigFormInit (\r
+  IN TLS_AUTH_CONFIG_PRIVATE_DATA     *Private\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
+  configuration strings shall also be appended to the end of the\r
+  current configuration string. If they are, they must appear\r
+  after the current configuration. They must contain the same\r
+  routing (GUID, NAME, PATH) as the current configuration string.\r
+  They must have an additional description indicating the type of\r
+  alternative configuration the string represents,\r
+  "ALTCFG=<StringToken>". That <StringToken> (when\r
+  converted from Hex UNICODE to binary) is a reference to a\r
+  string in the associated string pack.\r
+\r
+  @param This       Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\r
+\r
+  @param Request    A null-terminated Unicode string in\r
+                    <ConfigRequest> format. Note that this\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
+                    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
+                    terminator if request was successful. Points\r
+                    to the most recent "&" before the first\r
+                    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
+\r
+  @param Results    A null-terminated Unicode string in\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
+  @retval EFI_SUCCESS             The Results string is filled with the\r
+                                  values corresponding to all requested\r
+                                  names.\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
+  @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
+\r
+  @retval EFI_INVALID_PARAMETER   Illegal syntax. Progress set\r
+                                  to most recent "&" before the\r
+                                  error or the beginning of the\r
+                                  string.\r
+\r
+  @retval EFI_INVALID_PARAMETER   Unknown name. Progress points\r
+                                  to the & before the name in\r
+                                  question.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+TlsAuthConfigAccessExtractConfig (\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
+  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
+  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
+  format, it may use the ConfigToBlock helper function (above) to\r
+  simplify the job.\r
+\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
+  @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
+                        beginn ing of the string if the failure\r
+                        is in the first name / value pair) or\r
+                        the terminating NULL if all was\r
+                        successful.\r
+\r
+  @retval EFI_SUCCESS             The results have been distributed or are\r
+                                  awaiting distribution.\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
+  @retval EFI_INVALID_PARAMETERS  Passing in a NULL for the\r
+                                  Results parameter would result\r
+                                  in this type of error.\r
+\r
+  @retval EFI_NOT_FOUND           Target for the specified routing data\r
+                                  was not found\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+TlsAuthConfigAccessRouteConfig (\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
+  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
+\r
+  @param  This                   Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.\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
+                                 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
+  @param  ActionRequest          On return, points to the action requested by the\r
+                                 callback function.\r
+\r
+  @retval EFI_SUCCESS            The callback successfully handled the action.\r
+  @retval EFI_OUT_OF_RESOURCES   Not enough storage is available to hold the\r
+                                 variable and its data.\r
+  @retval EFI_DEVICE_ERROR       The variable could not be saved.\r
+  @retval EFI_UNSUPPORTED        The specified Action is not supported by the\r
+                                 callback.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+TlsAuthConfigAccessCallback (\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
+#endif\r
+\r