ソケット (BSD)
gethostbyname() と gethostbyaddr() は名前やアドレスで指定されたインターネット上のホストを表す struct hostent というデータ構造へのポインタを返す。その中には、ネームサーバから得られた情報、/etc/hosts ファイルから得られた情報などが格納されている。ローカルにネームサーバが動作していない場合、/etc/hosts ファイルを参照する。以下の引数がある。
name - ホスト名を指定。例えば "www.wikipedia.org"
addr - in_addr 構造体へのポインタ。中身としてホストのアドレスを指定。
len - addr の長さをバイト数で指定。
type - アドレスのドメイン型を指定。例えば、AF_INET
エラーが発生するとNULLポインタを返し、h_errno を見れば詳しいエラーの原因(再試行すべきか否か)がわかる。そうでない場合、有効な struct hostent * が返される。