]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1)Remove “Back to Previous Page'”, since it cannot go back to “Device Manager page.
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 8 Jan 2010 05:00:19 +0000 (05:00 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 8 Jan 2010 05:00:19 +0000 (05:00 +0000)
2)Add Configure item in page.
3)Add more security check when storing IP setting, to correctly sync the operations between Ip4ConfigDxe and ifconfig.efi

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9693 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h

index 0ffd2a7e74fc677e7e1a2046e3c0e628277b793f..9bcee9f2cb370334f7c8097b0696e8ccdcfcec85 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for IP4Config driver.\r
 \r
-Copyright (c) 2006 - 2009, Intel Corporation.<BR>\r
+Copyright (c) 2006 - 2010, 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
@@ -79,7 +79,8 @@ typedef struct {
 #pragma pack()\r
 \r
 typedef struct _IP4CONFIG_CALLBACK_INFO {\r
-  BOOLEAN                          Enabled;\r
+  BOOLEAN                          Configured;\r
+  BOOLEAN                          DhcpEnabled;\r
   EFI_IPv4_ADDRESS                 LocalIp;\r
   EFI_IPv4_ADDRESS                 SubnetMask;\r
   EFI_IPv4_ADDRESS                 Gateway;\r
index 60cf318772ec23e30d96709ea84fd947c4c714d5..ed270ee0416d06c228771758a2b0ce7533a663a4 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The driver binding for IP4 CONFIG protocol.\r
 \r
-Copyright (c) 2006 - 2009, Intel Corporation.<BR>\r
+Copyright (c) 2006 - 2010, 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
@@ -158,7 +158,7 @@ Ip4ConfigDriverBindingStart (
   EFI_STATUS                    Status;\r
   UINT32                        Index;\r
   EFI_DEVICE_PATH_PROTOCOL      *ParentDevicePath;\r
-  \r
+\r
   Status = gBS->HandleProtocol (\r
                   ControllerHandle,\r
                   &gEfiDevicePathProtocolGuid,\r
index de971962b68a90aca7e60809a2988713705de9a2..578045ffe29c1bd325927787ed24dabeb567b71f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Vfr file for IP4 config.\r
 \r
-Copyright (c) 2009, Intel Corporation.<BR>\r
+Copyright (c) 2009 - 2010, 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
@@ -29,40 +29,52 @@ formset
   form formid = FORMID_MAIN_FORM,\r
     title  = STRING_TOKEN(STR_IP4_DEVICE_FORM_TITLE);\r
 \r
-    checkbox varid = EfiNicIp4ConfigVariable.DhcpEnable,\r
-            prompt = STRING_TOKEN(STR_IP4_ENABLE_DHCP),\r
-            help   = STRING_TOKEN(STR_IP4_ENABLE_DHCP),\r
+    checkbox varid = EfiNicIp4ConfigVariable.Configure,\r
+            prompt = STRING_TOKEN(STR_IP4_CONFIGURE),\r
+            help   = STRING_TOKEN(STR_IP4_CONFIGURE),\r
             flags  = INTERACTIVE,\r
-            key    = KEY_DHCP_ENABLE,\r
+            key    = KEY_ENABLE,\r
     endcheckbox;\r
 \r
-    suppressif ideqval EfiNicIp4ConfigVariable.DhcpEnable == 0x01;\r
-    string  varid   = EfiNicIp4ConfigVariable.StationAddress,\r
-            prompt  = STRING_TOKEN(STR_IP4_LOCAL_IP_ADDRESS),\r
-            help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
-            flags   = INTERACTIVE,\r
-            key     = KEY_LOCAL_IP,\r
-            minsize = IP_MIN_SIZE,\r
-            maxsize = IP_MAX_SIZE,\r
-    endstring;\r
-\r
-    string  varid   = EfiNicIp4ConfigVariable.SubnetMask,\r
-            prompt  = STRING_TOKEN(STR_IP4_LOCAL_MASK),\r
-            help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
-            flags   = INTERACTIVE,\r
-            key     = KEY_SUBNET_MASK,\r
-            minsize = IP_MIN_SIZE,\r
-           maxsize = IP_MAX_SIZE,\r
-    endstring;\r
-\r
-    string  varid   = EfiNicIp4ConfigVariable.GatewayAddress,\r
-            prompt  = STRING_TOKEN(STR_IP4_LOCAL_GATEWAY),\r
-            help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
-            flags   = INTERACTIVE,\r
-            key     = KEY_GATE_WAY,\r
-            minsize = IP_MIN_SIZE,\r
-            maxsize = IP_MAX_SIZE,\r
-    endstring;\r
+    suppressif ideqval EfiNicIp4ConfigVariable.Configure == 0x00;\r
+\r
+      checkbox varid = EfiNicIp4ConfigVariable.DhcpEnable,\r
+              prompt = STRING_TOKEN(STR_IP4_ENABLE_DHCP),\r
+              help   = STRING_TOKEN(STR_IP4_ENABLE_DHCP),\r
+              flags  = INTERACTIVE,\r
+              key    = KEY_DHCP_ENABLE,\r
+      endcheckbox;\r
+    endif;\r
+\r
+    suppressif ideqval EfiNicIp4ConfigVariable.DhcpEnable == 0x01 OR ideqval EfiNicIp4ConfigVariable.Configure == 0x00;\r
+\r
+      string  varid   = EfiNicIp4ConfigVariable.StationAddress,\r
+              prompt  = STRING_TOKEN(STR_IP4_LOCAL_IP_ADDRESS),\r
+              help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
+              flags   = INTERACTIVE,\r
+              key     = KEY_LOCAL_IP,\r
+              minsize = IP_MIN_SIZE,\r
+              maxsize = IP_MAX_SIZE,\r
+      endstring;\r
+\r
+      string  varid   = EfiNicIp4ConfigVariable.SubnetMask,\r
+              prompt  = STRING_TOKEN(STR_IP4_LOCAL_MASK),\r
+              help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
+              flags   = INTERACTIVE,\r
+              key     = KEY_SUBNET_MASK,\r
+              minsize = IP_MIN_SIZE,\r
+             maxsize = IP_MAX_SIZE,\r
+      endstring;\r
+\r
+      string  varid   = EfiNicIp4ConfigVariable.GatewayAddress,\r
+              prompt  = STRING_TOKEN(STR_IP4_LOCAL_GATEWAY),\r
+              help    = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),\r
+              flags   = INTERACTIVE,\r
+              key     = KEY_GATE_WAY,\r
+              minsize = IP_MIN_SIZE,\r
+              maxsize = IP_MAX_SIZE,\r
+      endstring;\r
+\r
     endif;\r
 \r
     subtitle text = STRING_TOKEN(STR_NULL);\r
@@ -73,11 +85,6 @@ formset
     flags  = INTERACTIVE,\r
     key    = KEY_SAVE_CHANGES;\r
 \r
-    goto FORMID_MAIN_FORM,\r
-    prompt = STRING_TOKEN (STR_RETURN_MAIN_FORM),\r
-    help   = STRING_TOKEN (STR_RETURN_MAIN_FORM),\r
-    flags  = 0;\r
-\r
   endform;\r
 \r
 endformset;\r
index fd3b02989c415917cf2149d3678ce81ab5009725..b7629b72c44f448e89009a0a49885541d5735eb8 100644 (file)
Binary files a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni and b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni differ
index 88b3da6ed5926a8b7fd165a94848ce7edaa74883..9417a44c25864ed2329528e7b90170b0f7632a63 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Helper functions for configuring or getting the parameters relating to Ip4.\r
 \r
-Copyright (c) 2009, Intel Corporation.<BR>\r
+Copyright (c) 2009 - 2010, 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
@@ -152,13 +152,12 @@ Ip4ConfigConvertDeviceConfigDataToIfrNvData (
   NIC_IP4_CONFIG_INFO           *NicConfig;\r
   UINTN                         ConfigLen;\r
 \r
-  IfrFormNvData->DhcpEnable = 1;\r
-\r
   ConfigLen = sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * 2;\r
   NicConfig = AllocateZeroPool (ConfigLen);\r
   ASSERT (NicConfig != NULL);\r
   Status = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance, &ConfigLen, NicConfig);\r
   if (!EFI_ERROR (Status)) {\r
+    IfrFormNvData->Configure = 1;\r
     if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {\r
       IfrFormNvData->DhcpEnable = 1;\r
     } else {\r
@@ -167,7 +166,10 @@ Ip4ConfigConvertDeviceConfigDataToIfrNvData (
       Ip4ConfigIpToStr (&NicConfig->Ip4Info.SubnetMask, IfrFormNvData->SubnetMask);\r
       Ip4ConfigIpToStr (&NicConfig->Ip4Info.RouteTable[1].GatewayAddress, IfrFormNvData->GatewayAddress);\r
     }\r
+  } else {\r
+    IfrFormNvData->Configure = 0;\r
   }\r
+\r
   FreePool (NicConfig);\r
 }\r
 \r
@@ -175,21 +177,20 @@ Ip4ConfigConvertDeviceConfigDataToIfrNvData (
   Convert the IFR data into the network configuration data and set the IP\r
   configure parameters for the NIC.\r
 \r
-  @param[in]       IfrFormNvData     The IFR nv data.\r
   @param[in, out]  Ip4ConfigInstance The IP4Config instance.\r
-                                 \r
-  @retval EFI_SUCCESS            The configure parameter for this NIC was \r
+\r
+  @retval EFI_SUCCESS            The configure parameter for this NIC was\r
                                  set successfully.\r
   @retval EFI_ALREADY_STARTED    There is a pending auto configuration.\r
   @retval EFI_NOT_FOUND          No auto configure parameter is found.\r
-  \r
+\r
 **/\r
 EFI_STATUS\r
 Ip4ConfigConvertIfrNvDataToDeviceConfigData (\r
-  IN     IP4_CONFIG_IFR_NVDATA     *IfrFormNvData,\r
   IN OUT IP4_CONFIG_INSTANCE       *Ip4ConfigInstance\r
   )\r
 {\r
+  EFI_STATUS                Status;\r
   EFI_IP_ADDRESS            HostIp;\r
   EFI_IP_ADDRESS            SubnetMask;\r
   EFI_IP_ADDRESS            Gateway;\r
@@ -197,16 +198,39 @@ Ip4ConfigConvertIfrNvDataToDeviceConfigData (
   NIC_IP4_CONFIG_INFO       *NicInfo;\r
   EFI_IP_ADDRESS            Ip;\r
 \r
+  if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured) {\r
+    //\r
+    // Clear the variable\r
+    //\r
+    ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));\r
+\r
+    Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);\r
+    if (Status == EFI_NOT_FOUND) {\r
+      return EFI_SUCCESS;\r
+    }\r
+\r
+    return Status;\r
+  }\r
+\r
   NicInfo = AllocateZeroPool (sizeof (NIC_IP4_CONFIG_INFO) + 2 * sizeof (EFI_IP4_ROUTE_TABLE));\r
   ASSERT (NicInfo != NULL);\r
 \r
   NicInfo->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (NicInfo + 1);\r
 \r
-  if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.Enabled) {\r
+  if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled) {\r
     CopyMem (&HostIp.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (HostIp.v4));\r
     CopyMem (&SubnetMask.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (SubnetMask.v4));\r
     CopyMem (&Gateway.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (Gateway.v4));\r
 \r
+    if (!NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {\r
+      CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);\r
+      return EFI_INVALID_PARAMETER;\r
+    }\r
+    if (EFI_IP4_EQUAL (&SubnetMask, &mZeroIp4Addr)) {\r
+      CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);\r
+      return EFI_INVALID_PARAMETER;\r
+    }\r
+\r
     if ((Gateway.Addr[0] != 0)) {\r
       if (SubnetMask.Addr[0] == 0) {\r
         CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Gateway address is set but subnet mask is zero.", NULL);\r
@@ -228,8 +252,12 @@ Ip4ConfigConvertIfrNvDataToDeviceConfigData (
     CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetAddress, &Ip.v4, sizeof (EFI_IPv4_ADDRESS));\r
     CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));\r
     CopyMem (&NicInfo->Ip4Info.RouteTable[1].GatewayAddress, &Gateway.v4, sizeof (EFI_IPv4_ADDRESS));\r
+\r
   } else {\r
     NicInfo->Source = IP4_CONFIG_SOURCE_DHCP;\r
+    ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (EFI_IPv4_ADDRESS));\r
+    ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (EFI_IPv4_ADDRESS));\r
+    ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (EFI_IPv4_ADDRESS));\r
   }\r
 \r
   NicInfo->Perment = TRUE;\r
