Implemented a stub for WSARecvFrom.
This commit is contained in:
parent
34329cf58e
commit
7736876afd
|
@ -3221,3 +3221,33 @@ UINT16 wsaHerrno(int loc_errno)
|
||||||
return WSAEOPNOTSUPP;
|
return WSAEOPNOTSUPP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* WSARecvFrom (WSOCK32.69)
|
||||||
|
*/
|
||||||
|
INT WINAPI WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount,
|
||||||
|
LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, struct sockaddr *lpFrom,
|
||||||
|
LPINT lpFromlen, LPWSAOVERLAPPED lpOverlapped,
|
||||||
|
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine )
|
||||||
|
{
|
||||||
|
DWORD dwCount;
|
||||||
|
INT rc;
|
||||||
|
|
||||||
|
FIXME( "(%i,%p,%lu,%p,%p,%p,%p,%p,%p: stub\n",
|
||||||
|
s, lpBuffers, dwBufferCount, lpNumberOfBytesRecvd, lpFlags,
|
||||||
|
lpFrom, lpFromlen, lpOverlapped, lpCompletionRoutine );
|
||||||
|
|
||||||
|
for( dwCount = 0, rc = 0; dwCount < dwBufferCount; dwCount++ )
|
||||||
|
{
|
||||||
|
|
||||||
|
if( ( rc = WSOCK32_recvfrom(s, lpBuffers[ dwCount ].buf, (INT)lpBuffers[ dwCount ].len,
|
||||||
|
(INT)*lpFlags, lpFrom, lpFromlen ) ) != 0 )
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ debug_channels (winsock)
|
||||||
66 stub WSAProviderConfigChange
|
66 stub WSAProviderConfigChange
|
||||||
67 stub WSARecv
|
67 stub WSARecv
|
||||||
68 stub WSARecvDisconnect
|
68 stub WSARecvDisconnect
|
||||||
69 stub WSARecvFrom
|
69 stdcall WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr ) WSARecvFrom
|
||||||
70 stub WSARemoveServiceClass
|
70 stub WSARemoveServiceClass
|
||||||
71 forward WSAResetEvent KERNEL32.ResetEvent
|
71 forward WSAResetEvent KERNEL32.ResetEvent
|
||||||
72 stdcall WSASend(long ptr long ptr long ptr ptr) WSASend
|
72 stdcall WSASend(long ptr long ptr long ptr ptr) WSASend
|
||||||
|
|
|
@ -212,14 +212,18 @@ typedef void CALLBACK (*LPWSAOVERLAPPED_COMPLETION_ROUTINE)
|
||||||
|
|
||||||
|
|
||||||
/* Function declarations */
|
/* Function declarations */
|
||||||
int WINAPI WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents);
|
int WINAPI WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents);
|
||||||
int WINAPI WSAEventSelect(SOCKET s, WSAEVENT hEventObject, long lNetworkEvents);
|
int WINAPI WSAEventSelect(SOCKET s, WSAEVENT hEventObject, long lNetworkEvents);
|
||||||
WSAEVENT WINAPI WSACreateEvent(void);
|
WSAEVENT WINAPI WSACreateEvent(void);
|
||||||
BOOL WINAPI WSACloseEvent(WSAEVENT event);
|
BOOL WINAPI WSACloseEvent(WSAEVENT event);
|
||||||
SOCKET WINAPI WSASocketA(int af, int type, int protocol,
|
INT WINAPI WSARecvFrom(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct sockaddr*,LPINT,
|
||||||
LPWSAPROTOCOL_INFOA lpProtocolInfo,
|
LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
GROUP g, DWORD dwFlags);
|
INT WINAPI WSASend(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,
|
||||||
extern INT WINAPI ioctlsocket(SOCKET s, LONG cmd, ULONG *argp);
|
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
|
||||||
|
SOCKET WINAPI WSASocketA(int af, int type, int protocol,
|
||||||
|
LPWSAPROTOCOL_INFOA lpProtocolInfo,
|
||||||
|
GROUP g, DWORD dwFlags);
|
||||||
|
INT WINAPI ioctlsocket(SOCKET s, LONG cmd, ULONG *argp);
|
||||||
|
|
||||||
#include "poppack.h"
|
#include "poppack.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue