+static void
+avahi_address_resolver_callback (AvahiAddressResolver *r, AvahiIfIndex interface, AvahiProtocol protocol, AvahiResolverEvent event, AvahiProtocol aprotocol, const AvahiAddress *address, const char *name, void *userdata)
+{
+ char addr[64];
+ if (event == AVAHI_RESOLVER_TIMEOUT)
+ {
+ printf ("ADDRESS-RESOLVER: Callback on AddressResolver, timed out.\n");
+ return;
+ }
+ avahi_address_snprint (addr, sizeof (addr), address);
+ printf ("ADDRESS-RESOLVER: Callback on AddressResolver, interface (%d), protocol (%d), even (%d), aprotocol (%d), address (%s), name (%s), data(%s)\n", interface, protocol, event, aprotocol, addr, name, (char*) userdata);
+}
+
+static void
+avahi_host_name_resolver_callback (AvahiHostNameResolver *r, AvahiIfIndex interface, AvahiProtocol protocol, AvahiResolverEvent event, const char *name, const AvahiAddress *a, void *user_data)
+{
+ AvahiClient *client;
+ AvahiAddressResolver *ar;
+ char addr[64];
+
+ if (event == AVAHI_RESOLVER_TIMEOUT)
+ {
+ printf ("HOST-NAME-RESOLVER: Callback on HostNameResolver, timed out.\n");
+ return;
+ }
+ client = avahi_host_name_resolver_get_client (r);
+ ar = avahi_address_resolver_new_a (client, interface, protocol, a, avahi_address_resolver_callback, "omghai6u");
+ if (ar)
+ {
+ printf ("Succesfully created address resolver object\n");
+ } else {
+ printf ("Failed to create AddressResolver\n");
+ }
+ avahi_address_snprint (addr, sizeof (addr), a);
+ printf ("HOST-NAME-RESOLVER: Callback on HostNameResolver, interface (%d), protocol (%d), event (%d), name (%s), address (%s), data (%s)\n", interface, protocol, event, name, addr, (char*)user_data);
+}