]> git.saurik.com Git - wxWidgets.git/commitdiff
Header file for MSW GSocket
authorGuillermo Rodriguez Garcia <guille@iies.es>
Tue, 7 Sep 1999 15:20:51 +0000 (15:20 +0000)
committerGuillermo Rodriguez Garcia <guille@iies.es>
Tue, 7 Sep 1999 15:20:51 +0000 (15:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/gsockmsw.h [new file with mode: 0644]

diff --git a/include/wx/msw/gsockmsw.h b/include/wx/msw/gsockmsw.h
new file mode 100644 (file)
index 0000000..001c18b
--- /dev/null
@@ -0,0 +1,87 @@
+/* -------------------------------------------------------------------------
+ * Project: GSocket (Generic Socket) for WX
+ * Name:    gsockmsw.h
+ * Purpose: GSocket MSW header
+ * CVSID:   $Id$
+ * -------------------------------------------------------------------------
+ */
+
+#ifndef __GSOCK_MSW_H
+#define __GSOCK_MSW_H
+
+#ifdef __WXMSW__
+#include "wx/gsocket.h"
+#else
+#include "gsocket.h"
+#endif
+
+#include <winsock.h>
+
+
+/* Definition of GSocket */
+struct _GSocket
+{
+  SOCKET m_fd;
+  GAddress *m_local;
+  GAddress *m_peer;
+  GSocketError m_error;
+
+  bool m_non_blocking;
+  bool m_server;
+  bool m_stream;
+  bool m_oriented;
+  struct timeval m_timeout;
+
+  /* Callbacks */
+  GSocketCallback m_cbacks[GSOCK_MAX_EVENT];
+  char *m_data[GSOCK_MAX_EVENT];
+  int m_msgnumber;
+};
+
+/* Definition of GAddress */
+struct _GAddress
+{
+  struct sockaddr *m_addr;
+  size_t m_len;
+
+  GAddressType m_family;
+  int m_realfamily;
+
+  GSocketError m_error;
+};
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Input / output */
+
+GSocketError _GSocket_Input_Timeout(GSocket *socket);
+GSocketError _GSocket_Output_Timeout(GSocket *socket);
+int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size);
+int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size);
+int _GSocket_Send_Stream(GSocket *socket, const char *buffer, int size);
+int _GSocket_Send_Dgram(GSocket *socket, const char *buffer, int size);
+
+/* Callbacks */
+
+void _GSocket_Configure_Callbacks(GSocket *socket);
+LRESULT CALLBACK _GSocket_Internal_WinProc(HWND, UINT, WPARAM, LPARAM);
+
+/* GAddress */
+
+GSocketError _GAddress_translate_from(GAddress *address,
+                                      struct sockaddr *addr, int len);
+
+GSocketError _GAddress_translate_to(GAddress *address,
+                                    struct sockaddr **addr, int *len);
+
+GSocketError _GAddress_Init_INET(GAddress *address);
+GSocketError _GAddress_Init_UNIX(GAddress *address);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __GSOCK_MSW_H */