Столкнулся с такой вот проблемой - необходимо задавать адрес DNS сервера куда будет посылаться запрос функций res_query.
Пытался сделать так:
u_char answer[512];
int n;
res_init();
_res.nsaddr_list[0].sin_addr.s_addr = inet_addr("8.8.8.8");
_res.nsaddr_list[0].sin_family = AF_INET;
_res.nsaddr_list[0].sin_port = htons(53);
_res.nscount = 1;
n = res_query("test.com", C_IN, T_A, answer, sizeof(answer));
printf("%i\n", n);
т.е. чтобы запрос шел не на DNS сервера прописанные подефолту в системе, а не DNS сервер гугля. Но почему-то запрос всё равно отправляется на сервера указанные в системе.
P.S. Linux 2.6.32-32-generic (Ubuntu 10.04)