/* * MSWSOCK specific functions * * Copyright (C) 2003 André Johansen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "config.h" #include #include "windef.h" #include "winbase.h" #include "winsock2.h" #include "mswsock.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(mswsock); /*********************************************************************** * AcceptEx (MSWSOCK.@) * * This function is used to accept a new connection, get the local and remote * address, and receive the initial block of data sent by the client. * * TODO * This function is currently implemented as a stub. */ BOOL WINAPI AcceptEx( SOCKET sListenSocket, /* [in] Descriptor identifying a socket that has already been called with the listen function */ SOCKET sAcceptSocket, /* [in] Descriptor identifying a socket on which to accept an incoming connection */ PVOID lpOutputBuffer, /* [in] Pointer to a buffer */ DWORD dwReceiveDataLength, /* [in] Number of bytes in lpOutputBuffer that will be used for actual receive data at the beginning of the buffer */ DWORD dwLocalAddressLength, /* [in] Number of bytes reserved for the local address information */ DWORD dwRemoteAddressLength, /* [in] Number of bytes reserved for the remote address information */ LPDWORD lpdwBytesReceived, /* [out] Pointer to a DWORD that receives the count of bytes received */ LPOVERLAPPED lpOverlapped) /* [in] Specify in order to achieve an overlapped (asynchronous) I/O operation */ { FIXME("not implemented\n"); return FALSE; } /*********************************************************************** * GetAcceptExSockaddrs (MSWSOCK.@) */ VOID WINAPI GetAcceptExSockaddrs( PVOID lpOutputBuffer, /* [in] Pointer to a buffer */ DWORD dwReceiveDataLength, /* [in] Number of bytes in the buffer used for receiving the first data */ DWORD dwLocalAddressLength, /* [in] Number of bytes reserved for the local address information */ DWORD dwRemoteAddressLength, /* [in] Number of bytes reserved for the remote address information */ struct sockaddr **LocalSockaddr, /* [out] Pointer to the sockaddr structure that receives the local address of the connection */ LPINT LocalSockaddrLength, /* [out] Size in bytes of the local address */ struct sockaddr **RemoteSockaddr, /* [out] Pointer to the sockaddr structure that receives the remote address of the connection */ LPINT RemoteSockaddrLength) /* [out] Size in bytes of the remote address */ { FIXME("not implemented\n"); } /*********************************************************************** * TransmitFile (MSWSOCK.@) * * This function is used to transmit a file over socket. * * TODO * This function is currently implemented as a stub. */ BOOL WINAPI TransmitFile( SOCKET hSocket, /* [in] Handle to a connected socket */ HANDLE hFile, /* [in] Handle to the open file that should be transmited */ DWORD nNumberOfBytesToWrite, /* [in] Number of file bytes to transmit */ DWORD nNumberOfBytesPerSend, /* [in] Size in bytes of each block of data sent in each send operation */ LPOVERLAPPED lpOverlapped, /* [in] Specify in order to achieve an overlapped (asynchronous) I/O operation */ LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, /* [in] Contains pointers to data to send before and after the file data is sent */ DWORD dwFlags) /* [in] Flags */ { FIXME("not implemented\n"); return FALSE; } /*********************************************************************** * WSARecvEx (MSWSOCK.@) */ INT WINAPI WSARecvEx( SOCKET s, /* [in] Descriptor identifying a connected socket */ char *buf, /* [out] Buffer for the incoming data */ INT len, /* [in] Length of buf, in bytes */ INT *flags) /* [in/out] Indicator specifying whether the message is fully or partially received for datagram sockets */ { FIXME("not implemented\n"); return SOCKET_ERROR; }