dn_comp() — リゾルバー・ドメイン・ネームの圧縮

標準

標準/拡張機能 C/C++ 依存項目

BSD 4.3

両方 OS/390 V2R8

形式

#define _XOPEN_SOURCE_EXTENDED 1
#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);

機能説明

dn_comp() 関数は、ドメイン・ネーム exp_dn を圧縮し、comp_dn に格納します。圧縮された名前のサイズが戻されますが、エラーの場合は -1 が戻されます。comp_dn が指す配列のサイズは、length により与えられます。圧縮では、現行メッセージ内の以前に圧縮された名前を指す、ポインターの配列 dnptrs が使用されます。最初のポインターは、メッセージの先頭を指し、リストは NULL で終わります。配列の限界は、lastdnptr で指定します。

dn_comp() の副次作用は、名前が圧縮されるときに、メッセージに挿入されるラベルのポインターのリストが更新されることです。dnptr が NULL の場合、名前は圧縮されていません。lastdnptr が NULL の場合、ラベルのリストは更新されていません。

注: dn_comp() 関数は、拡張 ASCII の拡張機能のレベルに依存します。詳細は、拡張 ASCII サポートを参照してください。

戻り値

正常に終了した場合、dn_comp() は、圧縮名のサイズを戻します。

正常に終了しなかった場合、dn_comp() は -1 を戻してエラーを報告します。このエラーは、圧縮する名前が、バッファーの最後に達するまでに検出されなかった場合です。

文書化された errno 値はありません。