+/** Callback prototype for AvahiServiceResolver events */
+typedef void (*AvahiServiceResolverCallback)(
+ AvahiServiceResolver *r,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ AvahiResolverEvent event,
+ const gchar *name, /**< Service name */
+ const gchar *type, /**< Service Type */
+ const gchar *domain,
+ const gchar *host_name, /**< Host name of the service */
+ const AvahiAddress *a, /**< The resolved host name */
+ guint16 port, /**< Service name */
+ AvahiStringList *txt, /**< TXT record data */
+ gpointer userdata);
+
+/** Create a new AvahiServiceResolver object */
+AvahiServiceResolver *avahi_service_resolver_new(
+ AvahiServer *server,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ const gchar *name,
+ const gchar *type,
+ const gchar *domain,
+ AvahiProtocol aprotocol, /**< Address family of the desired service address. Use AVAHI_PROTO_UNSPEC if you don't care */
+ AvahiServiceResolverCallback calback,
+ gpointer userdata);
+
+/** Free an AvahiServiceResolver object */
+void avahi_service_resolver_free(AvahiServiceResolver *r);