]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gsocket.h
converted to 16 colors
[wxWidgets.git] / include / wx / gsocket.h
index e060c966c36e77c9e570d2f53125b05c22e2b7f4..7190696fd081ba9b4b623d10e0005f51853533fe 100644 (file)
@@ -8,12 +8,14 @@
 #ifndef __GSOCKET_H
 #define __GSOCKET_H
 
+#include "wx/setup.h"
+
+#if wxUSE_SOCKETS
+
 #include <sys/types.h>
 
 #if !defined(__cplusplus)
-
 typedef int bool;
-
 #endif
 
 #ifndef TRUE
@@ -46,7 +48,9 @@ typedef enum {
   GSOCK_INVADDR,
   GSOCK_INVSOCK,
   GSOCK_NOHOST,
-  GSOCK_INVPORT
+  GSOCK_INVPORT,
+  GSOCK_TRYAGAIN,
+  GSOCK_MEMERR
 } GSocketError;
 
 typedef enum {
@@ -66,13 +70,20 @@ enum {
 
 typedef int GSocketEventFlags;
 
-typedef void (*GSocketFallback)(GSocket *socket, GSocketEvent event,
+typedef void (*GSocketCallback)(GSocket *socket, GSocketEvent event,
                                 char *cdata);
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* Global initialisers */
+
+/* GSocket_Init() must be called at the beginning */
+bool GSocket_Init();
+/* GSocket_Cleanup() must be called at the ending */
+void GSocket_Cleanup();
+
 /* Constructors / Destructors */
 
 GSocket *GSocket_new();
@@ -95,7 +106,7 @@ GSocketError GSocket_SetNonOriented(GSocket *socket);
 /* Server specific parts */
 
 /*
-  GSocket_SetServer() setup the socket as a server. It uses the "Local" field
+  GSocket_SetServer() setups the socket as a server. It uses the "Local" field
   of GSocket. "Local" must be set by GSocket_SetLocal() before
   GSocket_SetServer() is called. In the other case, it returns GSOCK_INVADDR.
 */
@@ -127,13 +138,19 @@ int GSocket_Write(GSocket *socket, const char *buffer,
                   int size);
 bool GSocket_DataAvailable(GSocket *socket);
 
-/* Flags */
+/* Flags/Parameters */
+
+/*
+  GSocket_SetTimeout() sets the timeout for reading and writing IO call. Time
+  is expressed in milliseconds.
+ */
+void GSocket_SetTimeout(GSocket *socket, unsigned long millisec);
 
 /*
   GSocket_SetBlocking() puts the socket in non-blocking mode. This is useful
   if we don't want to wait.
 */
-void GSocket_SetBlocking(GSocket *socket, bool block);
+void GSocket_SetNonBlocking(GSocket *socket, bool non_block);
 
 /*
   GSocket_GetError() returns the last error occured on the socket stream.
@@ -154,7 +171,7 @@ GSocketError GSocket_GetError(GSocket *socket);
              Server socket -> a client request a connection
    LOST: the connection is lost
 
-   SetFallback accepts a combination of these flags so a same callback can
+   SetCallback accepts a combination of these flags so a same callback can
    receive different events.
 
    An event is generated only once and its state is reseted when the relative
@@ -162,14 +179,14 @@ GSocketError GSocket_GetError(GSocket *socket);
    For example: INPUT -> GSocket_Read()
                 CONNECTION -> GSocket_Accept()
 */
-void GSocket_SetFallback(GSocket *socket, GSocketEventFlags event,
-                         GSocketFallback fallback, char *cdata);
+void GSocket_SetCallback(GSocket *socket, GSocketEventFlags event,
+                         GSocketCallback fallback, char *cdata);
 
 /*
-  UnsetFallback will disables all fallbacks specified by "event".
+  UnsetCallback will disables all fallbacks specified by "event".
   NOTE: event may be a combination of flags
 */
-void GSocket_UnsetFallback(GSocket *socket, GSocketEventFlags event);
+void GSocket_UnsetCallback(GSocket *socket, GSocketEventFlags event);
 
 /* GAddress */
 
@@ -189,7 +206,8 @@ GAddressType GAddress_GetFamily(GAddress *address);
 GSocketError GAddress_INET_SetHostName(GAddress *address, const char *hostname);
 GSocketError GAddress_INET_SetHostAddress(GAddress *address,
                                           unsigned long hostaddr);
-GSocketError GAddress_INET_SetPortName(GAddress *address, const char *port);
+GSocketError GAddress_INET_SetPortName(GAddress *address, const char *port,
+                                       const char *protocol);
 GSocketError GAddress_INET_SetPort(GAddress *address, unsigned short port);
 
 GSocketError GAddress_INET_GetHostName(GAddress *address, char *hostname,
@@ -214,7 +232,11 @@ void GSocket_DoEvent(unsigned long evt_id);
 
 #ifdef __cplusplus
 };
+#endif /* __cplusplus */
+
+
 #endif
+    /* wxUSE_SOCKETS */
 
 #endif
- /* __GSOCKET_H */
   /* __GSOCKET_H */