check_c_source_compiles("
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
#include <stdio.h>
#include <memory.h>
int main(int argc, char* argv[])
{
	if (argc < 2) {
		return 1;
	}
	res_init();
	uint8_t answer[4096];
	const int anslen = res_query(argv[1], ns_c_in, ns_t_txt, answer, sizeof(answer));
	if (anslen > (int) sizeof(answer)) {
		return 1;
	}
	ns_msg handle;
	ns_initparse(answer, anslen, &handle);
	for (int rrnum = 0, n = ns_msg_count(handle, ns_s_an); rrnum < n; ++rrnum) {
		ns_rr rr;
		if ((ns_parserr(&handle, ns_s_an, rrnum, &rr) == 0) && (ns_rr_type(rr) == ns_t_txt)) {
			for (const uint8_t* data = ns_rr_rdata(rr), *e = data + ns_rr_rdlen(rr); data < e;) {
				const int k = *(data++);
				if (k && (data + k <= e)) {
					char buf[256];
					memcpy(buf, data, k);
					buf[k] = 0;
					puts(buf);
				}
				data += k;
			}
		}
	}
	return 0;
}" HAVE_RES_QUERY)