23#include <netinet/in.h>
29#if !defined(RFC1035_MAXHOSTNAMESZ)
30#error RFC3596 Library depends on RFC1035
62 memset(&h,
'\0',
sizeof(h));
70 h.
arcount = (edns_sz > 0 ? 1 : 0);
133 i = (
unsigned int) ntohl(addr.s_addr);
147 const uint8_t* r = addr.s6_addr;
153 for (i = 15; i >= 0; i--, p+=4) {
154 snprintf(p, 5,
"%1x.%1x.", ((r[i])&0xf), (r[i]>>4)&0xf );
157 snprintf(p,10,
"ip6.arpa.");
ssize_t packet_max
maximum size EDNS advertised for DNS replies.
struct SquidConfig::@100 dns
int rfc1035QuestionPack(char *buf, const size_t sz, const char *name, const unsigned short type, const unsigned short _class)
int rfc1035HeaderPack(char *buf, size_t sz, rfc1035_message *hdr)
#define RFC1035_MAXHOSTNAMESZ
int rfc2671RROptPack(char *buf, size_t sz, ssize_t edns_sz)
ssize_t rfc3596BuildAAAAQuery(const char *hostname, char *buf, size_t sz, unsigned short qid, rfc1035_query *query)
ssize_t rfc3596BuildAQuery(const char *hostname, char *buf, size_t sz, unsigned short qid, rfc1035_query *query)
ssize_t rfc3596BuildPTRQuery6(const struct in6_addr addr, char *buf, size_t sz, unsigned short qid, rfc1035_query *query)
ssize_t rfc3596BuildHostQuery(const char *hostname, char *buf, size_t sz, unsigned short qid, rfc1035_query *query, int qtype)
ssize_t rfc3596BuildPTRQuery4(const struct in_addr addr, char *buf, size_t sz, unsigned short qid, rfc1035_query *query)
#define RFC1035_TYPE_AAAA
char name[RFC1035_MAXHOSTNAMESZ]
char * xstrncpy(char *dst, const char *src, size_t n)