Warning, file /include/glib-2.0/gio/gsocket.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef __G_SOCKET_H__
0026 #define __G_SOCKET_H__
0027
0028 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0029 #error "Only <gio/gio.h> can be included directly."
0030 #endif
0031
0032 #include <gio/giotypes.h>
0033
0034 G_BEGIN_DECLS
0035
0036 #define G_TYPE_SOCKET (g_socket_get_type ())
0037 #define G_SOCKET(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
0038 G_TYPE_SOCKET, GSocket))
0039 #define G_SOCKET_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
0040 G_TYPE_SOCKET, GSocketClass))
0041 #define G_IS_SOCKET(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
0042 G_TYPE_SOCKET))
0043 #define G_IS_SOCKET_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
0044 G_TYPE_SOCKET))
0045 #define G_SOCKET_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
0046 G_TYPE_SOCKET, GSocketClass))
0047
0048 typedef struct _GSocketPrivate GSocketPrivate;
0049 typedef struct _GSocketClass GSocketClass;
0050
0051 struct _GSocketClass
0052 {
0053 GObjectClass parent_class;
0054
0055
0056
0057
0058 void (*_g_reserved1) (void);
0059 void (*_g_reserved2) (void);
0060 void (*_g_reserved3) (void);
0061 void (*_g_reserved4) (void);
0062 void (*_g_reserved5) (void);
0063 void (*_g_reserved6) (void);
0064 void (*_g_reserved7) (void);
0065 void (*_g_reserved8) (void);
0066 void (*_g_reserved9) (void);
0067 void (*_g_reserved10) (void);
0068 };
0069
0070 struct _GSocket
0071 {
0072 GObject parent_instance;
0073 GSocketPrivate *priv;
0074 };
0075
0076 GIO_AVAILABLE_IN_ALL
0077 GType g_socket_get_type (void) G_GNUC_CONST;
0078 GIO_AVAILABLE_IN_ALL
0079 GSocket * g_socket_new (GSocketFamily family,
0080 GSocketType type,
0081 GSocketProtocol protocol,
0082 GError **error);
0083 GIO_AVAILABLE_IN_ALL
0084 GSocket * g_socket_new_from_fd (gint fd,
0085 GError **error);
0086 GIO_AVAILABLE_IN_ALL
0087 int g_socket_get_fd (GSocket *socket);
0088 GIO_AVAILABLE_IN_ALL
0089 GSocketFamily g_socket_get_family (GSocket *socket);
0090 GIO_AVAILABLE_IN_ALL
0091 GSocketType g_socket_get_socket_type (GSocket *socket);
0092 GIO_AVAILABLE_IN_ALL
0093 GSocketProtocol g_socket_get_protocol (GSocket *socket);
0094 GIO_AVAILABLE_IN_ALL
0095 GSocketAddress * g_socket_get_local_address (GSocket *socket,
0096 GError **error);
0097 GIO_AVAILABLE_IN_ALL
0098 GSocketAddress * g_socket_get_remote_address (GSocket *socket,
0099 GError **error);
0100 GIO_AVAILABLE_IN_ALL
0101 void g_socket_set_blocking (GSocket *socket,
0102 gboolean blocking);
0103 GIO_AVAILABLE_IN_ALL
0104 gboolean g_socket_get_blocking (GSocket *socket);
0105 GIO_AVAILABLE_IN_ALL
0106 void g_socket_set_keepalive (GSocket *socket,
0107 gboolean keepalive);
0108 GIO_AVAILABLE_IN_ALL
0109 gboolean g_socket_get_keepalive (GSocket *socket);
0110 GIO_AVAILABLE_IN_ALL
0111 gint g_socket_get_listen_backlog (GSocket *socket);
0112 GIO_AVAILABLE_IN_ALL
0113 void g_socket_set_listen_backlog (GSocket *socket,
0114 gint backlog);
0115 GIO_AVAILABLE_IN_ALL
0116 guint g_socket_get_timeout (GSocket *socket);
0117 GIO_AVAILABLE_IN_ALL
0118 void g_socket_set_timeout (GSocket *socket,
0119 guint timeout);
0120
0121 GIO_AVAILABLE_IN_2_32
0122 guint g_socket_get_ttl (GSocket *socket);
0123 GIO_AVAILABLE_IN_2_32
0124 void g_socket_set_ttl (GSocket *socket,
0125 guint ttl);
0126
0127 GIO_AVAILABLE_IN_2_32
0128 gboolean g_socket_get_broadcast (GSocket *socket);
0129 GIO_AVAILABLE_IN_2_32
0130 void g_socket_set_broadcast (GSocket *socket,
0131 gboolean broadcast);
0132
0133 GIO_AVAILABLE_IN_2_32
0134 gboolean g_socket_get_multicast_loopback (GSocket *socket);
0135 GIO_AVAILABLE_IN_2_32
0136 void g_socket_set_multicast_loopback (GSocket *socket,
0137 gboolean loopback);
0138 GIO_AVAILABLE_IN_2_32
0139 guint g_socket_get_multicast_ttl (GSocket *socket);
0140 GIO_AVAILABLE_IN_2_32
0141 void g_socket_set_multicast_ttl (GSocket *socket,
0142 guint ttl);
0143 GIO_AVAILABLE_IN_ALL
0144 gboolean g_socket_is_connected (GSocket *socket);
0145 GIO_AVAILABLE_IN_ALL
0146 gboolean g_socket_bind (GSocket *socket,
0147 GSocketAddress *address,
0148 gboolean allow_reuse,
0149 GError **error);
0150 GIO_AVAILABLE_IN_2_32
0151 gboolean g_socket_join_multicast_group (GSocket *socket,
0152 GInetAddress *group,
0153 gboolean source_specific,
0154 const gchar *iface,
0155 GError **error);
0156 GIO_AVAILABLE_IN_2_32
0157 gboolean g_socket_leave_multicast_group (GSocket *socket,
0158 GInetAddress *group,
0159 gboolean source_specific,
0160 const gchar *iface,
0161 GError **error);
0162 GIO_AVAILABLE_IN_2_56
0163 gboolean g_socket_join_multicast_group_ssm (GSocket *socket,
0164 GInetAddress *group,
0165 GInetAddress *source_specific,
0166 const gchar *iface,
0167 GError **error);
0168 GIO_AVAILABLE_IN_2_56
0169 gboolean g_socket_leave_multicast_group_ssm (GSocket *socket,
0170 GInetAddress *group,
0171 GInetAddress *source_specific,
0172 const gchar *iface,
0173 GError **error);
0174 GIO_AVAILABLE_IN_ALL
0175 gboolean g_socket_connect (GSocket *socket,
0176 GSocketAddress *address,
0177 GCancellable *cancellable,
0178 GError **error);
0179 GIO_AVAILABLE_IN_ALL
0180 gboolean g_socket_check_connect_result (GSocket *socket,
0181 GError **error);
0182
0183 GIO_AVAILABLE_IN_ALL
0184 gssize g_socket_get_available_bytes (GSocket *socket);
0185
0186 GIO_AVAILABLE_IN_ALL
0187 GIOCondition g_socket_condition_check (GSocket *socket,
0188 GIOCondition condition);
0189 GIO_AVAILABLE_IN_ALL
0190 gboolean g_socket_condition_wait (GSocket *socket,
0191 GIOCondition condition,
0192 GCancellable *cancellable,
0193 GError **error);
0194 GIO_AVAILABLE_IN_2_32
0195 gboolean g_socket_condition_timed_wait (GSocket *socket,
0196 GIOCondition condition,
0197 gint64 timeout_us,
0198 GCancellable *cancellable,
0199 GError **error);
0200 GIO_AVAILABLE_IN_ALL
0201 GSocket * g_socket_accept (GSocket *socket,
0202 GCancellable *cancellable,
0203 GError **error);
0204 GIO_AVAILABLE_IN_ALL
0205 gboolean g_socket_listen (GSocket *socket,
0206 GError **error);
0207 GIO_AVAILABLE_IN_ALL
0208 gssize g_socket_receive (GSocket *socket,
0209 gchar *buffer,
0210 gsize size,
0211 GCancellable *cancellable,
0212 GError **error);
0213 GIO_AVAILABLE_IN_2_80
0214 GBytes * g_socket_receive_bytes (GSocket *socket,
0215 gsize size,
0216 gint64 timeout_us,
0217 GCancellable *cancellable,
0218 GError **error);
0219 GIO_AVAILABLE_IN_ALL
0220 gssize g_socket_receive_from (GSocket *socket,
0221 GSocketAddress **address,
0222 gchar *buffer,
0223 gsize size,
0224 GCancellable *cancellable,
0225 GError **error);
0226 GIO_AVAILABLE_IN_2_80
0227 GBytes * g_socket_receive_bytes_from (GSocket *socket,
0228 GSocketAddress **address,
0229 gsize size,
0230 gint64 timeout_us,
0231 GCancellable *cancellable,
0232 GError **error);
0233 GIO_AVAILABLE_IN_ALL
0234 gssize g_socket_send (GSocket *socket,
0235 const gchar *buffer,
0236 gsize size,
0237 GCancellable *cancellable,
0238 GError **error);
0239 GIO_AVAILABLE_IN_ALL
0240 gssize g_socket_send_to (GSocket *socket,
0241 GSocketAddress *address,
0242 const gchar *buffer,
0243 gsize size,
0244 GCancellable *cancellable,
0245 GError **error);
0246 GIO_AVAILABLE_IN_ALL
0247 gssize g_socket_receive_message (GSocket *socket,
0248 GSocketAddress **address,
0249 GInputVector *vectors,
0250 gint num_vectors,
0251 GSocketControlMessage ***messages,
0252 gint *num_messages,
0253 gint *flags,
0254 GCancellable *cancellable,
0255 GError **error);
0256 GIO_AVAILABLE_IN_ALL
0257 gssize g_socket_send_message (GSocket *socket,
0258 GSocketAddress *address,
0259 GOutputVector *vectors,
0260 gint num_vectors,
0261 GSocketControlMessage **messages,
0262 gint num_messages,
0263 gint flags,
0264 GCancellable *cancellable,
0265 GError **error);
0266
0267 GIO_AVAILABLE_IN_2_48
0268 gint g_socket_receive_messages (GSocket *socket,
0269 GInputMessage *messages,
0270 guint num_messages,
0271 gint flags,
0272 GCancellable *cancellable,
0273 GError **error);
0274 GIO_AVAILABLE_IN_2_44
0275 gint g_socket_send_messages (GSocket *socket,
0276 GOutputMessage *messages,
0277 guint num_messages,
0278 gint flags,
0279 GCancellable *cancellable,
0280 GError **error);
0281
0282 GIO_AVAILABLE_IN_ALL
0283 gboolean g_socket_close (GSocket *socket,
0284 GError **error);
0285 GIO_AVAILABLE_IN_ALL
0286 gboolean g_socket_shutdown (GSocket *socket,
0287 gboolean shutdown_read,
0288 gboolean shutdown_write,
0289 GError **error);
0290 GIO_AVAILABLE_IN_ALL
0291 gboolean g_socket_is_closed (GSocket *socket);
0292 GIO_AVAILABLE_IN_ALL
0293 GSource * g_socket_create_source (GSocket *socket,
0294 GIOCondition condition,
0295 GCancellable *cancellable);
0296 GIO_AVAILABLE_IN_ALL
0297 gboolean g_socket_speaks_ipv4 (GSocket *socket);
0298 GIO_AVAILABLE_IN_ALL
0299 GCredentials *g_socket_get_credentials (GSocket *socket,
0300 GError **error);
0301
0302 GIO_AVAILABLE_IN_ALL
0303 gssize g_socket_receive_with_blocking (GSocket *socket,
0304 gchar *buffer,
0305 gsize size,
0306 gboolean blocking,
0307 GCancellable *cancellable,
0308 GError **error);
0309 GIO_AVAILABLE_IN_ALL
0310 gssize g_socket_send_with_blocking (GSocket *socket,
0311 const gchar *buffer,
0312 gsize size,
0313 gboolean blocking,
0314 GCancellable *cancellable,
0315 GError **error);
0316 GIO_AVAILABLE_IN_2_60
0317 GPollableReturn g_socket_send_message_with_timeout (GSocket *socket,
0318 GSocketAddress *address,
0319 const GOutputVector *vectors,
0320 gint num_vectors,
0321 GSocketControlMessage **messages,
0322 gint num_messages,
0323 gint flags,
0324 gint64 timeout_us,
0325 gsize *bytes_written,
0326 GCancellable *cancellable,
0327 GError **error);
0328 GIO_AVAILABLE_IN_2_36
0329 gboolean g_socket_get_option (GSocket *socket,
0330 gint level,
0331 gint optname,
0332 gint *value,
0333 GError **error);
0334 GIO_AVAILABLE_IN_2_36
0335 gboolean g_socket_set_option (GSocket *socket,
0336 gint level,
0337 gint optname,
0338 gint value,
0339 GError **error);
0340
0341 G_END_DECLS
0342
0343 #endif