]> git.meshlink.io Git - catta/blobdiff - avahi-core/publish.h
* remove AVAHI_PUBLISH_IS_PROXY, it was a bad idea
[catta] / avahi-core / publish.h
index aa9eae022374970805ee669b9127d4ba154bb55c..38e5116b4a852143c154dcec10c91e3ed249ecc1 100644 (file)
   USA.
 ***/
 
-/** \file publish.h Functions for publising local services and RRs */
+/** \file core/publish.h Functions for publising local services and RRs */
 
 /** \example core-publish-service.c Example how to register a DNS-SD
  * service using an embedded mDNS stack. It behaves like a network
  * printer registering both an IPP and a BSD LPR service. */
 
-
-#include <avahi-common/cdecl.h>
-
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-AVAHI_C_DECL_BEGIN
-#endif
-
 /** A group of locally registered DNS RRs */
 typedef struct AvahiSEntryGroup AvahiSEntryGroup;
 
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-AVAHI_C_DECL_END
-#endif
-
-#include "core.h"
+#include <avahi-common/cdecl.h>
+#include <avahi-core/core.h>
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 AVAHI_C_DECL_BEGIN
@@ -96,55 +86,6 @@ int avahi_server_add(
     AvahiPublishFlags flags,    /**< Special flags for this record */
     AvahiRecord *r            /**< The record to add. This function increases the reference counter of this object. */);
     
-
-/** Add a PTR RR to the server. See avahi_server_add() for more information. */
-int avahi_server_add_ptr(
-    AvahiServer *s,
-    AvahiSEntryGroup *g,
-    AvahiIfIndex interface,
-    AvahiProtocol protocol,
-    AvahiPublishFlags flags,
-    uint32_t ttl,             /**< DNS TTL for this record */
-    const char *name,       /**< PTR record name */
-    const char *dest        /**< pointer destination */  );
-
-/** Add a PTR RR to the server. See avahi_server_add() for more information. */
-int avahi_server_add_txt(
-    AvahiServer *s,
-    AvahiSEntryGroup *g,
-    AvahiIfIndex interface,
-    AvahiProtocol protocol,
-    AvahiPublishFlags flags,
-    uint32_t ttl,             /**< DNS TTL for this record */
-    const char *name,       /**< TXT record name */
-    ... /**< Text record data, terminated by NULL */) AVAHI_GCC_SENTINEL;
-
-/** Add a PTR RR to the server. Mostly identical to
- * avahi_server_add_text but takes a va_list instead of a variable
- * number of arguments */
-int avahi_server_add_txt_va(
-    AvahiServer *s,
-    AvahiSEntryGroup *g,
-    AvahiIfIndex interface,
-    AvahiProtocol protocol,
-    AvahiPublishFlags flags,
-    uint32_t ttl,
-    const char *name,
-    va_list va);
-
-/** Add a PTR RR to the server. Mostly identical to 
- * avahi_server_add_text but takes an AvahiStringList record instead of a variable
- * number of arguments. */
-int avahi_server_add_txt_strlst(
-    AvahiServer *s,
-    AvahiSEntryGroup *g,
-    AvahiIfIndex interface,
-    AvahiProtocol protocol,
-    AvahiPublishFlags flags,
-    uint32_t ttl,
-    const char *name,
-    AvahiStringList *strlst  /**< TXT decord data as a AvahiString. This routine makes a deep copy of this object. */ );
-
 /** Add an IP address mapping to the server. This will add both the
  * host-name-to-address and the reverse mapping to the server. See
  * avahi_server_add() for more information. If adding one of the RRs
@@ -220,41 +161,44 @@ int avahi_server_add_service_subtype(
     const char *domain,       /**< Specify the main type of the service you already added here */
     const char *subtype       /**< The new subtype for the specified service */ );
 
-/** 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)*/
-    AVAHI_DNS_SERVER_MAX
-} AvahiDNSServerType;
+/** Update the TXT record for a service with the data from the specified string list */
+int avahi_server_update_service_txt_strlst(
+    AvahiServer *s,
+    AvahiSEntryGroup *g,
+    AvahiIfIndex interface,
+    AvahiProtocol protocol,
+    AvahiPublishFlags flags,
+    const char *name,     
+    const char *type,     
+    const char *domain,   
+    AvahiStringList *strlst);
 
-/** Publish the specified unicast DNS server address via mDNS. You may
- * browse for records create this way wit
- * avahi_s_dns_server_browser_new(). */
-int avahi_server_add_dns_server_address(
+/** Update the TXT record for a service with the NULL terminated list of strings of the va_list. */
+int avahi_server_update_service_txt_va(
     AvahiServer *s,
     AvahiSEntryGroup *g,
     AvahiIfIndex interface,
     AvahiProtocol protocol,
     AvahiPublishFlags flags,
-    const char *domain,
-    AvahiDNSServerType type,
-    const AvahiAddress *address,
-    uint16_t port /** should be 53 */);
+    const char *name,     
+    const char *type,     
+    const char *domain,   
+    va_list va);
 
-/** 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 */
-int avahi_server_add_dns_server_name(
+/** Update the TXT record for a service with the NULL termonate list of strings */
+int avahi_server_update_service_txt(
     AvahiServer *s,
     AvahiSEntryGroup *g,
     AvahiIfIndex interface,
     AvahiProtocol protocol,
     AvahiPublishFlags flags,
-    const char *domain,
-    AvahiDNSServerType type,
-    const char *name,
-    uint16_t port /** should be 53 */);
+    const char *name,     
+    const char *type,     
+    const char *domain,   
+    ...) AVAHI_GCC_SENTINEL;
 
+/** Check if there is a service locally defined and return the entry group it is attached to. Returns NULL if the service isn't local*/
+int avahi_server_get_group_of_service(AvahiServer *s, AvahiIfIndex interface, AvahiProtocol protocol, const char *name, const char *type, const char *domain, AvahiSEntryGroup** ret_group);
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 AVAHI_C_DECL_END