- gint iface = 0;
- guint8 ttl;
-
- g_assert(s);
-
- if (s->fd_ipv4 >= 0 && (s->pollfd_ipv4.revents & G_IO_IN)) {
- dest.family = AVAHI_PROTO_INET;
- if ((p = avahi_recv_dns_packet_ipv4(s->fd_ipv4, &sa, &dest.data.ipv4, &iface, &ttl))) {
- dispatch_packet(s, p, (struct sockaddr*) &sa, &dest, iface, ttl);
- avahi_dns_packet_free(p);
- }
- }
-
- if (s->fd_ipv6 >= 0 && (s->pollfd_ipv6.revents & G_IO_IN)) {
- dest.family = AVAHI_PROTO_INET6;
- if ((p = avahi_recv_dns_packet_ipv6(s->fd_ipv6, &sa6, &dest.data.ipv6, &iface, &ttl))) {
- dispatch_packet(s, p, (struct sockaddr*) &sa6, &dest, iface, ttl);
- avahi_dns_packet_free(p);
- }
- }
-
- if (s->fd_legacy_unicast_ipv4 >= 0 && (s->pollfd_legacy_unicast_ipv4.revents & G_IO_IN)) {
- dest.family = AVAHI_PROTO_INET;
- if ((p = avahi_recv_dns_packet_ipv4(s->fd_legacy_unicast_ipv4, &sa, &dest.data.ipv4, &iface, &ttl))) {
- dispatch_legacy_unicast_packet(s, p, (struct sockaddr*) &sa, iface, ttl);
- avahi_dns_packet_free(p);
- }
- }
-
- if (s->fd_legacy_unicast_ipv6 >= 0 && (s->pollfd_legacy_unicast_ipv6.revents & G_IO_IN)) {
- dest.family = AVAHI_PROTO_INET6;
- if ((p = avahi_recv_dns_packet_ipv6(s->fd_legacy_unicast_ipv6, &sa6, &dest.data.ipv6, &iface, &ttl))) {
- dispatch_legacy_unicast_packet(s, p, (struct sockaddr*) &sa6, iface, ttl);
- avahi_dns_packet_free(p);
- }
- }
-}
-
-static gboolean prepare_func(GSource *source, gint *timeout) {
- g_assert(source);
- g_assert(timeout);
-
- *timeout = -1;
- return FALSE;
-}
-
-static gboolean check_func(GSource *source) {
- AvahiServer* s;
- gushort revents = 0;
-
- g_assert(source);