]> git.meshlink.io Git - catta/blobdiff - avahi-client/client.h
add client side wrapping of EntryGroup.AddServiceSubtype
[catta] / avahi-client / client.h
index 9d57c502d0280feee2f7c202d56960afb137732b..bad07898ac0ba5972e18fbd34d969909ca73e02f 100644 (file)
@@ -88,13 +88,13 @@ typedef void (*AvahiClientCallback) (AvahiClient *s, AvahiClientState state, voi
 typedef void (*AvahiEntryGroupCallback) (AvahiEntryGroup *g, AvahiEntryGroupState state, void* userdata);
 
 /** The function prototype for the callback of an AvahiDomainBrowser */
-typedef void (*AvahiDomainBrowserCallback) (AvahiDomainBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *domain, void *userdata);
+typedef void (*AvahiDomainBrowserCallback) (AvahiDomainBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *domain, AvahiLookupResultFlags flags, void *userdata);
 
 /** The function prototype for the callback of an AvahiServiceBrowser */
-typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, void *userdata);
+typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata);
 
 /** The function prototype for the callback of an AvahiServiceTypeBrowser */
-typedef void (*AvahiServiceTypeBrowserCallback) (AvahiServiceTypeBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *type, const char *domain, void *userdata);
+typedef void (*AvahiServiceTypeBrowserCallback) (AvahiServiceTypeBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata);
 
 /** The function prototype for the callback of an AvahiServiceResolver */
 typedef void (*AvahiServiceResolverCallback) (
@@ -109,6 +109,7 @@ typedef void (*AvahiServiceResolverCallback) (
     const AvahiAddress *a,
     uint16_t port,
     AvahiStringList *txt,
+    AvahiLookupResultFlags flags, 
     void *userdata);
 
 /** The function prototype for the callback of an AvahiHostNameResolver */
@@ -119,6 +120,7 @@ typedef void (*AvahiHostNameResolverCallback) (
     AvahiResolverEvent event,
     const char *name,
     const AvahiAddress *a,
+    AvahiLookupResultFlags flags, 
     void *userdata);
 
 /** The function prototype for the callback of an AvahiAddressResolver */
@@ -130,6 +132,7 @@ typedef void (*AvahiAddressResolverCallback) (
     AvahiProtocol aprotocol,
     const AvahiAddress *a,
     const char *name,
+    AvahiLookupResultFlags flags, 
     void *userdata);
 
 /** Creates a new client instance */
@@ -182,6 +185,7 @@ int avahi_entry_group_add_service(
     AvahiEntryGroup *group,
     AvahiIfIndex interface,
     AvahiProtocol protocol,
+    AvahiPublishFlags flags,
     const char *name,
     const char *type,
     const char *domain,
@@ -194,6 +198,7 @@ int avahi_entry_group_add_service_strlst(
     AvahiEntryGroup *group,
     AvahiIfIndex interface,
     AvahiProtocol protocol,
+    AvahiPublishFlags flags,
     const char *name,
     const char *type,
     const char *domain,
@@ -206,6 +211,7 @@ int avahi_entry_group_add_service_va(
     AvahiEntryGroup *group,
     AvahiIfIndex interface,
     AvahiProtocol protocol,
+    AvahiPublishFlags flags,
     const char *name,
     const char *type,
     const char *domain,
@@ -213,57 +219,60 @@ int avahi_entry_group_add_service_va(
     uint16_t port,
     va_list va);
 
-/** Get the D-Bus path of an AvahiEntryGroup object, for debugging purposes only. */
-const char* avahi_entry_group_get_dbus_path (AvahiEntryGroup *);
+/** Add a subtype for a service */
+int avahi_entry_group_add_service_subtype(
+    AvahiEntryGroup *group,
+    AvahiIfIndex interface,
+    AvahiProtocol protocol,
+    AvahiPublishFlags flags,
+    const char *name,
+    const char *type,
+    const char *domain,
+    const char *subtype);
 
 /** 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);
+AvahiDomainBrowser* avahi_domain_browser_new (
+    AvahiClient *client,
+    AvahiIfIndex interface,
+    AvahiProtocol protocol,
+    const char *domain,
+    AvahiDomainBrowserType btype,
+    AvahiLookupFlags flags,
+    AvahiDomainBrowserCallback callback,
+    void *userdata);
 
 /** Get the parent client of an AvahiDomainBrowser object */
 AvahiClient* avahi_domain_browser_get_client (AvahiDomainBrowser *);
 
-/** Get the D-Bus path of an AvahiDomainBrowser object, for debugging purposes only. */
-const char* avahi_domain_browser_get_dbus_path (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);
+    AvahiClient *client,
+    AvahiIfIndex interface,
+    AvahiProtocol protocol,
+    const char *domain,
+    AvahiLookupFlags flags,
+    AvahiServiceTypeBrowserCallback callback,
+    void *userdata);
 
 /** Get the parent client of an AvahiServiceTypeBrowser object */
 AvahiClient* avahi_service_type_browser_get_client (AvahiServiceTypeBrowser *);
 
-/** Get the D-Bus path of an AvahiServiceTypeBrowser object, for debugging purposes only. */
-const char* avahi_service_type_browser_get_dbus_path(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 D-Bus path of an AvahiServiceBrowser object, for debugging purposes only. */
-const char* avahi_service_browser_get_dbus_path (AvahiServiceBrowser *);
+    AvahiClient *client,
+    AvahiIfIndex interface,
+    AvahiProtocol protocol,
+    const char *type,
+    const char *domain,
+    AvahiLookupFlags flags,
+    AvahiServiceBrowserCallback callback,
+    void *userdata);
 
 /** Get the parent client of an AvahiServiceBrowser object */
 AvahiClient* avahi_service_browser_get_client (AvahiServiceBrowser *);
@@ -280,6 +289,7 @@ AvahiServiceResolver * avahi_service_resolver_new(
     const char *type,
     const char *domain,
     AvahiProtocol aprotocol,
+    AvahiLookupFlags flags,
     AvahiServiceResolverCallback callback,
     void *userdata);
 
@@ -289,9 +299,6 @@ AvahiClient* avahi_service_resolver_get_client (AvahiServiceResolver *);
 /** Free a service resolver object */
 int avahi_service_resolver_free(AvahiServiceResolver *r);
 
-/** Block until the resolving is complete */
-int avahi_service_resolver_block(AvahiServiceResolver *r);
-
 /** Create a new hostname resolver object */
 AvahiHostNameResolver * avahi_host_name_resolver_new(
     AvahiClient *client,
@@ -299,6 +306,7 @@ AvahiHostNameResolver * avahi_host_name_resolver_new(
     AvahiProtocol protocol,
     const char *name,
     AvahiProtocol aprotocol,
+    AvahiLookupFlags flags,
     AvahiHostNameResolverCallback callback,
     void *userdata);
 
@@ -308,15 +316,13 @@ AvahiClient* avahi_host_name_resolver_get_client (AvahiHostNameResolver *);
 /** Free a hostname resolver object */
 int avahi_host_name_resolver_free(AvahiHostNameResolver *r);
 
-/** Block until the resolving is complete */
-int avahi_host_name_resolver_block(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,
+    AvahiLookupFlags flags,
     AvahiAddressResolverCallback callback,
     void *userdata);
 
@@ -326,6 +332,7 @@ AvahiAddressResolver* avahi_address_resolver_new_a(
     AvahiIfIndex interface,
     AvahiProtocol protocol,
     const AvahiAddress *a,
+    AvahiLookupFlags flags,
     AvahiAddressResolverCallback callback,
     void *userdata);
 
@@ -335,8 +342,11 @@ AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *);
 /** Free a AvahiAddressResolver resolver object */
 int avahi_address_resolver_free(AvahiAddressResolver *r);
 
-/** Block until the resolving is complete */
-int avahi_address_resolver_block(AvahiAddressResolver *r);
+/** Return the local service cookie. returns AVAHI_SERVICE_COOKIE_INVALID on failure. */
+uint32_t avahi_client_get_local_service_cookie(AvahiClient *client);
+
+/** Return 1 if the specified service is a registered locally, negative on failure, 0 otherwise. */
+int avahi_client_is_service_local(AvahiClient *client, AvahiIfIndex interface, AvahiProtocol protocol, const char *name, const char *type, const char *domain);
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 AVAHI_C_DECL_END