[WS2_32]
[reactos.git] / reactos / dll / win32 / ws2_32 / misc / dllmain.c
index bddf23b..12620c6 100644 (file)
@@ -8,14 +8,13 @@
  *   CSH 01/09-2000 Created
  */
 
-#include <roscfg.h>
 #include <w32api.h>
 #include <ws2_32.h>
 #include <catalog.h>
 #include <handle.h>
 #include <upcall.h>
 
-#ifdef DBG
+#if DBG
 
 /* See debug.h for debug/trace constants */
 //DWORD DebugTraceLevel = MIN_TRACE;
@@ -25,7 +24,7 @@ DWORD DebugTraceLevel = 0;
 #endif /* DBG */
 
 /* To make the linker happy */
-VOID STDCALL KeBugCheck (ULONG BugCheckCode) {}
+VOID WINAPI KeBugCheck (ULONG BugCheckCode) {}
 
 HINSTANCE g_hInstDll;
 HANDLE GlobalHeap;
@@ -40,17 +39,7 @@ INT
 EXPORT
 WSAGetLastError(VOID)
 {
-    PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData;
-
-    if (p)
-    {
-        return p->LastErrorValue;
-    }
-    else
-    {
-        /* FIXME: What error code should we use here? Can this even happen? */
-        return ERROR_BAD_ENVIRONMENT;
-    }
+    return GetLastError();
 }
 
 
@@ -61,10 +50,7 @@ VOID
 EXPORT
 WSASetLastError(IN INT iError)
 {
-    PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData;
-
-    if (p)
-        p->LastErrorValue = iError;
+    SetLastError(iError);
 }
 
 
@@ -80,7 +66,7 @@ WSAStartup(IN  WORD wVersionRequested,
 
     WS_DbgPrint(MAX_TRACE, ("WSAStartup of ws2_32.dll\n"));
 
-    if (!g_hInstDll) 
+    if (!g_hInstDll)
         return WSASYSNOTREADY;
 
     if (lpWSAData == NULL)
@@ -95,7 +81,7 @@ WSAStartup(IN  WORD wVersionRequested,
         return WSAVERNOTSUPPORTED;
     }
 
-    if (Low == 1) 
+    if (Low == 1)
     {
         if (High == 0)
         {
@@ -166,7 +152,7 @@ socket(IN  INT af,
        IN  INT type,
        IN  INT protocol)
 {
-    return WSASocketA(af,
+    return WSASocketW(af,
                       type,
                       protocol,
                       NULL,
@@ -473,7 +459,7 @@ select(IN      INT nfds,
 
         DereferenceProviderByPointer(Provider);
 
-        if (Errno != NO_ERROR)
+        if (Count == SOCKET_ERROR)
         {
             WSASetLastError(Errno);
             return SOCKET_ERROR;
@@ -621,7 +607,7 @@ WSAAccept(IN     SOCKET s,
           OUT    LPSOCKADDR addr,
           IN OUT LPINT addrlen,
           IN     LPCONDITIONPROC lpfnCondition,
-          IN     DWORD dwCallbackData)
+          IN     DWORD_PTR dwCallbackData)
 {
     PCATALOG_ENTRY Provider;
     SOCKET Socket;
@@ -658,7 +644,7 @@ WSAAccept(IN     SOCKET s,
 
     if ( addr )
     {
-#ifdef DBG
+#if DBG
         LPSOCKADDR_IN sa = (LPSOCKADDR_IN)addr;
         WS_DbgPrint(MAX_TRACE,("Returned address: %d %s:%d (len %d)\n",
                                sa->sin_family,
@@ -826,7 +812,7 @@ void free_winsock_thread_block(PWINSOCK_THREAD_BLOCK p)
 }
 
 BOOL
-STDCALL
+WINAPI
 DllMain(HANDLE hInstDll,
         ULONG dwReason,
         LPVOID lpReserved)
@@ -886,11 +872,6 @@ DllMain(HANDLE hInstDll,
 
         case DLL_PROCESS_DETACH:
         {
-            p = NtCurrentTeb()->WinSockData;
-
-            if (p)
-              HeapFree(GlobalHeap, 0, p);
-
             DestroyCatalog();
 
             FreeProviderHandleTable();