Merge pull request #2338 from BogdanovKirill/httpwritefix3
[mono.git] / mono / io-layer / sockets.h
index b553f79a6cbfc903816a3bdb130b55d4348975ac..d634ae956ec8f1beb980e440f5261e52bf55ea71 100644 (file)
 #ifndef _WAPI_SOCKETS_H_
 #define _WAPI_SOCKETS_H_
 
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-
 #include "mono/io-layer/wapi.h"
 
 G_BEGIN_DECLS
@@ -77,22 +69,20 @@ typedef struct
  * using the bitfield flags method
  */
 #define SIO_GET_EXTENSION_FUNCTION_POINTER 0xC8000006
+#define SIO_KEEPALIVE_VALS 0x98000004
 
 typedef gboolean (*WapiDisconnectExFn)(guint32, WapiOverlapped *, guint32,
-                                       WapiTransmitFileFlags);
+                                       guint32);
 typedef gboolean (*WapiTransmitFileFn)(guint32, gpointer, guint32, guint32,
                                        WapiOverlapped *,
                                        WapiTransmitFileBuffers *,
                                        WapiTransmitFileFlags);
 
-
-extern int WSAStartup(guint32 requested, WapiWSAData *data);
-extern int WSACleanup(void);
 extern void WSASetLastError(int error);
 extern int WSAGetLastError(void);
 extern int closesocket(guint32 handle);
 
-extern int ioctlsocket(guint32 handle, gint32 command, gpointer arg);
+extern int ioctlsocket(guint32 handle, unsigned long command, gpointer arg);
 extern int WSAIoctl (guint32 handle, gint32 command,
                     gchar *input, gint i_len,
                     gchar *output, gint o_len, glong *written,
@@ -104,5 +94,7 @@ extern int WSASend (guint32 handle, WapiWSABuf *buffers, guint32 count,
                    guint32 *sent, guint32 flags,
                    WapiOverlapped *overlapped, WapiOverlappedCB *complete);
 
+gboolean TransmitFile (guint32 socket, gpointer file, guint32 bytes_to_write, guint32 bytes_per_send, WapiOverlapped *ol,
+                       WapiTransmitFileBuffers *tb, guint32 flags);
 G_END_DECLS
 #endif /* _WAPI_SOCKETS_H_ */