TianoCore EDK2 master
Loading...
Searching...
No Matches
HttpUtilities.h File Reference
#include <Protocol/Http.h>

Go to the source code of this file.

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 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)
 
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)
 

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

Definition in file HttpUtilities.h.

Macro Definition Documentation

◆ EFI_HTTP_UTILITIES_PROTOCOL_GUID

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

Definition at line 18 of file HttpUtilities.h.

Typedef Documentation

◆ EFI_HTTP_UTILITIES_PROTOCOL

Definition at line 23 of file HttpUtilities.h.

◆ EFI_HTTP_UTILS_BUILD

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)

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.

Definition at line 58 of file HttpUtilities.h.

◆ EFI_HTTP_UTILS_PARSE

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)

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.

Definition at line 93 of file HttpUtilities.h.