public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jiaxin Wu <jiaxin.wu@intel.com>
To: edk2-devel@lists.01.org
Cc: Ye Ting <ting.ye@intel.com>, Fu Siyuan <siyuan.fu@intel.com>,
	Wu Jiaxin <jiaxin.wu@intel.com>
Subject: [Patch 1/3] MdePkg: Update the comments of Ip4Config2/Ip6Config Protocol
Date: Wed, 26 Jul 2017 14:28:29 +0800	[thread overview]
Message-ID: <1501050511-16884-2-git-send-email-jiaxin.wu@intel.com> (raw)
In-Reply-To: <1501050511-16884-1-git-send-email-jiaxin.wu@intel.com>

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



  reply	other threads:[~2017-07-26  6:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-26  6:28 [Patch 0/3] Support Ip4Config2/Ip6Config.SetData interface to clear specific configuration Jiaxin Wu
2017-07-26  6:28 ` Jiaxin Wu [this message]
2017-07-26  6:28 ` [Patch 2/3] MdeModulePkg/Ip4Dxe: Support SetData " Jiaxin Wu
2017-07-26  6:28 ` [Patch 3/3] NetworkPkg/Ip6Dxe: " Jiaxin Wu
2017-08-10  5:54 ` [Patch 0/3] Support Ip4Config2/Ip6Config.SetData " Ye, Ting

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1501050511-16884-2-git-send-email-jiaxin.wu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox