Инициализировать подпрограммы распознавания доменных имен в Интернете
#include <sys/types.h>#include <netinet/in.h>#include <arpa/nameser.h>#include <resolv.h>int res_init( void );
libsocket
Процедуры преобразователя используются для создания, отправки и интерпретации запросов и ответов с серверами доменных имен в Интернете.
Процедура res_init() считывает файл конфигурации преобразователя (если таковой существует; см. /etc/resolv.conf в Справочнике по Утилитам) чтобы получить имя домена по умолчанию, список поиска и Интернет-адрес локальных серверов имен. Если сервер не настроен, выполняется попытка на хосте, на котором запущен преобразователь. Если иное не указано в файле конфигурации, текущее доменное имя определяется именем хоста; имя домена может быть переопределено переменной окружения LOCALDOMAIN
. Инициализация обычно происходит при первом вызове одной из процедур преобразователя.
Конфигурация преобразователя
Информация о глобальной конфигурации и состоянии, используемая этими процедурами, хранится в поле __res_state
структуры _res, определенной в <resolv.h>
. Поскольку большинство значений уже установлены по умолчанию, можно их игнорировать.
Поле _res.options - это простая битовая маска, которая содержит побитовое ИЛИ из включенных опций. Опции определены в <resolv.h>
:
RES_USEVC
, чтобы поддерживать TCP-соединение открытым между запросами. Это может быть полезно в программах, которые регулярно выполняют множество запросов. Рекомнедуется использование UDP. См. herror().
LOCALDOMAIN
содержит доменное имя, которое переопределяет текущее доменное имя. Unix
dn_comp(), dn_expand(), gethostbyname(), res_mkquery(), res_query(), res_querydomain(), res_search(), res_send()
hostname, /etc/resolv.conf в Справочнике по Утилитам
Основано на RFC 974, RFC 1032, RFC 1033, RFC 1034, RFC 1035
Предыдущий раздел: Описание API сетевой библиотеки