X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fcore.h;h=55aafe2e8ce34a75d96af11c304e27ceef2e91d1;hb=b961e134cfaf3077dae0d83efa0fffeacf134fa7;hp=4223bf7695aa36b74614fb47b7828aef28fca081;hpb=6b391bb81f0dce0193a722254016b26c12a17643;p=catta diff --git a/avahi-core/core.h b/avahi-core/core.h index 4223bf7..55aafe2 100644 --- a/avahi-core/core.h +++ b/avahi-core/core.h @@ -24,31 +24,19 @@ /** \file core.h The Avahi Multicast DNS and DNS Service Discovery implementation. */ - -#include - -#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 +#include #include #include #include +#include -#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. */ @@ -157,8 +150,12 @@ uint32_t avahi_server_get_local_service_cookie(AvahiServer *s); /** 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