]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.c
Fixed GCC 4.4 build issues due to EFIAPI not being used when required.
[mirror_edk2.git] / MdeModulePkg / Library / DxeIpIoLib / DxeIpIoLib.c
index 5aaef6d743f55e1117587622f96187a008ce8f3d..887fb3084bb3a7a02d90d9657e9d7ee7522505a2 100644 (file)
@@ -24,12 +24,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/DpcLib.h>\r
 \r
 \r
-LIST_ENTRY  mActiveIpIoList = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY  mActiveIpIoList = {\r
   &mActiveIpIoList,\r
   &mActiveIpIoList\r
 };\r
 \r
-EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {\r
   EFI_IP_PROTO_UDP,\r
   FALSE,\r
   TRUE,\r
@@ -46,7 +46,7 @@ EFI_IP4_CONFIG_DATA  mIp4IoDefaultIpConfigData = {
   0\r
 };\r
 \r
-EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {\r
   EFI_IP_PROTO_UDP,\r
   FALSE,\r
   TRUE,\r
@@ -60,7 +60,7 @@ EFI_IP6_CONFIG_DATA  mIp6IoDefaultIpConfigData = {
   0\r
 };\r
 \r
-ICMP_ERROR_INFO  mIcmpErrMap[10] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED ICMP_ERROR_INFO  mIcmpErrMap[10] = {\r
   {FALSE, TRUE }, // ICMP_ERR_UNREACH_NET\r
   {FALSE, TRUE }, // ICMP_ERR_UNREACH_HOST\r
   {TRUE,  TRUE }, // ICMP_ERR_UNREACH_PROTOCOL\r
@@ -73,7 +73,7 @@ ICMP_ERROR_INFO  mIcmpErrMap[10] = {
   {FALSE, TRUE }  // ICMP_ERR_PARAMPROB\r
 };\r
 \r
-ICMP_ERROR_INFO  mIcmp6ErrMap[10] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED ICMP_ERROR_INFO  mIcmp6ErrMap[10] = {\r
   {FALSE, TRUE}, // ICMP6_ERR_UNREACH_NET\r
   {FALSE, TRUE}, // ICMP6_ERR_UNREACH_HOST\r
   {TRUE,  TRUE}, // ICMP6_ERR_UNREACH_PROTOCOL\r
@@ -136,7 +136,7 @@ IpIoCreateIpChildOpenProtocol (
   IN  EFI_HANDLE  ControllerHandle,\r
   IN  EFI_HANDLE  ImageHandle,\r
   IN  EFI_HANDLE  *ChildHandle,\r
-  IN  IP_VERSION  IpVersion,  \r
+  IN  UINT8       IpVersion,\r
   OUT VOID        **Interface\r
   )\r
 {\r
@@ -213,7 +213,7 @@ IpIoCloseProtocolDestroyIpChild (
   IN EFI_HANDLE  ControllerHandle,\r
   IN EFI_HANDLE  ImageHandle,\r
   IN EFI_HANDLE  ChildHandle,\r
-  IN IP_VERSION  IpVersion\r
+  IN UINT8       IpVersion\r
   )\r
 {\r
   EFI_STATUS  Status;\r
@@ -274,7 +274,7 @@ IpIoIcmpv4Handler (
 {\r
   IP4_ICMP_ERROR_HEAD  *IcmpHdr;\r
   EFI_IP4_HEADER       *IpHdr;\r
-  ICMP_ERROR           IcmpErr;\r
+  UINT8                IcmpErr;\r
   UINT8                *PayLoadHdr;\r
   UINT8                Type;\r
   UINT8                Code;\r
@@ -307,7 +307,7 @@ IpIoIcmpv4Handler (
     case ICMP_CODE_UNREACH_PROTOCOL:\r
     case ICMP_CODE_UNREACH_PORT:\r
     case ICMP_CODE_UNREACH_SRCFAIL:\r
-      IcmpErr = (ICMP_ERROR) (ICMP_ERR_UNREACH_NET + Code);\r
+      IcmpErr = (UINT8) (ICMP_ERR_UNREACH_NET + Code);\r
 \r
       break;\r
 \r
@@ -342,7 +342,7 @@ IpIoIcmpv4Handler (
       return EFI_ABORTED;\r
     }\r
 \r
-    IcmpErr = (ICMP_ERROR) (Code + ICMP_ERR_TIMXCEED_INTRANS);\r
+    IcmpErr = (UINT8) (Code + ICMP_ERR_TIMXCEED_INTRANS);\r
 \r
     break;\r
 \r
@@ -403,7 +403,7 @@ IpIoIcmpv6Handler (
 {\r
   IP6_ICMP_ERROR_HEAD  *IcmpHdr;\r
   EFI_IP6_HEADER       *IpHdr;\r
-  ICMP6_ERROR          IcmpErr;\r
+  UINT8                IcmpErr;\r
   UINT8                *PayLoadHdr;\r
   UINT8                Type;\r
   UINT8                Code;\r
@@ -470,7 +470,7 @@ IpIoIcmpv6Handler (
       return EFI_ABORTED;\r
     }\r
 \r
-    IcmpErr = (ICMP6_ERROR) (ICMP6_ERR_TIMXCEED_HOPLIMIT + Code);\r
+    IcmpErr = (UINT8) (ICMP6_ERR_TIMXCEED_HOPLIMIT + Code);\r
 \r
     break;\r
 \r
@@ -479,7 +479,7 @@ IpIoIcmpv6Handler (
       return EFI_ABORTED;\r
     }\r
 \r
-    IcmpErr = (ICMP6_ERROR) (ICMP6_ERR_PARAMPROB_HEADER + Code);\r
+    IcmpErr = (UINT8) (ICMP6_ERR_PARAMPROB_HEADER + Code);\r
 \r
     break;\r
 \r
@@ -538,7 +538,7 @@ IpIoIcmpv6Handler (
   \r
   NetbufTrim (Pkt, TrimBytes, TRUE);\r
 \r
-  IpIo->PktRcvdNotify (EFI_ICMP_ERROR, (ICMP_ERROR) IcmpErr, Session, Pkt, IpIo->RcvdContext);\r
+  IpIo->PktRcvdNotify (EFI_ICMP_ERROR, IcmpErr, Session, Pkt, IpIo->RcvdContext);\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -587,6 +587,7 @@ IpIoIcmpHandler (
 \r
 **/\r
 VOID\r
+EFIAPI\r
 IpIoExtFree (\r
   IN VOID  *Event\r
   )\r
@@ -1029,7 +1030,7 @@ IpIoListenHandlerDpc (
 \r
   if (IpIo->IpVersion == IP_VERSION_4) {\r
     if ((EFI_IP4 (RxData->Ip4RxData.Header->SourceAddress) != 0) &&\r
-      !Ip4IsUnicast (EFI_NTOHL (((EFI_IP4_RECEIVE_DATA *) RxData)->Header->SourceAddress), 0)) {\r
+      !NetIp4IsUnicast (EFI_NTOHL (((EFI_IP4_RECEIVE_DATA *) RxData)->Header->SourceAddress), 0)) {\r
     //\r
     // The source address is not zero and it's not a unicast IP address, discard it.\r
     //\r
@@ -1057,10 +1058,11 @@ IpIoListenHandlerDpc (
   Session.Source.Addr[0] = EFI_IP4 (RxData->Ip4RxData.Header->SourceAddress);\r
   Session.Dest.Addr[0]   = EFI_IP4 (RxData->Ip4RxData.Header->DestinationAddress);\r
   Session.IpHdr.Ip4Hdr   = RxData->Ip4RxData.Header;\r
+  Session.IpHdrLen       = RxData->Ip4RxData.HeaderLength;\r
   Session.IpVersion      = IP_VERSION_4;\r
   } else {\r
 \r
-    if (!Ip6IsValidUnicast(&RxData->Ip6RxData.Header->SourceAddress)) {\r
+    if (!NetIp6IsValidUnicast(&RxData->Ip6RxData.Header->SourceAddress)) {\r
       goto CleanUp;\r
     }\r
     \r
@@ -1093,12 +1095,13 @@ IpIoListenHandlerDpc (
       sizeof(EFI_IPv6_ADDRESS)\r
       );\r
     Session.IpHdr.Ip6Hdr = RxData->Ip6RxData.Header;\r
+    Session.IpHdrLen     = RxData->Ip6RxData.HeaderLength;\r
     Session.IpVersion    = IP_VERSION_6;\r
   } \r
 \r
   if (EFI_SUCCESS == Status) {\r
 \r
-    IpIo->PktRcvdNotify (EFI_SUCCESS, (ICMP_ERROR) 0, &Session, Pkt, IpIo->RcvdContext);\r
+    IpIo->PktRcvdNotify (EFI_SUCCESS, 0, &Session, Pkt, IpIo->RcvdContext);\r
   } else {\r
     //\r
     // Status is EFI_ICMP_ERROR\r
@@ -1170,7 +1173,7 @@ EFIAPI
 IpIoCreate (\r
   IN EFI_HANDLE Image,\r
   IN EFI_HANDLE Controller,\r
-  IN IP_VERSION IpVersion  \r
+  IN UINT8      IpVersion\r
   )\r
 {\r
   EFI_STATUS  Status;\r
@@ -1264,7 +1267,7 @@ IpIoOpen (
 {\r
   EFI_STATUS        Status;\r
   VOID              *Ip;\r
-  IP_VERSION        IpVersion;\r
+  UINT8             IpVersion;\r
 \r
   if (IpIo->IsConfigured) {\r
     return EFI_ACCESS_DENIED;\r
@@ -1379,7 +1382,7 @@ IpIoStop (
   EFI_STATUS        Status;\r
   VOID              *Ip;\r
   IP_IO_IP_INFO     *IpInfo;\r
-  IP_VERSION        IpVersion;\r
+  UINT8             IpVersion;\r
 \r
   if (!IpIo->IsConfigured) {\r
     return EFI_SUCCESS;\r
@@ -1728,7 +1731,7 @@ IpIoConfigIp (
 {\r
   EFI_STATUS         Status;\r
   VOID               *Ip;\r
-  IP_VERSION         IpVersion;\r
+  UINT8              IpVersion;\r
   EFI_IP4_MODE_DATA  Ip4ModeData;\r
   EFI_IP6_MODE_DATA  Ip6ModeData;\r
 \r
@@ -1885,7 +1888,7 @@ IpIoRemoveIp (
   )\r
 {\r
 \r
-  IP_VERSION          IpVersion;\r
+  UINT8               IpVersion;\r
 \r
   ASSERT (IpInfo->RefCnt > 0);\r
 \r
@@ -1957,7 +1960,7 @@ IP_IO_IP_INFO *
 EFIAPI\r
 IpIoFindSender (\r
   IN OUT IP_IO           **IpIo,\r
-  IN     IP_VERSION      IpVersion,\r
+  IN     UINT8           IpVersion,\r
   IN     EFI_IP_ADDRESS  *Src\r
   )\r
 {\r
@@ -2010,10 +2013,9 @@ IpIoFindSender (
 \r
   @param[in]   IcmpError             IcmpError Type.\r
   @param[in]   IpVersion             The version of the IP protocol to use,\r
-                                     either IPv4 or IPv6.\r
-  \r
-  @param[out]  IsHard                Whether it is a hard error.\r
-  @param[out]  Notify                Whether it need to notify SockError.\r
+                                     either IPv4 or IPv6. \r
+  @param[out]  IsHard                If TRUE, indicates that it is a hard error.\r
+  @param[out]  Notify                If TRUE, SockError needs to be notified.\r
 \r
   @return ICMP Error Status, such as EFI_NETWORK_UNREACHABLE.\r
 \r
@@ -2021,14 +2023,14 @@ IpIoFindSender (
 EFI_STATUS\r
 EFIAPI\r
 IpIoGetIcmpErrStatus (\r
-  IN  ICMP_ERROR  IcmpError,\r
-  IN  IP_VERSION  IpVersion,\r
+  IN  UINT8       IcmpError,\r
+  IN  UINT8       IpVersion,\r
   OUT BOOLEAN     *IsHard  OPTIONAL,\r
   OUT BOOLEAN     *Notify  OPTIONAL\r
   )\r
 {\r
   if (IpVersion == IP_VERSION_4 ) {\r
-    ASSERT ((IcmpError >= ICMP_ERR_UNREACH_NET) && (IcmpError <= ICMP_ERR_PARAMPROB));\r
+    ASSERT (IcmpError <= ICMP_ERR_PARAMPROB);\r
 \r
     if (IsHard != NULL) {\r
       *IsHard = mIcmpErrMap[IcmpError].IsHard;\r
@@ -2066,7 +2068,7 @@ IpIoGetIcmpErrStatus (
 \r
   } else if (IpVersion == IP_VERSION_6) {\r
 \r
-    ASSERT ((IcmpError >= ICMP6_ERR_UNREACH_NET) && (IcmpError <= ICMP6_ERR_PARAMPROB_IPV6OPTION));\r
+    ASSERT (IcmpError <= ICMP6_ERR_PARAMPROB_IPV6OPTION);\r
 \r
     if (IsHard != NULL) {\r
       *IsHard = mIcmp6ErrMap[IcmpError].IsHard;\r