/** @file\r
The header files of implementation of EFI_HTTP_PROTOCOL protocol interfaces.\r
\r
- Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
#define HTTP_DEFAULT_PORT 80\r
#define HTTP_END_OF_HDR_STR "\r\n\r\n"\r
#define HTTP_CRLF_STR "\r\n"\r
-#define HTTP_VERSION_STR "HTTP/1.1"\r
+#define HTTP_VERSION_STR HTTP_VERSION\r
#define HTTP_VERSION_CRLF_STR " HTTP/1.1\r\n"\r
-#define HTTP_GET_STR "GET "\r
-#define HTTP_HEAD_STR "HEAD "\r
#define HTTP_ERROR_OR_NOT_SUPPORT_STATUS_CODE 300\r
\r
-//\r
-// Connect method has maximum length according to EFI_HTTP_METHOD defined in\r
-// UEFI2.5 spec so use this.\r
-//\r
-#define HTTP_MAXIMUM_METHOD_LEN sizeof ("CONNECT")\r
\r
/**\r
Returns the operational parameters for the current HTTP child instance.\r
\r
@param[in] This Pointer to EFI_HTTP_PROTOCOL instance.\r
@param[out] HttpConfigData Point to buffer for operational parameters of this\r
- HTTP instance.\r
+ HTTP instance. It is the responsibility of the caller\r
+ to allocate the memory for HttpConfigData and\r
+ HttpConfigData->AccessPoint.IPv6Node/IPv4Node. In fact,\r
+ it is recommended to allocate sufficient memory to record\r
+ IPv6Node since it is big enough for all possibilities.\r
\r
@retval EFI_SUCCESS Operation succeeded.\r
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
This is NULL.\r
HttpConfigData is NULL.\r
- HttpInstance->LocalAddressIsIPv6 is FALSE and\r
- HttpConfigData->IPv4Node is NULL.\r
- HttpInstance->LocalAddressIsIPv6 is TRUE and\r
- HttpConfigData->IPv6Node is NULL.\r
+ HttpConfigData->AccessPoint.IPv4Node or\r
+ HttpConfigData->AccessPoint.IPv6Node is NULL.\r
@retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been started.\r
\r
**/\r
connections with remote hosts, canceling all asynchronous tokens, and flush request\r
and response buffers without informing the appropriate hosts.\r
\r
- No other EFI HTTP function can be executed by this instance until the Configure() \r
+ No other EFI HTTP function can be executed by this instance until the Configure()\r
function is executed and returns successfully.\r
\r
@param[in] This Pointer to EFI_HTTP_PROTOCOL instance.\r
@retval EFI_SUCCESS Operation succeeded.\r
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
This is NULL.\r
- HttpConfigData is NULL.\r
HttpConfigData->LocalAddressIsIPv6 is FALSE and\r
- HttpConfigData->IPv4Node is NULL.\r
+ HttpConfigData->AccessPoint.IPv4Node is NULL.\r
HttpConfigData->LocalAddressIsIPv6 is TRUE and\r
- HttpConfigData->IPv6Node is NULL.\r
+ HttpConfigData->AccessPoint.IPv6Node is NULL.\r
@retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without calling\r
Configure() with NULL to reset it.\r
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.\r