| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | /* GIO - GLib Input, Output and Streaming Library
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2022-05-18 09:12:45 +01:00
										 |  |  |  * SPDX-License-Identifier: LGPL-2.1-or-later | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  |  * This library is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License as published by the Free Software Foundation; either | 
					
						
							| 
									
										
										
										
											2017-05-27 18:21:30 +02:00
										 |  |  |  * version 2.1 of the License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  |  * | 
					
						
							|  |  |  |  * This library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
					
						
							|  |  |  |  * Lesser General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Lesser General | 
					
						
							| 
									
										
										
										
											2014-01-23 12:58:29 +01:00
										 |  |  |  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Authors: Christian Kellner <gicmo@gnome.org> | 
					
						
							|  |  |  |  *          Samuel Cormier-Iijima <sciyoshi@gmail.com> | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-27 23:43:14 -05:00
										 |  |  | #ifndef __G_INET_ADDRESS_H__
 | 
					
						
							|  |  |  | #define __G_INET_ADDRESS_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
 | 
					
						
							|  |  |  | #error "Only <gio/gio.h> can be included directly."
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <gio/giotypes.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_BEGIN_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define G_TYPE_INET_ADDRESS         (g_inet_address_get_type ())
 | 
					
						
							|  |  |  | #define G_INET_ADDRESS(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress))
 | 
					
						
							|  |  |  | #define G_INET_ADDRESS_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass))
 | 
					
						
							|  |  |  | #define G_IS_INET_ADDRESS(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS))
 | 
					
						
							|  |  |  | #define G_IS_INET_ADDRESS_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS))
 | 
					
						
							|  |  |  | #define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass))
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _GInetAddressClass   GInetAddressClass; | 
					
						
							|  |  |  | typedef struct _GInetAddressPrivate GInetAddressPrivate; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _GInetAddress | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   GObject parent_instance; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /*< private >*/ | 
					
						
							|  |  |  |   GInetAddressPrivate *priv; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _GInetAddressClass | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   GObjectClass parent_class; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   gchar *        (*to_string) (GInetAddress *address); | 
					
						
							|  |  |  |   const guint8 * (*to_bytes)  (GInetAddress *address); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GType                 g_inet_address_get_type             (void) G_GNUC_CONST; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GInetAddress *        g_inet_address_new_from_string      (const gchar          *string); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GInetAddress *        g_inet_address_new_from_bytes       (const guint8         *bytes, | 
					
						
							|  |  |  | 							   GSocketFamily         family); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GInetAddress *        g_inet_address_new_loopback         (GSocketFamily         family); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-02 09:15:51 -05:00
										 |  |  | GIO_AVAILABLE_IN_2_86 | 
					
						
							|  |  |  | GInetAddress *        g_inet_address_new_from_bytes_with_ipv6_info (const guint8  *bytes, | 
					
						
							|  |  |  |                                                                     GSocketFamily  family, | 
					
						
							|  |  |  |                                                                     guint32        flowinfo, | 
					
						
							|  |  |  |                                                                     guint32        scope_id); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GInetAddress *        g_inet_address_new_any              (GSocketFamily         family); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2011-04-14 11:27:57 -04:00
										 |  |  | gboolean              g_inet_address_equal                (GInetAddress         *address, | 
					
						
							|  |  |  |                                                            GInetAddress         *other_address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gchar *               g_inet_address_to_string            (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | const guint8 *        g_inet_address_to_bytes             (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2009-05-25 11:33:56 +02:00
										 |  |  | gsize                 g_inet_address_get_native_size      (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | GSocketFamily         g_inet_address_get_family           (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_any           (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_loopback      (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_link_local    (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_site_local    (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_multicast     (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_mc_global     (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_mc_link_local (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_mc_node_local (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_mc_org_local  (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-05 13:39:21 -04:00
										 |  |  | GIO_AVAILABLE_IN_ALL | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | gboolean              g_inet_address_get_is_mc_site_local (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-07-02 09:15:51 -05:00
										 |  |  | GIO_AVAILABLE_IN_2_86 | 
					
						
							|  |  |  | guint32               g_inet_address_get_scope_id         (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | GIO_AVAILABLE_IN_2_86 | 
					
						
							|  |  |  | guint32               g_inet_address_get_flowinfo         (GInetAddress         *address); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-12 13:13:55 -05:00
										 |  |  | G_END_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __G_INET_ADDRESS_H__ */
 |