res_query()

Запросить локальный сервер доменных имен

Прототип:

#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
int res_query( const char *dname,
int class,
int type,
u_char *answer,
int anslen );

Аргументы:

dname
Полное доменное имя, которое требуется запросить.
class
Требуемый класс информации; один из следующих:
C_IN
ARPA Internet.
C_CHAOS
Chaos net (MIT).
C_HS
сервер имен Hesiod (MIT).
C_ANY
произвольный класс.
Обычно используется C_IN.
type
Тип требуемой информации. Обычно используется T_PTR, но также можно использовать и константы T_*, определенные в <arpa/nameser.h>.
answer
Указатель на буфер, в котором функция может хранить ответ на запрос.
anslen
Размер буфера.

Библиотека:

libsocket

Описание:

Функция res_query() предоставляет интерфейс к механизму запросов к серверу. Она составляет запрос, отправляет его на локальный сервер, ожидает ответа и выполняет предварительную проверку ответа. Запрашивается информация указанных type и class для указанного полного доменного имени dname. Ответное сообщение остается в буфере ответов с длиной anslen, предоставленной вызывающей стороной.

Процедуры преобразователя используются для создания, отправки и интерпретации запросов и ответов с серверами доменных имен в Интернете. Информация о глобальной конфигурации и состоянии, используемая процедурами преобразователя, хранится в структуре _res. Для получения дополнительной информации о параметрах см. res_init().

Функция res_query() использует следующие более низкоуровневые процедуры:

Возвращаемое значение:

Размер ответного сообщения в байтах.

Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.

Коды ошибок:

См. herror().

Файлы:

/etc/resolv.conf
Файл конфигурации преобразователя.

Переменные окружения:

LOCALDOMAIN
Если установлена, то LOCALDOMAIN содержит доменное имя, которое переопределяет текущее доменное имя.

Классификация:

Unix

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

dn_comp(), dn_expand(), gethostbyname(), herror(), res_init(), res_mkquery(), res_querydomain(), res_search(), res_send()

hostname, /etc/resolv.conf в Справочнике по Утилитам

Основано на RFC 974, RFC 1032, RFC 1033, RFC 1034, RFC 1035




Предыдущий раздел: Описание API сетевой библиотеки