void client_callback(AvahiClient *c, AvahiClientState state, AVAHI_GCC_UNUSED void *userdata) { assert(c); if (state == AVAHI_CLIENT_FAILURE) { Log(LOG_LEVEL_ERR, "Server connection failure '%s'", avahi_strerror_ptr(avahi_client_errno_ptr(c))); avahi_simple_poll_quit_ptr(spoll); } }
void client_callback(AvahiClient *c, AvahiClientState state, void *userdata) { assert(c); if (state == AVAHI_CLIENT_FAILURE) { CfOut(OUTPUT_LEVEL_ERROR, "", "Server connection failure %s", avahi_strerror_ptr(avahi_client_errno_ptr(c))); avahi_simple_poll_quit_ptr(spoll); } }
void browse_callback(AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, void *userdata) { AvahiClient *c = userdata; assert(b); switch(event) { case AVAHI_BROWSER_FAILURE: Log(LOG_LEVEL_ERR, "Avahi browser error '%s'", avahi_strerror_ptr(avahi_client_errno_ptr(avahi_service_browser_get_client_ptr(b)))); avahi_simple_poll_quit_ptr(spoll); return; case AVAHI_BROWSER_NEW: if ( !(avahi_service_resolver_new_ptr(c, interface, protocol, name, type, domain, AVAHI_PROTO_UNSPEC, 0, (AvahiServiceResolverCallback) resolve_callback, c)) ) { Log(LOG_LEVEL_ERR, "Failed to resolve service '%s', error '%s'", name, avahi_strerror_ptr(avahi_client_errno_ptr(c))); } break; case AVAHI_BROWSER_REMOVE: break; case AVAHI_BROWSER_ALL_FOR_NOW: avahi_simple_poll_quit_ptr(spoll); break; case AVAHI_BROWSER_CACHE_EXHAUSTED: break; } }