res_mkquery()

Создать запрос имени домена в Интернете

Прототип:

#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
int res_mkquery( int op,
const char *dname,
int class,
int type,
const u_char *data,
int datalen,
const u_char *newrr,
u_char *buf,
int buflen );

Аргументы:

op
Обычно QUERY, но также может быть и IQUERY или NS_NOTIFY_OP. Обратите внимание, что поддерживаются не все типы запросов, определенные в <arpa/nameser.h>.
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>.
data
NULL, или указатель на данные записи ресурса.
datalen
Размер данных.
newrr
В настоящее время не используется. Этот аргумент предназначен для создания сообщений об обновлении.
buf
Указатель на буфер, в котором функция может создать запрос.
buflen
Размер буфера.

Библиотека:

libsocket

Описание:

Функция res_mkquery() - низкоуровневая процедура, используемая функцией res_query() для построения запроса имени домена в Интернете. Эта процедура создает стандартное сообщение запроса и помещает его в buf. Она возвращает размер запроса, либо -1 в случае, если размер запроса превышает buflen.

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

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

Размер подготовленной очереди, в байтах, либо -1 в случае возникновения ошибки.

Файлы:

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

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

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

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

Unix

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

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

dn_comp(), dn_expand(), gethostbyname(), res_init(), res_query(), res_querydomain(), res_search(), res_send()

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

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




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