-/** Create a new AvahiEntryGroup object */
-AvahiEntryGroup* avahi_entry_group_new (AvahiClient*, AvahiEntryGroupCallback callback, void *userdata);
-
-/** Clean up and free an AvahiEntryGroup object */
-int avahi_entry_group_free (AvahiEntryGroup *);
-
-/** Commit an AvahiEntryGroup */
-int avahi_entry_group_commit (AvahiEntryGroup*);
-
-/** Reset an AvahiEntryGroup */
-int avahi_entry_group_reset (AvahiEntryGroup*);
-
-/** Get an AvahiEntryGroup's state */
-int avahi_entry_group_get_state (AvahiEntryGroup*);
-
-/** Check if an AvahiEntryGroup is empty */
-int avahi_entry_group_is_empty (AvahiEntryGroup*);
-
-/** Get an AvahiEntryGroup's owning client instance */
-AvahiClient* avahi_entry_group_get_client (AvahiEntryGroup*);
-
-/** Add a service, takes a variable NULL terminated list of text records */
-int avahi_entry_group_add_service(
- AvahiEntryGroup *group,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *name,
- const char *type,
- const char *domain,
- const char *host,
- uint16_t port,
- ...) AVAHI_GCC_SENTINEL;
-
-/** Add a service, takes an AvahiStringList for text records */
-int avahi_entry_group_add_service_strlst(
- AvahiEntryGroup *group,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *name,
- const char *type,
- const char *domain,
- const char *host,
- uint16_t port,
- AvahiStringList *txt);
-
-/** Add a service, takes a NULL terminated va_list for text records */
-int avahi_entry_group_add_service_va(
- AvahiEntryGroup *group,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *name,
- const char *type,
- const char *domain,
- const char *host,
- uint16_t port,
- va_list va);
-
-/** Browse for domains on the local network */
-AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *domain,
- AvahiDomainBrowserType btype,
- AvahiDomainBrowserCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiDomainBrowser object */
-AvahiClient* avahi_domain_browser_get_client (AvahiDomainBrowser *);
-
-/** Cleans up and frees an AvahiDomainBrowser object */
-int avahi_domain_browser_free (AvahiDomainBrowser *);
-
-/** Browse for service types on the local network */
-AvahiServiceTypeBrowser* avahi_service_type_browser_new (
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *domain,
- AvahiServiceTypeBrowserCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiServiceTypeBrowser object */
-AvahiClient* avahi_service_type_browser_get_client (AvahiServiceTypeBrowser *);
-
-/** Cleans up and frees an AvahiServiceTypeBrowser object */
-int avahi_service_type_browser_free (AvahiServiceTypeBrowser *);
-
-/** Browse for services of a type on the local network */
-AvahiServiceBrowser* avahi_service_browser_new (
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *type,
- const char *domain,
- AvahiServiceBrowserCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiServiceBrowser object */
-AvahiClient* avahi_service_browser_get_client (AvahiServiceBrowser *);
-
-/* Cleans up and frees an AvahiServiceBrowser object */
-int avahi_service_browser_free (AvahiServiceBrowser *);
-
-/** Create a new service resolver object */
-AvahiServiceResolver * avahi_service_resolver_new(
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *name,
- const char *type,
- const char *domain,
- AvahiProtocol aprotocol,
- AvahiServiceResolverCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiServiceResolver object */
-AvahiClient* avahi_service_resolver_get_client (AvahiServiceResolver *);
-
-/** Free a service resolver object */
-int avahi_service_resolver_free(AvahiServiceResolver *r);
-
-/** Create a new hostname resolver object */
-AvahiHostNameResolver * avahi_host_name_resolver_new(
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *name,
- AvahiProtocol aprotocol,
- AvahiHostNameResolverCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiHostNameResolver object */
-AvahiClient* avahi_host_name_resolver_get_client (AvahiHostNameResolver *);
-
-/** Free a hostname resolver object */
-int avahi_host_name_resolver_free(AvahiHostNameResolver *r);
-
-/** Create a new address resolver object from an address string. Set aprotocol to AF_UNSPEC for protocol detection. */
-AvahiAddressResolver * avahi_address_resolver_new(
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const char *address,
- AvahiAddressResolverCallback callback,
- void *userdata);
-
-/** Create a new address resolver object from an AvahiAddress object */
-AvahiAddressResolver* avahi_address_resolver_new_a(
- AvahiClient *client,
- AvahiIfIndex interface,
- AvahiProtocol protocol,
- const AvahiAddress *a,
- AvahiAddressResolverCallback callback,
- void *userdata);
-
-/** Get the parent client of an AvahiAddressResolver object */
-AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *);
-
-/** Free a AvahiAddressResolver resolver object */
-int avahi_address_resolver_free(AvahiAddressResolver *r);