-/** @file
- EFI HTTP Utilities protocol provides a platform independent abstraction for HTTP
- message comprehension.
-
- Copyright (c) 2015, 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_HTTP_UTILITIES_PROTOCOL_H__
-#define __EFI_HTTP_UTILITIES_PROTOCOL_H__
-
-#include <Protocol/Http.h>
-
-#define EFI_HTTP_UTILITIES_PROTOCOL_GUID \
- { \
- 0x3e35c163, 0x4074, 0x45dd, {0x43, 0x1e, 0x23, 0x98, 0x9d, 0xd8, 0x6b, 0x32 } \
- }
-
-typedef struct _EFI_HTTP_UTILITIES_PROTOCOL EFI_HTTP_UTILITIES_PROTOCOL;
-
-
-/**
- Create HTTP header based on a combination of seed header, fields
- to delete, and fields to append.
-
- The Build() function is used to manage the headers portion of an
- HTTP message by providing the ability to add, remove, or replace
- HTTP headers.
-
- @param[in] This Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance.
- @param[in] SeedMessageSize Size of the initial HTTP header. This can be zero.
- @param[in] SeedMessage Initial HTTP header to be used as a base for
- building a new HTTP header. If NULL,
- SeedMessageSize is ignored.
- @param[in] DeleteCount Number of null-terminated HTTP header field names
- in DeleteList.
- @param[in] DeleteList List of null-terminated HTTP header field names to
- remove from SeedMessage. Only the field names are
- in this list because the field values are irrelevant
- to this operation.
- @param[in] AppendCount Number of header fields in AppendList.
- @param[in] AppendList List of HTTP headers to populate NewMessage with.
- If SeedMessage is not NULL, AppendList will be
- appended to the existing list from SeedMessage in
- NewMessage.
- @param[out] NewMessageSize Pointer to number of header fields in NewMessage.
- @param[out] NewMessage Pointer to a new list of HTTP headers based on.
-
- @retval EFI_SUCCESS Add, remove, and replace operations succeeded.
- @retval EFI_OUT_OF_RESOURCES Could not allocate memory for NewMessage.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_HTTP_UTILS_BUILD) (
- IN EFI_HTTP_UTILITIES_PROTOCOL *This,
- IN UINTN SeedMessageSize,
- IN VOID *SeedMessage, OPTIONAL
- IN UINTN DeleteCount,
- IN CHAR8 *DeleteList[], OPTIONAL
- IN UINTN AppendCount,
- IN EFI_HTTP_HEADER *AppendList[], OPTIONAL
- OUT UINTN *NewMessageSize,
- OUT VOID **NewMessage
- );
-
-/**
- Parses HTTP header and produces an array of key/value pairs.
-
- The Parse() function is used to transform data stored in HttpHeader
- into a list of fields paired with their corresponding values.
-
- @param[in] This Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance.
- @param[in] HttpMessage Contains raw unformatted HTTP header string.
- @param[in] HttpMessageSize Size of HTTP header.
- @param[out] HeaderFields Array of key/value header pairs.
- @param[out] FieldCount Number of headers in HeaderFields.
-
- @retval EFI_SUCCESS Allocation succeeded.
- @retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been
- initialized.
- @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- HttpMessage is NULL.
- HeaderFields is NULL.
- FieldCount is NULL.
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_HTTP_UTILS_PARSE) (
- IN EFI_HTTP_UTILITIES_PROTOCOL *This,
- IN CHAR8 *HttpMessage,
- IN UINTN HttpMessageSize,
- OUT EFI_HTTP_HEADER **HeaderFields,
- OUT UINTN *FieldCount
- );
-
-
-///
-/// EFI_HTTP_UTILITIES_PROTOCOL
-/// designed to be used by EFI drivers and applications to parse HTTP
-/// headers from a byte stream. This driver is neither dependent on
-/// network connectivity, nor the existence of an underlying network
-/// infrastructure.
-///
-struct _EFI_HTTP_UTILITIES_PROTOCOL {
- EFI_HTTP_UTILS_BUILD Build;
- EFI_HTTP_UTILS_PARSE Parse;
-};
-
-extern EFI_GUID gEfiHttpUtilitiesProtocolGuid;
-
-#endif
+/** @file\r
+ EFI HTTP Utilities protocol provides a platform independent abstraction for HTTP\r
+ message comprehension.\r
+\r
+ Copyright (c) 2015, 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
+\r
+#ifndef __EFI_HTTP_UTILITIES_PROTOCOL_H__\r
+#define __EFI_HTTP_UTILITIES_PROTOCOL_H__\r
+\r
+#include <Protocol/Http.h>\r
+\r
+#define EFI_HTTP_UTILITIES_PROTOCOL_GUID \\r
+ { \\r
+ 0x3e35c163, 0x4074, 0x45dd, {0x43, 0x1e, 0x23, 0x98, 0x9d, 0xd8, 0x6b, 0x32 } \\r
+ }\r
+\r
+typedef struct _EFI_HTTP_UTILITIES_PROTOCOL EFI_HTTP_UTILITIES_PROTOCOL;\r
+\r
+\r
+/**\r
+ Create HTTP header based on a combination of seed header, fields\r
+ to delete, and fields to append.\r
+\r
+ The Build() function is used to manage the headers portion of an\r
+ HTTP message by providing the ability to add, remove, or replace\r
+ HTTP headers.\r
+\r
+ @param[in] This Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance.\r
+ @param[in] SeedMessageSize Size of the initial HTTP header. This can be zero.\r
+ @param[in] SeedMessage Initial HTTP header to be used as a base for\r
+ building a new HTTP header. If NULL,\r
+ SeedMessageSize is ignored.\r
+ @param[in] DeleteCount Number of null-terminated HTTP header field names\r
+ in DeleteList.\r
+ @param[in] DeleteList List of null-terminated HTTP header field names to\r
+ remove from SeedMessage. Only the field names are\r
+ in this list because the field values are irrelevant\r
+ to this operation.\r
+ @param[in] AppendCount Number of header fields in AppendList.\r
+ @param[in] AppendList List of HTTP headers to populate NewMessage with.\r
+ If SeedMessage is not NULL, AppendList will be\r
+ appended to the existing list from SeedMessage in\r
+ NewMessage.\r
+ @param[out] NewMessageSize Pointer to number of header fields in NewMessage.\r
+ @param[out] NewMessage Pointer to a new list of HTTP headers based on.\r
+\r
+ @retval EFI_SUCCESS Add, remove, and replace operations succeeded.\r
+ @retval EFI_OUT_OF_RESOURCES Could not allocate memory for NewMessage.\r
+ @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_HTTP_UTILS_BUILD) (\r
+ IN EFI_HTTP_UTILITIES_PROTOCOL *This,\r
+ IN UINTN SeedMessageSize,\r
+ IN VOID *SeedMessage, OPTIONAL\r
+ IN UINTN DeleteCount,\r
+ IN CHAR8 *DeleteList[], OPTIONAL\r
+ IN UINTN AppendCount,\r
+ IN EFI_HTTP_HEADER *AppendList[], OPTIONAL\r
+ OUT UINTN *NewMessageSize,\r
+ OUT VOID **NewMessage\r
+ );\r
+\r
+/**\r
+ Parses HTTP header and produces an array of key/value pairs.\r
+\r
+ The Parse() function is used to transform data stored in HttpHeader\r
+ into a list of fields paired with their corresponding values.\r
+\r
+ @param[in] This Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance.\r
+ @param[in] HttpMessage Contains raw unformatted HTTP header string.\r
+ @param[in] HttpMessageSize Size of HTTP header.\r
+ @param[out] HeaderFields Array of key/value header pairs.\r
+ @param[out] FieldCount Number of headers in HeaderFields.\r
+\r
+ @retval EFI_SUCCESS Allocation succeeded.\r
+ @retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been\r
+ initialized.\r
+ @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+ HttpMessage is NULL.\r
+ HeaderFields is NULL.\r
+ FieldCount is NULL.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_HTTP_UTILS_PARSE) (\r
+ IN EFI_HTTP_UTILITIES_PROTOCOL *This,\r
+ IN CHAR8 *HttpMessage,\r
+ IN UINTN HttpMessageSize,\r
+ OUT EFI_HTTP_HEADER **HeaderFields,\r
+ OUT UINTN *FieldCount\r
+ );\r
+\r
+\r
+///\r
+/// EFI_HTTP_UTILITIES_PROTOCOL\r
+/// designed to be used by EFI drivers and applications to parse HTTP\r
+/// headers from a byte stream. This driver is neither dependent on\r
+/// network connectivity, nor the existence of an underlying network\r
+/// infrastructure.\r
+///\r
+struct _EFI_HTTP_UTILITIES_PROTOCOL {\r
+ EFI_HTTP_UTILS_BUILD Build;\r
+ EFI_HTTP_UTILS_PARSE Parse;\r
+};\r
+\r
+extern EFI_GUID gEfiHttpUtilitiesProtocolGuid;\r
+\r
+#endif\r