Synchronize with trunk r58528.
[reactos.git] / dll / win32 / mswsock / extensions.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS WinSock DLL
4 * FILE: stubs.c
5 * PURPOSE: WSAIoctl wrappers for Microsoft extensions to Winsock
6 * PROGRAMMERS: KJK::Hyperion <hackbunny@reactos.com>
7 * REVISIONS:
8 */
9
10 #include "precomp.h"
11
12 /*
13 * @implemented
14 */
15 BOOL
16 WINAPI
17 TransmitFile(SOCKET Socket,
18 HANDLE File,
19 DWORD NumberOfBytesToWrite,
20 DWORD NumberOfBytesPerSend,
21 LPOVERLAPPED Overlapped,
22 LPTRANSMIT_FILE_BUFFERS TransmitBuffers,
23 DWORD Flags)
24 {
25 static GUID TransmitFileGUID = WSAID_TRANSMITFILE;
26 LPFN_TRANSMITFILE pfnTransmitFile;
27 DWORD cbBytesReturned;
28
29 if (WSAIoctl(Socket,
30 SIO_GET_EXTENSION_FUNCTION_POINTER,
31 &TransmitFileGUID,
32 sizeof(TransmitFileGUID),
33 &pfnTransmitFile,
34 sizeof(pfnTransmitFile),
35 &cbBytesReturned,
36 NULL,
37 NULL) == SOCKET_ERROR)
38 {
39 return FALSE;
40 }
41
42 return pfnTransmitFile(Socket,
43 File,
44 NumberOfBytesToWrite,
45 NumberOfBytesPerSend,
46 Overlapped,
47 TransmitBuffers,
48 Flags);
49 }
50
51 /* EOF */