summaryrefslogtreecommitdiffstats
path: root/avahi-core/core.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-06-24 01:00:13 +0000
committerLennart Poettering <lennart@poettering.net>2005-06-24 01:00:13 +0000
commit9f9f4f6ea2405edc642d322c19f6f13e31920046 (patch)
tree2a4a3a8ecbe0f942a140a98b4f1621d183575297 /avahi-core/core.h
parent697d33e34648286fd42ff6086087e0111726f749 (diff)
* update todo list
* add avvahi-dnsconfd * implement AvahiDNSServerBrowser * Update special browse/register RRs to match current RFC * add support to avahi-daemon to publish name server information * add support to avahi-daemon to publish /etc/resolv.conf DNS server information * add new simple protocol command: "BROWSE-DNS-SERVERS" * cleanup final configure message git-svn-id: file:///home/lennart/svn/public/avahi/trunk@143 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-core/core.h')
-rw-r--r--avahi-core/core.h44
1 files changed, 43 insertions, 1 deletions
diff --git a/avahi-core/core.h b/avahi-core/core.h
index 0565d23..74f5cf4 100644
--- a/avahi-core/core.h
+++ b/avahi-core/core.h
@@ -275,6 +275,38 @@ gint avahi_server_add_service_strlst(
guint16 port,
AvahiStringList *strlst);
+/** The type of DNS server */
+typedef enum {
+ AVAHI_DNS_SERVER_RESOLVE, /**< Unicast DNS servers for normal resolves (_domain._udp)*/
+ AVAHI_DNS_SERVER_UPDATE /**< Unicast DNS servers for updates (_dns-update._udp)*/
+} AvahiDNSServerType;
+
+/** Publish the specified unicast DNS server address via mDNS. You may
+ * browse for records create this way wit
+ * avahi_dns_server_browser_new(). */
+gint avahi_server_add_dns_server_address(
+ AvahiServer *s,
+ AvahiEntryGroup *g,
+ gint interface,
+ guchar protocol,
+ const gchar *domain,
+ AvahiDNSServerType type,
+ const AvahiAddress *address,
+ guint16 port /** should be 53 */);
+
+/** Similar to avahi_server_add_dns_server_address(), but specify a
+host name instead of an address. The specified host name should be
+resolvable via mDNS */
+gint avahi_server_add_dns_server_name(
+ AvahiServer *s,
+ AvahiEntryGroup *g,
+ gint interface,
+ guchar protocol,
+ const gchar *domain,
+ AvahiDNSServerType type,
+ const gchar *name,
+ guint16 port /** should be 53 */);
+
typedef enum {
AVAHI_BROWSER_NEW = 0,
AVAHI_BROWSER_REMOVE = -1
@@ -306,7 +338,8 @@ typedef enum {
AVAHI_DOMAIN_BROWSER_REGISTER, /**< Browse for a list of available registering domains */
AVAHI_DOMAIN_BROWSER_REGISTER_DEFAULT, /**< Browse for the default registering domain */
AVAHI_DOMAIN_BROWSER_BROWSE, /**< Browse for a list of available browsing domains */
- AVAHI_DOMAIN_BROWSER_BROWSE_DEFAULT /**< Browse for the default browsing domain */
+ AVAHI_DOMAIN_BROWSER_BROWSE_DEFAULT, /**< Browse for the default browsing domain */
+ AVAHI_DOMAIN_BROWSER_BROWSE_LEGACY /**< Legacy browse domain - see DNS-SD spec for more information */
} AvahiDomainBrowserType;
typedef struct AvahiDomainBrowser AvahiDomainBrowser;
@@ -329,4 +362,13 @@ typedef void (*AvahiServiceResolverCallback)(AvahiServiceResolver *r, gint inter
AvahiServiceResolver *avahi_service_resolver_new(AvahiServer *server, gint interface, guchar protocol, const gchar *name, const gchar *type, const gchar *domain, guchar aprotocol, AvahiServiceResolverCallback calback, gpointer userdata);
void avahi_service_resolver_free(AvahiServiceResolver *r);
+
+/** A domain service browser object. Use this to browse for
+ * conventional unicast DNS servers which may be used to resolve
+ * conventional domain names */
+typedef struct AvahiDNSServerBrowser AvahiDNSServerBrowser;
+typedef void (*AvahiDNSServerBrowserCallback)(AvahiDNSServerBrowser *b, gint interface, guchar protocol, AvahiBrowserEvent event, const gchar *host_name, const AvahiAddress *a, guint16 port, gpointer userdata);
+AvahiDNSServerBrowser *avahi_dns_server_browser_new(AvahiServer *server, gint interface, guchar protocol, const gchar *domain, AvahiDNSServerType type, guchar aprotocol, AvahiDNSServerBrowserCallback callback, gpointer userdata);
+void avahi_dns_server_browser_free(AvahiDNSServerBrowser *b);
+
#endif