X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgsocket.h;h=8b49cc1270581d7b31dfbfd5600dfbe063449fd1;hb=4482977238ae80f64c2fe318d1500f4662c73980;hp=b3893339af2d8bc144b8abe43fe0c58bf5c57f8b;hpb=145cec3c93d5ba0c22d35aaf341b3713cadc0e14;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gsocket.h b/gio/gsocket.h index b389333..8b49cc1 100644 --- a/gio/gsocket.h +++ b/gio/gsocket.h @@ -13,22 +13,20 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . * * Authors: Christian Kellner * Samuel Cormier-Iijima * Ryan Lortie */ +#ifndef __G_SOCKET_H__ +#define __G_SOCKET_H__ + #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_SOCKET_H__ -#define __G_SOCKET_H__ - #include G_BEGIN_DECLS @@ -73,76 +71,152 @@ struct _GSocket GSocketPrivate *priv; }; +GLIB_AVAILABLE_IN_ALL GType g_socket_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL GSocket * g_socket_new (GSocketFamily family, GSocketType type, - const char *protocol, + GSocketProtocol protocol, GError **error); +GLIB_AVAILABLE_IN_ALL GSocket * g_socket_new_from_fd (gint fd, GError **error); +GLIB_AVAILABLE_IN_ALL int g_socket_get_fd (GSocket *socket); +GLIB_AVAILABLE_IN_ALL GSocketFamily g_socket_get_family (GSocket *socket); +GLIB_AVAILABLE_IN_ALL GSocketType g_socket_get_socket_type (GSocket *socket); -const char * g_socket_get_protocol (GSocket *socket); +GLIB_AVAILABLE_IN_ALL +GSocketProtocol g_socket_get_protocol (GSocket *socket); +GLIB_AVAILABLE_IN_ALL GSocketAddress * g_socket_get_local_address (GSocket *socket, GError **error); +GLIB_AVAILABLE_IN_ALL GSocketAddress * g_socket_get_remote_address (GSocket *socket, GError **error); +GLIB_AVAILABLE_IN_ALL void g_socket_set_blocking (GSocket *socket, gboolean blocking); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_get_blocking (GSocket *socket); -void g_socket_set_reuse_address (GSocket *socket, - gboolean reuse); -gboolean g_socket_get_reuse_address (GSocket *socket); +GLIB_AVAILABLE_IN_ALL void g_socket_set_keepalive (GSocket *socket, gboolean keepalive); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_get_keepalive (GSocket *socket); +GLIB_AVAILABLE_IN_ALL gint g_socket_get_listen_backlog (GSocket *socket); +GLIB_AVAILABLE_IN_ALL void g_socket_set_listen_backlog (GSocket *socket, gint backlog); +GLIB_AVAILABLE_IN_ALL +guint g_socket_get_timeout (GSocket *socket); +GLIB_AVAILABLE_IN_ALL +void g_socket_set_timeout (GSocket *socket, + guint timeout); + +GLIB_AVAILABLE_IN_2_32 +guint g_socket_get_ttl (GSocket *socket); +GLIB_AVAILABLE_IN_2_32 +void g_socket_set_ttl (GSocket *socket, + guint ttl); + +GLIB_AVAILABLE_IN_2_32 +gboolean g_socket_get_broadcast (GSocket *socket); +GLIB_AVAILABLE_IN_2_32 +void g_socket_set_broadcast (GSocket *socket, + gboolean broadcast); + +GLIB_AVAILABLE_IN_2_32 +gboolean g_socket_get_multicast_loopback (GSocket *socket); +GLIB_AVAILABLE_IN_2_32 +void g_socket_set_multicast_loopback (GSocket *socket, + gboolean loopback); +GLIB_AVAILABLE_IN_2_32 +guint g_socket_get_multicast_ttl (GSocket *socket); +GLIB_AVAILABLE_IN_2_32 +void g_socket_set_multicast_ttl (GSocket *socket, + guint ttl); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_is_connected (GSocket *socket); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_bind (GSocket *socket, GSocketAddress *address, gboolean allow_reuse, GError **error); +GLIB_AVAILABLE_IN_2_32 +gboolean g_socket_join_multicast_group (GSocket *socket, + GInetAddress *group, + gboolean source_specific, + const gchar *iface, + GError **error); +GLIB_AVAILABLE_IN_2_32 +gboolean g_socket_leave_multicast_group (GSocket *socket, + GInetAddress *group, + gboolean source_specific, + const gchar *iface, + GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_connect (GSocket *socket, GSocketAddress *address, + GCancellable *cancellable, GError **error); -gboolean g_socket_check_pending_error (GSocket *socket, +GLIB_AVAILABLE_IN_ALL +gboolean g_socket_check_connect_result (GSocket *socket, GError **error); + +GLIB_AVAILABLE_IN_ALL +gssize g_socket_get_available_bytes (GSocket *socket); + +GLIB_AVAILABLE_IN_ALL GIOCondition g_socket_condition_check (GSocket *socket, GIOCondition condition); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_condition_wait (GSocket *socket, GIOCondition condition, GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_2_32 +gboolean g_socket_condition_timed_wait (GSocket *socket, + GIOCondition condition, + gint64 timeout, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL GSocket * g_socket_accept (GSocket *socket, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_listen (GSocket *socket, GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_receive (GSocket *socket, gchar *buffer, gsize size, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_receive_from (GSocket *socket, GSocketAddress **address, gchar *buffer, gsize size, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_send (GSocket *socket, const gchar *buffer, gsize size, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_send_to (GSocket *socket, GSocketAddress *address, const gchar *buffer, gsize size, + GCancellable *cancellable, GError **error); -GSocketControlMessage *g_socket_receive_control_message (GSocket *socket, - GError **error); -gboolean g_socket_send_control_message (GSocket *socket, - GSocketControlMessage *message, - GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_receive_message (GSocket *socket, GSocketAddress **address, GInputVector *vectors, @@ -150,7 +224,9 @@ gssize g_socket_receive_message (GSocket GSocketControlMessage ***messages, gint *num_messages, gint *flags, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gssize g_socket_send_message (GSocket *socket, GSocketAddress *address, GOutputVector *vectors, @@ -158,14 +234,55 @@ gssize g_socket_send_message (GSocket GSocketControlMessage **messages, gint num_messages, gint flags, + GCancellable *cancellable, GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_close (GSocket *socket, GError **error); +GLIB_AVAILABLE_IN_ALL +gboolean g_socket_shutdown (GSocket *socket, + gboolean shutdown_read, + gboolean shutdown_write, + GError **error); +GLIB_AVAILABLE_IN_ALL gboolean g_socket_is_closed (GSocket *socket); +GLIB_AVAILABLE_IN_ALL GSource * g_socket_create_source (GSocket *socket, GIOCondition condition, GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +gboolean g_socket_speaks_ipv4 (GSocket *socket); +GLIB_AVAILABLE_IN_ALL +GCredentials *g_socket_get_credentials (GSocket *socket, + GError **error); + +GLIB_AVAILABLE_IN_ALL +gssize g_socket_receive_with_blocking (GSocket *socket, + gchar *buffer, + gsize size, + gboolean blocking, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_ALL +gssize g_socket_send_with_blocking (GSocket *socket, + const gchar *buffer, + gsize size, + gboolean blocking, + GCancellable *cancellable, + GError **error); +GLIB_AVAILABLE_IN_2_36 +gboolean g_socket_get_option (GSocket *socket, + gint level, + gint optname, + gint *value, + GError **error); +GLIB_AVAILABLE_IN_2_36 +gboolean g_socket_set_option (GSocket *socket, + gint level, + gint optname, + gint value, + GError **error); G_END_DECLS