static void transport_flag_from_domain(AvahiServer *s, AvahiLookupFlags *flags, const char *domain) { assert(flags); assert(domain); assert(!((*flags & AVAHI_LOOKUP_USE_MULTICAST) && (*flags & AVAHI_LOOKUP_USE_WIDE_AREA))); assert(!((*flags & AVAHI_LOOKUP_USE_MULTICAST) && (*flags & AVAHI_LOOKUP_USE_LLMNR))); assert(!((*flags & AVAHI_LOOKUP_USE_WIDE_AREA) && (*flags & AVAHI_LOOKUP_USE_LLMNR))); if (*flags & (AVAHI_LOOKUP_USE_MULTICAST|AVAHI_LOOKUP_USE_WIDE_AREA|AVAHI_LOOKUP_USE_LLMNR)) return; if (avahi_is_valid_host_name(domain)) *flags |= AVAHI_LOOKUP_USE_LLMNR; else if (!s->wide_area.wide_area_lookup_engine || !avahi_wide_area_has_servers(s->wide_area.wide_area_lookup_engine) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_LOCAL) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_ADDR_IPV4) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_ADDR_IPV6)) *flags |= AVAHI_LOOKUP_USE_MULTICAST; else *flags |= AVAHI_LOOKUP_USE_WIDE_AREA; }
static void transport_flags_from_domain(AvahiServer *s, AvahiPublishFlags *flags, const char *domain) { assert(flags); assert(domain); assert(!((*flags & AVAHI_PUBLISH_USE_MULTICAST) && (*flags & AVAHI_PUBLISH_USE_WIDE_AREA))); if (*flags & (AVAHI_PUBLISH_USE_MULTICAST|AVAHI_PUBLISH_USE_WIDE_AREA)) return; if (!s->wide_area_lookup_engine || !avahi_wide_area_has_servers(s->wide_area_lookup_engine) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_LOCAL) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_ADDR_IPV4) || avahi_domain_ends_with(domain, AVAHI_MDNS_SUFFIX_ADDR_IPV6)) *flags |= AVAHI_PUBLISH_USE_MULTICAST; else *flags |= AVAHI_PUBLISH_USE_WIDE_AREA; }