Update the comments of Ip4Config2/Ip6Config Protocol to consistent
with UEFI Spec 2.7, which provides the capability to clear specific
individual data types.

Cc: Ye Ting <ting...@intel.com>
Cc: Fu Siyuan <siyuan...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin...@intel.com>
---
 MdePkg/Include/Protocol/Ip4Config2.h | 17 +++++++++++------
 MdePkg/Include/Protocol/Ip6Config.h  | 15 ++++++++++-----
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/MdePkg/Include/Protocol/Ip4Config2.h 
b/MdePkg/Include/Protocol/Ip4Config2.h
index fca2bb5..ced63cb 100644
--- a/MdePkg/Include/Protocol/Ip4Config2.h
+++ b/MdePkg/Include/Protocol/Ip4Config2.h
@@ -1,10 +1,10 @@
 /** @file
   This file provides a definition of the EFI IPv4 Configuration II
   Protocol.
 
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD 
License
 which accompanies this distribution.  The full text of the license may be 
found at<BR>
 http://opensource.org/licenses/bsd-license.php
 
@@ -49,29 +49,35 @@ typedef enum {
   Ip4Config2DataTypePolicy,
   ///
   /// The station addresses set manually for the EFI IPv4 network 
   /// stack. It is only configurable when the policy is 
   /// Ip4Config2PolicyStatic. The corresponding Data is of 
-  /// type EFI_IP4_CONFIG2_MANUAL_ADDRESS.
+  /// type EFI_IP4_CONFIG2_MANUAL_ADDRESS. When DataSize 
+  /// is 0 and Data is NULL, the existing configuration is cleared 
+  /// from the EFI IPv4 Configuration II Protocol instance.
   ///
   Ip4Config2DataTypeManualAddress,
   ///
   /// The gateway addresses set manually for the EFI IPv4 network 
   /// stack running on the communication device this EFI IPv4 
   /// Configuration II Protocol manages. It is not configurable when 
   /// the policy is Ip4Config2PolicyDhcp. The gateway 
   /// addresses must be unicast IPv4 addresses. The corresponding 
   /// Data is a pointer to an array of EFI_IPv4_ADDRESS instances.
+  /// When DataSize is 0 and Data is NULL, the existing configuration 
+  /// is cleared from the EFI IPv4 Configuration II Protocol instance.
   ///
   Ip4Config2DataTypeGateway,
   ///
   /// The DNS server list for the EFI IPv4 network stack running on 
   /// the communication device this EFI IPv4 Configuration II 
   /// Protocol manages. It is not configurable when the policy is 
   /// Ip4Config2PolicyDhcp. The DNS server addresses must be 
   /// unicast IPv4 addresses. The corresponding Data is a pointer to 
-  /// an array of EFI_IPv4_ADDRESS instances.
+  /// an array of EFI_IPv4_ADDRESS instances. When DataSize 
+  /// is 0 and Data is NULL, the existing configuration is cleared 
+  /// from the EFI IPv4 Configuration II Protocol instance.
   ///
   Ip4Config2DataTypeDnsServer,
   Ip4Config2DataTypeMaximum
 } EFI_IP4_CONFIG2_DATA_TYPE;
 
@@ -184,13 +190,12 @@ typedef struct {
 
   @retval EFI_SUCCESS             The specified configuration data for the EFI 
IPv4 network stack is set 
                                   successfully.
   @retval EFI_INVALID_PARAMETER   One or more of the following are TRUE:
                                   This is NULL.
-                                  Data is NULL.
-                                  One or more fields in Data do not match the 
requirement of the data type 
-                                  indicated by DataType.
+                                  One or more fields in Data and DataSize do 
not match the 
+                                  requirement of the data type indicated by 
DataType.
   @retval EFI_WRITE_PROTECTED     The specified configuration data is 
read-only or the specified configuration 
                                   data can not be set under the current policy.
   @retval EFI_ACCESS_DENIED       Another set operation on the specified 
configuration data is already in process.
   @retval EFI_NOT_READY           An asynchronous process is invoked to set 
the specified configuration data and 
                                   the process is not finished yet.
diff --git a/MdePkg/Include/Protocol/Ip6Config.h 
b/MdePkg/Include/Protocol/Ip6Config.h
index b2c3be9..bcb8ba2 100644
--- a/MdePkg/Include/Protocol/Ip6Config.h
+++ b/MdePkg/Include/Protocol/Ip6Config.h
@@ -1,10 +1,10 @@
 /** @file
   This file provides a definition of the EFI IPv6 Configuration
   Protocol.
 
-Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD 
License
 which accompanies this distribution.  The full text of the license may be 
found at<BR>
 http://opensource.org/licenses/bsd-license.php
 
@@ -64,29 +64,35 @@ typedef enum {
   Ip6ConfigDataTypeDupAddrDetectTransmits,
   /// 
   /// The station addresses set manually for the EFI 
   /// IPv6 network stack. It is only configurable when the policy is 
   /// Ip6ConfigPolicyManual. The corresponding Data is a 
-  /// pointer to an array of EFI_IPv6_ADDRESS instances.
+  /// pointer to an array of EFI_IPv6_ADDRESS instances. When 
+  /// DataSize is 0 and Data is NULL, the existing configuration 
+  /// is cleared from the EFI IPv6 Configuration Protocol instance.
   /// 
   Ip6ConfigDataTypeManualAddress,
   /// 
   /// The gateway addresses set manually for the EFI IPv6 
   /// network stack running on the communication device this EFI 
   /// IPv6 Configuration Protocol manages. It is not configurable when 
   /// the policy is Ip6ConfigPolicyAutomatic. The gateway 
   /// addresses must be unicast IPv6 addresses. The corresponding 
   /// Data is a pointer to an array of EFI_IPv6_ADDRESS instances.
+  /// When DataSize is 0 and Data is NULL, the existing configuration 
+  /// is cleared from the EFI IPv6 Configuration Protocol instance.
   /// 
   Ip6ConfigDataTypeGateway,
   /// 
   /// The DNS server list for the EFI IPv6 network stack 
   /// running on the communication device this EFI IPv6 
   /// Configuration Protocol manages. It is not configurable when the 
   /// policy is Ip6ConfigPolicyAutomatic.The DNS server 
   /// addresses must be unicast IPv6 addresses. The corresponding 
   /// Data is a pointer to an array of EFI_IPv6_ADDRESS instances.
+  /// When DataSize is 0 and Data is NULL, the existing configuration 
+  /// is cleared from the EFI IPv6 Configuration Protocol instance.
   /// 
   Ip6ConfigDataTypeDnsServer,
   ///
   /// The number of this enumeration memebers.
   ///
@@ -226,13 +232,12 @@ typedef struct {
   
   @retval EFI_SUCCESS           The specified configuration data for the EFI 
IPv6 
                                 network stack is set successfully.
   @retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
                                 - This is NULL.
-                                - Data is NULL.
-                                - One or more fields in Data do not match the 
requirement of the 
-                                  data type indicated by DataType. 
+                                - One or more fields in Data and DataSize do 
not match the 
+                                  requirement of the data type indicated by 
DataType. 
   @retval EFI_WRITE_PROTECTED   The specified configuration data is read-only 
or the specified 
                                 configuration data can not be set under the 
current policy
   @retval EFI_ACCESS_DENIED     Another set operation on the specified 
configuration 
                                 data is already in process.
   @retval EFI_NOT_READY         An asynchronous process is invoked to set the 
specified
-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to