* 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;
#endif /* DBG */
/* To make the linker happy */
-VOID STDCALL KeBugCheck (ULONG BugCheckCode) {}
+VOID WINAPI KeBugCheck (ULONG BugCheckCode) {}
HINSTANCE g_hInstDll;
HANDLE GlobalHeap;
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();
}
EXPORT
WSASetLastError(IN INT iError)
{
- PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData;
-
- if (p)
- p->LastErrorValue = iError;
+ SetLastError(iError);
}
IN INT type,
IN INT protocol)
{
- return WSASocketA(af,
+ return WSASocketW(af,
type,
protocol,
NULL,
DereferenceProviderByPointer(Provider);
- if (Errno != NO_ERROR)
+ if (Count == SOCKET_ERROR)
{
WSASetLastError(Errno);
return SOCKET_ERROR;
OUT LPSOCKADDR addr,
IN OUT LPINT addrlen,
IN LPCONDITIONPROC lpfnCondition,
- IN DWORD dwCallbackData)
+ IN DWORD_PTR dwCallbackData)
{
PCATALOG_ENTRY Provider;
SOCKET Socket;
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,
}
BOOL
-STDCALL
+WINAPI
DllMain(HANDLE hInstDll,
ULONG dwReason,
LPVOID lpReserved)
case DLL_PROCESS_DETACH:
{
- p = NtCurrentTeb()->WinSockData;
-
- if (p)
- HeapFree(GlobalHeap, 0, p);
-
DestroyCatalog();
FreeProviderHandleTable();