]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Scrubbed some code for Ip4ConfigDxe.
authorjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 23 Dec 2008 08:23:43 +0000 (08:23 +0000)
committerjgong5 <jgong5@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 23 Dec 2008 08:23:43 +0000 (08:23 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7100 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
MdePkg/Include/Protocol/Ip4Config.h

index 8e26bf59488a1f8b59e81f10853ee657d934fda5..9d6fe0f407dae04a3a686761d874245c6467ae8c 100644 (file)
@@ -1,21 +1,14 @@
 /** @file\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation\r
+Copyright (c) 2006 - 2007, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  ComponentName.c\r
-\r
-Abstract:\r
-\r
-\r
 **/\r
 \r
 \r
index 736299bec026fa1ff9caa1410ce14c31080aab5e..4c72a540451adbf2e32d5bde0e3da0b4bc45707a 100644 (file)
@@ -1,23 +1,15 @@
 /** @file\r
+  This code implements the IP4Config and NicIp4Config protocols.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>                                                         \r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  Ip4Config.c\r
-\r
-Abstract:\r
-\r
-  This code implements the IP4Config and NicIp4Config protocols.\r
-\r
-\r
 **/\r
 \r
 #include "Ip4Config.h"\r
@@ -290,15 +282,49 @@ EfiNicIp4ConfigSetInfo (
 \r
 \r
 /**\r
-  Start the auto configuration process.\r
-\r
-  @param  This                   The IP4 configure protocol\r
-  @param  DoneEvent              The event to signal when auto configure is done\r
-  @param  ReconfigEvent          The event to signal when reconfigure is necessary.\r
-\r
-  @retval EFI_INVALID_PARAMETER  One of the function parameters is NULL.\r
-  @retval EFI_ALREADY_STARTED    The auto configuration has already started.\r
-  @retval EFI_SUCCESS            The auto configure is successfully started.\r
+  Starts running the configuration policy for the EFI IPv4 Protocol driver.\r
+  \r
+  The Start() function is called to determine and to begin the platform \r
+  configuration policy by the EFI IPv4 Protocol driver. This determination may \r
+  be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol \r
+  driver configuration policy. It may be as involved as loading some defaults \r
+  from nonvolatile storage, downloading dynamic data from a DHCP server, and \r
+  checking permissions with a site policy server.\r
+  Starting the configuration policy is just the beginning. It may finish almost \r
+  instantly or it may take several minutes before it fails to retrieve configuration \r
+  information from one or more servers. Once the policy is started, drivers \r
+  should use the DoneEvent parameter to determine when the configuration policy \r
+  has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to \r
+  determine if the configuration succeeded or failed.\r
+  Until the configuration completes successfully, EFI IPv4 Protocol driver instances \r
+  that are attempting to use default configurations must return EFI_NO_MAPPING.\r
+  Once the configuration is complete, the EFI IPv4 Configuration Protocol driver \r
+  signals DoneEvent. The configuration may need to be updated in the future, \r
+  however; in this case, the EFI IPv4 Configuration Protocol driver must signal \r
+  ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default \r
+  configurations must return EFI_NO_MAPPING until the configuration policy has \r
+  been rerun.\r
+\r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  DoneEvent              Event that will be signaled when the EFI IPv4 \r
+                                 Protocol driver configuration policy completes \r
+                                 execution. This event must be of type EVT_NOTIFY_SIGNAL.\r
+  @param  ReconfigEvent          Event that will be signaled when the EFI IPv4 \r
+                                 Protocol driver configuration needs to be updated. \r
+                                 This event must be of type EVT_NOTIFY_SIGNAL.\r
+  \r
+  @retval EFI_SUCCESS            The configuration policy for the EFI IPv4 Protocol \r
+                                 driver is now running.\r
+  @retval EFI_INVALID_PARAMETER  One or more of the following parameters is NULL:\r
+                                  This\r
+                                  DoneEvent\r
+                                  ReconfigEvent\r
+  @retval EFI_OUT_OF_RESOURCES   Required system resources could not be allocated.\r
+  @retval EFI_ALREADY_STARTED    The configuration policy for the EFI IPv4 Protocol \r
+                                 driver was already started.\r
+  @retval EFI_DEVICE_ERROR       An unexpected system error or network error occurred.\r
+  @retval EFI_UNSUPPORTED        This interface does not support the EFI IPv4 Protocol \r
+                                 driver configuration.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -460,14 +486,19 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Stop the current auto configuration\r
+  Stops running the configuration policy for the EFI IPv4 Protocol driver.\r
+  \r
+  The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver. \r
+  All configuration data will be lost after calling Stop().\r
 \r
-  @param  This                   The IP4 CONFIG protocol\r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
 \r
+  @retval EFI_SUCCESS            The configuration policy for the EFI IPv4 Protocol \r
+                                 driver has been stopped.\r
   @retval EFI_INVALID_PARAMETER  This is NULL.\r
-  @retval EFI_NOT_STARTED        The auto configuration hasn't been started.\r
-  @retval EFI_SUCCESS            The auto configuration has been stopped.\r
-\r
+  @retval EFI_NOT_STARTED        The configuration policy for the EFI IPv4 Protocol \r
+                                 driver was not started.\r
+  \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -508,16 +539,28 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Get the current outcome of the auto configuration process\r
-\r
-  @param  This                   The IP4 CONFIG protocol\r
-  @param  ConfigDataSize         The size of the configure data\r
-  @param  ConfigData             The buffer to save the configure data\r
-\r
-  @retval EFI_INVALID_PARAMETER  This or ConfigDataSize is NULL\r
-  @retval EFI_BUFFER_TOO_SMALL   The buffer is too small. The needed size is\r
-                                 returned in the ConfigDataSize.\r
-  @retval EFI_SUCCESS            The configure data is put in the buffer\r
+  Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.\r
+\r
+  The GetData() function returns the current configuration data for the EFI IPv4 \r
+  Protocol driver after the configuration policy has completed.\r
+  \r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  ConfigDataSize         On input, the size of the ConfigData buffer. \r
+                                 On output, the count of bytes that were written \r
+                                 into the ConfigData buffer.\r
+  @param  ConfigData             Pointer to the EFI IPv4 Configuration Protocol \r
+                                 driver configuration data structure. \r
+                                 Type EFI_IP4_IPCONFIG_DATA is defined in \r
+                                 "Related Definitions" below.\r
+\r
+  @retval EFI_SUCCESS            The EFI IPv4 Protocol driver configuration has been returned.\r
+  @retval EFI_INVALID_PARAMETER  This is NULL.\r
+  @retval EFI_NOT_STARTED        The configuration policy for the EFI IPv4 Protocol \r
+                                 driver is not running.\r
+  @retval EFI_NOT_READY EFI      IPv4 Protocol driver configuration is still running.\r
+  @retval EFI_ABORTED EFI        IPv4 Protocol driver configuration could not complete.\r
+  @retval EFI_BUFFER_TOO_SMALL   *ConfigDataSize is smaller than the configuration \r
+                                 data buffer or ConfigData is NULL.\r
 \r
 **/\r
 EFI_STATUS\r
index 0213aa2dccaae2ae48e584a32f1b09d031b86694..c6c7caa1cc296e9834256c84b09049987e9d2cf6 100644 (file)
@@ -1,27 +1,19 @@
 /** @file\r
+  Header file for IP4Config driver.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  Ip4Config.h\r
-\r
-Abstract:\r
-\r
-  Header file for IP4Config driver.\r
-\r
-\r
 **/\r
 \r
-#ifndef __EFI_IP4CONFIG_H__\r
-#define __EFI_IP4CONFIG_H__\r
+#ifndef _EFI_IP4CONFIG_H_\r
+#define _EFI_IP4CONFIG_H_\r
 \r
 #include <PiDxe.h>\r
 \r
index 34dc96f0cae965c1c7b0812bce5108ac4852aeb1..d913857e306b2d6d3cbb3817f0e89c33dce399e8 100644 (file)
@@ -1,23 +1,15 @@
 /** @file\r
+  The driver binding for IP4 CONFIG protocol.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  Ip4ConfigDriver.c\r
-\r
-Abstract:\r
-\r
-  The driver binding for IP4 CONFIG protocol.\r
-\r
-\r
 **/\r
 \r
 \r
index f97c34f4842ffd9ad1817a7973f531f107b9283b..f213dfa8cd20569e50f375f75ea1940b66e3b01b 100644 (file)
@@ -1,23 +1,15 @@
 /** @file\r
+  Routines used to operate the Ip4 configure variable\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>                                                         \r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  NicIp4Variable.c\r
-\r
-Abstract:\r
-\r
-  Routines used to operate the Ip4 configure variable\r
-\r
-\r
 **/\r
 \r
 #include <Uefi.h>\r
@@ -384,6 +376,15 @@ Ip4ConfigModifyVariable (
   return NewVar;\r
 }\r
 \r
+/**\r
+  Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure. \r
+  \r
+  The pointer is set to be immediately follow the ConfigData if there're entries\r
+  in the RouteTable. Otherwise it is set to NULL.\r
+  \r
+  @param  ConfigData     The IP4 IP configure data.\r
+\r
+**/\r
 VOID\r
 Ip4ConfigFixRouteTablePointer (\r
   IN EFI_IP4_IPCONFIG_DATA  *ConfigData\r
index 4b146274234e857881140f0bd5c2eb992ed70d2e..635ffdb7c35e67258abd7d4dad121d645db0a37b 100644 (file)
@@ -1,23 +1,15 @@
 /** @file\r
+  Routines used to operate the Ip4 configure variable\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>                                                         \r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
 http://opensource.org/licenses/bsd-license.php\r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  NicIp4Variable.h\r
-\r
-Abstract:\r
-\r
-  Routines used to operate the Ip4 configure variable\r
-\r
-\r
 **/\r
 \r
 #ifndef _NIC_IP4_VARIABLE_H_\r
@@ -96,7 +88,7 @@ Ip4ConfigWriteVariable (
   @param  NicAddr      The interface address to check\r
 \r
   @return The point to the NIC's IP4 configure info if it is found\r
-  @return in the IP4 variable, otherwise NULL.\r
+          in the IP4 variable, otherwise NULL.\r
 \r
 **/\r
 NIC_IP4_CONFIG_INFO *\r
@@ -127,6 +119,15 @@ Ip4ConfigModifyVariable (
   IN NIC_IP4_CONFIG_INFO    *Config       OPTIONAL\r
   );\r
 \r
+/**\r
+  Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure. \r
+  \r
+  The pointer is set to be immediately follow the ConfigData if there're entries\r
+  in the RouteTable. Otherwise it is set to NULL.\r
+  \r
+  @param  ConfigData     The IP4 IP configure data.\r
+\r
+**/\r
 VOID\r
 Ip4ConfigFixRouteTablePointer (\r
   IN EFI_IP4_IPCONFIG_DATA  *ConfigData\r
index d195ba7e66eb99724670c7d044090a943ef97e09..ac04db3fc2ade72c7fb69b635a1186cfc1c3cf17 100644 (file)
@@ -1,16 +1,15 @@
 /** @file\r
-\r
   This file provides a definition of the EFI IPv4 Configuration\r
   Protocol.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
+Copyright (c) 2006 - 2008, Intel Corporation.<BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at<BR>\r
+http://opensource.org/licenses/bsd-license.php\r
 \r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 #ifndef __EFI_IP4CONFIG_PROTOCOL_H__\r
@@ -29,6 +28,14 @@ typedef struct _EFI_IP4_CONFIG_PROTOCOL EFI_IP4_CONFIG_PROTOCOL;
         (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | \\r
          EFI_VARIABLE_RUNTIME_ACCESS)\r
 \r
+///\r
+/// EFI_IP4_IPCONFIG_DATA contains the minimum IPv4 configuration data \r
+/// that is needed to start basic network communication. The StationAddress \r
+/// and SubnetMask must be a valid unicast IP address and subnet mask.\r
+/// If RouteTableSize is not zero, then RouteTable contains a properly \r
+/// formatted routing table for the StationAddress/SubnetMask, with the \r
+/// last entry in the table being the default route.\r
+///\r
 typedef struct {\r
   ///\r
   /// Default station IP address, stored in network byte order.\r
@@ -44,6 +51,7 @@ typedef struct {
   UINT32                       RouteTableSize;\r
   ///\r
   /// Default routing table data (stored in network byte order).\r
+  /// Ignored if RouteTableSize is zero.\r
   ///\r
   EFI_IP4_ROUTE_TABLE          *RouteTable;\r
 } EFI_IP4_IPCONFIG_DATA;\r
@@ -51,24 +59,48 @@ typedef struct {
 \r
 /**\r
   Starts running the configuration policy for the EFI IPv4 Protocol driver.\r
-\r
-  @param  This          Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
-  @param  DoneEvent     Event that will be signaled when the EFI IPv4 Protocol driver\r
-                        configuration policy completes execution. This event must be of\r
-                        type EVT_NOTIFY_SIGNAL.\r
-  @param  ReconfigEvent Event that will be signaled when the EFI IPv4 Protocol driver\r
-                        configuration needs to be updated. This event must be of type\r
-                        EVT_NOTIFY_SIGNAL.\r
-\r
-  @retval EFI_SUCCESS           The configuration policy for the EFI IPv4 Protocol driver is now\r
-                                running.\r
-  @retval EFI_INVALID_PARAMETER This, DoneEvent, or ReconfigEvent is NULL.\r
-  @retval EFI_OUT_OF_RESOURCES  Required system resources could not be allocated.\r
-  @retval EFI_ALREADY_STARTED   The configuration policy for the EFI IPv4 Protocol driver was\r
-                                already started.\r
-  @retval EFI_DEVICE_ERROR      An unexpected system error or network error occurred.\r
-  @retval EFI_UNSUPPORTED       This interface does not support the EFI IPv4 Protocol driver\r
-                                 configuration.\r
+  \r
+  The Start() function is called to determine and to begin the platform \r
+  configuration policy by the EFI IPv4 Protocol driver. This determination may \r
+  be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol \r
+  driver configuration policy. It may be as involved as loading some defaults \r
+  from nonvolatile storage, downloading dynamic data from a DHCP server, and \r
+  checking permissions with a site policy server.\r
+  Starting the configuration policy is just the beginning. It may finish almost \r
+  instantly or it may take several minutes before it fails to retrieve configuration \r
+  information from one or more servers. Once the policy is started, drivers \r
+  should use the DoneEvent parameter to determine when the configuration policy \r
+  has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to \r
+  determine if the configuration succeeded or failed.\r
+  Until the configuration completes successfully, EFI IPv4 Protocol driver instances \r
+  that are attempting to use default configurations must return EFI_NO_MAPPING.\r
+  Once the configuration is complete, the EFI IPv4 Configuration Protocol driver \r
+  signals DoneEvent. The configuration may need to be updated in the future, \r
+  however; in this case, the EFI IPv4 Configuration Protocol driver must signal \r
+  ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default \r
+  configurations must return EFI_NO_MAPPING until the configuration policy has \r
+  been rerun.\r
+\r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  DoneEvent              Event that will be signaled when the EFI IPv4 \r
+                                 Protocol driver configuration policy completes \r
+                                 execution. This event must be of type EVT_NOTIFY_SIGNAL.\r
+  @param  ReconfigEvent          Event that will be signaled when the EFI IPv4 \r
+                                 Protocol driver configuration needs to be updated. \r
+                                 This event must be of type EVT_NOTIFY_SIGNAL.\r
+  \r
+  @retval EFI_SUCCESS            The configuration policy for the EFI IPv4 Protocol \r
+                                 driver is now running.\r
+  @retval EFI_INVALID_PARAMETER  One or more of the following parameters is NULL:\r
+                                  This\r
+                                  DoneEvent\r
+                                  ReconfigEvent\r
+  @retval EFI_OUT_OF_RESOURCES   Required system resources could not be allocated.\r
+  @retval EFI_ALREADY_STARTED    The configuration policy for the EFI IPv4 Protocol \r
+                                 driver was already started.\r
+  @retval EFI_DEVICE_ERROR       An unexpected system error or network error occurred.\r
+  @retval EFI_UNSUPPORTED        This interface does not support the EFI IPv4 Protocol \r
+                                 driver configuration.\r
 \r
 **/\r
 typedef\r
@@ -81,13 +113,18 @@ EFI_STATUS
 \r
 /**\r
   Stops running the configuration policy for the EFI IPv4 Protocol driver.\r
-\r
-  @param  This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
-\r
-  @retval EFI_SUCCESS           The configuration policy for the EFI IPv4 Protocol driver has been stopped.\r
-  @retval EFI_INVALID_PARAMETER This is NULL.\r
-  @retval EFI_NOT_STARTED       The configuration policy for the EFI IPv4 Protocol driver was not started.\r
-\r
+  \r
+  The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver. \r
+  All configuration data will be lost after calling Stop().\r
+\r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+\r
+  @retval EFI_SUCCESS            The configuration policy for the EFI IPv4 Protocol \r
+                                 driver has been stopped.\r
+  @retval EFI_INVALID_PARAMETER  This is NULL.\r
+  @retval EFI_NOT_STARTED        The configuration policy for the EFI IPv4 Protocol \r
+                                 driver was not started.\r
+  \r
 **/\r
 typedef\r
 EFI_STATUS\r
@@ -98,20 +135,26 @@ EFI_STATUS
 /**\r
   Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.\r
 \r
-  @param  This             Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
-  @param  IpConfigDataSize On input, the size of the IpConfigData buffer.\r
-                           On output, the count of bytes that were written into the IpConfigData buffer.\r
-  @param  IpConfigData     Pointer to the EFI IPv4 Configuration Protocol driver\r
-                           configuration data structure.\r
-\r
-  @retval EFI_SUCCESS           The EFI IPv4 Protocol driver configuration has been returned.\r
-  @retval EFI_INVALID_PARAMETER This is NULL.\r
-  @retval EFI_NOT_STARTED       The configuration policy for the EFI IPv4 Protocol driver is not\r
-                                running.\r
-  @retval EFI_NOT_READY         EFI IPv4 Protocol driver configuration is still running.\r
-  @retval EFI_ABORTED           EFI IPv4 Protocol driver configuration could not complete.\r
-  @retval EFI_BUFFER_TOO_SMALL  *IpConfigDataSize is smaller than the configuration data\r
-                                buffer or IpConfigData is NULL.\r
+  The GetData() function returns the current configuration data for the EFI IPv4 \r
+  Protocol driver after the configuration policy has completed.\r
+  \r
+  @param  This                   Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  IpConfigDataSize       On input, the size of the IpConfigData buffer. \r
+                                 On output, the count of bytes that were written \r
+                                 into the IpConfigData buffer.\r
+  @param  IpConfigData           Pointer to the EFI IPv4 Configuration Protocol \r
+                                 driver configuration data structure. \r
+                                 Type EFI_IP4_IPCONFIG_DATA is defined in \r
+                                 "Related Definitions" below.\r
+\r
+  @retval EFI_SUCCESS            The EFI IPv4 Protocol driver configuration has been returned.\r
+  @retval EFI_INVALID_PARAMETER  This is NULL.\r
+  @retval EFI_NOT_STARTED        The configuration policy for the EFI IPv4 Protocol \r
+                                 driver is not running.\r
+  @retval EFI_NOT_READY EFI      IPv4 Protocol driver configuration is still running.\r
+  @retval EFI_ABORTED EFI        IPv4 Protocol driver configuration could not complete.\r
+  @retval EFI_BUFFER_TOO_SMALL   *IpConfigDataSize is smaller than the configuration \r
+                                 data buffer or IpConfigData is NULL.\r
 \r
 **/\r
 typedef\r