Implemented a stub for WSARecvFrom.

This commit is contained in:
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; 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 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

View File

@ -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"