]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c
Use Mde library and definition instead of some native definitions in NetLib, to simpl...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Udp4Dxe / Udp4Impl.c
index 9cbd29511fc5ee01fbbd519c2675680d4dc1a14f..c190a1df80f1a758a152f7c87ed6439bf5c8cc3a 100644 (file)
@@ -36,7 +36,7 @@ Udp4CheckTimeout (
 STATIC\r
 BOOLEAN\r
 Udp4FindInstanceByPort (\r
-  IN NET_LIST_ENTRY    *InstanceList,\r
+  IN LIST_ENTRY        *InstanceList,\r
   IN EFI_IPv4_ADDRESS  *Address,\r
   IN UINT16            Port\r
   );\r
@@ -153,13 +153,15 @@ Udp4CreateService (
   EFI_STATUS       Status;\r
   IP_IO_OPEN_DATA  OpenData;\r
 \r
+  ZeroMem (Udp4Service, sizeof (UDP4_SERVICE_DATA));\r
+\r
   Udp4Service->Signature        = UDP4_SERVICE_DATA_SIGNATURE;\r
   Udp4Service->ServiceBinding   = mUdp4ServiceBinding;\r
   Udp4Service->ImageHandle      = ImageHandle;\r
   Udp4Service->ControllerHandle = ControllerHandle;\r
   Udp4Service->ChildrenNumber   = 0;\r
 \r
-  NetListInit (&Udp4Service->ChildrenList);\r
+  InitializeListHead (&Udp4Service->ChildrenList);\r
 \r
   //\r
   // Create the IpIo for this service context.\r
@@ -184,7 +186,7 @@ Udp4CreateService (
   //\r
   Status = IpIoOpen (Udp4Service->IpIo, &OpenData);\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_IPIO;\r
+    goto ON_ERROR;\r
   }\r
 \r
   //\r
@@ -192,13 +194,13 @@ Udp4CreateService (
   //\r
   Status = gBS->CreateEvent (\r
                   EVT_TIMER | EVT_NOTIFY_SIGNAL,\r
-                  NET_TPL_TIMER,\r
+                  TPL_CALLBACK,\r
                   Udp4CheckTimeout,\r
                   Udp4Service,\r
                   &Udp4Service->TimeoutEvent\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_IPIO;\r
+    goto ON_ERROR;\r
   }\r
 \r
   //\r
@@ -210,18 +212,16 @@ Udp4CreateService (
                   UDP4_TIMEOUT_INTERVAL\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_ALL;\r
+    goto ON_ERROR;\r
   }\r
 \r
-  Udp4Service->MacString = NULL;\r
-\r
   return EFI_SUCCESS;\r
 \r
-RELEASE_ALL:\r
-\r
-  gBS->CloseEvent (Udp4Service->TimeoutEvent);\r
+ON_ERROR:\r
 \r
-RELEASE_IPIO:\r
+  if (Udp4Service->TimeoutEvent != NULL) {\r
+    gBS->CloseEvent (Udp4Service->TimeoutEvent);\r
+  }\r
 \r
   IpIoDestroy (Udp4Service->IpIo);\r
 \r
@@ -279,10 +279,10 @@ Udp4CheckTimeout (
   )\r
 {\r
   UDP4_SERVICE_DATA   *Udp4Service;\r
-  NET_LIST_ENTRY      *Entry;\r
+  LIST_ENTRY          *Entry;\r
   UDP4_INSTANCE_DATA  *Instance;\r
-  NET_LIST_ENTRY      *WrapEntry;\r
-  NET_LIST_ENTRY      *NextEntry;\r
+  LIST_ENTRY          *WrapEntry;\r
+  LIST_ENTRY          *NextEntry;\r
   UDP4_RXDATA_WRAP    *Wrap;\r
 \r
   Udp4Service = (UDP4_SERVICE_DATA *) Context;\r
@@ -344,9 +344,9 @@ Udp4InitInstance (
   //\r
   // Init the lists.\r
   //\r
-  NetListInit (&Instance->Link);\r
-  NetListInit (&Instance->RcvdDgramQue);\r
-  NetListInit (&Instance->DeliveredDgramQue);\r
+  InitializeListHead (&Instance->Link);\r
+  InitializeListHead (&Instance->RcvdDgramQue);\r
+  InitializeListHead (&Instance->DeliveredDgramQue);\r
 \r
   //\r
   // Init the NET_MAPs.\r
@@ -400,12 +400,12 @@ Udp4CleanInstance (
 STATIC\r
 BOOLEAN\r
 Udp4FindInstanceByPort (\r
-  IN NET_LIST_ENTRY    *InstanceList,\r
+  IN LIST_ENTRY        *InstanceList,\r
   IN EFI_IPv4_ADDRESS  *Address,\r
   IN UINT16            Port\r
   )\r
 {\r
-  NET_LIST_ENTRY        *Entry;\r
+  LIST_ENTRY            *Entry;\r
   UDP4_INSTANCE_DATA    *Instance;\r
   EFI_UDP4_CONFIG_DATA  *ConfigData;\r
 \r
@@ -457,7 +457,7 @@ Udp4FindInstanceByPort (
 **/\r
 EFI_STATUS\r
 Udp4Bind (\r
-  IN NET_LIST_ENTRY        *InstanceList,\r
+  IN LIST_ENTRY            *InstanceList,\r
   IN EFI_UDP4_CONFIG_DATA  *ConfigData\r
   )\r
 {\r
@@ -701,7 +701,7 @@ Udp4ValidateTxToken (
   }\r
 \r
   if (TxData->GatewayAddress != NULL) {\r
-    NetCopyMem (&GatewayAddress, TxData->GatewayAddress, sizeof (IP4_ADDR));\r
+    CopyMem (&GatewayAddress, TxData->GatewayAddress, sizeof (IP4_ADDR));\r
 \r
     if (!Ip4IsUnicast (NTOHL (GatewayAddress), 0)) {\r
       //\r
@@ -716,7 +716,7 @@ Udp4ValidateTxToken (
 \r
   if (UdpSessionData != NULL) {\r
 \r
-    NetCopyMem (&SourceAddress, &UdpSessionData->SourceAddress, sizeof (IP4_ADDR));\r
+    CopyMem (&SourceAddress, &UdpSessionData->SourceAddress, sizeof (IP4_ADDR));\r
 \r
     if ((SourceAddress != 0) && !Ip4IsUnicast (HTONL (SourceAddress), 0)) {\r
       //\r
@@ -1069,7 +1069,7 @@ Udp4FlushRcvdDgram (
 {\r
   UDP4_RXDATA_WRAP  *Wrap;\r
 \r
-  while (!NetListIsEmpty (&Instance->RcvdDgramQue)) {\r
+  while (!IsListEmpty (&Instance->RcvdDgramQue)) {\r
     //\r
     // Iterate all the Wraps in the RcvdDgramQue.\r
     //\r
@@ -1190,7 +1190,7 @@ Udp4MatchDgram (
     return TRUE;\r
   }\r
 \r
-  NetCopyMem (&Destination, &Udp4Session->DestinationAddress, sizeof (IP4_ADDR));\r
+  CopyMem (&Destination, &Udp4Session->DestinationAddress, sizeof (IP4_ADDR));\r
 \r
   if (IP4_IS_LOCAL_BROADCAST (Destination) && ConfigData->AcceptBroadcast) {\r
     //\r
@@ -1235,7 +1235,7 @@ Udp4RecycleRxDataWrap (
   //\r
   // Remove the Wrap from the list it belongs to.\r
   //\r
-  NetListRemoveEntry (&Wrap->Link);\r
+  RemoveEntryList (&Wrap->Link);\r
 \r
   //\r
   // Free the Packet associated with this Wrap.\r
@@ -1247,7 +1247,7 @@ Udp4RecycleRxDataWrap (
   //\r
   gBS->CloseEvent (Wrap->RxData.RecycleSignal);\r
 \r
-  NetFreePool (Wrap);\r
+  gBS->FreePool (Wrap);\r
 }\r
 \r
 \r
@@ -1277,13 +1277,13 @@ Udp4WrapRxData (
   //\r
   // Allocate buffer for the Wrap.\r
   //\r
-  Wrap = NetAllocatePool (sizeof (UDP4_RXDATA_WRAP) +\r
+  Wrap = AllocatePool (sizeof (UDP4_RXDATA_WRAP) +\r
          (Packet->BlockOpNum - 1) * sizeof (EFI_UDP4_FRAGMENT_DATA));\r
   if (Wrap == NULL) {\r
     return NULL;\r
   }\r
 \r
-  NetListInit (&Wrap->Link);\r
+  InitializeListHead (&Wrap->Link);\r
 \r
   CopyMem (&Wrap->RxData, RxData, sizeof (Wrap->RxData));\r
 \r
@@ -1292,13 +1292,13 @@ Udp4WrapRxData (
   //\r
   Status = gBS->CreateEvent (\r
                   EVT_NOTIFY_SIGNAL,\r
-                  NET_TPL_RECYCLE,\r
+                  TPL_NOTIFY,\r
                   Udp4RecycleRxDataWrap,\r
                   Wrap,\r
                   &Wrap->RxData.RecycleSignal\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    NetFreePool (Wrap);\r
+    gBS->FreePool (Wrap);\r
     return NULL;\r
   }\r
 \r
@@ -1329,7 +1329,7 @@ Udp4EnqueueDgram (
   IN EFI_UDP4_RECEIVE_DATA  *RxData\r
   )\r
 {\r
-  NET_LIST_ENTRY      *Entry;\r
+  LIST_ENTRY          *Entry;\r
   UDP4_INSTANCE_DATA  *Instance;\r
   UDP4_RXDATA_WRAP    *Wrap;\r
   UINTN               Enqueued;\r
@@ -1357,7 +1357,7 @@ Udp4EnqueueDgram (
 \r
       NET_GET_REF (Packet);\r
 \r
-      NetListInsertTail (&Instance->RcvdDgramQue, &Wrap->Link);\r
+      InsertTailList (&Instance->RcvdDgramQue, &Wrap->Link);\r
 \r
       Enqueued++;\r
     }\r
@@ -1386,7 +1386,7 @@ Udp4InstanceDeliverDgram (
   EFI_UDP4_RECEIVE_DATA      *RxData;\r
   EFI_TPL                    OldTpl;\r
 \r
-  if (!NetListIsEmpty (&Instance->RcvdDgramQue) &&\r
+  if (!IsListEmpty (&Instance->RcvdDgramQue) &&\r
     !NetMapIsEmpty (&Instance->RxTokens)) {\r
 \r
     Wrap = NET_LIST_HEAD (&Instance->RcvdDgramQue, UDP4_RXDATA_WRAP, Link);\r
@@ -1424,9 +1424,9 @@ Udp4InstanceDeliverDgram (
     Token->Status        = EFI_SUCCESS;\r
     Token->Packet.RxData = &Wrap->RxData;\r
 \r
-    OldTpl = NET_RAISE_TPL (NET_TPL_RECYCLE);\r
-    NetListInsertTail (&Instance->DeliveredDgramQue, &Wrap->Link);\r
-    NET_RESTORE_TPL (OldTpl);\r
+    OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
+    InsertTailList (&Instance->DeliveredDgramQue, &Wrap->Link);\r
+    gBS->RestoreTPL (OldTpl);\r
 \r
     gBS->SignalEvent (Token->Event);\r
   }\r
@@ -1447,7 +1447,7 @@ Udp4DeliverDgram (
   IN UDP4_SERVICE_DATA  *Udp4Service\r
   )\r
 {\r
-  NET_LIST_ENTRY      *Entry;\r
+  LIST_ENTRY          *Entry;\r
   UDP4_INSTANCE_DATA  *Instance;\r
 \r
   NET_LIST_FOR_EACH (Entry, &Udp4Service->ChildrenList) {\r
@@ -1524,8 +1524,8 @@ Udp4Demultiplex (
   Udp4Session->SourcePort      = NTOHS (Udp4Header->SrcPort);\r
   Udp4Session->DestinationPort = NTOHS (Udp4Header->DstPort);\r
 \r
-  NetCopyMem (&Udp4Session->SourceAddress, &NetSession->Source, sizeof (EFI_IPv4_ADDRESS));\r
-  NetCopyMem (&Udp4Session->DestinationAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
+  CopyMem (&Udp4Session->SourceAddress, &NetSession->Source, sizeof (EFI_IPv4_ADDRESS));\r
+  CopyMem (&Udp4Session->DestinationAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
 \r
   //\r
   // Trim the UDP header.\r
@@ -1629,13 +1629,13 @@ Udp4SendPortUnreach (
   //\r
   // Copy the IP header of the datagram tragged the error.\r
   //\r
-  NetCopyMem (&IcmpErrHdr->IpHead, IpHdr, EFI_IP4_HEADER_LEN (IpHdr));\r
+  CopyMem (&IcmpErrHdr->IpHead, IpHdr, EFI_IP4_HEADER_LEN (IpHdr));\r
 \r
   //\r
   // Copy the UDP header.\r
   //\r
   Ptr = (UINT8 *) &IcmpErrHdr->IpHead + EFI_IP4_HEADER_LEN (IpHdr);\r
-  NetCopyMem (Ptr, Udp4Header, ICMP_ERROR_PACKET_LENGTH);\r
+  CopyMem (Ptr, Udp4Header, ICMP_ERROR_PACKET_LENGTH);\r
 \r
   //\r
   // Calculate the checksum.\r
@@ -1650,8 +1650,8 @@ Udp4SendPortUnreach (
   Override.TimeToLive    = 255;\r
   Override.Protocol      = EFI_IP_PROTO_ICMP;\r
 \r
-  NetCopyMem (&Override.SourceAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
-  NetZeroMem (&Override.GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
+  CopyMem (&Override.SourceAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
+  ZeroMem (&Override.GatewayAddress, sizeof (EFI_IPv4_ADDRESS));\r
 \r
   //\r
   // Send out this icmp packet.\r
@@ -1686,13 +1686,13 @@ Udp4IcmpHandler (
 {\r
   EFI_UDP4_HEADER        *Udp4Header;\r
   EFI_UDP4_SESSION_DATA  Udp4Session;\r
-  NET_LIST_ENTRY         *Entry;\r
+  LIST_ENTRY             *Entry;\r
   UDP4_INSTANCE_DATA     *Instance;\r
 \r
   Udp4Header = (EFI_UDP4_HEADER *) NetbufGetByte (Packet, 0, NULL);\r
 \r
-  NetCopyMem (&Udp4Session.SourceAddress, &NetSession->Source, sizeof (EFI_IPv4_ADDRESS));\r
-  NetCopyMem (&Udp4Session.DestinationAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
+  CopyMem (&Udp4Session.SourceAddress, &NetSession->Source, sizeof (EFI_IPv4_ADDRESS));\r
+  CopyMem (&Udp4Session.DestinationAddress, &NetSession->Dest, sizeof (EFI_IPv4_ADDRESS));\r
 \r
   Udp4Session.SourcePort      = NTOHS (Udp4Header->DstPort);\r
   Udp4Session.DestinationPort = NTOHS (Udp4Header->SrcPort);\r
@@ -1815,7 +1815,7 @@ Udp4SetVariableData (
   )\r
 {\r
   UINT32                  NumConfiguredInstance;\r
-  NET_LIST_ENTRY          *Entry;\r
+  LIST_ENTRY              *Entry;\r
   UINTN                   VariableDataSize;\r
   EFI_UDP4_VARIABLE_DATA  *Udp4VariableData;\r
   EFI_UDP4_SERVICE_POINT  *Udp4ServicePoint;\r
@@ -1852,7 +1852,7 @@ Udp4SetVariableData (
     VariableDataSize += sizeof (EFI_UDP4_SERVICE_POINT) * (NumConfiguredInstance - 1);\r
   }\r
 \r
-  Udp4VariableData = NetAllocatePool (VariableDataSize);\r
+  Udp4VariableData = AllocatePool (VariableDataSize);\r
   if (Udp4VariableData == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -1913,7 +1913,7 @@ Udp4SetVariableData (
              );\r
     }\r
 \r
-    NetFreePool (Udp4Service->MacString);\r
+    gBS->FreePool (Udp4Service->MacString);\r
   }\r
 \r
   Udp4Service->MacString = NewMacString;\r
@@ -1928,7 +1928,7 @@ Udp4SetVariableData (
 \r
 ON_ERROR:\r
 \r
-  NetFreePool (Udp4VariableData);\r
+  gBS->FreePool (Udp4VariableData);\r
 \r
   return Status;\r
 }\r
@@ -1957,6 +1957,6 @@ Udp4ClearVariableData (
          NULL\r
          );\r
 \r
-  NetFreePool (Udp4Service->MacString);\r
+  gBS->FreePool (Udp4Service->MacString);\r
   Udp4Service->MacString = NULL;\r
 }\r