new gsocket.h
[cascardo/gnio.git] / gnio / gsocket.h
index 238b9e4..b7af2ee 100644 (file)
@@ -28,6 +28,7 @@
 #include <gio/gio.h>
 
 #include "ginetaddress.h"
+#include "gsocketaddress.h"
 
 G_BEGIN_DECLS
 
@@ -55,15 +56,72 @@ GType          g_socket_get_type (void) G_GNUC_CONST;
 
 GSocket *      g_socket_new ();
 
-void           g_socket_bind (GSocket *socket, GInetAddress *address);
-
-GSocket *      g_socket_accept (GSocket *socket);
-
-void           g_socket_accept_async (GSocket *socket);
-
-GSocket *      g_socket_accept_finish (GSocket *socket);
-
-void           g_socket_listen (GSocket *socket, int backlog);
+void           g_socket_bind             (GSocket        *socket,
+                                          GSocketAddress *address);
+
+void           g_socket_connect          (GSocket        *socket,
+                                          GSocketAddress *address,
+                                          GCancellable   *cancellable);
+
+void           g_socket_connect_async    (GSocket             *socket,
+                                          GSocketAddress      *address,
+                                          GCancellable        *cancellable,
+                                          GAsyncReadyCallback *callback,
+                                          gpointer             user_data);
+
+void           g_socket_connect_finish   (GSocket       *socket,
+                                          GAsyncResult  *result,
+                                          GError       **error);
+
+GSocket *      g_socket_accept           (GSocket       *socket,
+                                          GCancellable  *cancellable,
+                                          GError       **error);
+
+void           g_socket_accept_async     (GSocket             *socket,
+                                          GCancellable        *cancellable,
+                                          GAsyncReadyCallback *callback,
+                                          gpointer             user_data);
+
+GSocket *      g_socket_accept_finish    (GSocket       *socket,
+                                          GAsyncResult  *result,
+                                          GError       **error);
+
+void           g_socket_listen           (GSocket *socket,
+                                          int backlog);
+
+gssize         g_socket_receive          (GSocket       *socket,
+                                          gchar         *buffer,
+                                          gsize          size,
+                                          GCancellable  *cancellable,
+                                          GError       **error);
+
+void           g_socket_receive_async    (GSocket             *socket,
+                                          gchar               *buffer,
+                                          gsize                size,
+                                          GCancellable        *cancellable,
+                                          GAsyncReadyCallback *callback,
+                                          gpointer             user_data);
+
+gssize         g_socket_receive_finish   (GSocket       *socket,
+                                          GAsyncResult  *result,
+                                          GError       **error);
+
+gssize         g_socket_send             (GSocket       *socket,
+                                          gchar         *buffer,
+                                          gsize          size,
+                                          GCancellable  *cancellable,
+                                          GError       **error);
+
+void           g_socket_send_async       (GSocket             *socket,
+                                          gchar               *buffer,
+                                          gsize                size,
+                                          GCancellable        *cancellable,
+                                          GAsyncReadyCallback *callback,
+                                          gpointer             user_data);
+
+gssize         g_socket_send_finish      (GSocket       *socket,
+                                          GAsyncResult  *result,
+                                          GError       **error);
 
 G_END_DECLS