X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=gnio%2Fgsocket.h;h=63295e1f23ca4c94e95b98c3d12c66375cb52b85;hb=e9904ad0b8193f73258d2085864e03836b7f4b7a;hp=6b663d4991b84e1483d3ff2d36b3a5a09ab65acc;hpb=5e4f10ab70978804fed4afcb1a45ac5b6b2206cd;p=cascardo%2Fgnio.git diff --git a/gnio/gsocket.h b/gnio/gsocket.h index 6b663d4..63295e1 100644 --- a/gnio/gsocket.h +++ b/gnio/gsocket.h @@ -28,6 +28,7 @@ #include #include "ginetaddress.h" +#include "gsocketaddress.h" G_BEGIN_DECLS @@ -38,12 +39,15 @@ G_BEGIN_DECLS #define G_IS_SOCKET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_SOCKET)) #define G_SOCKET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_SOCKET, GSocket)) -typedef struct _GSocket GSocket; -typedef struct _GSocketClass GSocketClass; +typedef struct _GSocket GSocket; +typedef struct _GSocketClass GSocketClass; +typedef struct _GSocketPrivate GSocketPrivate; struct _GSocket { GObject parent; + + GSocketPrivate *priv; }; struct _GSocketClass @@ -51,7 +55,87 @@ struct _GSocketClass GObjectClass parent_class; }; -GType g_socket_get_type (void) G_GNUC_CONST; +GType g_socket_get_type (void) G_GNUC_CONST; + +GSocket * g_socket_new (gint domain, gint type, gint protocol); + +GSocket * g_socket_new_from_fd (gint fd); + +GSocketAddress * g_socket_get_peer_address (GSocket *socket, GError **error); + +void g_socket_set_blocking (GSocket *socket, + gboolean blocking); + +gboolean g_socket_get_blocking (GSocket *socket); + +gboolean g_socket_bind (GSocket *socket, + GSocketAddress *address, + GError **error); + +gboolean g_socket_connect (GSocket *socket, + GSocketAddress *address, + GCancellable *cancellable, + GError **error); + +void g_socket_connect_async (GSocket *socket, + GSocketAddress *address, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean 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, + gint 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