]> git.meshlink.io Git - catta/blobdiff - avahi-core/core.h
add new API function avahi_server_set_browse_domains() to avahi-core
[catta] / avahi-core / core.h
index e3bf8a3af8e705272f2f47e9c92101c3856189df..55aafe2e8ce34a75d96af11c304e27ceef2e91d1 100644 (file)
 
 /** \file core.h The Avahi Multicast DNS and DNS Service Discovery implementation. */
 
-
-#include <avahi-common/cdecl.h>
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-AVAHI_C_DECL_BEGIN
-#endif
-
 /** An mDNS responder object */
 typedef struct AvahiServer AvahiServer;
 
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-AVAHI_C_DECL_END
-#endif
-
-#include <avahi-core/rr.h>
+#include <avahi-common/cdecl.h>
 #include <avahi-common/address.h>
 #include <avahi-common/defs.h>
 #include <avahi-common/watch.h>
+#include <avahi-core/rr.h>
 
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
 AVAHI_C_DECL_BEGIN
-#endif
 
 /** Maximum number of defined DNS servers for wide area DNS */
-#define AVAHI_MAX_WIDE_AREA_SERVERS 4
+#define AVAHI_WIDE_AREA_SERVERS_MAX 4
 
 /** Prototype for callback functions which are called whenever the state of an AvahiServer object changes */
 typedef void (*AvahiServerCallback) (AvahiServer *s, AvahiServerState state, void* userdata);
@@ -69,9 +57,14 @@ typedef struct AvahiServerConfig {
     int reflect_ipv;                  /**< if enable_reflector is 1, enable/disable reflecting between IPv4 and IPv6 */
     int add_service_cookie;           /**< Add magic service cookie to all locally generated records implicitly */
     int enable_wide_area;             /**< Enable wide area support */
-    AvahiAddress wide_area_servers[AVAHI_MAX_WIDE_AREA_SERVERS]; /** Unicast DNS server to use for wide area lookup */
+    AvahiAddress wide_area_servers[AVAHI_WIDE_AREA_SERVERS_MAX]; /** Unicast DNS server to use for wide area lookup */
     unsigned n_wide_area_servers;     /**< Number of servers in wide_area_servers[] */
     int disallow_other_stacks;        /**< Make sure that only one mDNS responder is run at the same time on the local machine. If this is enable Avahi will not set SO_REUSADDR on its sockets, effectively preventing other stacks from running on the local machine */
+    AvahiStringList *browse_domains;  /**< Additional browsing domains */
+    int disable_publishing;           /**< Disable publishing of any record */
+    int allow_point_to_point;         /**< Enable publishing on POINTOPOINT interfaces */
+    int publish_a_on_ipv6;            /**< Publish an IPv4 A RR on IPv6 sockets */
+    int publish_aaaa_on_ipv4;         /**< Publish an IPv4 A RR on IPv6 sockets */
 } AvahiServerConfig;
 
 /** Allocate a new mDNS responder object. */
@@ -154,14 +147,15 @@ int avahi_server_errno(AvahiServer *s);
 /** Return the local service cookie */
 uint32_t avahi_server_get_local_service_cookie(AvahiServer *s);
 
-/** Return 1 if there is a local service with the specified credentials registeresd. Return 0 if not, negative on failure */
-int avahi_server_is_service_local(AvahiServer *s, AvahiIfIndex, AvahiProtocol protocol, const char *name, const char *type,  const char*domain);
-
 /** Set the wide area DNS servers */
 int avahi_server_set_wide_area_servers(AvahiServer *s, const AvahiAddress *a, unsigned n);
 
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
+/** Set the browsing domains */
+int avahi_server_set_browse_domains(AvahiServer *s, AvahiStringList *domains);
+
+/** Return the current configuration of the server \since 0.6.17 */
+const AvahiServerConfig* avahi_server_get_config(AvahiServer *s);
+
 AVAHI_C_DECL_END
-#endif
 
 #endif