]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
Co-work with patch V11137 to refine the Hii menu.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4ConfigDxe / Ip4ConfigNv.c
index fa78678adea2845cf856d08e61e746a497f2b579..1e8c64d8c7a6a8071e27a012b5ae4151896b4c8f 100644 (file)
@@ -37,7 +37,7 @@ GetSubnetMaskPrefixLength (
   //\r
   // The SubnetMask is in network byte order.\r
   //\r
-  ReverseMask = (SubnetMask->Addr[0] << 24) | (SubnetMask->Addr[1] << 16) | (SubnetMask->Addr[2] << 8) | (SubnetMask->Addr[3]);\r
+  ReverseMask = SwapBytes32 (*(UINT32 *)&SubnetMask[0]);\r
 \r
   //\r
   // Reverse it.\r
@@ -154,18 +154,26 @@ Ip4ConfigConvertDeviceConfigDataToIfrNvData (
   NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);\r
   if (NicConfig != NULL) {\r
     IfrFormNvData->Configure = 1;\r
+    Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = TRUE;\r
     if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {\r
       IfrFormNvData->DhcpEnable = 1;\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = TRUE;\r
     } else {\r
       IfrFormNvData->DhcpEnable = 0;\r
       Ip4ConfigIpToStr (&NicConfig->Ip4Info.StationAddress, IfrFormNvData->StationAddress);\r
       Ip4ConfigIpToStr (&NicConfig->Ip4Info.SubnetMask, IfrFormNvData->SubnetMask);\r
       Ip4ConfigIpToStr (&NicConfig->Ip4Info.RouteTable[1].GatewayAddress, IfrFormNvData->GatewayAddress);\r
+\r
+      Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = FALSE;\r
+      CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &NicConfig->Ip4Info.StationAddress, sizeof (EFI_IPv4_ADDRESS));\r
+      CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &NicConfig->Ip4Info.SubnetMask, sizeof (EFI_IPv4_ADDRESS));\r
+      CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &NicConfig->Ip4Info.RouteTable[1].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
     }\r
 \r
     FreePool (NicConfig);\r
   } else {\r
     IfrFormNvData->Configure = 0;\r
+    Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = FALSE;\r
   }\r
 }\r
 \r
@@ -848,12 +856,12 @@ Ip4ConfigDeviceInit (
   //\r
   Status = NetLibGetMacString (Instance->Controller, Instance->Image, &MacString);\r
   if (!EFI_ERROR (Status)) {\r
-    OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_TITLE), NULL);\r
+    OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), 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
+    HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), MenuString, NULL);\r
 \r
     UnicodeSPrint (PortString, 128, L"MAC:%s", MacString);\r
-    HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_TITLE), PortString, NULL);\r
+    HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_HELP), PortString, NULL);\r
     FreePool (MacString);\r
   }\r
 \r