dn_comp()

Сжать доменное имя

Прототип:

#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
int dn_comp( const char *exp_dn,
u_char *comp_dn,
int length,
u_char **dnptrs,
u_char **lastdnptr );

Аргументы:

exp_dn
Имя Интернет-домена, которое требуется сжать.
comp_dn
Буфер, в котором функция может хранить сжатое имя.
length
Размер массива comp_dn.
dnptrs
NULL, или массив указателей на ранее сжатые имена в текущем сообщении.
lastdnptr
NULL, или конец массива, на который указывает dnptrs.

Библиотека:

libsocket

Описание:

Функция dn_comp() является низкоуровневой процедурой, используемой res_query() для сжатия имени Интернет-домена. Данная процедура сжимает доменное имя exp_dn и сохраняет его в comp_dn.

Сжатие использует массив указателей dnptrs на ранее сжатые имена в текущем сообщении. Первый указатель указывает на начало сообщения, и последний указывает на NULL. Конец массива определяется lastdnptr. В качестве побочного эффекта dn_comp() обновляет список указателей для меток, вставленных в сообщение, когда имя сжимается. Если dnptrs имеет значение NULL, имена не сжимаются. Если lastdnptr имеет значение NULL, список меток не обновляется.

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

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

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

Unix

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

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

dn_expand(), gethostbyname(), res_init(), res_mkquery(), res_query(), res_search(), res_send()

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

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




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