Implemented a stub for WSARecvFrom.

oldstable
Peter Hunnisett 2001-07-10 19:09:59 +00:00 committed by Alexandre Julliard
parent 34329cf58e
commit 7736876afd
3 changed files with 42 additions and 8 deletions

View File

@ -3221,3 +3221,33 @@ UINT16 wsaHerrno(int loc_errno)
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;
}

View File

@ -81,7 +81,7 @@ debug_channels (winsock)
66 stub WSAProviderConfigChange
67 stub WSARecv
68 stub WSARecvDisconnect
69 stub WSARecvFrom
69 stdcall WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr ) WSARecvFrom
70 stub WSARemoveServiceClass
71 forward WSAResetEvent KERNEL32.ResetEvent
72 stdcall WSASend(long ptr long ptr long ptr ptr) WSASend

View File

@ -212,14 +212,18 @@ typedef void CALLBACK (*LPWSAOVERLAPPED_COMPLETION_ROUTINE)
/* Function declarations */
int WINAPI WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents);
int WINAPI WSAEventSelect(SOCKET s, WSAEVENT hEventObject, long lNetworkEvents);
int WINAPI WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents);
int WINAPI WSAEventSelect(SOCKET s, WSAEVENT hEventObject, long lNetworkEvents);
WSAEVENT WINAPI WSACreateEvent(void);
BOOL WINAPI WSACloseEvent(WSAEVENT event);
SOCKET WINAPI WSASocketA(int af, int type, int protocol,
LPWSAPROTOCOL_INFOA lpProtocolInfo,
GROUP g, DWORD dwFlags);
extern INT WINAPI ioctlsocket(SOCKET s, LONG cmd, ULONG *argp);
BOOL WINAPI WSACloseEvent(WSAEVENT event);
INT WINAPI WSARecvFrom(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,struct sockaddr*,LPINT,
LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
INT WINAPI WSASend(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,LPWSAOVERLAPPED,
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"