@@ -338,7 +366,7 @@ Ip4DeviceExtractConfig (
       FreePool (IfrDeviceNvData);\r
       return EFI_NOT_FOUND;\r
     }\r
-  \r
+\r
     //\r
     // Convert buffer data to <ConfigResp> by helper function BlockToConfig()\r
     //\r
@@ -350,7 +378,7 @@ Ip4DeviceExtractConfig (
                                   Results,\r
                                   Progress\r
                                   );\r
-  \r
+\r
     FreePool (IfrDeviceNvData);\r
 \r
   } else if (HiiIsConfigHdrMatch (Request, &mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {\r
@@ -359,9 +387,9 @@ Ip4DeviceExtractConfig (
     if (IfrFormNvData == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
     }\r
-  \r
+\r
     Ip4ConfigConvertDeviceConfigDataToIfrNvData (Ip4ConfigInstance, IfrFormNvData);\r
-  \r
+\r
     //\r
     // Convert buffer data to <ConfigResp> by helper function BlockToConfig()\r
     //\r
@@ -373,7 +401,7 @@ Ip4DeviceExtractConfig (
                                   Results,\r
                                   Progress\r
                                   );\r
-  \r
+\r
     FreePool (IfrFormNvData);\r
 \r
   } else {\r
@@ -428,7 +456,7 @@ Ip4DeviceRouteConfig (
   EFI_STATUS                       Status;\r
   UINTN                            BufferSize;\r
   NIC_IP4_CONFIG_INFO              *IfrDeviceNvData;\r
-  IP4_CONFIG_IFR_NVDATA            *IfrFormNvData; \r
+  IP4_CONFIG_IFR_NVDATA            *IfrFormNvData;\r
   NIC_IP4_CONFIG_INFO              *NicInfo;\r
   IP4_CONFIG_INSTANCE              *Ip4ConfigInstance;\r
   EFI_MAC_ADDRESS                  ZeroMac;\r
@@ -462,9 +490,9 @@ Ip4DeviceRouteConfig (
                                   Progress\r
                                   );\r
     if (!EFI_ERROR (Status)) {\r
-      Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);\r
+      Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (Ip4ConfigInstance);\r
     }\r
-    \r
+\r
     FreePool (IfrFormNvData);\r
 \r
   } else if (HiiIsConfigHdrMatch (Configuration, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {\r
@@ -486,9 +514,10 @@ Ip4DeviceRouteConfig (
       ZeroMem (&ZeroMac, sizeof (EFI_MAC_ADDRESS));\r
       if (CompareMem (&IfrDeviceNvData->NicAddr.MacAddr, &ZeroMac, IfrDeviceNvData->NicAddr.Len) != 0) {\r
         BufferSize = sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * IfrDeviceNvData->Ip4Info.RouteTableSize;\r
-        NicInfo = AllocateCopyPool (BufferSize, IfrDeviceNvData); \r
+        NicInfo = AllocateCopyPool (BufferSize, IfrDeviceNvData);\r
         Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);\r
       } else {\r
+        ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));\r
         Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);\r
       }\r
     }\r
@@ -499,7 +528,7 @@ Ip4DeviceRouteConfig (
 \r
     return EFI_NOT_FOUND;\r
   }\r
-  \r
+\r
   return Status;\r
 \r
 }\r
@@ -569,11 +598,19 @@ Ip4FormCallback (
 \r
   switch (QuestionId) {\r
 \r
+  case KEY_ENABLE:\r
+    if (IfrFormNvData->Configure == 0) {\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = FALSE;\r
+    } else {\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = TRUE;\r
+    }\r
+    break;\r
+\r
   case KEY_DHCP_ENABLE:\r
     if (IfrFormNvData->DhcpEnable == 0) {\r
-      Ip4ConfigInstance->Ip4ConfigCallbackInfo.Enabled = FALSE;\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = FALSE;\r
     } else {\r
-      Ip4ConfigInstance->Ip4ConfigCallbackInfo.Enabled = TRUE;\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = TRUE;\r
     }\r
 \r
     break;\r
@@ -615,14 +652,15 @@ Ip4FormCallback (
     break;\r
 \r
   case KEY_SAVE_CHANGES:\r
-    Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);\r
\r
+\r
+    Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (Ip4ConfigInstance);\r
+\r
     *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
 \r
     break;\r
 \r
   default:\r
-   \r
+\r
     break;\r
   }\r
 \r
@@ -690,7 +728,7 @@ Ip4ConfigDeviceInit (
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &Instance->ChildHandle,\r
                   &gEfiDevicePathProtocolGuid,\r
-                  Instance->HiiVendorDevicePath,      \r
+                  Instance->HiiVendorDevicePath,\r
                   &gEfiHiiConfigAccessProtocolGuid,\r
                   ConfigAccess,\r
                   NULL\r
@@ -704,13 +742,13 @@ Ip4ConfigDeviceInit (
                     &gEfiManagedNetworkServiceBindingProtocolGuid,\r
                     (VOID **) &MnpSb,\r
                     Instance->Image,\r
-                    Instance->ChildHandle, \r
+                    Instance->ChildHandle,\r
                     EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
                     );\r
   }\r
 \r
   ASSERT_EFI_ERROR (Status);\r
\r
+\r
   //\r
   // Publish our HII data\r
   //\r
@@ -733,7 +771,7 @@ Ip4ConfigDeviceInit (
     OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_TITLE), NULL);\r
     UnicodeSPrint (MenuString, 128, L"%s (MAC:%s)", OldMenuString, MacString);\r
     HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_TITLE), MenuString, NULL);\r
-  \r
+\r
     UnicodeSPrint (PortString, 128, L"MAC:%s", MacString);\r
     HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_TITLE), PortString, NULL);\r
     FreePool (MacString);\r
@@ -776,7 +814,7 @@ Ip4ConfigDeviceUnload (
   gBS->UninstallMultipleProtocolInterfaces (\r
          Instance->ChildHandle,\r
          &gEfiDevicePathProtocolGuid,\r
-         Instance->HiiVendorDevicePath, \r
+         Instance->HiiVendorDevicePath,\r
          &gEfiHiiConfigAccessProtocolGuid,\r
          &Instance->HiiConfigAccessProtocol,\r
          NULL\r
index 9e3ddf7b33148f8f9177b9702b33a7926c59bc64..13941e1867ec92cee8a40fdbd155be48b790b419 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Routines used to operate the Ip4 configure variable.\r
 \r
-Copyright (c) 2009, Intel Corporation.<BR>\r
+Copyright (c) 2009 - 2010, 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
@@ -23,6 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define FORMID_MAIN_FORM    1\r
 #define FORMID_DEVICE_FORM  2\r
 \r
+#define KEY_ENABLE                0x100\r
 #define KEY_DHCP_ENABLE           0x101\r
 #define KEY_LOCAL_IP              0x102\r
 #define KEY_SUBNET_MASK           0x103\r
@@ -40,7 +41,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 ///\r
 typedef struct {\r
   UINT16          NicAddr[3];                        ///< NIC MAC address\r
-  UINT8           Reserved;                          ///< Reserved bits\r
+  UINT8           Configure;                         ///< NIC configure status\r
   UINT8           DhcpEnable;                        ///< Static or DHCP\r
   CHAR16          StationAddress[IP4_STR_MAX_SIZE];  ///< IP addresses\r
   CHAR16          SubnetMask[IP4_STR_MAX_SIZE];      ///< Subnet address\r