]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
Use Mde library and definition instead of some native definitions in NetLib, to simpl...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / SockInterface.c
index cde02b2bec0cf06aae6d2d016c8bd1db074332d9..c3a0b91deaff4854ec0aca9611f03bb76c1011b0 100644 (file)
@@ -35,11 +35,11 @@ Abstract:
 STATIC\r
 BOOLEAN\r
 SockTokenExistedInList (\r
-  IN NET_LIST_ENTRY *List,\r
+  IN LIST_ENTRY     *List,\r
   IN EFI_EVENT      Event\r
   )\r
 {\r
-  NET_LIST_ENTRY  *ListEntry;\r
+  LIST_ENTRY      *ListEntry;\r
   SOCK_TOKEN      *SockToken;\r
 \r
   NET_LIST_FOR_EACH (ListEntry, List) {\r
@@ -112,17 +112,17 @@ SockTokenExisted (
 SOCK_TOKEN *\r
 SockBufferToken (\r
   IN SOCKET         *Sock,\r
-  IN NET_LIST_ENTRY *List,\r
+  IN LIST_ENTRY     *List,\r
   IN VOID           *Token,\r
   IN UINT32         DataLen\r
   )\r
 {\r
   SOCK_TOKEN  *SockToken;\r
 \r
-  SockToken = NetAllocatePool (sizeof (SOCK_TOKEN));\r
+  SockToken = AllocatePool (sizeof (SOCK_TOKEN));\r
   if (NULL == SockToken) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockBufferIOToken: No Memory "\r
+    DEBUG ((EFI_D_ERROR, "SockBufferIOToken: No Memory "\r
       "to allocate SockToken\n"));\r
 \r
     return NULL;\r
@@ -131,7 +131,7 @@ SockBufferToken (
   SockToken->Sock           = Sock;\r
   SockToken->Token          = (SOCK_COMPLETION_TOKEN *) Token;\r
   SockToken->RemainDataLen  = DataLen;\r
-  NetListInsertTail (List, &SockToken->TokenList);\r
+  InsertTailList (List, &SockToken->TokenList);\r
 \r
   return SockToken;\r
 }\r
@@ -161,10 +161,10 @@ SockDestroyChild (
 \r
   Sock->IsDestroyed = TRUE;\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockDestroyChild: Get the lock to "\r
+    DEBUG ((EFI_D_ERROR, "SockDestroyChild: Get the lock to "\r
       "access socket failed with %r\n", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -177,7 +177,7 @@ SockDestroyChild (
 \r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockDestroyChild: Protocol detach socket"\r
+    DEBUG ((EFI_D_ERROR, "SockDestroyChild: Protocol detach socket"\r
       " failed with %r\n", Status));\r
 \r
     Sock->IsDestroyed = FALSE;\r
@@ -189,7 +189,7 @@ SockDestroyChild (
     Sock->ConfigureState = SO_UNCONFIGURED;\r
   }\r
 \r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
 \r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -214,41 +214,28 @@ SockDestroyChild (
 **/\r
 SOCKET *\r
 SockCreateChild (\r
-  IN SOCK_INIT_DATA *SockInitData,\r
-  IN VOID           *ProtoData,\r
-  IN UINT32         Len\r
+  IN SOCK_INIT_DATA *SockInitData\r
   )\r
 {\r
   SOCKET      *Sock;\r
   EFI_STATUS  Status;\r
 \r
-  ASSERT (ProtoData && (Len <= PROTO_RESERVED_LEN));\r
-\r
   //\r
   // create a new socket\r
   //\r
   Sock = SockCreate (SockInitData);\r
   if (NULL == Sock) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockCreateChild: No resource to "\r
+    DEBUG ((EFI_D_ERROR, "SockCreateChild: No resource to "\r
       "create a new socket\n"));\r
 \r
     return NULL;\r
   }\r
 \r
-  //\r
-  // Open the\r
-  //\r
-\r
-  //\r
-  // copy the protodata into socket\r
-  //\r
-  NetCopyMem (Sock->ProtoReserved, ProtoData, Len);\r
-\r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockCreateChild: Get the lock to "\r
+    DEBUG ((EFI_D_ERROR, "SockCreateChild: Get the lock to "\r
       "access socket failed with %r\n", Status));\r
 \r
     SockDestroy (Sock);\r
@@ -261,14 +248,14 @@ SockCreateChild (
   Status = Sock->ProtoHandler (Sock, SOCK_ATTACH, NULL);\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockCreateChild: Protocol failed to"\r
+    DEBUG ((EFI_D_ERROR, "SockCreateChild: Protocol failed to"\r
       " attach a socket with %r\n", Status));\r
 \r
     SockDestroy (Sock);\r
     Sock = NULL;\r
   }\r
 \r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Sock;\r
 }\r
 \r
@@ -293,10 +280,10 @@ SockConfigure (
 {\r
   EFI_STATUS  Status;\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockConfigure: Get the access for "\r
+    DEBUG ((EFI_D_ERROR, "SockConfigure: Get the access for "\r
       "socket failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -312,7 +299,7 @@ SockConfigure (
   Status = Sock->ProtoHandler (Sock, SOCK_CONFIGURE, ConfigData);\r
 \r
 OnExit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
 \r
   return Status;\r
 }\r
@@ -345,10 +332,10 @@ SockConnect (
   EFI_STATUS  Status;\r
   EFI_EVENT   Event;\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockConnect: Get the access for "\r
+    DEBUG ((EFI_D_ERROR, "SockConnect: Get the access for "\r
       "socket failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -384,7 +371,7 @@ SockConnect (
   Status = Sock->ProtoHandler (Sock, SOCK_CONNECT, NULL);\r
 \r
 OnExit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -415,17 +402,17 @@ SockAccept (
   )\r
 {\r
   EFI_TCP4_LISTEN_TOKEN *ListenToken;\r
-  NET_LIST_ENTRY        *ListEntry;\r
+  LIST_ENTRY            *ListEntry;\r
   EFI_STATUS            Status;\r
   SOCKET                *Socket;\r
   EFI_EVENT             Event;\r
 \r
   ASSERT (SOCK_STREAM == Sock->Type);\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockAccept: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockAccept: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -469,14 +456,16 @@ SockAccept (
       ListenToken->NewChildHandle = Socket->SockHandle;\r
       SIGNAL_TOKEN (&(ListenToken->CompletionToken), EFI_SUCCESS);\r
 \r
-      NetListRemoveEntry (ListEntry);\r
+      RemoveEntryList (ListEntry);\r
 \r
       ASSERT (Socket->Parent);\r
 \r
       Socket->Parent->ConnCnt--;\r
 \r
-      SOCK_DEBUG_WARN (("SockAccept: Accept a socket,"\r
-        "now conncount is %d", Socket->Parent->ConnCnt)\r
+      DEBUG (\r
+        (EFI_D_WARN,\r
+        "SockAccept: Accept a socket, now conncount is %d",\r
+        Socket->Parent->ConnCnt)\r
         );\r
       Socket->Parent = NULL;\r
 \r
@@ -493,7 +482,7 @@ SockAccept (
   }\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
 \r
   return Status;\r
 }\r
@@ -533,10 +522,10 @@ SockSend (
 \r
   ASSERT (SOCK_STREAM == Sock->Type);\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockSend: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockSend: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -600,7 +589,7 @@ SockSend (
                   );\r
 \r
     if (NULL == SockToken) {\r
-      SOCK_DEBUG_ERROR (("SockSend: Failed to buffer IO token into"\r
+      DEBUG ((EFI_D_ERROR, "SockSend: Failed to buffer IO token into"\r
         " socket processing SndToken List\n", Status));\r
 \r
       Status = EFI_OUT_OF_RESOURCES;\r
@@ -610,16 +599,16 @@ SockSend (
     Status = SockProcessTcpSndData (Sock, TxData);\r
 \r
     if (EFI_ERROR (Status)) {\r
-      SOCK_DEBUG_ERROR (("SockSend: Failed to process "\r
+      DEBUG ((EFI_D_ERROR, "SockSend: Failed to process "\r
         "Snd Data\n", Status));\r
 \r
-      NetListRemoveEntry (&(SockToken->TokenList));\r
-      NetFreePool (SockToken);\r
+      RemoveEntryList (&(SockToken->TokenList));\r
+      gBS->FreePool (SockToken);\r
     }\r
   }\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -656,10 +645,10 @@ SockRcv (
 \r
   ASSERT (SOCK_STREAM == Sock->Type);\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockRcv: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockRcv: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -733,7 +722,7 @@ SockRcv (
   }\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -756,10 +745,10 @@ SockFlush (
 \r
   ASSERT (SOCK_STREAM == Sock->Type);\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockFlush: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockFlush: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -772,7 +761,7 @@ SockFlush (
   Status = Sock->ProtoHandler (Sock, SOCK_FLUSH, NULL);\r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockFlush: Protocol failed handling"\r
+    DEBUG ((EFI_D_ERROR, "SockFlush: Protocol failed handling"\r
       " SOCK_FLUSH with %r", Status));\r
 \r
     goto Exit;\r
@@ -785,7 +774,7 @@ SockFlush (
   Sock->ConfigureState = SO_UNCONFIGURED;\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -821,9 +810,9 @@ SockClose (
 \r
   ASSERT (SOCK_STREAM == Sock->Type);\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
-    SOCK_DEBUG_ERROR (("SockClose: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockClose: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -861,7 +850,7 @@ SockClose (
   }\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -908,11 +897,11 @@ SockGroup (
 {\r
   EFI_STATUS  Status;\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
 \r
   if (EFI_ERROR (Status)) {\r
 \r
-    SOCK_DEBUG_ERROR (("SockGroup: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockGroup: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -926,7 +915,7 @@ SockGroup (
   Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo);\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r
 \r
@@ -954,9 +943,9 @@ SockRoute (
 {\r
   EFI_STATUS  Status;\r
 \r
-  Status = NET_TRYLOCK (&(Sock->Lock));\r
+  Status = EfiAcquireLockOrFail (&(Sock->Lock));\r
   if (EFI_ERROR (Status)) {\r
-    SOCK_DEBUG_ERROR (("SockRoute: Get the access for socket"\r
+    DEBUG ((EFI_D_ERROR, "SockRoute: Get the access for socket"\r
       " failed with %r", Status));\r
 \r
     return EFI_ACCESS_DENIED;\r
@@ -975,6 +964,6 @@ SockRoute (
   Status = Sock->ProtoHandler (Sock, SOCK_ROUTE, RouteInfo);\r
 \r
 Exit:\r
-  NET_UNLOCK (&(Sock->Lock));\r
+  EfiReleaseLock (&(Sock->Lock));\r
   return Status;\r
 }\r