]> git.meshlink.io Git - catta/blobdiff - avahi-core/dns.h
* using AC_GNU_SOURCE instead of -D _GNU_SOURCE
[catta] / avahi-core / dns.h
index 7936baedb03a593b205562f03bbb5872be8190af..03d9798281d38a372d30d9aa99c6877c731e66e6 100644 (file)
 
 #define AVAHI_DNS_PACKET_MAX_SIZE 9000
 #define AVAHI_DNS_PACKET_HEADER_SIZE 12
+#define AVAHI_DNS_PACKET_EXTRA_SIZE 48
 
 typedef struct AvahiDnsPacket {
     guint size, rindex, max_size;
     GHashTable *name_table; /* for name compression */
 } AvahiDnsPacket;
 
-
 #define AVAHI_DNS_PACKET_DATA(p) (((guint8*) p) + sizeof(AvahiDnsPacket))
 
-AvahiDnsPacket* avahi_dns_packet_new(guint size);
-AvahiDnsPacket* avahi_dns_packet_new_query(guint size);
-AvahiDnsPacket* avahi_dns_packet_new_response(guint size);
+AvahiDnsPacket* avahi_dns_packet_new(guint mtu);
+AvahiDnsPacket* avahi_dns_packet_new_query(guint mtu);
+AvahiDnsPacket* avahi_dns_packet_new_response(guint mtu, gboolean aa);
+
+AvahiDnsPacket* avahi_dns_packet_new_reply(AvahiDnsPacket* p, guint mtu, gboolean copy_queries, gboolean aa);
 
 void avahi_dns_packet_free(AvahiDnsPacket *p);
 void avahi_dns_packet_set_field(AvahiDnsPacket *p, guint index, guint16 v);
 guint16 avahi_dns_packet_get_field(AvahiDnsPacket *p, guint index);
+void avahi_dns_packet_inc_field(AvahiDnsPacket *p, guint index);
 
 guint8 *avahi_dns_packet_extend(AvahiDnsPacket *p, guint l);
 
@@ -52,7 +55,7 @@ guint8 *avahi_dns_packet_append_uint32(AvahiDnsPacket *p, guint32 v);
 guint8 *avahi_dns_packet_append_name(AvahiDnsPacket *p, const gchar *name);
 guint8 *avahi_dns_packet_append_bytes(AvahiDnsPacket  *p, gconstpointer, guint l);
 guint8* avahi_dns_packet_append_key(AvahiDnsPacket *p, AvahiKey *k, gboolean unicast_response);
-guint8* avahi_dns_packet_append_record(AvahiDnsPacket *p, AvahiRecord *r, gboolean cache_flush);
+guint8* avahi_dns_packet_append_record(AvahiDnsPacket *p, AvahiRecord *r, gboolean cache_flush, guint max_ttl);
 guint8* avahi_dns_packet_append_string(AvahiDnsPacket *p, const gchar *s);
 
 gint avahi_dns_packet_is_query(AvahiDnsPacket *p);
@@ -84,6 +87,7 @@ guint avahi_dns_packet_space(AvahiDnsPacket *p);
 #define AVAHI_DNS_FLAG_OPCODE (15 << 11)
 #define AVAHI_DNS_FLAG_RCODE (15)
 #define AVAHI_DNS_FLAG_TC (1 << 9)
+#define AVAHI_DNS_FLAG_AA (1 << 10)
 
 #define AVAHI_DNS_FLAGS(qr, opcode, aa, tc, rd, ra, z, ad, cd, rcode) \
         (((guint16) !!qr << 15) |  \
@@ -97,7 +101,5 @@ guint avahi_dns_packet_space(AvahiDnsPacket *p);
          ((guint16) (rd & 15)))
          
 
-gchar *avahi_unescape_label(gchar *dest, guint size, const gchar **name);
-
 #endif