Sync with trunk rev.61910 to get latest improvements and bugfixes.
[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 #include <winsock2.h>
13 #include <mswsock.h>
14
15 /*
16 * @implemented
17 */
18 BOOL
19 WINAPI
20 TransmitFile(SOCKET Socket,
21 HANDLE File,
22 DWORD NumberOfBytesToWrite,
23 DWORD NumberOfBytesPerSend,
24 LPOVERLAPPED Overlapped,
25 LPTRANSMIT_FILE_BUFFERS TransmitBuffers,
26 DWORD Flags)
27 {
28 static GUID TransmitFileGUID = WSAID_TRANSMITFILE;
29 LPFN_TRANSMITFILE pfnTransmitFile;
30 DWORD cbBytesReturned;
31
32 if (WSAIoctl(Socket,
33 SIO_GET_EXTENSION_FUNCTION_POINTER,
34 &TransmitFileGUID,
35 sizeof(TransmitFileGUID),
36 &pfnTransmitFile,
37 sizeof(pfnTransmitFile),
38 &cbBytesReturned,
39 NULL,
40 NULL) == SOCKET_ERROR)
41 {
42 return FALSE;
43 }
44
45 return pfnTransmitFile(Socket,
46 File,
47 NumberOfBytesToWrite,
48 NumberOfBytesPerSend,
49 Overlapped,
50 TransmitBuffers,
51 Flags);
52 }
53
54 /* EOF */