MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HttpUtilities.h File Reference

Data Structures

struct  _EFI_HTTP_UTILITIES_PROTOCOL
 

Macros

#define EFI_HTTP_UTILITIES_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_HTTP_UTILITIES_PROTOCOL 
EFI_HTTP_UTILITIES_PROTOCOL
 
typedef IN UINTN SeedMessageSize
 
typedef IN UINTN IN VOIDSeedMessage
 
typedef IN UINTN IN VOID IN UINTN DeleteCount
 
typedef IN UINTN IN VOID IN
UINTN IN CHAR8
DeleteList []
 
typedef IN UINTN IN VOID IN
UINTN IN CHAR8 IN UINTN 
AppendCount
 
typedef IN UINTN IN VOID IN
UINTN IN CHAR8 IN UINTN IN
EFI_HTTP_HEADER
AppendList []
 
typedef IN UINTN IN VOID IN
UINTN IN CHAR8 IN UINTN IN
EFI_HTTP_HEADER OUT UINTN
NewMessageSize
 
typedef IN UINTN IN VOID IN
UINTN IN CHAR8 IN UINTN IN
EFI_HTTP_HEADER OUT UINTN OUT
VOID ** 
NewMessage
 
typedef IN CHAR8HttpMessage
 
typedef IN CHAR8 IN UINTN HttpMessageSize
 
typedef IN CHAR8 IN UINTN OUT
EFI_HTTP_HEADER ** 
HeaderFields
 
typedef IN CHAR8 IN UINTN OUT
EFI_HTTP_HEADER OUT UINTN
FieldCount
 

Functions

typedef EFI_STATUS (EFIAPI *EFI_HTTP_UTILS_BUILD)(IN EFI_HTTP_UTILITIES_PROTOCOL *This
 

Variables

EFI_GUID gEfiHttpUtilitiesProtocolGuid
 

Detailed Description

EFI HTTP Utilities protocol provides a platform independent abstraction for HTTP message comprehension.

Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This Protocol is introduced in UEFI Specification 2.5

Macro Definition Documentation

#define EFI_HTTP_UTILITIES_PROTOCOL_GUID
Value:
{ \
0x3e35c163, 0x4074, 0x45dd, {0x43, 0x1e, 0x23, 0x98, 0x9d, 0xd8, 0x6b, 0x32 } \
}

Typedef Documentation

typedef IN UINTN IN VOID IN UINTN IN CHAR8 IN UINTN IN EFI_HTTP_HEADER* AppendList[]
typedef IN UINTN IN VOID IN UINTN IN CHAR8* DeleteList[]
typedef IN CHAR8* HttpMessage

Function Documentation

typedef EFI_STATUS ( EFIAPI EFI_HTTP_UTILS_PARSE)

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.

Parameters
[in]ThisPointer to EFI_HTTP_UTILITIES_PROTOCOL instance.
[in]SeedMessageSizeSize of the initial HTTP header. This can be zero.
[in]SeedMessageInitial HTTP header to be used as a base for building a new HTTP header. If NULL, SeedMessageSize is ignored.
[in]DeleteCountNumber of null-terminated HTTP header field names in DeleteList.
[in]DeleteListList 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.
[in]AppendCountNumber of header fields in AppendList.
[in]AppendListList of HTTP headers to populate NewMessage with. If SeedMessage is not NULL, AppendList will be appended to the existing list from SeedMessage in NewMessage.
[out]NewMessageSizePointer to number of header fields in NewMessage.
[out]NewMessagePointer to a new list of HTTP headers based on.
Return values
EFI_SUCCESSAdd, remove, and replace operations succeeded.
EFI_OUT_OF_RESOURCESCould not allocate memory for NewMessage.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL.

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.

Parameters
[in]ThisPointer to EFI_HTTP_UTILITIES_PROTOCOL instance.
[in]HttpMessageContains raw unformatted HTTP header string.
[in]HttpMessageSizeSize of HTTP header.
[out]HeaderFieldsArray of key/value header pairs.
[out]FieldCountNumber of headers in HeaderFields.
Return values
EFI_SUCCESSAllocation succeeded.
EFI_NOT_STARTEDThis EFI HTTP Protocol instance has not been initialized.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. HttpMessage is NULL. HeaderFields is NULL. FieldCount is NULL.

Variable Documentation

EFI_GUID gEfiHttpUtilitiesProtocolGuid