16#ifndef __EFI_HTTP_PROTOCOL_H__
17#define __EFI_HTTP_PROTOCOL_H__
22#define EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID \
24 0xbdc8e6af, 0xd9bc, 0x4379, {0xa7, 0x2a, 0xe0, 0xc4, 0xe7, 0x5d, 0xae, 0x1c } \
27#define EFI_HTTP_PROTOCOL_GUID \
29 0x7a59b29b, 0x910b, 0x4171, {0x82, 0x42, 0xa8, 0x5a, 0x0d, 0xf2, 0x5b, 0x5b } \
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
char CHAR8
1-byte Character
UINT64 UINTN
Unsigned value of native width.
unsigned short CHAR16
2-byte Character.
unsigned int UINT32
4-byte unsigned value.
#define VOID
Undeclared type.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
EFI_STATUS(EFIAPI * EFI_HTTP_GET_MODE_DATA)(IN EFI_HTTP_PROTOCOL *This, OUT EFI_HTTP_CONFIG_DATA *HttpConfigData)
Returns the operational parameters for the current HTTP child instance.
EFI_HTTP_VERSION
EFI_HTTP_VERSION.
EFI_STATUS(EFIAPI * EFI_HTTP_POLL)(IN EFI_HTTP_PROTOCOL *This)
The Poll() function can be used by network drivers and applications to increase the rate that data pa...
EFI_HTTP_METHOD
EFI_HTTP_METHOD.
EFI_STATUS(EFIAPI * EFI_HTTP_RESPONSE)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
The Response() function queues an HTTP response to this HTTP instance, similar to Receive() function ...
EFI_STATUS(EFIAPI * EFI_HTTP_CONFIGURE)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_CONFIG_DATA *HttpConfigData OPTIONAL)
Initialize or brutally reset the operational parameters for this EFI HTTP instance.
EFI_GUID gEfiHttpServiceBindingProtocolGuid
EFI_STATUS(EFIAPI * EFI_HTTP_REQUEST)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
The Request() function queues an HTTP request to this HTTP instance, similar to Transmit() function i...
EFI_STATUS(EFIAPI * EFI_HTTP_CANCEL)(IN EFI_HTTP_PROTOCOL *This, IN EFI_HTTP_TOKEN *Token)
Abort an asynchronous HTTP request or response token.
struct _EFI_HTTP_PROTOCOL EFI_HTTP_PROTOCOL
EFI_HTTP_STATUS_CODE
EFI_HTTP_STATUS_CODE.
@ HTTP_STATUS_429_TOO_MANY_REQUESTS
@ HTTP_STATUS_307_TEMPORARY_REDIRECT
@ HTTP_STATUS_100_CONTINUE
@ HTTP_STATUS_405_METHOD_NOT_ALLOWED
@ HTTP_STATUS_412_PRECONDITION_FAILED
@ HTTP_STATUS_206_PARTIAL_CONTENT
@ HTTP_STATUS_300_MULTIPLE_CHOICES
@ HTTP_STATUS_305_USE_PROXY
@ HTTP_STATUS_501_NOT_IMPLEMENTED
@ HTTP_STATUS_UNSUPPORTED_STATUS
@ HTTP_STATUS_416_REQUESTED_RANGE_NOT_SATISFIED
@ HTTP_STATUS_407_PROXY_AUTHENTICATION_REQUIRED
@ HTTP_STATUS_401_UNAUTHORIZED
@ HTTP_STATUS_308_PERMANENT_REDIRECT
@ HTTP_STATUS_505_HTTP_VERSION_NOT_SUPPORTED
@ HTTP_STATUS_101_SWITCHING_PROTOCOLS
@ HTTP_STATUS_408_REQUEST_TIME_OUT
@ HTTP_STATUS_411_LENGTH_REQUIRED
@ HTTP_STATUS_203_NON_AUTHORITATIVE_INFORMATION
@ HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE
@ HTTP_STATUS_205_RESET_CONTENT
@ HTTP_STATUS_500_INTERNAL_SERVER_ERROR
@ HTTP_STATUS_201_CREATED
@ HTTP_STATUS_202_ACCEPTED
@ HTTP_STATUS_304_NOT_MODIFIED
@ HTTP_STATUS_504_GATEWAY_TIME_OUT
@ HTTP_STATUS_409_CONFLICT
@ HTTP_STATUS_503_SERVICE_UNAVAILABLE
@ HTTP_STATUS_403_FORBIDDEN
@ HTTP_STATUS_502_BAD_GATEWAY
@ HTTP_STATUS_414_REQUEST_URI_TOO_LARGE
@ HTTP_STATUS_402_PAYMENT_REQUIRED
@ HTTP_STATUS_417_EXPECTATION_FAILED
@ HTTP_STATUS_301_MOVED_PERMANENTLY
@ HTTP_STATUS_404_NOT_FOUND
@ HTTP_STATUS_204_NO_CONTENT
@ HTTP_STATUS_303_SEE_OTHER
@ HTTP_STATUS_400_BAD_REQUEST
@ HTTP_STATUS_406_NOT_ACCEPTABLE
@ HTTP_STATUS_415_UNSUPPORTED_MEDIA_TYPE
EFI_GUID gEfiHttpProtocolGuid
IPv6_ADDRESS EFI_IPv6_ADDRESS
16-byte buffer.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
IPv4_ADDRESS EFI_IPv4_ADDRESS
4-byte buffer.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
EFI_HTTP_CONFIG_DATA_ACCESS_POINT.
EFI_HTTP_VERSION HttpVersion
HTTP version that this instance will support.
EFI_HTTPv6_ACCESS_POINT * IPv6Node
When LocalAddressIsIPv6 is TRUE, this points to the local IPv6 address and port used by the underlyin...
EFI_HTTPv4_ACCESS_POINT * IPv4Node
When LocalAddressIsIPv6 is FALSE, this points to the local address, subnet, and port used by the unde...
BOOLEAN LocalAddressIsIPv6
Defines behavior of EFI DNS and TCP protocols consumed by this instance.
UINT32 TimeOutMillisec
Time out (in milliseconds) when blocking for requests.
EFI_HTTP_CONNECT_REQUEST_DATA.
EFI_HTTP_REQUEST_DATA Base
CHAR16 * ProxyUrl
The URI of an Proxy Host.
UINTN BodyLength
Length in bytes of the HTTP body.
EFI_HTTP_HEADER * Headers
Array containing list of HTTP headers.
UINTN HeaderCount
Number of HTTP header structures in Headers list.
VOID * Body
Body associated with the HTTP request or response.
EFI_HTTP_RESPONSE_DATA * Response
When used to await a response, Response points to storage containing HTTP response status code.
EFI_HTTP_REQUEST_DATA * Request
When the token is used to send a HTTP request, Request is a pointer to storage that contains such dat...
CHAR16 * Url
The URI of a remote host.
EFI_HTTP_METHOD Method
The HTTP method (e.g.
EFI_HTTP_STATUS_CODE StatusCode
Response status code returned by the remote host.
EFI_EVENT Event
This Event will be signaled after the Status field is updated by the EFI HTTP Protocol driver.
EFI_HTTP_MESSAGE * Message
Pointer to storage containing HTTP message data.
EFI_STATUS Status
Status will be set to one of the following value if the HTTP request is successfully sent or if an un...
EFI_IPv4_ADDRESS LocalSubnet
If UseDefaultAddress is set to FALSE, this defines the local subnet to be used in every TCP connectio...
EFI_IPv4_ADDRESS LocalAddress
If UseDefaultAddress is set to FALSE, this defines the local IP address to be used in every TCP conne...
UINT16 LocalPort
This defines the local port to be used in every TCP connection opened by this instance.
BOOLEAN UseDefaultAddress
Set to TRUE to instruct the EFI HTTP instance to use the default address information in every TCP con...
UINT16 LocalPort
Local port to be used in every TCP connection opened by this instance.
EFI_IPv6_ADDRESS LocalAddress
Local IP address to be used in every TCP connection opened by this instance.
The EFI HTTP protocol is designed to be used by EFI drivers and applications to create and transmit H...
EFI_HTTP_GET_MODE_DATA GetModeData
EFI_HTTP_RESPONSE Response
EFI_HTTP_CONFIGURE Configure