mirror of
https://github.com/reactos/reactos.git
synced 2025-06-01 15:38:37 +00:00
[MSAFD]
- Use wine debug output routines instead of blunt DbgPrint This avoids the horrid "MSAFD: STATUS_XXX" which doesn't help. svn path=/trunk/; revision=65355
This commit is contained in:
parent
da318dabea
commit
2b4ca7374b
8 changed files with 150 additions and 213 deletions
|
@ -1,6 +1,5 @@
|
|||
|
||||
include_directories(
|
||||
BEFORE include
|
||||
${REACTOS_SOURCE_DIR}/include/reactos/drivers)
|
||||
|
||||
spec2def(msafd.dll msafd.spec)
|
||||
|
@ -19,6 +18,7 @@ add_library(msafd SHARED
|
|||
${CMAKE_CURRENT_BINARY_DIR}/msafd.def)
|
||||
|
||||
set_module_type(msafd win32dll UNICODE)
|
||||
target_link_libraries(msafd wine)
|
||||
add_importlibs(msafd advapi32 msvcrt kernel32 ntdll)
|
||||
add_pch(msafd msafd.h SOURCE)
|
||||
add_cd_file(TARGET msafd DESTINATION reactos/system32 FOR all)
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Ancillary Function Driver DLL
|
||||
* FILE: include/debug.h
|
||||
* PURPOSE: Debugging support macros
|
||||
* DEFINES: DBG - Enable debug output
|
||||
* NASSERT - Disable assertions
|
||||
*/
|
||||
#ifndef __DEBUG_H
|
||||
#define __DEBUG_H
|
||||
|
||||
#define NORMAL_MASK 0x000000FF
|
||||
#define SPECIAL_MASK 0xFFFFFF00
|
||||
#define MIN_TRACE 0x00000001
|
||||
#define MID_TRACE 0x00000002
|
||||
#define MAX_TRACE 0x00000003
|
||||
|
||||
#define DEBUG_CHECK 0x00000100
|
||||
#define DEBUG_ULTRA 0xFFFFFFFF
|
||||
|
||||
#ifdef ASSERT
|
||||
#undef ASSERT
|
||||
#endif
|
||||
|
||||
#if DBG
|
||||
|
||||
extern DWORD DebugTraceLevel;
|
||||
|
||||
#define AFD_DbgPrint(_t_, _x_) \
|
||||
if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \
|
||||
((DebugTraceLevel & _t_) > NORMAL_MASK)) { \
|
||||
DbgPrint("(%hS:%d)(%hS) ", __FILE__, __LINE__, __FUNCTION__); \
|
||||
DbgPrint _x_; \
|
||||
}
|
||||
|
||||
#ifdef NASSERT
|
||||
#define ASSERT(x)
|
||||
#else /* NASSERT */
|
||||
#define ASSERT(x) if (!(x)) { AFD_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); ExitProcess(0); }
|
||||
#endif /* NASSERT */
|
||||
|
||||
#else /* DBG */
|
||||
|
||||
#define AFD_DbgPrint(_t_, _x_)
|
||||
|
||||
#define ASSERT_IRQL(x)
|
||||
#define ASSERT(x)
|
||||
|
||||
#endif /* DBG */
|
||||
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif
|
||||
#define assert(x) ASSERT(x)
|
||||
|
||||
|
||||
#define UNIMPLEMENTED \
|
||||
AFD_DbgPrint(MIN_TRACE, ("is unimplemented, please try again later.\n"));
|
||||
|
||||
#define CHECKPOINT \
|
||||
AFD_DbgPrint(DEBUG_CHECK, ("\n"));
|
||||
|
||||
#define CP CHECKPOINT
|
||||
|
||||
#endif /* __DEBUG_H */
|
||||
|
||||
/* EOF */
|
|
@ -14,10 +14,8 @@
|
|||
|
||||
#include <winuser.h>
|
||||
|
||||
#if DBG
|
||||
//DWORD DebugTraceLevel = DEBUG_ULTRA;
|
||||
DWORD DebugTraceLevel = 0;
|
||||
#endif /* DBG */
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msafd);
|
||||
|
||||
HANDLE GlobalHeap;
|
||||
WSPUPCALLTABLE Upcalls;
|
||||
|
@ -71,9 +69,8 @@ WSPSocket(int AddressFamily,
|
|||
LARGE_INTEGER GroupData;
|
||||
INT Status;
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("Creating Socket, getting TDI Name\n"));
|
||||
AFD_DbgPrint(MAX_TRACE, ("AddressFamily (%d) SocketType (%d) Protocol (%d).\n",
|
||||
AddressFamily, SocketType, Protocol));
|
||||
TRACE("Creating Socket, getting TDI Name - AddressFamily (%d) SocketType (%d) Protocol (%d).\n",
|
||||
AddressFamily, SocketType, Protocol);
|
||||
|
||||
/* Get Helper Data and Transport */
|
||||
Status = SockGetTdiName (&AddressFamily,
|
||||
|
@ -89,7 +86,7 @@ WSPSocket(int AddressFamily,
|
|||
/* Check for error */
|
||||
if (Status != NO_ERROR)
|
||||
{
|
||||
AFD_DbgPrint(MID_TRACE,("SockGetTdiName: Status %x\n", Status));
|
||||
ERR("SockGetTdiName: Status %x\n", Status);
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -131,7 +128,7 @@ WSPSocket(int AddressFamily,
|
|||
if( Socket->SharedData.SocketType == SOCK_DGRAM ||
|
||||
Socket->SharedData.SocketType == SOCK_RAW )
|
||||
{
|
||||
AFD_DbgPrint(MID_TRACE,("Connectionless socket\n"));
|
||||
TRACE("Connectionless socket\n");
|
||||
Socket->SharedData.ServiceFlags1 |= XP1_CONNECTIONLESS;
|
||||
}
|
||||
|
||||
|
@ -249,9 +246,9 @@ WSPSocket(int AddressFamily,
|
|||
|
||||
HeapFree(GlobalHeap, 0, EABuffer);
|
||||
|
||||
if (Status != STATUS_SUCCESS)
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
AFD_DbgPrint(MIN_TRACE, ("Failed to open socket\n"));
|
||||
ERR("Failed to open socket. Status 0x%08x\n", Status);
|
||||
|
||||
HeapFree(GlobalHeap, 0, Socket);
|
||||
|
||||
|
@ -295,12 +292,12 @@ WSPSocket(int AddressFamily,
|
|||
Upcalls.lpWPUModifyIFSHandle(1, (SOCKET)Sock, lpErrno);
|
||||
|
||||
/* Return Socket Handle */
|
||||
AFD_DbgPrint(MID_TRACE,("Success %x\n", Sock));
|
||||
TRACE("Success %x\n", Sock);
|
||||
|
||||
return (SOCKET)Sock;
|
||||
|
||||
error:
|
||||
AFD_DbgPrint(MID_TRACE,("Ending %x\n", Status));
|
||||
ERR("Ending %x\n", Status);
|
||||
|
||||
if( Socket )
|
||||
HeapFree(GlobalHeap, 0, Socket);
|
||||
|
@ -334,56 +331,44 @@ TranslateNtStatusError(NTSTATUS Status)
|
|||
|
||||
case STATUS_BUFFER_TOO_SMALL:
|
||||
case STATUS_BUFFER_OVERFLOW:
|
||||
DbgPrint("MSAFD: STATUS_BUFFER_TOO_SMALL/STATUS_BUFFER_OVERFLOW\n");
|
||||
return WSAEMSGSIZE;
|
||||
|
||||
case STATUS_NO_MEMORY:
|
||||
case STATUS_INSUFFICIENT_RESOURCES:
|
||||
DbgPrint("MSAFD: STATUS_NO_MEMORY/STATUS_INSUFFICIENT_RESOURCES\n");
|
||||
return WSAENOBUFS;
|
||||
|
||||
case STATUS_INVALID_CONNECTION:
|
||||
DbgPrint("MSAFD: STATUS_INVALID_CONNECTION\n");
|
||||
return WSAEAFNOSUPPORT;
|
||||
|
||||
case STATUS_INVALID_ADDRESS:
|
||||
DbgPrint("MSAFD: STATUS_INVALID_ADDRESS\n");
|
||||
return WSAEADDRNOTAVAIL;
|
||||
|
||||
case STATUS_REMOTE_NOT_LISTENING:
|
||||
DbgPrint("MSAFD: STATUS_REMOTE_NOT_LISTENING\n");
|
||||
return WSAECONNREFUSED;
|
||||
|
||||
case STATUS_NETWORK_UNREACHABLE:
|
||||
DbgPrint("MSAFD: STATUS_NETWORK_UNREACHABLE\n");
|
||||
return WSAENETUNREACH;
|
||||
|
||||
case STATUS_INVALID_PARAMETER:
|
||||
DbgPrint("MSAFD: STATUS_INVALID_PARAMETER\n");
|
||||
return WSAEINVAL;
|
||||
|
||||
case STATUS_CANCELLED:
|
||||
DbgPrint("MSAFD: STATUS_CANCELLED\n");
|
||||
return WSA_OPERATION_ABORTED;
|
||||
|
||||
case STATUS_ADDRESS_ALREADY_EXISTS:
|
||||
DbgPrint("MSAFD: STATUS_ADDRESS_ALREADY_EXISTS\n");
|
||||
return WSAEADDRINUSE;
|
||||
|
||||
case STATUS_LOCAL_DISCONNECT:
|
||||
DbgPrint("MSAFD: STATUS_LOCAL_DISCONNECT\n");
|
||||
return WSAECONNABORTED;
|
||||
|
||||
case STATUS_REMOTE_DISCONNECT:
|
||||
DbgPrint("MSAFD: STATUS_REMOTE_DISCONNECT\n");
|
||||
return WSAECONNRESET;
|
||||
|
||||
case STATUS_ACCESS_VIOLATION:
|
||||
DbgPrint("MSAFD: STATUS_ACCESS_VIOLATION\n");
|
||||
return WSAEFAULT;
|
||||
|
||||
default:
|
||||
DbgPrint("MSAFD: Unhandled NTSTATUS value: 0x%x\n", Status);
|
||||
ERR("MSAFD: Unhandled NTSTATUS value: 0x%x\n", Status);
|
||||
return WSAENETDOWN;
|
||||
}
|
||||
}
|
||||
|
@ -417,8 +402,10 @@ WSPCloseSocket(IN SOCKET Handle,
|
|||
FALSE);
|
||||
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
ERR("NtCreateEvent failed: 0x%08x", Status);
|
||||
return SOCKET_ERROR;
|
||||
|
||||
}
|
||||
/* Get the Socket Structure associate to this Socket*/
|
||||
Socket = GetSocketStructure(Handle);
|
||||
if (!Socket)
|
||||
|
@ -439,6 +426,7 @@ WSPCloseSocket(IN SOCKET Handle,
|
|||
if (Status)
|
||||
{
|
||||
if (lpErrno) *lpErrno = Status;
|
||||
ERR("WSHNotify failed. Error 0x%#x", Status);
|
||||
NtClose(SockEvent);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
@ -447,6 +435,7 @@ WSPCloseSocket(IN SOCKET Handle,
|
|||
/* If a Close is already in Process, give up */
|
||||
if (Socket->SharedData.State == SocketClosed)
|
||||
{
|
||||
WARN("Socket is closing.\n");
|
||||
NtClose(SockEvent);
|
||||
*lpErrno = WSAENOTSOCK;
|
||||
return SOCKET_ERROR;
|
||||
|
@ -497,6 +486,7 @@ WSPCloseSocket(IN SOCKET Handle,
|
|||
*/
|
||||
if (Socket->SharedData.NonBlocking)
|
||||
{
|
||||
WARN("Would block!\n");
|
||||
NtClose(SockEvent);
|
||||
Socket->SharedData.State = OldState;
|
||||
*lpErrno = WSAEWOULDBLOCK;
|
||||
|
@ -828,23 +818,21 @@ WSPSelect(IN int nfds,
|
|||
|
||||
if ( HandleCount == 0 )
|
||||
{
|
||||
AFD_DbgPrint(MAX_TRACE,("HandleCount: %u. Return SOCKET_ERROR\n",
|
||||
HandleCount));
|
||||
WARN("No handles! Returning SOCKET_ERROR\n", HandleCount);
|
||||
if (lpErrno) *lpErrno = WSAEINVAL;
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
PollBufferSize = sizeof(*PollInfo) + ((HandleCount - 1) * sizeof(AFD_HANDLE));
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("HandleCount: %u BufferSize: %u\n",
|
||||
HandleCount, PollBufferSize));
|
||||
TRACE("HandleCount: %u BufferSize: %u\n", HandleCount, PollBufferSize);
|
||||
|
||||
/* Convert Timeout to NT Format */
|
||||
if (timeout == NULL)
|
||||
{
|
||||
Timeout.u.LowPart = -1;
|
||||
Timeout.u.HighPart = 0x7FFFFFFF;
|
||||
AFD_DbgPrint(MAX_TRACE,("Infinite timeout\n"));
|
||||
TRACE("Infinite timeout\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -859,9 +847,9 @@ WSPSelect(IN int nfds,
|
|||
if (lpErrno) *lpErrno = WSAEINVAL;
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
AFD_DbgPrint(MAX_TRACE,("Timeout: Orig %d.%06d kernel %d\n",
|
||||
TRACE("Timeout: Orig %d.%06d kernel %d\n",
|
||||
timeout->tv_sec, timeout->tv_usec,
|
||||
Timeout.u.LowPart));
|
||||
Timeout.u.LowPart);
|
||||
}
|
||||
|
||||
Status = NtCreateEvent(&SockEvent,
|
||||
|
@ -870,8 +858,11 @@ WSPSelect(IN int nfds,
|
|||
1,
|
||||
FALSE);
|
||||
|
||||
if( !NT_SUCCESS(Status) )
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
ERR("NtCreateEvent failed, 0x%08x\n", Status);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
/* Allocate */
|
||||
PollBuffer = HeapAlloc(GlobalHeap, 0, PollBufferSize);
|
||||
|
@ -935,7 +926,7 @@ WSPSelect(IN int nfds,
|
|||
PollInfo,
|
||||
PollBufferSize);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("DeviceIoControlFile => %x\n", Status));
|
||||
TRACE("DeviceIoControlFile => %x\n", Status);
|
||||
|
||||
/* Wait for Completition */
|
||||
if (Status == STATUS_PENDING)
|
||||
|
@ -968,9 +959,9 @@ WSPSelect(IN int nfds,
|
|||
case AFD_EVENT_ABORT:
|
||||
case AFD_EVENT_ACCEPT:
|
||||
case AFD_EVENT_CLOSE:
|
||||
AFD_DbgPrint(MID_TRACE,("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle));
|
||||
TRACE("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle);
|
||||
if (! HandleCounted)
|
||||
{
|
||||
OutCount++;
|
||||
|
@ -981,9 +972,9 @@ WSPSelect(IN int nfds,
|
|||
break;
|
||||
case AFD_EVENT_SEND:
|
||||
case AFD_EVENT_CONNECT:
|
||||
AFD_DbgPrint(MID_TRACE,("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle));
|
||||
TRACE("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle);
|
||||
if (! HandleCounted)
|
||||
{
|
||||
OutCount++;
|
||||
|
@ -994,9 +985,9 @@ WSPSelect(IN int nfds,
|
|||
break;
|
||||
case AFD_EVENT_OOB_RECEIVE:
|
||||
case AFD_EVENT_CONNECT_FAIL:
|
||||
AFD_DbgPrint(MID_TRACE,("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle));
|
||||
TRACE("Event %x on handle %x\n",
|
||||
PollInfo->Handles[i].Events,
|
||||
PollInfo->Handles[i].Handle);
|
||||
if (! HandleCounted)
|
||||
{
|
||||
OutCount++;
|
||||
|
@ -1024,10 +1015,10 @@ WSPSelect(IN int nfds,
|
|||
*lpErrno = WSAEINVAL;
|
||||
break;
|
||||
}
|
||||
AFD_DbgPrint(MID_TRACE,("*lpErrno = %x\n", *lpErrno));
|
||||
TRACE("*lpErrno = %x\n", *lpErrno);
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("%d events\n", OutCount));
|
||||
TRACE("%d events\n", OutCount);
|
||||
|
||||
return OutCount;
|
||||
}
|
||||
|
@ -1402,7 +1393,7 @@ WSPAccept(SOCKET Handle,
|
|||
/* Re-enable Async Event */
|
||||
SockReenableAsyncSelectEvent(Socket, FD_ACCEPT);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Socket %x\n", AcceptSocket));
|
||||
TRACE("Socket %x\n", AcceptSocket);
|
||||
|
||||
if (Status == STATUS_SUCCESS && (Socket->HelperEvents & WSH_NOTIFY_ACCEPT))
|
||||
{
|
||||
|
@ -1457,7 +1448,7 @@ WSPConnect(SOCKET Handle,
|
|||
if (!NT_SUCCESS(Status))
|
||||
return MsafdReturnWithErrno(Status, lpErrno, 0, NULL);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called\n"));
|
||||
TRACE("Called\n");
|
||||
|
||||
/* Get the Socket Structure associate to this Socket*/
|
||||
Socket = GetSocketStructure(Handle);
|
||||
|
@ -1578,7 +1569,7 @@ WSPConnect(SOCKET Handle,
|
|||
/* FIXME: Handle Async Connect */
|
||||
if (Socket->SharedData.NonBlocking)
|
||||
{
|
||||
AFD_DbgPrint(MIN_TRACE, ("Async Connect UNIMPLEMENTED!\n"));
|
||||
ERR("Async Connect UNIMPLEMENTED!\n");
|
||||
}
|
||||
|
||||
/* Send IOCTL */
|
||||
|
@ -1626,7 +1617,7 @@ WSPConnect(SOCKET Handle,
|
|||
}
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Ending\n"));
|
||||
TRACE("Ending\n");
|
||||
|
||||
notify:
|
||||
if (ConnectInfo) HeapFree(GetProcessHeap(), 0, ConnectInfo);
|
||||
|
@ -1692,7 +1683,7 @@ WSPShutdown(SOCKET Handle,
|
|||
if( !NT_SUCCESS(Status) )
|
||||
return -1;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called\n"));
|
||||
TRACE("Called\n");
|
||||
|
||||
/* Get the Socket Structure associate to this Socket*/
|
||||
Socket = GetSocketStructure(Handle);
|
||||
|
@ -1742,7 +1733,7 @@ WSPShutdown(SOCKET Handle,
|
|||
Status = IOSB.Status;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Ending\n"));
|
||||
TRACE("Ending\n");
|
||||
|
||||
NtClose( SockEvent );
|
||||
|
||||
|
@ -1834,9 +1825,9 @@ WSPGetSockName(IN SOCKET Handle,
|
|||
SocketAddress->Address[0].Address,
|
||||
SocketAddress->Address[0].AddressLength);
|
||||
*NameLength = Socket->SharedData.SizeOfLocalAddress;
|
||||
AFD_DbgPrint (MID_TRACE, ("NameLength %d Address: %x Port %x\n",
|
||||
TRACE("NameLength %d Address: %x Port %x\n",
|
||||
*NameLength, ((struct sockaddr_in *)Name)->sin_addr.s_addr,
|
||||
((struct sockaddr_in *)Name)->sin_port));
|
||||
((struct sockaddr_in *)Name)->sin_port);
|
||||
HeapFree(GlobalHeap, 0, TdiAddress);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1941,9 +1932,9 @@ WSPGetPeerName(IN SOCKET s,
|
|||
SocketAddress->Address[0].Address,
|
||||
SocketAddress->Address[0].AddressLength);
|
||||
*NameLength = Socket->SharedData.SizeOfRemoteAddress;
|
||||
AFD_DbgPrint (MID_TRACE, ("NameLength %d Address: %x Port %x\n",
|
||||
TRACE("NameLength %d Address: %x Port %x\n",
|
||||
*NameLength, ((struct sockaddr_in *)Name)->sin_addr.s_addr,
|
||||
((struct sockaddr_in *)Name)->sin_port));
|
||||
((struct sockaddr_in *)Name)->sin_port);
|
||||
HeapFree(GlobalHeap, 0, SocketAddress);
|
||||
return 0;
|
||||
}
|
||||
|
@ -2085,7 +2076,7 @@ WSPGetSockOpt(IN SOCKET Handle,
|
|||
return SOCKET_ERROR;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE, ("Called\n"));
|
||||
TRACE("Called\n");
|
||||
|
||||
switch (Level)
|
||||
{
|
||||
|
@ -2292,7 +2283,7 @@ WSPSetSockOpt(
|
|||
}
|
||||
|
||||
/* TODO: The total per-socket buffer space reserved for sends */
|
||||
AFD_DbgPrint(MIN_TRACE,("Setting send buf to %x is not implemented yet\n", optval));
|
||||
ERR("Setting send buf to %x is not implemented yet\n", optval);
|
||||
return 0;
|
||||
|
||||
case SO_SNDTIMEO:
|
||||
|
@ -2326,7 +2317,7 @@ WSPSetSockOpt(
|
|||
|
||||
default:
|
||||
/* Obviously this is a hack */
|
||||
DbgPrint("MSAFD: Set unknown optname %x\n", optname);
|
||||
ERR("MSAFD: Set unknown optname %x\n", optname);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -2365,7 +2356,7 @@ WSPStartup(IN WORD wVersionRequested,
|
|||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("wVersionRequested (0x%X) \n", wVersionRequested));
|
||||
ERR("wVersionRequested (0x%X) \n", wVersionRequested);
|
||||
Status = NO_ERROR;
|
||||
Upcalls = UpcallTable;
|
||||
|
||||
|
@ -2405,7 +2396,7 @@ WSPStartup(IN WORD wVersionRequested,
|
|||
lpWSPData->wHighVersion = MAKEWORD(2, 2);
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("Status (%d).\n", Status));
|
||||
TRACE("Status (%d).\n", Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
@ -2423,8 +2414,7 @@ WSPAPI
|
|||
WSPCleanup(OUT LPINT lpErrno)
|
||||
|
||||
{
|
||||
AFD_DbgPrint(MAX_TRACE, ("\n"));
|
||||
AFD_DbgPrint(MAX_TRACE, ("Leaving.\n"));
|
||||
TRACE("Leaving.\n");
|
||||
*lpErrno = NO_ERROR;
|
||||
|
||||
return 0;
|
||||
|
@ -2660,7 +2650,7 @@ BOOLEAN SockCreateOrReferenceAsyncThread(VOID)
|
|||
2); // Allow 2 threads only
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
AFD_DbgPrint(MID_TRACE,("Failed to create completion port\n"));
|
||||
ERR("Failed to create completion port: 0x%08x\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
/* Protect Handle */
|
||||
|
@ -3093,7 +3083,7 @@ DllMain(HANDLE hInstDll,
|
|||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("Loading MSAFD.DLL \n"));
|
||||
TRACE("Loading MSAFD.DLL \n");
|
||||
|
||||
/* Don't need thread attach notifications
|
||||
so disable them to improve performance */
|
||||
|
@ -3108,7 +3098,7 @@ DllMain(HANDLE hInstDll,
|
|||
/* Initialize the lock that protects our socket list */
|
||||
InitializeCriticalSection(&SocketListLock);
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("MSAFD.DLL has been loaded\n"));
|
||||
TRACE("MSAFD.DLL has been loaded\n");
|
||||
|
||||
break;
|
||||
|
||||
|
@ -3126,7 +3116,7 @@ DllMain(HANDLE hInstDll,
|
|||
break;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MAX_TRACE, ("DllMain of msafd.dll (leaving)\n"));
|
||||
TRACE("DllMain of msafd.dll (leaving)\n");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
|
||||
#include <msafd.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msafd);
|
||||
|
||||
int
|
||||
WSPAPI
|
||||
WSPEventSelect(
|
||||
|
@ -103,28 +106,31 @@ WSPEventSelect(
|
|||
NULL,
|
||||
0);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("AFD: %x\n", Status));
|
||||
TRACE("AFD: %x\n", Status);
|
||||
|
||||
/* Wait for return */
|
||||
if (Status == STATUS_PENDING) {
|
||||
WaitForSingleObject(SockEvent, INFINITE);
|
||||
WaitForSingleObject(SockEvent, INFINITE);
|
||||
Status = IOSB.Status;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Waited\n"));
|
||||
TRACE("Waited\n");
|
||||
|
||||
NtClose( SockEvent );
|
||||
|
||||
if (Status != STATUS_SUCCESS)
|
||||
{
|
||||
ERR("Got status 0x%08x.\n", Status);
|
||||
return MsafdReturnWithErrno(Status, lpErrno, 0, NULL);
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Closed event\n"));
|
||||
TRACE("Closed event\n");
|
||||
|
||||
/* Set Socket Data*/
|
||||
Socket->EventObject = hEventObject;
|
||||
Socket->NetworkEvents = lNetworkEvents;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Leaving\n"));
|
||||
TRACE("Leaving\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -144,14 +150,14 @@ WSPEnumNetworkEvents(
|
|||
NTSTATUS Status;
|
||||
HANDLE SockEvent;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called (lpNetworkEvents %x)\n", lpNetworkEvents));
|
||||
TRACE("Called (lpNetworkEvents %x)\n", lpNetworkEvents);
|
||||
|
||||
Status = NtCreateEvent( &SockEvent, EVENT_ALL_ACCESS,
|
||||
NULL, 1, FALSE );
|
||||
|
||||
if( !NT_SUCCESS(Status) ) {
|
||||
AFD_DbgPrint(MID_TRACE,("Could not make an event %x\n", Status));
|
||||
return -1;
|
||||
ERR("Could not make an event %x\n", Status);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get the Socket Structure associate to this Socket*/
|
||||
|
@ -177,60 +183,60 @@ WSPEnumNetworkEvents(
|
|||
NULL,
|
||||
0);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("AFD: %x\n", Status));
|
||||
TRACE("AFD: %x\n", Status);
|
||||
|
||||
/* Wait for return */
|
||||
if (Status == STATUS_PENDING) {
|
||||
WaitForSingleObject(SockEvent, INFINITE);
|
||||
Status = IOSB.Status;
|
||||
WaitForSingleObject(SockEvent, INFINITE);
|
||||
Status = IOSB.Status;
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Waited\n"));
|
||||
TRACE("Waited\n");
|
||||
|
||||
NtClose( SockEvent );
|
||||
|
||||
if (Status != STATUS_SUCCESS)
|
||||
{
|
||||
ERR("Status 0x%08x", Status);
|
||||
return MsafdReturnWithErrno(Status, lpErrno, 0, NULL);
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Closed event\n"));
|
||||
AFD_DbgPrint(MID_TRACE,("About to touch struct at %x (%d)\n",
|
||||
lpNetworkEvents, sizeof(*lpNetworkEvents)));
|
||||
TRACE("Closed event\n");
|
||||
TRACE("About to touch struct at %x (%d)\n", lpNetworkEvents, sizeof(*lpNetworkEvents));
|
||||
|
||||
lpNetworkEvents->lNetworkEvents = 0;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Zeroed struct\n"));
|
||||
|
||||
/* Set Events to wait for */
|
||||
if (EnumReq.PollEvents & AFD_EVENT_RECEIVE) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_READ;
|
||||
lpNetworkEvents->iErrorCode[FD_READ_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_READ_BIT]);
|
||||
lpNetworkEvents->lNetworkEvents |= FD_READ;
|
||||
lpNetworkEvents->iErrorCode[FD_READ_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_READ_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents & AFD_EVENT_SEND) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_WRITE;
|
||||
lpNetworkEvents->iErrorCode[FD_WRITE_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_WRITE_BIT]);
|
||||
lpNetworkEvents->lNetworkEvents |= FD_WRITE;
|
||||
lpNetworkEvents->iErrorCode[FD_WRITE_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_WRITE_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents & AFD_EVENT_OOB_RECEIVE) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_OOB;
|
||||
lpNetworkEvents->iErrorCode[FD_OOB_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_OOB_BIT]);
|
||||
lpNetworkEvents->iErrorCode[FD_OOB_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_OOB_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents & AFD_EVENT_ACCEPT) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_ACCEPT;
|
||||
lpNetworkEvents->iErrorCode[FD_ACCEPT_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_ACCEPT_BIT]);
|
||||
lpNetworkEvents->lNetworkEvents |= FD_ACCEPT;
|
||||
lpNetworkEvents->iErrorCode[FD_ACCEPT_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_ACCEPT_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents &
|
||||
(AFD_EVENT_CONNECT | AFD_EVENT_CONNECT_FAIL)) {
|
||||
(AFD_EVENT_CONNECT | AFD_EVENT_CONNECT_FAIL)) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_CONNECT;
|
||||
lpNetworkEvents->iErrorCode[FD_CONNECT_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_CONNECT_BIT]);
|
||||
lpNetworkEvents->iErrorCode[FD_CONNECT_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_CONNECT_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents &
|
||||
(AFD_EVENT_DISCONNECT | AFD_EVENT_ABORT | AFD_EVENT_CLOSE)) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_CLOSE;
|
||||
lpNetworkEvents->iErrorCode[FD_CLOSE_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_CLOSE_BIT]);
|
||||
lpNetworkEvents->lNetworkEvents |= FD_CLOSE;
|
||||
lpNetworkEvents->iErrorCode[FD_CLOSE_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_CLOSE_BIT]);
|
||||
}
|
||||
|
||||
if (EnumReq.PollEvents & AFD_EVENT_QOS) {
|
||||
|
@ -239,11 +245,11 @@ WSPEnumNetworkEvents(
|
|||
}
|
||||
|
||||
if (EnumReq.PollEvents & AFD_EVENT_GROUP_QOS) {
|
||||
lpNetworkEvents->lNetworkEvents |= FD_GROUP_QOS;
|
||||
lpNetworkEvents->iErrorCode[FD_GROUP_QOS_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_GROUP_QOS_BIT]);
|
||||
lpNetworkEvents->lNetworkEvents |= FD_GROUP_QOS;
|
||||
lpNetworkEvents->iErrorCode[FD_GROUP_QOS_BIT] = TranslateNtStatusError(EnumReq.EventStatus[FD_GROUP_QOS_BIT]);
|
||||
}
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Leaving\n"));
|
||||
TRACE("Leaving\n");
|
||||
|
||||
return MsafdReturnWithErrno(STATUS_SUCCESS, lpErrno, 0, NULL);
|
||||
}
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
|
||||
#include <winreg.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msafd);
|
||||
|
||||
CRITICAL_SECTION HelperDLLDatabaseLock;
|
||||
LIST_ENTRY HelperDLLDatabaseListHead;
|
||||
|
||||
|
@ -37,7 +40,8 @@ SockGetTdiName(
|
|||
PLIST_ENTRY Helpers;
|
||||
INT Status;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called\n"));
|
||||
TRACE("AddressFamily %p, SocketType %p, Protocol %p, Group %u, Flags %lx, TransportName %wZ, HelperDllContext %p, HeplperDllData %p, Events %p\n",
|
||||
AddressFamily, SocketType, Protocol, Group, Flags, TransportName, HelperDllContext, HelperDllData, Events);
|
||||
|
||||
/* Check in our Current Loaded Helpers */
|
||||
for (Helpers = SockHelpersListHead.Flink;
|
||||
|
@ -86,7 +90,7 @@ SockGetTdiName(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Can't get transport list\n"));
|
||||
WARN("Can't get transport list\n");
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
@ -94,14 +98,14 @@ SockGetTdiName(
|
|||
for (Transport = Transports;
|
||||
*Transports != 0;
|
||||
Transport += wcslen(Transport) + 1) {
|
||||
AFD_DbgPrint(MID_TRACE, ("Transport: %S\n", Transports));
|
||||
TRACE("Transport: %S\n", Transports);
|
||||
|
||||
/* See what mapping this Transport supports */
|
||||
Status = SockLoadTransportMapping(Transport, &Mapping);
|
||||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Can't get mapping\n"));
|
||||
ERR("Can't get mapping for %S\n", Transports);
|
||||
HeapFree(GlobalHeap, 0, Transports);
|
||||
return Status;
|
||||
}
|
||||
|
@ -114,7 +118,7 @@ SockGetTdiName(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Can't load helper DLL\n"));
|
||||
ERR("Can't load helper DLL for Transport %S.\n", Transport);
|
||||
HeapFree(GlobalHeap, 0, Transports);
|
||||
HeapFree(GlobalHeap, 0, Mapping);
|
||||
return Status;
|
||||
|
@ -144,7 +148,7 @@ SockGetTdiName(
|
|||
|
||||
/* Return the Helper Pointers */
|
||||
*HelperDllData = HelperData;
|
||||
/* We actually cache these ... the can't be freed yet */
|
||||
/* We actually cache these ... the can't be freed yet */
|
||||
/*HeapFree(GlobalHeap, 0, Transports);*/
|
||||
/*HeapFree(GlobalHeap, 0, Mapping);*/
|
||||
return NO_ERROR;
|
||||
|
@ -166,14 +170,14 @@ SockLoadTransportMapping(
|
|||
ULONG MappingSize;
|
||||
LONG Status;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called: TransportName %ws\n", TransportName));
|
||||
TRACE("TransportName %ws\n", TransportName);
|
||||
|
||||
/* Allocate a Buffer */
|
||||
TransportKey = HeapAlloc(GlobalHeap, 0, (54 + wcslen(TransportName)) * sizeof(WCHAR));
|
||||
|
||||
/* Check for error */
|
||||
if (TransportKey == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -190,7 +194,7 @@ SockLoadTransportMapping(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport mapping registry\n"));
|
||||
ERR("Error reading transport mapping registry\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -199,7 +203,7 @@ SockLoadTransportMapping(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport mapping registry\n"));
|
||||
ERR("Error reading transport mapping registry\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -208,7 +212,7 @@ SockLoadTransportMapping(
|
|||
|
||||
/* Check for error */
|
||||
if (*Mapping == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -217,7 +221,7 @@ SockLoadTransportMapping(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport mapping registry\n"));
|
||||
ERR("Error reading transport mapping registry\n");
|
||||
HeapFree(GlobalHeap, 0, *Mapping);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -235,7 +239,7 @@ SockLoadTransportList(
|
|||
HKEY KeyHandle;
|
||||
LONG Status;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called\n"));
|
||||
TRACE("Called\n");
|
||||
|
||||
/* Open the Transports Key */
|
||||
Status = RegOpenKeyExW (HKEY_LOCAL_MACHINE,
|
||||
|
@ -246,7 +250,7 @@ SockLoadTransportList(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport list registry\n"));
|
||||
ERR("Error reading transport list registry\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -260,7 +264,7 @@ SockLoadTransportList(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport list registry\n"));
|
||||
ERR("Error reading transport list registry\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -269,7 +273,7 @@ SockLoadTransportList(
|
|||
|
||||
/* Check for error */
|
||||
if (*TransportList == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -283,7 +287,7 @@ SockLoadTransportList(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading transport list registry\n"));
|
||||
ERR("Error reading transport list registry\n");
|
||||
HeapFree(GlobalHeap, 0, *TransportList);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -312,7 +316,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (HelperData == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
||||
|
@ -321,7 +325,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (HelperKey == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -338,7 +342,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading helper DLL parameters\n"));
|
||||
ERR("Error reading helper DLL parameters\n");
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -380,7 +384,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (HelperDllName == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -389,7 +393,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (FullHelperDllName == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Buffer allocation failed\n"));
|
||||
ERR("Buffer allocation failed\n");
|
||||
HeapFree(GlobalHeap, 0, HelperDllName);
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
return WSAEINVAL;
|
||||
|
@ -406,7 +410,7 @@ SockLoadHelperDll(
|
|||
|
||||
/* Check for error */
|
||||
if (Status) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error reading helper DLL parameters\n"));
|
||||
ERR("Error reading helper DLL parameters\n");
|
||||
HeapFree(GlobalHeap, 0, FullHelperDllName);
|
||||
HeapFree(GlobalHeap, 0, HelperDllName);
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
|
@ -425,7 +429,7 @@ SockLoadHelperDll(
|
|||
HeapFree(GlobalHeap, 0, FullHelperDllName);
|
||||
|
||||
if (HelperData->hInstance == NULL) {
|
||||
AFD_DbgPrint(MIN_TRACE, ("Error loading helper DLL\n"));
|
||||
ERR("Error loading helper DLL\n");
|
||||
HeapFree(GlobalHeap, 0, HelperData);
|
||||
return WSAEINVAL;
|
||||
}
|
||||
|
@ -495,25 +499,25 @@ SockIsTripleInMapping(
|
|||
/* The Windows version returns more detailed information on which of the 3 parameters failed...we should do this later */
|
||||
ULONG Row;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called, Mapping rows = %d\n", Mapping->Rows));
|
||||
TRACE("Called, Mapping rows = %d\n", Mapping->Rows);
|
||||
|
||||
/* Loop through Mapping to Find a matching one */
|
||||
for (Row = 0; Row < Mapping->Rows; Row++) {
|
||||
AFD_DbgPrint(MID_TRACE,("Examining: row %d: AF %d type %d proto %d\n",
|
||||
TRACE("Examining: row %d: AF %d type %d proto %d\n",
|
||||
Row,
|
||||
(INT)Mapping->Mapping[Row].AddressFamily,
|
||||
(INT)Mapping->Mapping[Row].SocketType,
|
||||
(INT)Mapping->Mapping[Row].Protocol));
|
||||
(INT)Mapping->Mapping[Row].Protocol);
|
||||
|
||||
/* Check of all three values Match */
|
||||
if (((INT)Mapping->Mapping[Row].AddressFamily == AddressFamily) &&
|
||||
((INT)Mapping->Mapping[Row].SocketType == SocketType) &&
|
||||
((INT)Mapping->Mapping[Row].Protocol == Protocol)) {
|
||||
AFD_DbgPrint(MID_TRACE,("Found\n"));
|
||||
TRACE("Found\n");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
AFD_DbgPrint(MID_TRACE,("Not found\n"));
|
||||
WARN("Not found\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
|
||||
#include <msafd.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msafd);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSPAsyncSelect(IN SOCKET Handle,
|
||||
|
@ -113,7 +116,7 @@ WSPRecv(SOCKET Handle,
|
|||
HANDLE SockEvent;
|
||||
PSOCKET_INFORMATION Socket;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called (%x)\n", Handle));
|
||||
TRACE("Called (%x)\n", Handle);
|
||||
|
||||
/* Get the Socket Structure associate to this Socket*/
|
||||
Socket = GetSocketStructure(Handle);
|
||||
|
@ -215,7 +218,7 @@ WSPRecv(SOCKET Handle,
|
|||
|
||||
NtClose( SockEvent );
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Status %x Information %d\n", Status, IOSB->Information));
|
||||
TRACE("Status %x Information %d\n", Status, IOSB->Information);
|
||||
|
||||
/* Return the Flags */
|
||||
*ReceiveFlags = 0;
|
||||
|
@ -448,7 +451,7 @@ WSPSend(SOCKET Handle,
|
|||
if( !NT_SUCCESS(Status) )
|
||||
return -1;
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Called\n"));
|
||||
TRACE("Called\n");
|
||||
|
||||
/* Set up the Send Structure */
|
||||
SendInfo.BufferArray = (PAFD_WSABUF)lpBuffers;
|
||||
|
@ -524,14 +527,14 @@ WSPSend(SOCKET Handle,
|
|||
|
||||
if (Status == STATUS_PENDING)
|
||||
{
|
||||
AFD_DbgPrint(MID_TRACE,("Leaving (Pending)\n"));
|
||||
TRACE("Leaving (Pending)\n");
|
||||
return MsafdReturnWithErrno(Status, lpErrno, IOSB->Information, lpNumberOfBytesSent);
|
||||
}
|
||||
|
||||
/* Re-enable Async Event */
|
||||
SockReenableAsyncSelectEvent(Socket, FD_WRITE);
|
||||
|
||||
AFD_DbgPrint(MID_TRACE,("Leaving (Success, %d)\n", IOSB->Information));
|
||||
TRACE("Leaving (Success, %d)\n", IOSB->Information);
|
||||
|
||||
return MsafdReturnWithErrno( Status, lpErrno, IOSB->Information, lpNumberOfBytesSent );
|
||||
}
|
||||
|
@ -710,7 +713,7 @@ WSPRecvDisconnect(IN SOCKET s,
|
|||
OUT LPWSABUF lpInboundDisconnectData,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -722,7 +725,7 @@ WSPSendDisconnect(IN SOCKET s,
|
|||
IN LPWSABUF lpOutboundDisconnectData,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
|
||||
#include <msafd.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msafd);
|
||||
|
||||
INT
|
||||
WSPAPI
|
||||
WSPAddressToString(
|
||||
|
@ -20,7 +23,7 @@ WSPAddressToString(
|
|||
IN OUT LPDWORD lpdwAddressStringLength,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -31,7 +34,7 @@ WSPAPI
|
|||
WSPCancelBlockingCall(
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -45,7 +48,7 @@ WSPDuplicateSocket(
|
|||
OUT LPWSAPROTOCOL_INFOW lpProtocolInfo,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -61,7 +64,7 @@ WSPGetOverlappedResult(
|
|||
OUT LPDWORD lpdwFlags,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -75,7 +78,7 @@ WSPGetQOSByName(
|
|||
OUT LPQOS lpQOS,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -94,7 +97,7 @@ WSPJoinLeaf(
|
|||
IN DWORD dwFlags,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return (SOCKET)0;
|
||||
}
|
||||
|
@ -109,7 +112,7 @@ WSPStringToAddress(
|
|||
IN OUT LPINT lpAddressLength,
|
||||
OUT LPINT lpErrno)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -27,9 +27,7 @@
|
|||
#include <wsahelp.h>
|
||||
#include <tdi.h>
|
||||
#include <afd/shared.h>
|
||||
#include <helpers.h>
|
||||
|
||||
#include <debug.h>
|
||||
#include "include/helpers.h"
|
||||
|
||||
extern HANDLE GlobalHeap;
|
||||
extern WSPUPCALLTABLE Upcalls;
|
||||
|
|
Loading…
Reference in a new issue