use diagnostics;
use strict;

# This is dumb, but glibc doesn't like to do hostname lookups w/o libc.so


#TODO TODO
sub doQuery {
#    my ($query, $queryType, $domainName, $ipNum) = @_;
#
#    _res.retry = 2;
#
#    len = res_search(query, C_IN, queryType, (void *) &response,
#		     sizeof(response));
#    if (len <= 0) return -1;
#
#    if (ntohs(response.hdr.rcode) != NOERROR) return -1;
#    ancount = ntohs(response.hdr.ancount);
#    if (ancount < 1) return -1;
#
#    data = response.buf + sizeof(HEADER);
#    end = response.buf + len;
#
#    # skip the question
#    data += dn_skipname(data, end) + QFIXEDSZ;
#
#    # parse the answer(s)
#    while (--ancount >= 0 && data < end) {
#
#      # skip the domain name portion of the RR record
#      data += dn_skipname(data, end);
#
#      # get RR information
#      GETSHORT(type, data);
#      data += INT16SZ; # skipp class
#      data += INT32SZ; # skipp TTL
#      GETSHORT(len,  data);
#
#      if (type == T_PTR) {
#	 # we got a pointer
#	 len = dn_expand(response.buf, end, data, name, sizeof(name));
#	 if (len <= 0) return -1;
#	 if (queryType == T_PTR && domainName) {
#	   # we wanted a pointer
#	   *domainName = malloc(strlen(name) + 1);
#	   strcpy(*domainName, name);
#	   return 0;
#	 }
#      } else if (type == T_A) {
#	 # we got an address
#	 if (queryType == T_A && ipNum) {
#	   # we wanted an address
#	   memcpy(ipNum, data, sizeof(*ipNum));
#	   return 0;
#	 }
#      }
#
#      # move ahead to next RR
#      data += len;
#    }
#
#    return -1;
}