reshuffling of dlls
[reactos.git] / reactos / dll / mswsock / extensions.c
1 /* $Id: stubs.c 12852 2005-01-06 13:58:04Z mf $
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS WinSock DLL
5 * FILE: stubs.c
6 * PURPOSE: WSAIoctl wrappers for Microsoft extensions to Winsock
7 * PROGRAMMERS: KJK::Hyperion <hackbunny@reactos.com>
8 * REVISIONS:
9 */
10
11 #include <windows.h>
12 #include <winsock2.h>
13 #include <mswsock.h>
14
15 /*
16 * @implemented
17 */
18 BOOL
19 STDCALL
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 */