Provided by:
manpages-ja-dev_0.5.0.0.20060115-1_all 
SYSV/POSIX張
POSIX では、ホストデータベースの次のエントリを返す gethostent()
コールを必要とする。 DNS/BIND を使う場合はあまり意味を持たないが、
ホストデータベースが 1
行ずつ読み込まれるファイルである場合は意味がある。
多くのシステムでは、この名前のルーチンはファイル /etc/hosts
を読み込む。 DNS
サポートなしでライブラリがビルドされた場合にのみ利用可能である。 glibc
版は ipv6 エントリを無視する。 この関数はリエントラント (reentrant)
ではなく、 glibc にはリエントラント版の gethostent_r() が追加された。
GNU張
glibc2 には gethostbyname2() もあり、 gethostbyname()
と同じように動作するが、
こちらはアドレスが属するアドレスファミリーを指定することがでい襦
glibc2 にはリエントラントな gethostbyname_r() と gethostbyname2_r()
もある。 これらの関数は、成功した場合は 0 を返し、失敗した場合は 0
以外を返す。 現在のところ、この呼び出しの結果はアドレスが ret
の構造体に格納される。 呼び出しの後、失敗した場合は *result が NULL
になり、成功した場合は *result が結果を指し示す。 補促如璽燭歪垢
buflen のバッファ buf に格納される。
(バッファが小さすぎる場合、これらの関数は ERANGE を返す。) 大域変数
h_errno は変更されないが、エラー番号を格納する変数のアドレスが h_errnop
に渡される。
意
gethostbyname() および gethostbyaddr()
関数は静的データへのポインタを返す。
このポインタは、その後の呼び出しで上書い気譴襪もしれない。 hostent
構造体はポインタを含んでいるので、構造体のコピーだけでは不十分である;
より深いコピーが必要である。
SUS-v2 はバグが多く、 gethostbyaddr() の len パラメータを size_t
型として宣言している。 (これは誤りで、 size_t 型ではなく int
型でなければならない。 POSIX 1003.1-2001 ではこれを socklen_t
としているが、これは OK。)
gethostbyaddr() の BSD のプロトタイプは、最初の引た瑤箸靴 const char *
を使う。
POSIX 1003.1-2001 では gethostbyaddr() および gethostbyname()
を廃れかかったものとされている。 getaddrinfo(3), getnameinfo(3),
gai_strerror(3) を参照すること。
目
getaddrinfo(3), getipnodebyaddr(3), getipnodebyname(3), getnameinfo(3),
inet_ntop(3), inet_pton(3), resolver(3), hosts(5), nsswitch.conf(5),
hostname(7), named(8)
2004-10-31 GETHOSTBYNAME(3)