gethostent(3NSL) に定義されているように、インターネットホスト名からアドレスへのマッピングは hostent 構造体で表現されます。
struct hostent {
char *h_name; /* ホスト名の正式名称 */
char **h_aliases; /* 別名リスト */
int h_addrtype; /* ホストアドレスのタイプ(AF_INET6 など) */
int h_length; /* アドレスの長さ */
char **h_addr_list; /* NULL で終了するアドレスのリスト */
};
/* 最初のアドレス、ネットワークバイトオーダー */
#define h_addr h_addr_list[0]
インターネットホスト名を hostent 構造体にマッピングする
インターネットホストアドレスを hostent 構造体にマッピングする
hostent 構造体のメモリーを解放する
インターネットホストアドレスを表示可能な文字列にマッピングする
このルーチンは、ホストの名前、その別名、アドレスタイプ、および NULL で終わる可変長アドレスのリストを含む hostent 構造体を返します。このアドレスリストが必要なのは、ホストが多くのアドレスを持つことができるためです。h_addr 定義は下位互換性のためであり、この定義は hostent 構造体のアドレスリストの最初のアドレスです。