]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gsocket.h
wxMotif fixes and common fixes for socket compilation
[wxWidgets.git] / include / wx / gsocket.h
index 096cff1666980096602bb59640ec7b6e474fa11b..5cf897619a803f5ab57127ad7182999d76909a7e 100644 (file)
@@ -3,19 +3,6 @@
  * Name:    gsocket.h
  * Purpose: GSocket include file (system independent)
  * CVSID:   $Id$
- * Log:     $Log$
- * Log:     Revision 1.1  1999/07/22 17:51:47  GL
- * Log:     Added GSocket for Unix (only GTK for the moment)
- * Log:     Updated wxSocket to use GSocket API
- * Log:     Added a progress bar to client.cpp
- * Log:     Added CopyTo to wxMemoryOutputStream to copy the internal buffer to a specified buffer.
- * Log:     Various changes/fixes to the high-level protocols FTP/HTTP
- * Log:     Various Unicode fixes
- * Log:     Removed sckint.*
- * Log:
- * Log:     Revision 1.2  1999/07/18 15:54:28  guilhem
- * Log:     Copyright, etc.
- * Log:
  * -------------------------------------------------------------------------
  */
 #ifndef __GSOCKET_H
@@ -74,18 +61,25 @@ enum {
   GSOCK_INPUT_FLAG = 1 << GSOCK_INPUT,
   GSOCK_OUTPUT_FLAG = 1 << GSOCK_OUTPUT,
   GSOCK_CONNECTION_FLAG = 1 << GSOCK_CONNECTION,
-  GSOCK_LOST_FLAG = 1 << GSOCK_LOST,
+  GSOCK_LOST_FLAG = 1 << GSOCK_LOST
 };
 
 typedef int GSocketEventFlags;
 
 typedef void (*GSocketFallback)(GSocket *socket, GSocketEvent event,
-                               char *cdata);
+                                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();
@@ -131,13 +125,13 @@ GSocketError GSocket_Connect(GSocket *socket, GSocketStream stream);
 /* Generic IO */
 
 /* Like recv(), send(), ... */
-/* 
+/*
    NOTE: In case we read from a non-oriented connection, the incoming (outgoing)
-   connection address is stored in the "Local" ("Peer") field. 
+   connection address is stored in the "Local" ("Peer") field.
 */
 int GSocket_Read(GSocket *socket, char *buffer, int size);
 int GSocket_Write(GSocket *socket, const char *buffer,
-                 int size);
+                  int size);
 bool GSocket_DataAvailable(GSocket *socket);
 
 /* Flags */
@@ -156,15 +150,15 @@ GSocketError GSocket_GetError(GSocket *socket);
 
 /* Callbacks */
 
-/* 
+/*
    Only one fallback is possible for each event (INPUT, OUTPUT, CONNECTION, LOST)
-   INPUT: The function is called when there is at least a byte in the 
+   INPUT: The function is called when there is at least a byte in the
           input buffer
    OUTPUT: The function is called when the system is sure the next write call
            will not block
    CONNECTION: Two cases is possible:
              Client socket -> the connection is established
-            Server socket -> a client request a connection
+             Server socket -> a client request a connection
    LOST: the connection is lost
 
    SetFallback accepts a combination of these flags so a same callback can
@@ -176,7 +170,7 @@ GSocketError GSocket_GetError(GSocket *socket);
                 CONNECTION -> GSocket_Accept()
 */
 void GSocket_SetFallback(GSocket *socket, GSocketEventFlags event,
-                        GSocketFallback fallback, char *cdata);
+                         GSocketFallback fallback, char *cdata);
 
 /*
   UnsetFallback will disables all fallbacks specified by "event".
@@ -193,7 +187,7 @@ void GAddress_destroy(GAddress *address);
 void GAddress_SetFamily(GAddress *address, GAddressType type);
 GAddressType GAddress_GetFamily(GAddress *address);
 
-/* 
+/*
    The use of any of the next functions will set the address family to the adapted
    one. For example if you use GAddress_INET_SetHostName, address family will be AF_INET
    implicitely
@@ -202,7 +196,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,