Added more error codes to dxerr8 and dxerr9 which were extracted from
[wine] / dlls / mswsock / mswsock.c
1 /*
2  * MSWSOCK specific functions
3  *
4  * Copyright (C) 2003 AndrĂ© Johansen
5  *
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.
10  *
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.
15  *
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include "config.h"
22
23 #include <stdarg.h>
24
25 #include "windef.h"
26 #include "winbase.h"
27 #include "winsock2.h"
28 #include "mswsock.h"
29
30 #include "wine/debug.h"
31
32 WINE_DEFAULT_DEBUG_CHANNEL(mswsock);
33
34 /***********************************************************************
35  *              AcceptEx (MSWSOCK.@)
36  *
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.
39  *
40  * TODO
41  *  This function is currently implemented as a stub.
42  */
43
44 BOOL WINAPI AcceptEx(
45         SOCKET sListenSocket, /* [in] Descriptor identifying a socket that 
46                                  has already been called with the listen
47                                  function */
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 
62                                       operation */
63 {
64     FIXME("not implemented\n");
65   
66     return FALSE;
67 }
68
69 /***********************************************************************
70  *              GetAcceptExSockaddrs (MSWSOCK.@)
71  */
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
84                                       address */
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 */
89 {
90     FIXME("not implemented\n");
91 }
92
93 /***********************************************************************
94  *              TransmitFile (MSWSOCK.@)
95  *
96  * This function is used to transmit a file over socket.
97  *
98  * TODO
99  *  This function is currently implemented as a stub.
100  */
101
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
105                            transmited */
106         DWORD nNumberOfBytesToWrite, /* [in] Number of file bytes to 
107                                         transmit */
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 
112                                       operation */
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 */
117 {
118     FIXME("not implemented\n");
119
120     return FALSE;
121 }
122
123 /***********************************************************************
124  *              WSARecvEx (MSWSOCK.@)
125  */
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 */
132 {
133     FIXME("not implemented\n");
134     
135     return SOCKET_ERROR;
136 }