]> git.meshlink.io Git - catta/blob - libavahi-core/address.h
move the sources to libavahi-core/
[catta] / libavahi-core / address.h
1 #ifndef fooaddresshfoo
2 #define fooaddresshfoo
3
4 #include <glib.h>
5
6 #include <sys/socket.h>
7
8 typedef struct {
9     guint32 address;
10 } AvahiIPv4Address;
11
12 typedef struct {
13     guint8 address[16];
14 } AvahiIPv6Address;
15
16 typedef struct {
17     guchar family;
18
19     union {
20         AvahiIPv6Address ipv6;
21         AvahiIPv4Address ipv4;
22         guint8 data[0];
23     } data;
24 } AvahiAddress;
25
26 guint avahi_address_get_size(const AvahiAddress *a);
27 gint avahi_address_cmp(const AvahiAddress *a, const AvahiAddress *b);
28
29 gchar *avahi_address_snprint(char *ret_s, guint length, const AvahiAddress *a);
30
31 AvahiAddress *avahi_address_parse(const char *s, guchar family, AvahiAddress *ret_addr);
32
33 AvahiAddress *avahi_address_from_sockaddr(const struct sockaddr* sa, AvahiAddress *ret_addr);
34 guint16 avahi_port_from_sockaddr(const struct sockaddr* sa);
35
36 gchar* avahi_reverse_lookup_name_ipv4(const AvahiIPv4Address *a);
37 gchar* avahi_reverse_lookup_name_ipv6_arpa(const AvahiIPv6Address *a);
38 gchar* avahi_reverse_lookup_name_ipv6_int(const AvahiIPv6Address *a);
39
40 #endif