2 * MSWSOCK specific functions
4 * Copyright (C) 2003 André Johansen
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
30 #include "wine/debug.h"
32 WINE_DEFAULT_DEBUG_CHANNEL(mswsock);
34 /***********************************************************************
35 * AcceptEx (MSWSOCK.@)
37 * This function is used to accept a new connection, get the local and remote
38 * address, and receive the initial block of data sent by the client.
41 * This function is currently implemented as a stub.
45 SOCKET sListenSocket, /* [in] Descriptor identifying a socket that
46 has already been called with the listen
48 SOCKET sAcceptSocket, /* [in] Descriptor identifying a socket on
49 which to accept an incoming connection */
50 PVOID lpOutputBuffer, /* [in] Pointer to a buffer */
51 DWORD dwReceiveDataLength, /* [in] Number of bytes in lpOutputBuffer
52 that will be used for actual receive data
53 at the beginning of the buffer */
54 DWORD dwLocalAddressLength, /* [in] Number of bytes reserved for the
55 local address information */
56 DWORD dwRemoteAddressLength, /* [in] Number of bytes reserved for the
57 remote address information */
58 LPDWORD lpdwBytesReceived, /* [out] Pointer to a DWORD that receives
59 the count of bytes received */
60 LPOVERLAPPED lpOverlapped) /* [in] Specify in order to achieve an
61 overlapped (asynchronous) I/O
64 FIXME("not implemented\n");
69 /***********************************************************************
70 * GetAcceptExSockaddrs (MSWSOCK.@)
72 VOID WINAPI GetAcceptExSockaddrs(
73 PVOID lpOutputBuffer, /* [in] Pointer to a buffer */
74 DWORD dwReceiveDataLength, /* [in] Number of bytes in the buffer used
75 for receiving the first data */
76 DWORD dwLocalAddressLength, /* [in] Number of bytes reserved for the
77 local address information */
78 DWORD dwRemoteAddressLength, /* [in] Number of bytes reserved for the
79 remote address information */
80 struct sockaddr **LocalSockaddr, /* [out] Pointer to the sockaddr
81 structure that receives the local
82 address of the connection */
83 LPINT LocalSockaddrLength, /* [out] Size in bytes of the local
85 struct sockaddr **RemoteSockaddr, /* [out] Pointer to the sockaddr
86 structure that receives the remote
87 address of the connection */
88 LPINT RemoteSockaddrLength) /* [out] Size in bytes of the remote address */
90 FIXME("not implemented\n");
93 /***********************************************************************
94 * TransmitFile (MSWSOCK.@)
96 * This function is used to transmit a file over socket.
99 * This function is currently implemented as a stub.
102 BOOL WINAPI TransmitFile(
103 SOCKET hSocket, /* [in] Handle to a connected socket */
104 HANDLE hFile, /* [in] Handle to the open file that should be
106 DWORD nNumberOfBytesToWrite, /* [in] Number of file bytes to
108 DWORD nNumberOfBytesPerSend, /* [in] Size in bytes of each block of
109 data sent in each send operation */
110 LPOVERLAPPED lpOverlapped, /* [in] Specify in order to achieve an
111 overlapped (asynchronous) I/O
113 LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
114 /* [in] Contains pointers to data to send before and after
115 the file data is sent */
116 DWORD dwFlags) /* [in] Flags */
118 FIXME("not implemented\n");
123 /***********************************************************************
124 * WSARecvEx (MSWSOCK.@)
126 INT WINAPI WSARecvEx(
127 SOCKET s, /* [in] Descriptor identifying a connected socket */
128 char *buf, /* [out] Buffer for the incoming data */
129 INT len, /* [in] Length of buf, in bytes */
130 INT *flags) /* [in/out] Indicator specifying whether the message is
131 fully or partially received for datagram sockets */
133 FIXME("not implemented\n");