2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock 2 DLL
5 * PURPOSE: Send/receive functions
6 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
8 * CSH 01/09-2000 Created
35 IN OUT INT FAR
* fromlen
)
47 IN CONST CHAR FAR
* buf
,
61 IN CONST CHAR FAR
* buf
,
64 IN CONST LPSOCKADDR to
,
70 WS_DbgPrint(MAX_TRACE
, ("s (0x%X) buf (0x%X) len (0x%X) flags (0x%X).\n",
74 WSABuf
.buf
= (CHAR FAR
*)buf
;
76 return WSASendTo(s
, &WSABuf
, 1, &BytesSent
, flags
, to
, tolen
, NULL
, NULL
);
84 IN OUT LPWSABUF lpBuffers
,
85 IN DWORD dwBufferCount
,
86 OUT LPDWORD lpNumberOfBytesRecvd
,
87 IN OUT LPDWORD lpFlags
,
88 IN LPWSAOVERLAPPED lpOverlapped
,
89 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
)
101 OUT LPWSABUF lpInboundDisconnectData
)
113 IN OUT LPWSABUF lpBuffers
,
114 IN DWORD dwBufferCount
,
115 OUT LPDWORD lpNumberOfBytesRecvd
,
116 IN OUT LPDWORD lpFlags
,
117 OUT LPSOCKADDR lpFrom
,
118 IN OUT LPINT lpFromlen
,
119 IN LPWSAOVERLAPPED lpOverlapped
,
120 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
)
132 IN LPWSABUF lpBuffers
,
133 IN DWORD dwBufferCount
,
134 OUT LPDWORD lpNumberOfBytesSent
,
136 IN LPWSAOVERLAPPED lpOverlapped
,
137 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
)
149 IN LPWSABUF lpOutboundDisconnectData
)
161 IN LPWSABUF lpBuffers
,
162 IN DWORD dwBufferCount
,
163 OUT LPDWORD lpNumberOfBytesSent
,
165 IN CONST LPSOCKADDR lpTo
,
167 IN LPWSAOVERLAPPED lpOverlapped
,
168 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
)
170 PCATALOG_ENTRY Provider
;
174 WS_DbgPrint(MAX_TRACE
, ("Called.\n"));
176 if (!ReferenceProviderByHandle((HANDLE
)s
, &Provider
)) {
177 WSASetLastError(WSAENOTSOCK
);
181 Code
= Provider
->ProcTable
.lpWSPSendTo(s
, lpBuffers
, dwBufferCount
,
182 lpNumberOfBytesSent
, dwFlags
, lpTo
, iToLen
, lpOverlapped
,
183 lpCompletionRoutine
, NULL
/* lpThreadId */, &Errno
);
185 DereferenceProviderByPointer(Provider
);
187 if (Code
== SOCKET_ERROR
)
188 WSASetLastError(Errno
);