diff options
Diffstat (limited to 'dns.h')
-rw-r--r-- | dns.h | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -3,6 +3,8 @@ #include <glib.h> +#include "rr.h" + #define FLX_DNS_MAX_PACKET_SIZE 9000 typedef struct _flxDnsPacket { @@ -19,13 +21,22 @@ guint8 *flx_dns_packet_append_uint16(flxDnsPacket *p, guint16 v); guint8 *flx_dns_packet_append_name(flxDnsPacket *p, const gchar *name); guint8 *flx_dns_packet_append_name_compressed(flxDnsPacket *p, const gchar *name, guint8 *prev); guint8 *flx_dns_packet_extend(flxDnsPacket *p, guint l); -gint flx_dns_packet_check_valid_response(flxDnsPacket *p); +gint flx_dns_packet_is_query(flxDnsPacket *p); gint flx_dns_packet_check_valid(flxDnsPacket *p); gint flx_dns_packet_consume_name(flxDnsPacket *p, gchar *ret_name, guint l); gint flx_dns_packet_consume_uint16(flxDnsPacket *p, guint16 *ret_v); gint flx_dns_packet_consume_uint32(flxDnsPacket *p, guint32 *ret_v); gint flx_dns_packet_consume_bytes(flxDnsPacket *p, gpointer ret_data, guint l); + +gconstpointer flx_dns_packet_get_rptr(flxDnsPacket *p); + +flxKey* flx_dns_packet_consume_key(flxDnsPacket *p); +flxRecord* flx_dns_packet_consume_record(flxDnsPacket *p, gboolean *ret_cache_flush); + +guint8* flx_dns_packet_append_key(flxDnsPacket *p, flxKey *k); +guint8* flx_dns_packet_append_record(flxDnsPacket *p, flxRecord *r, gboolean cache_flush); + gint flx_dns_packet_skip(flxDnsPacket *p, guint length); #define DNS_FIELD_ID 0 @@ -51,5 +62,7 @@ gint flx_dns_packet_skip(flxDnsPacket *p, guint length); ((guint16) (rd & 15))) +#define MDNS_CACHE_FLUSH 0x8000 + #endif |