20 uint16_unpack_big(header + 6,&numanswers);
24 while (numanswers--) {
27 uint16_unpack_big(header + 8,&datalen);
29 if (byte_equal(header + 2,2,
DNS_C_IN)) {
31 txtlen = (
unsigned char)
buf[pos];
32 for (i = 1; i < datalen; ++i) {
35 txtlen += (
unsigned char) ch + 1;
37 if (ch < 32) ch =
'?';
38 if (ch > 126) ch =
'?';
45 if (numanswers)
if (!stralloc_append(
out,
"\n"))
return DNS_MEM;
53int dns_txt(stralloc *out,
const stralloc *fqdn)
int dns_domain_fromdot(char **out, const char *buf, unsigned int n)
void dns_domain_free(char **out)
unsigned int dns_packet_copy(const char *buf, unsigned int len, unsigned int pos, char *out, unsigned int outlen)
unsigned int dns_packet_skipname(const char *buf, unsigned int len, unsigned int pos)
int dns_resolve(const char *q, const char qtype[2])
struct dns_transmit dns_resolve_tx
void dns_transmit_free(struct dns_transmit *d)
int dns_txt(stralloc *out, const stralloc *fqdn)
int dns_txt_packet(stralloc *out, const char *buf, unsigned int len)
void out(const char *s, unsigned int len)