Patch from Samuel Cormier-Iijima <sciyoshi@gmail.com>:
[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/gio.h>
6
7 G_BEGIN_DECLS
8
9 #define G_TYPE_INET_ADDRESS         (g_inet_address_get_type ())
10 #define G_INET_ADDRESS(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_INET_ADDRESS, GInetAddress))
11 #define G_INET_ADDRESS_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_INET_ADDRESS, GInetAddressClass))
12 #define G_IS_INET_ADDRESS(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_INET_ADDRESS))
13 #define G_IS_INET_ADDRESS_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_INET_ADDRESS))
14 #define G_INET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_INET_ADDRESS, GInetAddressClass))
15
16 typedef struct _GInetAddress        GInetAddress;
17 typedef struct _GInetAddressClass   GInetAddressClass;
18
19 struct _GInetAddress
20 {
21   GObject parent;
22 };
23
24 struct _GInetAddressClass
25 {
26   GObjectClass parent_class;
27
28   gboolean (*is_any) (GInetAddress *address);
29   gboolean (*is_linklocal) (GInetAddress *address);
30   gboolean (*is_loopback) (GInetAddress *address);
31   gboolean (*is_sitelocal) (GInetAddress *address);
32   gboolean (*is_multicast) (GInetAddress *address);
33   gboolean (*is_mc_global) (GInetAddress *address);
34   gboolean (*is_mc_linklocal) (GInetAddress *address);
35   gboolean (*is_mc_nodelocal) (GInetAddress *address);
36   gboolean (*is_mc_orglocal) (GInetAddress *address);
37   gboolean (*is_mc_sitelocal) (GInetAddress *address);
38 };
39
40 GType          g_inet_address_get_type         (void) G_GNUC_CONST;
41
42 /* accessors to gobject properties that get overridden by subclasses */
43 gboolean        g_inet_address_is_any          (GInetAddress *address);
44
45 gboolean        g_inet_address_is_linklocal    (GInetAddress *address);
46
47 gboolean        g_inet_address_is_loopback     (GInetAddress *address);
48
49 gboolean        g_inet_address_is_sitelocal    (GInetAddress *address);
50
51 gboolean        g_inet_address_is_multicast    (GInetAddress *address);
52
53 gboolean        g_inet_address_is_mc_global    (GInetAddress *address);
54
55 gboolean        g_inet_address_is_mc_linklocal (GInetAddress *address);
56
57 gboolean        g_inet_address_is_mc_nodelocal (GInetAddress *address);
58
59 gboolean        g_inet_address_is_mc_orglocal  (GInetAddress *address);
60
61 gboolean        g_inet_address_is_mc_sitelocal (GInetAddress *address);
62
63 G_END_DECLS
64
65 #endif /* G_INET_ADDRESS_H */
66