-/** @file
- EFI TLS Configuration Protocol as defined in UEFI 2.5.
- The EFI TLS Configuration Protocol provides a way to set and get TLS configuration.
-
- 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.
-
- @par Revision Reference:
- This Protocol is introduced in UEFI Specification 2.5
-
-**/
-#ifndef __EFI_TLS_CONFIGURATION_PROTOCOL_H__
-#define __EFI_TLS_CONFIGURATION_PROTOCOL_H__
-
-///
-/// The EFI Configuration protocol provides a way to set and get TLS configuration.
-///
-#define EFI_TLS_CONFIGURATION_PROTOCOL_GUID \
- { \
- 0x1682fe44, 0xbd7a, 0x4407, { 0xb7, 0xc7, 0xdc, 0xa3, 0x7c, 0xa3, 0x92, 0x2d } \
- }
-
-typedef struct _EFI_TLS_CONFIGURATION_PROTOCOL EFI_TLS_CONFIGURATION_PROTOCOL;
-
-///
-/// EFI_TLS_CONFIG_DATA_TYPE
-///
-typedef enum {
- ///
- /// Local host configuration data: public certificate data.
- /// This data should be DER-encoded binary X.509 certificate
- /// or PEM-encoded X.509 certificate.
- ///
- EfiTlsConfigDataTypeHostPublicCert,
- ///
- /// Local host configuration data: private key data.
- ///
- EfiTlsConfigDataTypeHostPrivateKey,
- ///
- /// CA certificate to verify peer. This data should be PEM-encoded
- /// RSA or PKCS#8 private key.
- ///
- EfiTlsConfigDataTypeCACertificate,
- ///
- /// CA-supplied Certificate Revocation List data. This data should
- /// be DER-encoded CRL data.
- ///
- EfiTlsConfigDataTypeCertRevocationList,
-
- EfiTlsConfigDataTypeMaximum
-
-} EFI_TLS_CONFIG_DATA_TYPE;
-
-/**
- Set TLS configuration data.
-
- The SetData() function sets TLS configuration to non-volatile storage or volatile
- storage.
-
- @param[in] This Pointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.
- @param[in] DataType Configuration data type.
- @param[in] Data Pointer to configuration data.
- @param[in] DataSize Total size of configuration data.
-
- @retval EFI_SUCCESS The TLS configuration data is set successfully.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- Data is NULL.
- DataSize is 0.
- @retval EFI_UNSUPPORTED The DataType is unsupported.
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_TLS_CONFIGURATION_SET_DATA)(
- IN EFI_TLS_CONFIGURATION_PROTOCOL *This,
- IN EFI_TLS_CONFIG_DATA_TYPE DataType,
- IN VOID *Data,
- IN UINTN DataSize
- );
-
-/**
- Get TLS configuration data.
-
- The GetData() function gets TLS configuration.
-
- @param[in] This Pointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.
- @param[in] DataType Configuration data type.
- @param[in, out] Data Pointer to configuration data.
- @param[in, out] DataSize Total size of configuration data. On input, it means
- the size of Data buffer. On output, it means the size
- of copied Data buffer if EFI_SUCCESS, and means the
- size of desired Data buffer if EFI_BUFFER_TOO_SMALL.
-
- @retval EFI_SUCCESS The TLS configuration data is got successfully.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- DataSize is NULL.
- Data is NULL if *DataSize is not zero.
- @retval EFI_UNSUPPORTED The DataType is unsupported.
- @retval EFI_NOT_FOUND The TLS configuration data is not found.
- @retval EFI_BUFFER_TOO_SMALL The buffer is too small to hold the data.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_TLS_CONFIGURATION_GET_DATA)(
- IN EFI_TLS_CONFIGURATION_PROTOCOL *This,
- IN EFI_TLS_CONFIG_DATA_TYPE DataType,
- IN OUT VOID *Data, OPTIONAL
- IN OUT UINTN *DataSize
- );
-
-///
-/// The EFI_TLS_CONFIGURATION_PROTOCOL is designed to provide a way to set and get
-/// TLS configuration, such as Certificate, private key data.
-///
-struct _EFI_TLS_CONFIGURATION_PROTOCOL {
- EFI_TLS_CONFIGURATION_SET_DATA SetData;
- EFI_TLS_CONFIGURATION_GET_DATA GetData;
-};
-
-extern EFI_GUID gEfiTlsConfigurationProtocolGuid;
-
-#endif //__EFI_TLS_CONFIGURATION_PROTOCOL_H__
+/** @file\r
+ EFI TLS Configuration Protocol as defined in UEFI 2.5.\r
+ The EFI TLS Configuration Protocol provides a way to set and get TLS configuration.\r
+\r
+ Copyright (c) 2016, 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
+ @par Revision Reference:\r
+ This Protocol is introduced in UEFI Specification 2.5\r
+\r
+**/\r
+#ifndef __EFI_TLS_CONFIGURATION_PROTOCOL_H__\r
+#define __EFI_TLS_CONFIGURATION_PROTOCOL_H__\r
+\r
+///\r
+/// The EFI Configuration protocol provides a way to set and get TLS configuration.\r
+///\r
+#define EFI_TLS_CONFIGURATION_PROTOCOL_GUID \\r
+ { \\r
+ 0x1682fe44, 0xbd7a, 0x4407, { 0xb7, 0xc7, 0xdc, 0xa3, 0x7c, 0xa3, 0x92, 0x2d } \\r
+ }\r
+\r
+typedef struct _EFI_TLS_CONFIGURATION_PROTOCOL EFI_TLS_CONFIGURATION_PROTOCOL;\r
+\r
+///\r
+/// EFI_TLS_CONFIG_DATA_TYPE\r
+///\r
+typedef enum {\r
+ ///\r
+ /// Local host configuration data: public certificate data.\r
+ /// This data should be DER-encoded binary X.509 certificate\r
+ /// or PEM-encoded X.509 certificate.\r
+ ///\r
+ EfiTlsConfigDataTypeHostPublicCert,\r
+ ///\r
+ /// Local host configuration data: private key data.\r
+ ///\r
+ EfiTlsConfigDataTypeHostPrivateKey,\r
+ ///\r
+ /// CA certificate to verify peer. This data should be PEM-encoded\r
+ /// RSA or PKCS#8 private key.\r
+ ///\r
+ EfiTlsConfigDataTypeCACertificate,\r
+ ///\r
+ /// CA-supplied Certificate Revocation List data. This data should\r
+ /// be DER-encoded CRL data.\r
+ ///\r
+ EfiTlsConfigDataTypeCertRevocationList,\r
+\r
+ EfiTlsConfigDataTypeMaximum\r
+\r
+} EFI_TLS_CONFIG_DATA_TYPE;\r
+\r
+/**\r
+ Set TLS configuration data.\r
+\r
+ The SetData() function sets TLS configuration to non-volatile storage or volatile\r
+ storage.\r
+\r
+ @param[in] This Pointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.\r
+ @param[in] DataType Configuration data type.\r
+ @param[in] Data Pointer to configuration data.\r
+ @param[in] DataSize Total size of configuration data.\r
+\r
+ @retval EFI_SUCCESS The TLS configuration data is set successfully.\r
+ @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+ Data is NULL.\r
+ DataSize is 0.\r
+ @retval EFI_UNSUPPORTED The DataType is unsupported.\r
+ @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TLS_CONFIGURATION_SET_DATA)(\r
+ IN EFI_TLS_CONFIGURATION_PROTOCOL *This,\r
+ IN EFI_TLS_CONFIG_DATA_TYPE DataType,\r
+ IN VOID *Data,\r
+ IN UINTN DataSize\r
+ );\r
+\r
+/**\r
+ Get TLS configuration data.\r
+\r
+ The GetData() function gets TLS configuration.\r
+\r
+ @param[in] This Pointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.\r
+ @param[in] DataType Configuration data type.\r
+ @param[in, out] Data Pointer to configuration data.\r
+ @param[in, out] DataSize Total size of configuration data. On input, it means\r
+ the size of Data buffer. On output, it means the size\r
+ of copied Data buffer if EFI_SUCCESS, and means the\r
+ size of desired Data buffer if EFI_BUFFER_TOO_SMALL.\r
+\r
+ @retval EFI_SUCCESS The TLS configuration data is got successfully.\r
+ @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+ DataSize is NULL.\r
+ Data is NULL if *DataSize is not zero.\r
+ @retval EFI_UNSUPPORTED The DataType is unsupported.\r
+ @retval EFI_NOT_FOUND The TLS configuration data is not found.\r
+ @retval EFI_BUFFER_TOO_SMALL The buffer is too small to hold the data.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TLS_CONFIGURATION_GET_DATA)(\r
+ IN EFI_TLS_CONFIGURATION_PROTOCOL *This,\r
+ IN EFI_TLS_CONFIG_DATA_TYPE DataType,\r
+ IN OUT VOID *Data, OPTIONAL\r
+ IN OUT UINTN *DataSize\r
+ );\r
+\r
+///\r
+/// The EFI_TLS_CONFIGURATION_PROTOCOL is designed to provide a way to set and get\r
+/// TLS configuration, such as Certificate, private key data.\r
+///\r
+struct _EFI_TLS_CONFIGURATION_PROTOCOL {\r
+ EFI_TLS_CONFIGURATION_SET_DATA SetData;\r
+ EFI_TLS_CONFIGURATION_GET_DATA GetData;\r
+};\r
+\r
+extern EFI_GUID gEfiTlsConfigurationProtocolGuid;\r
+\r
+#endif //__EFI_TLS_CONFIGURATION_PROTOCOL_H__\r
+\r