diff options
author | Jiaxin Wu <jiaxin.wu@intel.com> | 2017-09-28 13:22:58 +0800 |
---|---|---|
committer | Jiaxin Wu <jiaxin.wu@intel.com> | 2017-09-29 09:02:08 +0800 |
commit | de15f8b6eff892be8872f14fa000e425e82f9cff (patch) | |
tree | 25e8660850ca3825641f95cfb33f6405e8c9f5f3 /NetworkPkg/HttpDxe | |
parent | bf06b383e64d857418abf2387ad0eca3425b4244 (diff) | |
download | edk2-de15f8b6eff892be8872f14fa000e425e82f9cff.tar.gz |
NetworkPkg/HttpDxe: Clarify the usage of HttpConfigData in HTTP protocol
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Diffstat (limited to 'NetworkPkg/HttpDxe')
-rw-r--r-- | NetworkPkg/HttpDxe/HttpImpl.c | 20 | ||||
-rw-r--r-- | NetworkPkg/HttpDxe/HttpImpl.h | 18 |
2 files changed, 21 insertions, 17 deletions
diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index c104b614f3..46d0323050 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.c +++ b/NetworkPkg/HttpDxe/HttpImpl.c @@ -33,16 +33,18 @@ EFI_HTTP_PROTOCOL mEfiHttpTemplate = { @param[in] This Pointer to EFI_HTTP_PROTOCOL instance.
@param[out] HttpConfigData Point to buffer for operational parameters of this
- HTTP instance.
+ HTTP instance. It is the responsibility of the caller
+ to allocate the memory for HttpConfigData and
+ HttpConfigData->AccessPoint.IPv6Node/IPv4Node. In fact,
+ it is recommended to allocate sufficient memory to record
+ IPv6Node since it is big enough for all possibilities.
@retval EFI_SUCCESS Operation succeeded.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL.
HttpConfigData is NULL.
- HttpInstance->LocalAddressIsIPv6 is FALSE and
- HttpConfigData->IPv4Node is NULL.
- HttpInstance->LocalAddressIsIPv6 is TRUE and
- HttpConfigData->IPv6Node is NULL.
+ HttpConfigData->AccessPoint.IPv4Node or
+ HttpConfigData->AccessPoint.IPv6Node is NULL.
@retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been started.
**/
@@ -65,8 +67,8 @@ EfiHttpGetModeData ( HttpInstance = HTTP_INSTANCE_FROM_PROTOCOL (This);
ASSERT (HttpInstance != NULL);
- if ((HttpInstance->LocalAddressIsIPv6 && HttpConfigData->AccessPoint.IPv6Node == NULL) ||
- (!HttpInstance->LocalAddressIsIPv6 && HttpConfigData->AccessPoint.IPv4Node == NULL)) {
+ if ((HttpConfigData->AccessPoint.IPv6Node == NULL) ||
+ (HttpConfigData->AccessPoint.IPv4Node == NULL)) {
return EFI_INVALID_PARAMETER;
}
@@ -115,9 +117,9 @@ EfiHttpGetModeData ( @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL.
HttpConfigData->LocalAddressIsIPv6 is FALSE and
- HttpConfigData->IPv4Node is NULL.
+ HttpConfigData->AccessPoint.IPv4Node is NULL.
HttpConfigData->LocalAddressIsIPv6 is TRUE and
- HttpConfigData->IPv6Node is NULL.
+ HttpConfigData->AccessPoint.IPv6Node is NULL.
@retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without calling
Configure() with NULL to reset it.
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
diff --git a/NetworkPkg/HttpDxe/HttpImpl.h b/NetworkPkg/HttpDxe/HttpImpl.h index 40b25048bc..6550ce0375 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.h +++ b/NetworkPkg/HttpDxe/HttpImpl.h @@ -1,7 +1,7 @@ /** @file
The header files of implementation of EFI_HTTP_PROTOCOL protocol interfaces.
- Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials
@@ -33,16 +33,18 @@ @param[in] This Pointer to EFI_HTTP_PROTOCOL instance.
@param[out] HttpConfigData Point to buffer for operational parameters of this
- HTTP instance.
+ HTTP instance. It is the responsibility of the caller
+ to allocate the memory for HttpConfigData and
+ HttpConfigData->AccessPoint.IPv6Node/IPv4Node. In fact,
+ it is recommended to allocate sufficient memory to record
+ IPv6Node since it is big enough for all possibilities.
@retval EFI_SUCCESS Operation succeeded.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL.
HttpConfigData is NULL.
- HttpInstance->LocalAddressIsIPv6 is FALSE and
- HttpConfigData->IPv4Node is NULL.
- HttpInstance->LocalAddressIsIPv6 is TRUE and
- HttpConfigData->IPv6Node is NULL.
+ HttpConfigData->AccessPoint.IPv4Node or
+ HttpConfigData->AccessPoint.IPv6Node is NULL.
@retval EFI_NOT_STARTED This EFI HTTP Protocol instance has not been started.
**/
@@ -73,9 +75,9 @@ EfiHttpGetModeData ( @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
This is NULL.
HttpConfigData->LocalAddressIsIPv6 is FALSE and
- HttpConfigData->IPv4Node is NULL.
+ HttpConfigData->AccessPoint.IPv4Node is NULL.
HttpConfigData->LocalAddressIsIPv6 is TRUE and
- HttpConfigData->IPv6Node is NULL.
+ HttpConfigData->AccessPoint.IPv6Node is NULL.
@retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without calling
Configure() with NULL to reset it.
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
|