summaryrefslogtreecommitdiffstats
path: root/avahi-core/iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-core/iface.c')
-rw-r--r--avahi-core/iface.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/avahi-core/iface.c b/avahi-core/iface.c
index f5373e6..f9c3103 100644
--- a/avahi-core/iface.c
+++ b/avahi-core/iface.c
@@ -823,3 +823,21 @@ int avahi_interface_address_on_link(AvahiInterface *i, const AvahiAddress *a) {
return 0;
}
+
+int avahi_interface_has_address(AvahiInterfaceMonitor *m, AvahiIfIndex iface, const AvahiAddress *a) {
+ AvahiInterface *i;
+ AvahiInterfaceAddress *j;
+
+ assert(m);
+ assert(iface != AVAHI_IF_UNSPEC);
+ assert(a);
+
+ if (!(i = avahi_interface_monitor_get_interface(m, iface, a->family)))
+ return 0;
+
+ for (j = i->addresses; j; j = j->address_next)
+ if (avahi_address_cmp(a, &j->address) == 0)
+ return 1;
+
+ return 0;
+}