Сжать доменное имя
#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 );
NULL
, или массив указателей на ранее сжатые имена в текущем сообщении.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 сетевой библиотеки