File indexing completed on 2026-09-22 08:52:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef __G_INET_ADDRESS_H__
0025 #define __G_INET_ADDRESS_H__
0026
0027 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0028 #error "Only <gio/gio.h> can be included directly."
0029 #endif
0030
0031 #include <gio/giotypes.h>
0032
0033 G_BEGIN_DECLS
0034
0035 #define G_TYPE_INET_ADDRESS (g_inet_address_get_type ())
0036 #define G_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress))
0037 #define G_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass))
0038 #define G_IS_INET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS))
0039 #define G_IS_INET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS))
0040 #define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass))
0041
0042 typedef struct _GInetAddressClass GInetAddressClass;
0043 typedef struct _GInetAddressPrivate GInetAddressPrivate;
0044
0045 struct _GInetAddress
0046 {
0047 GObject parent_instance;
0048
0049
0050 GInetAddressPrivate *priv;
0051 };
0052
0053 struct _GInetAddressClass
0054 {
0055 GObjectClass parent_class;
0056
0057 gchar * (*to_string) (GInetAddress *address);
0058 const guint8 * (*to_bytes) (GInetAddress *address);
0059 };
0060
0061 GIO_AVAILABLE_IN_ALL
0062 GType g_inet_address_get_type (void) G_GNUC_CONST;
0063
0064 GIO_AVAILABLE_IN_ALL
0065 GInetAddress * g_inet_address_new_from_string (const gchar *string);
0066
0067 GIO_AVAILABLE_IN_ALL
0068 GInetAddress * g_inet_address_new_from_bytes (const guint8 *bytes,
0069 GSocketFamily family);
0070
0071 GIO_AVAILABLE_IN_ALL
0072 GInetAddress * g_inet_address_new_loopback (GSocketFamily family);
0073
0074 GIO_AVAILABLE_IN_2_86
0075 GInetAddress * g_inet_address_new_from_bytes_with_ipv6_info (const guint8 *bytes,
0076 GSocketFamily family,
0077 guint32 flowinfo,
0078 guint32 scope_id);
0079
0080 GIO_AVAILABLE_IN_ALL
0081 GInetAddress * g_inet_address_new_any (GSocketFamily family);
0082
0083 GIO_AVAILABLE_IN_ALL
0084 gboolean g_inet_address_equal (GInetAddress *address,
0085 GInetAddress *other_address);
0086
0087 GIO_AVAILABLE_IN_ALL
0088 gchar * g_inet_address_to_string (GInetAddress *address);
0089
0090 GIO_AVAILABLE_IN_ALL
0091 const guint8 * g_inet_address_to_bytes (GInetAddress *address);
0092
0093 GIO_AVAILABLE_IN_ALL
0094 gsize g_inet_address_get_native_size (GInetAddress *address);
0095
0096 GIO_AVAILABLE_IN_ALL
0097 GSocketFamily g_inet_address_get_family (GInetAddress *address);
0098
0099 GIO_AVAILABLE_IN_ALL
0100 gboolean g_inet_address_get_is_any (GInetAddress *address);
0101
0102 GIO_AVAILABLE_IN_ALL
0103 gboolean g_inet_address_get_is_loopback (GInetAddress *address);
0104
0105 GIO_AVAILABLE_IN_ALL
0106 gboolean g_inet_address_get_is_link_local (GInetAddress *address);
0107
0108 GIO_AVAILABLE_IN_ALL
0109 gboolean g_inet_address_get_is_site_local (GInetAddress *address);
0110
0111 GIO_AVAILABLE_IN_ALL
0112 gboolean g_inet_address_get_is_multicast (GInetAddress *address);
0113
0114 GIO_AVAILABLE_IN_ALL
0115 gboolean g_inet_address_get_is_mc_global (GInetAddress *address);
0116
0117 GIO_AVAILABLE_IN_ALL
0118 gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address);
0119
0120 GIO_AVAILABLE_IN_ALL
0121 gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address);
0122
0123 GIO_AVAILABLE_IN_ALL
0124 gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address);
0125
0126 GIO_AVAILABLE_IN_ALL
0127 gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address);
0128
0129 GIO_AVAILABLE_IN_2_86
0130 guint32 g_inet_address_get_scope_id (GInetAddress *address);
0131
0132 GIO_AVAILABLE_IN_2_86
0133 guint32 g_inet_address_get_flowinfo (GInetAddress *address);
0134
0135 G_END_DECLS
0136
0137 #endif