]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c
Patch to remove STATIC modifier. This is on longer recommended by EFI Framework codin...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Udp4Dxe / Udp4Impl.c
index 9cbd29511fc5ee01fbbd519c2675680d4dc1a14f..ab50830b680281d7281502ad4caa2b0f899ad743 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation                                                         \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
@@ -25,7 +25,6 @@ Abstract:
 \r
 UINT16  mUdp4RandomPort;\r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
 Udp4CheckTimeout (\r
@@ -33,15 +32,13 @@ Udp4CheckTimeout (
   IN VOID       *Context\r
   );\r
 \r
-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
-STATIC\r
 VOID\r
 Udp4DgramSent (\r
   IN EFI_STATUS  Status,\r
@@ -50,7 +47,6 @@ Udp4DgramSent (
   IN VOID        *NotifyData\r
   );\r
 \r
-STATIC\r
 VOID\r
 Udp4DgramRcvd (\r
   IN EFI_STATUS            Status,\r
@@ -60,7 +56,6 @@ Udp4DgramRcvd (
   IN VOID                  *Context\r
   );\r
 \r
-STATIC\r
 EFI_STATUS\r
 Udp4CancelTokens (\r
   IN NET_MAP       *Map,\r
@@ -68,14 +63,12 @@ Udp4CancelTokens (
   IN VOID          *Arg OPTIONAL\r
   );\r
 \r
-STATIC\r
 BOOLEAN\r
 Udp4MatchDgram (\r
   IN UDP4_INSTANCE_DATA     *Instance,\r
   IN EFI_UDP4_SESSION_DATA  *Udp4Session\r
   );\r
 \r
-STATIC\r
 VOID\r
 EFIAPI\r
 Udp4RecycleRxDataWrap (\r
@@ -83,7 +76,6 @@ Udp4RecycleRxDataWrap (
   IN VOID       *Context\r
   );\r
 \r
-STATIC\r
 UDP4_RXDATA_WRAP *\r
 Udp4WrapRxData (\r
   IN UDP4_INSTANCE_DATA     *Instance,\r
@@ -91,7 +83,6 @@ Udp4WrapRxData (
   IN EFI_UDP4_RECEIVE_DATA  *RxData\r
   );\r
 \r
-STATIC\r
 UINTN\r
 Udp4EnqueueDgram (\r
   IN UDP4_SERVICE_DATA      *Udp4Service,\r
@@ -99,13 +90,11 @@ Udp4EnqueueDgram (
   IN EFI_UDP4_RECEIVE_DATA  *RxData\r
   );\r
 \r
-STATIC\r
 VOID\r
 Udp4DeliverDgram (\r
   IN UDP4_SERVICE_DATA  *Udp4Service\r
   );\r
 \r
-STATIC\r
 VOID\r
 Udp4Demultiplex (\r
   IN UDP4_SERVICE_DATA     *Udp4Service,\r
@@ -113,7 +102,6 @@ Udp4Demultiplex (
   IN NET_BUF               *Packet\r
   );\r
 \r
-STATIC\r
 VOID\r
 Udp4IcmpHandler (\r
   IN UDP4_SERVICE_DATA     *Udp4Service,\r
@@ -122,7 +110,6 @@ Udp4IcmpHandler (
   IN NET_BUF               *Packet\r
   );\r
 \r
-STATIC\r
 VOID\r
 Udp4SendPortUnreach (\r
   IN IP_IO                 *IpIo,\r
@@ -153,13 +140,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 +173,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 +181,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 +199,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
@@ -270,7 +257,6 @@ Udp4CleanService (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 EFIAPI\r
 Udp4CheckTimeout (\r
@@ -279,10 +265,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
@@ -306,7 +292,7 @@ Udp4CheckTimeout (
       //\r
       // Iterate all the rxdatas belonging to this udp instance.\r
       //\r
-      Wrap = NET_LIST_USER_STRUCT (Entry, UDP4_RXDATA_WRAP, Link);\r
+      Wrap = NET_LIST_USER_STRUCT (WrapEntry, UDP4_RXDATA_WRAP, Link);\r
 \r
       if (Wrap->TimeoutTick <= UDP4_TIMEOUT_INTERVAL / 1000) {\r
         //\r
@@ -344,9 +330,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
@@ -397,15 +383,14 @@ Udp4CleanInstance (
   @return Is the specified <Address, Port> pair found or not.\r
 \r
 **/\r
-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 +442,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 +686,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 +701,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
@@ -870,7 +855,6 @@ Udp4RemoveToken (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4DgramSent (\r
   IN EFI_STATUS  Status,\r
@@ -910,7 +894,6 @@ Udp4DgramSent (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4DgramRcvd (\r
   IN EFI_STATUS            Status,\r
@@ -1008,7 +991,6 @@ Udp4LeaveGroup (
                                  cancelled.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 Udp4CancelTokens (\r
   IN NET_MAP       *Map,\r
@@ -1069,7 +1051,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
@@ -1146,7 +1128,6 @@ Udp4InstanceCancelToken (
   @return The udp datagram matches the receiving requirments of the Instance or not.\r
 \r
 **/\r
-STATIC\r
 BOOLEAN\r
 Udp4MatchDgram (\r
   IN UDP4_INSTANCE_DATA     *Instance,\r
@@ -1190,7 +1171,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
@@ -1220,7 +1201,6 @@ Udp4MatchDgram (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 EFIAPI\r
 Udp4RecycleRxDataWrap (\r
@@ -1235,7 +1215,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 +1227,7 @@ Udp4RecycleRxDataWrap (
   //\r
   gBS->CloseEvent (Wrap->RxData.RecycleSignal);\r
 \r
-  NetFreePool (Wrap);\r
+  gBS->FreePool (Wrap);\r
 }\r
 \r
 \r
@@ -1263,7 +1243,6 @@ Udp4RecycleRxDataWrap (
   @return Pointer to the structure wrapping the RxData and the Packet.\r
 \r
 **/\r
-STATIC\r
 UDP4_RXDATA_WRAP *\r
 Udp4WrapRxData (\r
   IN UDP4_INSTANCE_DATA     *Instance,\r
@@ -1277,13 +1256,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 +1271,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
@@ -1321,7 +1300,6 @@ Udp4WrapRxData (
   @return The times this datagram is enqueued.\r
 \r
 **/\r
-STATIC\r
 UINTN\r
 Udp4EnqueueDgram (\r
   IN UDP4_SERVICE_DATA      *Udp4Service,\r
@@ -1329,7 +1307,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 +1335,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 +1364,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 +1402,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
@@ -1441,13 +1419,12 @@ Udp4InstanceDeliverDgram (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4DeliverDgram (\r
   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
@@ -1480,7 +1457,6 @@ Udp4DeliverDgram (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4Demultiplex (\r
   IN UDP4_SERVICE_DATA     *Udp4Service,\r
@@ -1524,8 +1500,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
@@ -1572,7 +1548,6 @@ Udp4Demultiplex (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4SendPortUnreach (\r
   IN IP_IO                 *IpIo,\r
@@ -1629,13 +1604,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 +1625,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
@@ -1675,7 +1650,6 @@ Udp4SendPortUnreach (
   @return None.\r
 \r
 **/\r
-STATIC\r
 VOID\r
 Udp4IcmpHandler (\r
   IN UDP4_SERVICE_DATA     *Udp4Service,\r
@@ -1686,13 +1660,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 +1789,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 +1826,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 +1887,7 @@ Udp4SetVariableData (
              );\r
     }\r
 \r
-    NetFreePool (Udp4Service->MacString);\r
+    gBS->FreePool (Udp4Service->MacString);\r
   }\r
 \r
   Udp4Service->MacString = NewMacString;\r
@@ -1928,7 +1902,7 @@ Udp4SetVariableData (
 \r
 ON_ERROR:\r
 \r
-  NetFreePool (Udp4VariableData);\r
+  gBS->FreePool (Udp4VariableData);\r
 \r
   return Status;\r
 }\r
@@ -1957,6 +1931,6 @@ Udp4ClearVariableData (
          NULL\r
          );\r
 \r
-  NetFreePool (Udp4Service->MacString);\r
+  gBS->FreePool (Udp4Service->MacString);\r
   Udp4Service->MacString = NULL;\r
 }\r