X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a96d2f45fec76a2d0da1c0c7672b62c19280f43..f8c4475a3e579655f6a962822824596a7a9cfb66:/include/wx/gsocket.h diff --git a/include/wx/gsocket.h b/include/wx/gsocket.h index 1de9fa6189..7190696fd0 100644 --- a/include/wx/gsocket.h +++ b/include/wx/gsocket.h @@ -8,12 +8,14 @@ #ifndef __GSOCKET_H #define __GSOCKET_H +#include "wx/setup.h" + +#if wxUSE_SOCKETS + #include #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 */ @@ -215,7 +232,11 @@ void GSocket_DoEvent(unsigned long evt_id); #ifdef __cplusplus }; +#endif /* __cplusplus */ + + #endif + /* wxUSE_SOCKETS */ #endif - /* __GSOCKET_H */ + /* __GSOCKET_H */