]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fixed EBC build issues.
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 25 Jul 2007 05:32:10 +0000 (05:32 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 25 Jul 2007 05:32:10 +0000 (05:32 +0000)
Fixed ICC build issues.

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

28 files changed:
MdeModulePkg/Include/Library/NetLib.h
MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.c
MdeModulePkg/Library/DxeNetLib/DxeNetLib.c
MdeModulePkg/Library/DxeNetLib/NetDebug.c
MdeModulePkg/Library/DxeNetLib/Netbuffer.c
MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.c
MdeModulePkg/MdeModulePkg.dsc
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/MnpDxe/MnpConfig.c
MdeModulePkg/Universal/Network/MnpDxe/MnpIo.c
MdeModulePkg/Universal/Network/MnpDxe/MnpMain.c
MdeModulePkg/Universal/Network/SnpDxe/reset.c
MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c
MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dispatcher.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Proto.h
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Main.c

index 6bc343185563001f24c09b4520e1cfb9bd56c541..150b97936ea26a0337a1b5910b4175ecf5d28e2d 100644 (file)
@@ -454,7 +454,7 @@ EFI_STATUS
 NetLibGetMacString (
   IN           EFI_HANDLE  SnpHandle,
   IN           EFI_HANDLE  ImageHandle,
-  IN OUT CONST CHAR16      **MacString
+  IN OUT       CHAR16      **MacString
   );
 
 EFI_HANDLE
index 4a068eaf72bdc9cd3ae9c33b2cb8d4119d15f783..cfc8970c7c7d2ae67d54c14f47cb4221d7da6b23 100644 (file)
@@ -229,7 +229,7 @@ IpIoIcmpHandler (
     case ICMP_CODE_UNREACH_PROTOCOL:\r
     case ICMP_CODE_UNREACH_PORT:\r
     case ICMP_CODE_UNREACH_SRCFAIL:\r
-      IcmpErr = ICMP_ERR_UNREACH_NET + Code;\r
+      IcmpErr = (ICMP_ERROR) (ICMP_ERR_UNREACH_NET + Code);\r
 \r
       break;\r
 \r
@@ -266,7 +266,7 @@ IpIoIcmpHandler (
       return EFI_ABORTED;\r
     }\r
 \r
-    IcmpErr = Code + ICMP_ERR_TIMXCEED_INTRANS;\r
+    IcmpErr = (ICMP_ERROR) (Code + ICMP_ERR_TIMXCEED_INTRANS);\r
 \r
     break;\r
 \r
@@ -654,7 +654,7 @@ IpIoListenHandler (
 \r
   if (EFI_SUCCESS == Status) {\r
 \r
-    IpIo->PktRcvdNotify (EFI_SUCCESS, 0, &Session, Pkt, IpIo->RcvdContext);\r
+    IpIo->PktRcvdNotify (EFI_SUCCESS, (ICMP_ERROR) 0, &Session, Pkt, IpIo->RcvdContext);\r
   } else {\r
     //\r
     // Status is EFI_ICMP_ERROR\r
@@ -1050,7 +1050,7 @@ IpIoAddIp (
              IpIo->Controller,\r
              IpIo->Image,\r
              &IpInfo->ChildHandle,\r
-             &IpInfo->Ip\r
+             (VOID **) &IpInfo->Ip\r
              );\r
   if (EFI_ERROR (Status)) {\r
     goto ReleaseIpInfo;\r
index 88dcf76a05fc1437615b70b353483b41bf05aa8f..dcf2309c71c4d470364df9d1cb226870e9464cb8 100644 (file)
@@ -881,7 +881,7 @@ NetLibDefaultUnload (
     Status = gBS->HandleProtocol (
                     DeviceHandleBuffer[Index],
                     &gEfiDriverBindingProtocolGuid,
-                    &DriverBinding
+                    (VOID **) &DriverBinding
                     );
 
     if (EFI_ERROR (Status)) {
@@ -897,24 +897,10 @@ NetLibDefaultUnload (
           &gEfiDriverBindingProtocolGuid,
           DriverBinding
           );
-#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
-    Status = gBS->HandleProtocol (
-                    DeviceHandleBuffer[Index],
-                    &gEfiComponentName2ProtocolGuid,
-                    &ComponentName
-                    );
-    if (!EFI_ERROR (Status)) {
-      gBS->UninstallProtocolInterface (
-            ImageHandle,
-            &gEfiComponentName2ProtocolGuid,
-            ComponentName
-            );
-    }
-#else
     Status = gBS->HandleProtocol (
                     DeviceHandleBuffer[Index],
                     &gEfiComponentNameProtocolGuid,
-                    &ComponentName
+                    (VOID **) &ComponentName
                     );
     if (!EFI_ERROR (Status)) {
       gBS->UninstallProtocolInterface (
@@ -923,12 +909,11 @@ NetLibDefaultUnload (
              ComponentName
              );
     }
-#endif
 
     Status = gBS->HandleProtocol (
                     DeviceHandleBuffer[Index],
                     &gEfiDriverConfigurationProtocolGuid,
-                    &DriverConfiguration
+                    (VOID **) &DriverConfiguration
                     );
 
     if (!EFI_ERROR (Status)) {
@@ -942,7 +927,7 @@ NetLibDefaultUnload (
     Status = gBS->HandleProtocol (
                     DeviceHandleBuffer[Index],
                     &gEfiDriverDiagnosticsProtocolGuid,
-                    &DriverDiagnostics
+                    (VOID **) &DriverDiagnostics
                     );
 
     if (!EFI_ERROR (Status)) {
@@ -1085,7 +1070,7 @@ EFI_STATUS
 NetLibGetMacString (
   IN           EFI_HANDLE  SnpHandle,
   IN           EFI_HANDLE  ImageHandle,
-  IN OUT CONST CHAR16      **MacString
+  IN OUT       CHAR16      **MacString
   )
 {
   EFI_STATUS                   Status;
@@ -1126,7 +1111,7 @@ NetLibGetMacString (
   // Convert the mac address into a unicode string.
   //
   for (Index = 0; Index < Mode->HwAddressSize; Index++) {
-    MacAddress[Index * 2]     = NibbleToHexChar (Mode->CurrentAddress.Addr[Index] >> 4);
+    MacAddress[Index * 2]     = NibbleToHexChar ((UINT8) (Mode->CurrentAddress.Addr[Index] >> 4));
     MacAddress[Index * 2 + 1] = NibbleToHexChar (Mode->CurrentAddress.Addr[Index]);
   }
 
index afcc1b3b422b0337adb129022dc8220f968536c2..ffaac1dbf76c2a270cf9e58279979427885c7068 100644 (file)
@@ -214,7 +214,7 @@ SyslogSendPacket (
       //\r
       // Get the recycled transmit buffer status.\r
       //\r
-      Snp->GetStatus (Snp, NULL, &TxBuf);\r
+      Snp->GetStatus (Snp, NULL, (VOID **) &TxBuf);\r
 \r
       if (!EFI_ERROR (gBS->CheckEvent (TimeoutEvent))) {\r
         Status = EFI_TIMEOUT;\r
@@ -375,7 +375,7 @@ SyslogBuildPacket (
   //\r
   Len  = 0;\r
   Len += (UINT32) AsciiSPrint (\r
-                    Buf,\r
+                    (CHAR8 *) Buf,\r
                     BufLen,\r
                     "<%d> %a %d %d:%d:%d ",\r
                     Pri,\r
@@ -388,7 +388,7 @@ SyslogBuildPacket (
   Len--;\r
 \r
   Len += (UINT32) AsciiSPrint (\r
-                    Buf + Len,\r
+                    (CHAR8 *) (Buf + Len),\r
                     BufLen - Len,\r
                     "Tiano %a: %a (Line: %d File: %a)",\r
                     Module,\r
@@ -452,7 +452,7 @@ NetDebugASPrint (
   }\r
 \r
   VA_START (Marker, Format);\r
-  AsciiVSPrint (Buf, NET_DEBUG_MSG_LEN, Format, Marker);\r
+  AsciiVSPrint ((CHAR8 *) Buf, NET_DEBUG_MSG_LEN, (CHAR8 *) Format, Marker);\r
   VA_END (Marker);\r
 \r
   return Buf;\r
index f32e31efbef56ca55f912deb1304df780939e441..a9de17f7e22f3d8f3af5d0b4d80c194bbbfd650f 100644 (file)
@@ -1711,7 +1711,7 @@ NetbufChecksum (
       // The checksum starts with an odd byte, swap\r
       // the checksum before added to total checksum\r
       //\r
-      BlockSum = NET_SWAP_SHORT (BlockSum);\r
+      BlockSum = (UINT16) NET_SWAP_SHORT (BlockSum);\r
     }\r
 \r
     TotalSum = NetAddChecksum (BlockSum, TotalSum);\r
index 84bc295bb14bc139a60853f2abfb8a92d62a63cf..3a0075c4672f415b98a3dd832d8c90c452561996 100644 (file)
@@ -287,7 +287,7 @@ UdpIoCreatePort (
   Status = gBS->OpenProtocol (\r
                   UdpIo->UdpHandle,\r
                   &gEfiUdp4ProtocolGuid,\r
-                  &UdpIo->Udp,\r
+                  (VOID **) &UdpIo->Udp,\r
                   Image,\r
                   Controller,\r
                   EFI_OPEN_PROTOCOL_BY_DRIVER\r
index 4334719e3ef87f0865a3008c778326ebd64f3470..9107e48ca20bbe4be0e472571000df0ef7b36bf4 100644 (file)
@@ -55,8 +55,8 @@
 [LibraryClasses.IPF]\r
   IoLib|$(WORKSPACE)/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
 \r
-[LibraryClasses.EBC]\r
-\r
+[LibraryClasses.EBC.DXE_RUNTIME_DRIVER]\r
+  IoLib|$(WORKSPACE)/IntelFrameworkPkg/Library/DxeIoLibCpuIo/DxeIoLibCpuIo.inf\r
 \r
 [LibraryClasses.common.PEI_CORE]\r
   PeiCoreEntryPoint|$(WORKSPACE)/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
index c0cc15f3de7ff48bff2b7b82d550f00eee00d7ee..326fb4dc335c3b0e602a073655430a29a8602660 100644 (file)
@@ -66,7 +66,7 @@ EfiNicIp4ConfigGetName (
   }\r
 \r
   if (NicAddr != NULL) {\r
-    *NicAddr = Instance->NicAddr;\r
+    CopyMem (NicAddr, &Instance->NicAddr, sizeof (NIC_ADDR));\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -628,7 +628,7 @@ Ip4ConfigOnDhcp4Complete (
       goto ON_EXIT;\r
     }\r
 \r
-    Instance->NicConfig->NicAddr = Instance->NicAddr;\r
+    CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (NIC_ADDR));\r
     Instance->NicConfig->Source  = IP4_CONFIG_SOURCE_DHCP;\r
     Instance->NicConfig->Perment = Perment;\r
 \r
index 90e55993c29645366136242cb4a6815ddfe7e3df..8c58c8078c643cab9dd791715e37f0528cbc85d7 100644 (file)
@@ -52,7 +52,7 @@ enum {
 
   DHCP_TAG_PARA_LIST            = 55,
   DHCP_TAG_NETMASK              = 1,
-  DHCP_TAG_ROUTER               = 3,
+  DHCP_TAG_ROUTER               = 3
 };
 
 //
@@ -66,7 +66,7 @@ typedef struct {
 } IP4_CONFIG_DHCP4_OPTION;
 #pragma pack()
 
-typedef struct _IP4_CONFIG_INSTANCE {
+struct _IP4_CONFIG_INSTANCE {
   UINT32                        Signature;
   EFI_HANDLE                    Controller;
   EFI_HANDLE                    Image;
index 342b7d96b89a12a45c4d77fbf515bbbd937979a0..265135a1177fef45d3dd24681080498d2631cf58 100644 (file)
@@ -173,7 +173,7 @@ Ip4ConfigDriverBindingStart (
   Status = gBS->OpenProtocol (\r
                   ControllerHandle,\r
                   &gEfiIp4ConfigProtocolGuid,\r
-                  &Ip4Config,\r
+                  (VOID **) &Ip4Config,\r
                   This->DriverBindingHandle,\r
                   ControllerHandle,\r
                   EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
@@ -252,7 +252,7 @@ Ip4ConfigDriverBindingStart (
 \r
   Instance->NicAddr.Type    = (UINT16) SnpMode.IfType;\r
   Instance->NicAddr.Len     = (UINT8) SnpMode.HwAddressSize;\r
-  Instance->NicAddr.MacAddr = SnpMode.CurrentAddress;\r
+  CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, sizeof (EFI_MAC_ADDRESS));\r
 \r
   //\r
   // Add it to the global list, and compose the name\r
index ac5283f6d6c586422140ab9e2884cdd8490a52c0..d6e617eaa76ecd1a5d3aeb1f835bc2eb000832a9 100644 (file)
@@ -150,7 +150,7 @@ Ip4ConfigReadVariable (
   //\r
   // Verify the checksum, variable size and count\r
   //\r
-  CheckSum = ~NetblockChecksum ((UINT8 *) Variable, (UINT32)Size);\r
+  CheckSum = (UINT16) (~NetblockChecksum ((UINT8 *) Variable, (UINT32)Size));\r
 \r
   if ((CheckSum != 0) || (Size != Variable->Len)) {\r
     goto REMOVE_VARIABLE;\r
@@ -378,6 +378,6 @@ Ip4ConfigModifyVariable (
 \r
   ASSERT (Next + Len == (UINT8 *) NewVar + TotalLen);\r
 \r
-  NewVar->CheckSum = ~NetblockChecksum ((UINT8 *) NewVar, TotalLen);\r
+  NewVar->CheckSum = (UINT16) (~NetblockChecksum ((UINT8 *) NewVar, TotalLen));\r
   return NewVar;\r
 }\r
index c842991f302b673109093c3ff79ca4657f52e554..5a648f5ffc8e9a7b348e32d7cc7a93b280b41bb9 100644 (file)
@@ -523,12 +523,12 @@ MnpInitializeInstanceData (
   //\r
   // Copy the MNP Protocol interfaces from the template.\r
   //\r
-  Instance->ManagedNetwork = mMnpProtocolTemplate;\r
+  CopyMem (&Instance->ManagedNetwork, &mMnpProtocolTemplate, sizeof (EFI_MANAGED_NETWORK_PROTOCOL));\r
 \r
   //\r
   // Copy the default config data.\r
   //\r
-  Instance->ConfigData = mMnpDefaultConfigData;\r
+  CopyMem (&Instance->ConfigData, &mMnpDefaultConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA));\r
 \r
   //\r
   // Initialize the lists.\r
@@ -1024,7 +1024,7 @@ MnpConfigureInstance (
   //\r
   // Save the new configuration data.\r
   //\r
-  *OldConfigData        = *NewConfigData;\r
+  CopyMem (OldConfigData, NewConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA));\r
 \r
   Instance->Configured  = (BOOLEAN) (ConfigData != NULL);\r
 \r
@@ -1035,7 +1035,7 @@ MnpConfigureInstance (
     Status = MnpStart (\r
               MnpServiceData,\r
               IsConfigUpdate,\r
-              !NewConfigData->DisableBackgroundPolling\r
+              (BOOLEAN) !NewConfigData->DisableBackgroundPolling\r
               );\r
   } else {\r
     //\r
@@ -1138,7 +1138,7 @@ MnpConfigReceiveFilters (
       NET_LIST_FOR_EACH (Entry, &MnpServiceData->GroupAddressList) {\r
 \r
         GroupAddress            = NET_LIST_USER_STRUCT (Entry, MNP_GROUP_ADDRESS, AddrEntry);\r
-        *(MCastFilter + Index)  = GroupAddress->Address;\r
+        CopyMem (MCastFilter + Index, &GroupAddress->Address, sizeof (EFI_MAC_ADDRESS));\r
         Index++;\r
 \r
         ASSERT (Index <= MCastFilterCnt);\r
@@ -1252,7 +1252,7 @@ MnpGroupOpAddCtrlBlk (
       return EFI_OUT_OF_RESOURCES;\r
     }\r
 \r
-    GroupAddress->Address = *MacAddress;\r
+    CopyMem (&GroupAddress->Address, MacAddress, sizeof (EFI_MAC_ADDRESS));\r
     GroupAddress->RefCnt  = 0;\r
     NetListInsertTail (\r
       &MnpServiceData->GroupAddressList,\r
index cde235912f1b34117ba8a7422da25519cc703270..91b8d4e0b854e327c8b7413533d66b659052fb8b 100644 (file)
@@ -43,7 +43,6 @@ MnpIsValidTxToken (
   )\r
 {\r
   MNP_SERVICE_DATA                  *MnpServiceData;\r
-  EFI_SIMPLE_NETWORK_MODE           *SnpMode;\r
   EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData;\r
   UINT32                            Index;\r
   UINT32                            TotalLength;\r
@@ -52,7 +51,6 @@ MnpIsValidTxToken (
   MnpServiceData = Instance->MnpServiceData;\r
   NET_CHECK_SIGNATURE (MnpServiceData, MNP_SERVICE_DATA_SIGNATURE);\r
 \r
-  SnpMode = MnpServiceData->Snp->Mode;\r
   TxData  = Token->Packet.TxData;\r
 \r
   if ((Token->Event == NULL) || (TxData == NULL) || (TxData->FragmentCount == 0)) {\r
@@ -262,7 +260,7 @@ MnpSyncSendPacket (
       //\r
       // Get the recycled transmit buffer status.\r
       //\r
-      Snp->GetStatus (Snp, NULL, &TxBuf);\r
+      Snp->GetStatus (Snp, NULL, (VOID **) &TxBuf);\r
 \r
       if (!EFI_ERROR (gBS->CheckEvent (MnpServiceData->TxTimeoutEvent))) {\r
 \r
@@ -749,7 +747,7 @@ MnpWrapRxData (
   //\r
   // Fill the RxData in RxDataWrap,\r
   //\r
-  RxDataWrap->RxData = *RxData;\r
+  CopyMem (&RxDataWrap->RxData, RxData, sizeof (EFI_MANAGED_NETWORK_RECEIVE_DATA));\r
 \r
   //\r
   // Create the recycle event.\r
@@ -829,7 +827,7 @@ MnpEnqueuePacket (
       //\r
       // Wrap the RxData.\r
       //\r
-      RxDataWrap = MnpWrapRxData (Instance, &RxData);\r
+      CopyMem (&RxDataWrap, MnpWrapRxData (Instance, &RxData), sizeof (MNP_RXDATA_WRAP));\r
       if (RxDataWrap == NULL) {\r
         continue;\r
       }\r
index 02c0065c34c108b135d651103b2b2f43d02700b8..ccd82d0e8785c0049839e4c8c786a36c38aeff09 100644 (file)
@@ -68,7 +68,7 @@ MnpGetModeData (
     //\r
     // Copy the instance configuration data.\r
     //\r
-    *MnpConfigData = Instance->ConfigData;\r
+    CopyMem (MnpConfigData, &Instance->ConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA));\r
   }\r
 \r
   if (SnpModeData != NULL) {\r
@@ -76,7 +76,7 @@ MnpGetModeData (
     // Copy the underlayer Snp mode data.\r
     //\r
     Snp           = Instance->MnpServiceData->Snp;\r
-    *SnpModeData  = *(Snp->Mode);\r
+    CopyMem (SnpModeData, Snp->Mode, sizeof (EFI_SIMPLE_NETWORK_MODE));\r
   }\r
 \r
   if (!Instance->Configured) {\r
@@ -229,7 +229,7 @@ MnpMcastIpToMac (
     MacAddress->Addr[0] = 0x01;\r
     MacAddress->Addr[1] = 0x00;\r
     MacAddress->Addr[2] = 0x5E;\r
-    MacAddress->Addr[3] = IpAddress->v4.Addr[1] & 0x7F;\r
+    MacAddress->Addr[3] = (UINT8) (IpAddress->v4.Addr[1] & 0x7F);\r
     MacAddress->Addr[4] = IpAddress->v4.Addr[2];\r
     MacAddress->Addr[5] = IpAddress->v4.Addr[3];\r
 \r
index 0a08032fc4a09103db90f086afeada04b10d9185..cc869eb3201cc2d39e3b3b43e7168ff592e306c8 100644 (file)
@@ -97,6 +97,7 @@ snp_undi32_reset (
   // Resolve Warning 4 unreferenced parameter problem\r
   //\r
   ExtendedVerification = 0;\r
+  DEBUG ((EFI_D_WARN, "ExtendedVerification = %d is not implemented!\n", ExtendedVerification));\r
 \r
   if (this == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
index 1f81fc39d3bad7cc967f5b1496b256d2fe88b080..bc704036984035cec07bb11cbffa6bf63dd1f172 100644 (file)
@@ -76,7 +76,7 @@ SockTcpDataToRcv (
 \r
   TcpRsvData  = (TCP_RSV_DATA *) RcvBufEntry->ProtoData;\r
 \r
-  *IsUrg      = ((TcpRsvData->UrgLen > 0) ? TRUE : FALSE);\r
+  *IsUrg      = (BOOLEAN) ((TcpRsvData->UrgLen > 0) ? TRUE : FALSE);\r
 \r
   if (*IsUrg && TcpRsvData->UrgLen < RcvBufEntry->TotalSize) {\r
 \r
@@ -100,7 +100,7 @@ SockTcpDataToRcv (
 \r
     TcpRsvData  = (TCP_RSV_DATA *) RcvBufEntry->ProtoData;\r
 \r
-    Urg         = ((TcpRsvData->UrgLen > 0) ? TRUE : FALSE);\r
+    Urg         = (BOOLEAN) ((TcpRsvData->UrgLen > 0) ? TRUE : FALSE);\r
 \r
     if (*IsUrg != Urg) {\r
       break;\r
@@ -165,7 +165,7 @@ SockSetTcpRxData (
   for (Index = 0; (Index < RxData->FragmentCount) && (RcvdBytes > 0); Index++) {\r
 \r
     Fragment  = &RxData->FragmentTable[Index];\r
-    CopyBytes = NET_MIN (Fragment->FragmentLength, RcvdBytes);\r
+    CopyBytes = NET_MIN ((UINT32) (Fragment->FragmentLength), RcvdBytes);\r
 \r
     NetbufQueCopy (\r
       Sock->RcvBuffer.DataQueue,\r
@@ -209,7 +209,7 @@ SockProcessRcvToken (
   TokenRcvdBytes = SockTcpDataToRcv (\r
                       &Sock->RcvBuffer,\r
                       &IsUrg,\r
-                      RxData->DataLength\r
+                      (UINT32) RxData->DataLength\r
                       );\r
 \r
   //\r
@@ -254,7 +254,7 @@ SockProcessTcpSndData (
   //\r
   SndData = NetbufFromExt (\r
               (NET_FRAGMENT *) TxData->FragmentTable,\r
-              TxData->FragmentCount,\r
+              (UINT32) TxData->FragmentCount,\r
               0,\r
               0,\r
               SockFreeFoo,\r
@@ -518,7 +518,7 @@ SockProcessSndToken (
     SndToken  = (SOCK_IO_TOKEN *) SockToken->Token;\r
     TxData    = SndToken->Packet.TxData;\r
 \r
-    DataLen = TxData->DataLength;\r
+    DataLen = (UINT32) TxData->DataLength;\r
     Status  = SockProcessTcpSndData (Sock, TxData);\r
 \r
     if (EFI_ERROR (Status)) {\r
index 0b71996e14c99dad4bfc65e43830ab730bc876f2..cde02b2bec0cf06aae6d2d016c8bd1db074332d9 100644 (file)
@@ -571,7 +571,7 @@ SockSend (
     goto Exit;\r
   }\r
 \r
-  DataLen = TxData->DataLength;\r
+  DataLen = (UINT32) TxData->DataLength;\r
 \r
   //\r
   // process this sending token now or buffer it only?\r
index f3978541fb8b3113c39fd0016177868353d3ff71..7c219e3b9b67db23bb5037ae21e94396c8f4e7be 100644 (file)
@@ -320,7 +320,7 @@ SockRcvdErr (
 //
 // the socket structure representing a network service access point
 //
-typedef struct _SOCKET {
+struct _SOCKET {
 
   //
   // socket description information
@@ -365,7 +365,7 @@ typedef struct _SOCKET {
     EFI_TCP4_PROTOCOL TcpProtocol;
     EFI_UDP4_PROTOCOL UdpProtocol;
   } NetProtocol;
-} SOCKET;
+};
 
 //
 // the token structure buffered in socket layer
index 9039905be655fc573bd46774d186e307c64bd5d8..ea7d732b847e25f58b14ca131c678c21c641df89 100644 (file)
@@ -104,7 +104,7 @@ Tcp4GetMode (
   }\r
 \r
   if (Mode->Tcp4State) {\r
-    *(Mode->Tcp4State) = Tcb->State;\r
+    *(Mode->Tcp4State) = (EFI_TCP4_CONNECTION_STATE) Tcb->State;\r
   }\r
 \r
   if (Mode->Tcp4ConfigData) {\r
@@ -139,9 +139,10 @@ Tcp4GetMode (
       Option->KeepAliveTime           = Tcb->KeepAliveIdle / TCP_TICK_HZ;\r
       Option->KeepAliveInterval       = Tcb->KeepAlivePeriod / TCP_TICK_HZ;\r
 \r
-      Option->EnableNagle      = !TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_NAGLE);\r
-      Option->EnableTimeStamp     = !TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_TS);\r
-      Option->EnableWindowScaling = !TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_WS);\r
+      Option->EnableNagle         = (BOOLEAN) (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_NAGLE));\r
+      Option->EnableTimeStamp     = (BOOLEAN) (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_TS));\r
+      Option->EnableWindowScaling = (BOOLEAN) (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_WS))\r
+;\r
 \r
       Option->EnableSelectiveAck      = FALSE;\r
       Option->EnablePathMtuDiscovery  = FALSE;\r
@@ -341,7 +342,6 @@ Tcp4ConfigurePcb (
   IN EFI_TCP4_CONFIG_DATA *CfgData\r
   )\r
 {\r
-  IP_IO               *IpIo;\r
   EFI_IP4_CONFIG_DATA IpCfgData;\r
   EFI_STATUS          Status;\r
   EFI_TCP4_OPTION     *Option;\r
@@ -352,14 +352,13 @@ Tcp4ConfigurePcb (
 \r
   TcpProto = (TCP4_PROTO_DATA *) Sk->ProtoReserved;\r
   Tcb      = TcpProto->TcpPcb;\r
-  IpIo     = TcpProto->TcpService->IpIo;\r
 \r
   ASSERT (Tcb != NULL);\r
 \r
   //\r
   // Add Ip for send pkt to the peer\r
   //\r
-  IpCfgData                   = mIpIoDefaultIpConfigData;\r
+  CopyMem (&IpCfgData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA));\r
   IpCfgData.DefaultProtocol   = EFI_IP_PROTO_TCP;\r
   IpCfgData.UseDefaultAddress = CfgData->AccessPoint.UseDefaultAddress;\r
   IpCfgData.StationAddress    = CfgData->AccessPoint.StationAddress;\r
@@ -441,25 +440,34 @@ Tcp4ConfigurePcb (
   if (Option != NULL) {\r
     SET_RCV_BUFFSIZE (\r
       Sk,\r
-      TCP_COMP_VAL (TCP_RCV_BUF_SIZE_MIN,\r
-      TCP_RCV_BUF_SIZE,\r
-      TCP_RCV_BUF_SIZE,\r
-      Option->ReceiveBufferSize)\r
+      (UINT32) (TCP_COMP_VAL (\r
+                  TCP_RCV_BUF_SIZE_MIN,\r
+                  TCP_RCV_BUF_SIZE,\r
+                  TCP_RCV_BUF_SIZE,\r
+                  Option->ReceiveBufferSize\r
+                  )\r
+               )\r
       );\r
     SET_SND_BUFFSIZE (\r
       Sk,\r
-      TCP_COMP_VAL (TCP_SND_BUF_SIZE_MIN,\r
-      TCP_SND_BUF_SIZE,\r
-      TCP_SND_BUF_SIZE,\r
-      Option->SendBufferSize)\r
+      (UINT32) (TCP_COMP_VAL (\r
+                  TCP_SND_BUF_SIZE_MIN,\r
+                  TCP_SND_BUF_SIZE,\r
+                  TCP_SND_BUF_SIZE,\r
+                  Option->SendBufferSize\r
+                  )\r
+               )\r
       );\r
 \r
     SET_BACKLOG (\r
       Sk,\r
-      TCP_COMP_VAL (TCP_BACKLOG_MIN,\r
-      TCP_BACKLOG,\r
-      TCP_BACKLOG,\r
-      Option->MaxSynBackLog)\r
+      (UINT32) (TCP_COMP_VAL (\r
+                  TCP_BACKLOG_MIN,\r
+                  TCP_BACKLOG,\r
+                  TCP_BACKLOG,\r
+                  Option->MaxSynBackLog\r
+                  )\r
+               )\r
       );\r
 \r
     Tcb->MaxRexmit = (UINT16) TCP_COMP_VAL (\r
@@ -472,7 +480,7 @@ Tcp4ConfigurePcb (
                               TCP_FIN_WAIT2_TIME,\r
                               TCP_FIN_WAIT2_TIME_MAX,\r
                               TCP_FIN_WAIT2_TIME,\r
-                              Option->FinTimeout * TCP_TICK_HZ\r
+                              (UINT32) (Option->FinTimeout * TCP_TICK_HZ)\r
                               );\r
 \r
     if (Option->TimeWaitTimeout != 0) {\r
@@ -480,7 +488,7 @@ Tcp4ConfigurePcb (
                                TCP_TIME_WAIT_TIME,\r
                                TCP_TIME_WAIT_TIME_MAX,\r
                                TCP_TIME_WAIT_TIME,\r
-                               Option->TimeWaitTimeout * TCP_TICK_HZ\r
+                               (UINT32) (Option->TimeWaitTimeout * TCP_TICK_HZ)\r
                                );\r
     } else {\r
       Tcb->TimeWaitTimeout = 0;\r
@@ -499,13 +507,13 @@ Tcp4ConfigurePcb (
                              TCP_KEEPALIVE_IDLE_MIN,\r
                              TCP_KEEPALIVE_IDLE_MAX,\r
                              TCP_KEEPALIVE_IDLE_MIN,\r
-                             Option->KeepAliveTime * TCP_TICK_HZ\r
+                             (UINT32) (Option->KeepAliveTime * TCP_TICK_HZ)\r
                              );\r
       Tcb->KeepAlivePeriod = TCP_COMP_VAL (\r
                                TCP_KEEPALIVE_PERIOD_MIN,\r
                                TCP_KEEPALIVE_PERIOD,\r
                                TCP_KEEPALIVE_PERIOD,\r
-                               Option->KeepAliveInterval * TCP_TICK_HZ\r
+                               (UINT32) (Option->KeepAliveInterval * TCP_TICK_HZ)\r
                                );\r
     }\r
 \r
@@ -513,7 +521,7 @@ Tcp4ConfigurePcb (
                             TCP_CONNECT_TIME_MIN,\r
                             TCP_CONNECT_TIME,\r
                             TCP_CONNECT_TIME,\r
-                            Option->ConnectionTimeout * TCP_TICK_HZ\r
+                            (UINT32) (Option->ConnectionTimeout * TCP_TICK_HZ)\r
                             );\r
 \r
     if (Option->EnableNagle == FALSE) {\r
index 2927849285568f1e5bc82ad2f2c72e170ba344ee..002cd61089522776129dbe9b42dc43c5d0219d3d 100644 (file)
@@ -44,7 +44,7 @@ EFI_TCP4_PROTOCOL mTcp4ProtocolTemplate = {
 \r
 SOCK_INIT_DATA mTcp4DefaultSockData = {\r
   SOCK_STREAM,\r
-  0,\r
+  (SOCK_STATE) 0,\r
   NULL,\r
   TCP_BACKLOG,\r
   TCP_SND_BUF_SIZE,\r
@@ -192,8 +192,8 @@ Returns:
   //\r
   Seed            = NetRandomInitSeed ();\r
   mTcpGlobalIss   = NET_RANDOM (Seed) % mTcpGlobalIss;\r
-  mTcp4RandomPort = TCP4_PORT_KNOWN +\r
-                    (UINT16) (NET_RANDOM(Seed) % TCP4_PORT_KNOWN);\r
+  mTcp4RandomPort = (UINT16) ( TCP4_PORT_KNOWN +\r
+                    (UINT16) (NET_RANDOM(Seed) % TCP4_PORT_KNOWN));\r
 \r
   return Status;\r
 }\r
@@ -306,7 +306,7 @@ Tcp4DriverBindingStart (
   //\r
   NetZeroMem (&OpenData, sizeof (IP_IO_OPEN_DATA));\r
 \r
-  OpenData.IpConfigData                 = mIpIoDefaultIpConfigData;\r
+  CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA));\r
   OpenData.IpConfigData.DefaultProtocol = EFI_IP_PROTO_TCP;\r
 \r
   OpenData.PktRcvdNotify = Tcp4RxCallback;\r
index 8a8cd8a9e377fa45a5abfd46ed6fd5194f711e1c..8f5a997957333dbeef92bbe3ffdf1f649c918042 100644 (file)
@@ -48,7 +48,7 @@ Tcp4ChkDataBuf (
   UINT32 Len;\r
 \r
   for (Index = 0, Len = 0; Index < FragmentCount; Index++) {\r
-    Len = Len + FragmentTable[Index].FragmentLength;\r
+    Len = Len + (UINT32) FragmentTable[Index].FragmentLength;\r
   }\r
 \r
   if (DataLen != Len) {\r
@@ -380,8 +380,8 @@ Tcp4Transmit (
   }\r
 \r
   Status = Tcp4ChkDataBuf (\r
-            Token->Packet.TxData->DataLength,\r
-            Token->Packet.TxData->FragmentCount,\r
+            (UINT32) Token->Packet.TxData->DataLength,\r
+            (UINT32) Token->Packet.TxData->FragmentCount,\r
             Token->Packet.TxData->FragmentTable\r
             );\r
   if (EFI_ERROR (Status)) {\r
@@ -447,8 +447,8 @@ Tcp4Receive (
   }\r
 \r
   Status = Tcp4ChkDataBuf (\r
-            Token->Packet.RxData->DataLength,\r
-            Token->Packet.RxData->FragmentCount,\r
+            (UINT32) Token->Packet.RxData->DataLength,\r
+            (UINT32) Token->Packet.RxData->FragmentCount,\r
             Token->Packet.RxData->FragmentTable\r
             );\r
   if (EFI_ERROR (Status)) {\r
index 7f1f141bc8c0d89a5b501d67c1a533fbaecfb5ee..9cb55a567d655aab8176579f05db1b65f47d77ed 100644 (file)
@@ -123,7 +123,7 @@ TcpInitTcbPeer (
   }\r
 \r
   if (TCP_FLG_ON (Opt->Flag, TCP_OPTION_RCVD_MSS)) {\r
-    Tcb->SndMss = NET_MAX (64, Opt->Mss);\r
+    Tcb->SndMss = (UINT16) NET_MAX (64, Opt->Mss);\r
 \r
     RcvMss = TcpGetRcvMss (Tcb->Sk);\r
     if (Tcb->SndMss > RcvMss) {\r
@@ -568,7 +568,7 @@ TcpChecksum (
               HTONS ((UINT16) Nbuf->TotalSize)\r
               );\r
 \r
-  return ~Checksum;\r
+  return (UINT16) ~Checksum;\r
 }\r
 \r
 \r
@@ -806,6 +806,7 @@ TcpOnAppConsume (
   IN TCP_CB *Tcb\r
   )\r
 {\r
+  UINT32 TcpOld;\r
 \r
   switch (Tcb->State) {\r
   case TCP_CLOSED:\r
@@ -822,9 +823,10 @@ TcpOnAppConsume (
     break;\r
 \r
   case TCP_ESTABLISHED:\r
-    if (TcpRcvWinNow (Tcb) > TcpRcvWinOld (Tcb)) {\r
+    TcpOld = TcpRcvWinOld (Tcb);\r
+    if (TcpRcvWinNow (Tcb) > TcpOld) {\r
 \r
-      if (TcpRcvWinOld (Tcb) < Tcb->RcvMss) {\r
+      if (TcpOld < Tcb->RcvMss) {\r
 \r
         TCP4_DEBUG_TRACE (("TcpOnAppConsume: send a window"\r
           " update for a window closed Tcb(%x)\n", Tcb));\r
index d430a2e10d45b155580b12597f38cf320f90a17e..b81f442a6fc3fc36080f6835e8a121396c9e0d39 100644 (file)
@@ -114,7 +114,7 @@ TcpSynBuildOption (
   IN NET_BUF *Nbuf\r
   )\r
 {\r
-  char    *Data;\r
+  UINT8   *Data;\r
   UINT16  Len;\r
 \r
   ASSERT (Tcb && Nbuf && !Nbuf->Tcp);\r
@@ -193,7 +193,7 @@ TcpBuildOption (
   IN NET_BUF *Nbuf\r
   )\r
 {\r
-  char    *Data;\r
+  UINT8   *Data;\r
   UINT16  Len;\r
 \r
   ASSERT (Tcb && Nbuf && !Nbuf->Tcp);\r
@@ -303,7 +303,7 @@ TcpParseOption (
         return -1;\r
       }\r
 \r
-      Option->WndScale = NET_MIN (14, Head[Cur + 2]);\r
+      Option->WndScale = (UINT8) NET_MIN (14, Head[Cur + 2]);\r
       TCP_SET_FLG (Option->Flag, TCP_OPTION_RCVD_WS);\r
 \r
       Cur += TCP_OPTION_WS_LEN;\r
@@ -340,7 +340,7 @@ TcpParseOption (
         return -1;\r
       }\r
 \r
-      Cur = Cur + Len;\r
+      Cur = (UINT8) (Cur + Len);\r
       break;\r
     }\r
 \r
index 8074cb55644ae07d48fe2fdd77dce508f8b8bfc7..cae0e885cffae72a5d6fcffd1a4dba9e6fd04a71 100644 (file)
@@ -72,7 +72,7 @@ enum {
   TCP_OPTION_MAX_WIN        = 0xffff, // max window size in TCP header
   TCP_OPTION_RCVD_MSS       = 0x01,
   TCP_OPTION_RCVD_WS        = 0x02,
-  TCP_OPTION_RCVD_TS        = 0x04,
+  TCP_OPTION_RCVD_TS        = 0x04
 };
 
 UINT8
index f2987e769c4bf17c169ede2fbced3eff7fed0a3a..870403fa2ee9a653136b7366dbe55112ef54991b 100644 (file)
@@ -1003,6 +1003,9 @@ TcpToSendAck (
   IN TCP_CB *Tcb\r
   )\r
 {\r
+  UINT32 TcpNow;\r
+\r
+  TcpNow = TcpRcvWinNow (Tcb);\r
   //\r
   // Generally, TCP should send a delayed ACK unless:\r
   //   1. ACK at least every other FULL sized segment received,\r
@@ -1011,7 +1014,7 @@ TcpToSendAck (
   //\r
   if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_ACK_NOW) ||\r
       (Tcb->DelayedAck >= 1) ||\r
-      (TcpRcvWinNow (Tcb) > TcpRcvWinOld (Tcb))\r
+      (TcpNow > TcpRcvWinOld (Tcb))\r
       ) {\r
     TcpSendAck (Tcb);\r
     return;\r
index 03daa6f04ed0bd1618eba99434232bdbaa558b3f..a35a51b3cc344e4c2e14b356dcf4f054d4901067 100644 (file)
@@ -42,7 +42,7 @@ enum {
   TCP_CLOSING,
   TCP_TIME_WAIT,
   TCP_CLOSE_WAIT,
-  TCP_LAST_ACK,
+  TCP_LAST_ACK
 };
 
 //
@@ -56,7 +56,7 @@ enum {
   TCP_FLG_PSH     = 0x08,
   TCP_FLG_ACK     = 0x10,
   TCP_FLG_URG     = 0x20,
-  TCP_FLG_FLAG    = 0x3F, // mask for all the flags
+  TCP_FLG_FLAG    = 0x3F  // mask for all the flags
 };
 
 enum {
@@ -144,7 +144,7 @@ enum {
   TCP_KEEPALIVE_IDLE_MAX  = TCP_TICK_HZ *60 *60 *4,
   TCP_KEEPALIVE_PERIOD_MIN= TCP_TICK_HZ *30,
   TCP_FIN_WAIT2_TIME_MAX  = 4 *TCP_TICK_HZ,
-  TCP_TIME_WAIT_TIME_MAX  = 60 *TCP_TICK_HZ,
+  TCP_TIME_WAIT_TIME_MAX  = 60 *TCP_TICK_HZ
 };
 
 typedef struct _TCP_SEG {
@@ -165,7 +165,7 @@ typedef struct _TCP_PEER {
 //
 // tcp control block, it includes various states
 //
-typedef struct _TCP_CB {
+struct _TCP_CB {
   NET_LIST_ENTRY    List;
   TCP_CB            *Parent;
 
@@ -269,7 +269,7 @@ typedef struct _TCP_CB {
   // pointer reference to Ip used to send pkt
   //
   IP_IO_IP_INFO     *IpInfo;
-} TCP_CB;
+};
 
 extern NET_LIST_ENTRY mTcpRunQue;
 extern NET_LIST_ENTRY mTcpListenQue;
@@ -336,8 +336,8 @@ extern UINT32         mTcpTick;
     (((Pb)->Port == 0) || ((Pb)->Port == (Pa)->Port)))
 
 #define TCP_TIMER_ON(Flag, Timer)     ((Flag) & (1 << (Timer)))
-#define TCP_SET_TIMER(Flag, Timer)    ((Flag) |= (1 << (Timer)))
-#define TCP_CLEAR_TIMER(Flag, Timer)  ((Flag) &= ~(1 << (Timer)))
+#define TCP_SET_TIMER(Flag, Timer)    ((Flag) = (UINT16) ((Flag) | (1 << (Timer))))
+#define TCP_CLEAR_TIMER(Flag, Timer)  ((Flag) = (UINT16) ((Flag) & (~(1 << (Timer)))))
 
 #define TCP_TIME_LT(Ta, Tb)           ((INT32) ((Ta) - (Tb)) < 0)
 #define TCP_TIME_LEQ(Ta, Tb)          ((INT32) ((Ta) - (Tb)) <= 0)
index dd7522e91f85a2dd53ae3dd42cd2396b6b97dc9c..e6fddd80520498f0f39a39fcb981555c674d014d 100644 (file)
@@ -172,7 +172,7 @@ Udp4CreateService (
   //\r
   // Set the OpenData used to open the IpIo.\r
   //\r
-  OpenData.IpConfigData                 = mIpIoDefaultIpConfigData;\r
+  CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA));\r
   OpenData.IpConfigData.AcceptBroadcast = TRUE;\r
   OpenData.RcvdContext                  = (VOID *) Udp4Service;\r
   OpenData.SndContext                   = NULL;\r
@@ -359,7 +359,7 @@ Udp4InitInstance (
   // Save the pointer to the UDP4_SERVICE_DATA, and initialize other members.\r
   //\r
   Instance->Udp4Service = Udp4Service;\r
-  Instance->Udp4Proto   = mUdp4Protocol;\r
+  CopyMem (&Instance->Udp4Proto, &mUdp4Protocol, sizeof (EFI_UDP4_PROTOCOL));\r
   Instance->IcmpError   = EFI_SUCCESS;\r
   Instance->Configured  = FALSE;\r
   Instance->IsNoMapping = FALSE;\r
@@ -613,7 +613,8 @@ Udp4BuildIp4ConfigData (
   IN EFI_IP4_CONFIG_DATA   *Ip4ConfigData\r
   )\r
 {\r
-  *Ip4ConfigData                   = mIpIoDefaultIpConfigData;\r
+  CopyMem (Ip4ConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA));\r
+\r
   Ip4ConfigData->DefaultProtocol   = EFI_IP_PROTO_UDP;\r
   Ip4ConfigData->AcceptBroadcast   = Udp4ConfigData->AcceptBroadcast;\r
   Ip4ConfigData->AcceptPromiscuous = Udp4ConfigData->AcceptPromiscuous;\r
@@ -1280,7 +1281,7 @@ Udp4WrapRxData (
 \r
   NetListInit (&Wrap->Link);\r
 \r
-  Wrap->RxData = *RxData;\r
+  CopyMem (&Wrap->RxData, RxData, sizeof (EFI_UDP4_RECEIVE_DATA));\r
 \r
   //\r
   // Create the Recycle event.\r
@@ -1345,7 +1346,7 @@ Udp4EnqueueDgram (
       //\r
       // Wrap the RxData and put this Wrap into the instances RcvdDgramQue.\r
       //\r
-      Wrap = Udp4WrapRxData (Instance, Packet, RxData);\r
+      CopyMem (&Wrap, Udp4WrapRxData (Instance, Packet, RxData), sizeof (UDP4_RXDATA_WRAP));\r
       if (Wrap == NULL) {\r
         continue;\r
       }\r
index 4f897cb54bbaad75b5752fdfdbbd188c1872daae..5343bd5c4bedd152df1fedabb4d7eb67f7d848ed 100644 (file)
@@ -86,7 +86,7 @@ Udp4GetModeData (
     //\r
     // Set the Udp4ConfigData.\r
     //\r
-    *Udp4ConfigData = Instance->ConfigData;\r
+    CopyMem (Udp4ConfigData, &Instance->ConfigData, sizeof (EFI_UDP4_CONFIG_DATA));\r
   }\r
 \r
   Ip = Instance->IpInfo->Ip;\r
@@ -232,7 +232,7 @@ Udp4Configure (
       //\r
       // Save the configuration data.\r
       //\r
-      Instance->ConfigData                = *UdpConfigData;\r
+      CopyMem (&Instance->ConfigData, UdpConfigData, sizeof (EFI_UDP4_CONFIG_DATA));\r
       Instance->ConfigData.StationAddress = Ip4ConfigData.StationAddress;\r
       Instance->ConfigData.SubnetMask     = Ip4ConfigData.SubnetMask;\r
 \r