815df4045cee3c2256031d84a6f4ca07f234a705
[cascardo/gnio.git] / gnio / ginetaddress.h
1 #ifndef G_INET_ADDRESS_H
2 #define G_INET_ADDRESS_H
3
4 #include <glib-object.h>
5 #include <gio/gcancellable.h>
6 #include <gio/gasyncresult.h>
7
8 G_BEGIN_DECLS
9
10 #define G_TYPE_INET_ADDRESS         (g_inet_address_get_type ())
11 #define G_INET_ADDRESS(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress))
12 #define G_INET_ADDRESS_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass))
13 #define G_IS_INET_ADDRESS(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS))
14 #define G_IS_INET_ADDRESS_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS))
15 #define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass))
16
17 typedef struct GInetAddress        GInetAddress;
18 typedef struct GInetAddressClass   GInetAddressClass;
19
20 struct GInetAddress {
21     
22   GObject parent;
23
24 };
25
26 struct GInetAddressClass {
27     
28   GObjectClass parent_class;
29 };
30
31 GType          g_inet_address_get_type            (void) G_GNUC_CONST;
32
33
34 /* DNS query functions */
35 GInetAddress  *g_inet_address_resolve               (const char    *host,
36                                                      GCancellable  *cancellable,
37                                                      GError       **error);
38
39 void           g_inet_address_resolve_async         (const char *host,
40                                                      GCancellable *cancellable,
41                                                      GAsyncReadyCallback callback,
42                                                      gpointer user_data);
43
44 GInetAddress * g_inet_address_resolve_finish        (GInetAddress *address,
45                                                      GAsyncResult *result,
46                                                      GError **error);
47
48 char *        g_inet_address_lookup_reverse         (GInetAddress *address,
49                                                      GCancellable  *cancellable,
50                                                      GError       **error);
51
52 void           g_inet_address_lookup_reverse_async  (GInetAddress *address,
53                                                      GCancellable *cancellable,
54                                                      GAsyncReadyCallback callback,
55                                                      gpointer user_data);
56
57 char *         g_inet_address_lookup_reverse_finish (GInetAddress *address,
58                                                      GAsyncResult *result,
59                                                      GError **error);
60
61 /* accessors to gobject properties that get overridden by subclasses */
62 gboolean        g_inet_address_is_any_local    (GInetAddress *address);
63 gboolean        g_inet_address_is_link_local   (GInetAddress *address);
64 gboolean        g_inet_address_is_loopback     (GInetAddress *address);
65 gboolean        g_inet_address_is_sitelocal    (GInetAddress *address);
66 gboolean        g_inet_address_is_multicast    (GInetAddress *address);
67 gboolean        g_inet_address_is_mc_global    (GInetAddress *address);
68 gboolean        g_inet_address_is_mc_linklocal (GInetAddress *address);
69 gboolean        g_inet_address_is_mc_nodelocal (GInetAddress *address);
70 gboolean        g_inet_address_is_mc_orglocal  (GInetAddress *address);
71 gboolean        g_inet_address_is_mc_sitelocal (GInetAddress *address);
72
73
74
75 G_END_DECLS
76
77 #endif /* G_INET_ADDRESS_H */
78