]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gsocket.h
*** empty log message ***
[wxWidgets.git] / include / wx / gsocket.h
index 19e89e34ed8a8a416800f56ec2513e3e839625aa..1c66aa45847a8225f702ad100f47998aad97394a 100644 (file)
@@ -8,12 +8,15 @@
 #ifndef __GSOCKET_H
 #define __GSOCKET_H
 
+#include "wx/setup.h"
+
+#if wxUSE_SOCKETS
+
+#include <stddef.h>
 #include <sys/types.h>
 
 #if !defined(__cplusplus)
-
 typedef int bool;
-
 #endif
 
 #ifndef TRUE
@@ -46,7 +49,10 @@ typedef enum {
   GSOCK_INVADDR,
   GSOCK_INVSOCK,
   GSOCK_NOHOST,
-  GSOCK_INVPORT
+  GSOCK_INVPORT,
+  GSOCK_WOULDBLOCK,
+  GSOCK_TIMEDOUT,
+  GSOCK_MEMERR
 } GSocketError;
 
 typedef enum {
@@ -66,7 +72,7 @@ enum {
 
 typedef int GSocketEventFlags;
 
-typedef void (*GSocketFallback)(GSocket *socket, GSocketEvent event,
+typedef void (*GSocketCallback)(GSocket *socket, GSocketEvent event,
                                 char *cdata);
 
 #ifdef __cplusplus
@@ -76,7 +82,7 @@ extern "C" {
 /* Global initialisers */
 
 /* GSocket_Init() must be called at the beginning */
-void GSocket_Init();
+bool GSocket_Init();
 /* GSocket_Cleanup() must be called at the ending */
 void GSocket_Cleanup();
 
@@ -102,7 +108,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.
 */
@@ -134,13 +140,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.
@@ -161,7 +173,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
@@ -169,14 +181,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 */
 
@@ -222,7 +234,11 @@ void GSocket_DoEvent(unsigned long evt_id);
 
 #ifdef __cplusplus
 };
+#endif /* __cplusplus */
+
+
 #endif
+    /* wxUSE_SOCKETS */
 
 #endif
- /* __GSOCKET_H */
   /* __GSOCKET_H */