OSDN Git Service

(split) LDP: Update releases based on LDP 3.52 release
[linuxjm/LDP_man-pages.git] / release / man3 / gethostbyname.3
index 52f6d81..47111f5 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" References consulted:
 .\"     Linux libc source code
 .\" Modified 2002-08-05, Michael Kerrisk
 .\" Modified 2004-10-31, Andries Brouwer
 .\"
-.\" Japanese Version Copyright (c) 1998-2000 NAKANO Takeo all rights reserved.
-.\" Translated 1998-04-30, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Modified 1998-12-06, NAKANO Takeo
-.\" Updated & Modified 1999-10-12, NAKANO Takeo
-.\" Updated & Modified 2001-07-01, Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated & Modified 2002-01-03, Yuichi SATO
-.\" Updated & Modified 2003-11-27, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated & Modified 2005-01-10, Yuichi SATO
-.\" Updated 2006-01-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2007-06-11, Akihiro MOTOKI, LDP v2.54
-.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
+.\"*******************************************************************
 .\"
-.TH GETHOSTBYNAME 3 2010-10-04 "" "Linux Programmer's Manual"
-.SH Ì¾Á°
-gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent,
-h_errno,
-herror, hstrerror,
-gethostbyaddr_r,
-gethostbyname2, gethostbyname2_r, gethostbyname_r,
-gethostent_r \- ¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¥Û¥¹¥È¤Î¥¨¥ó¥È¥ê¤ò¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH GETHOSTBYNAME 3 2010\-10\-04 "" "Linux Programmer's Manual"
+.SH 名前
+gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno,
+herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r,
+gethostbyname_r, gethostent_r \- ネットワーク上のホストのエントリを取得する
+.SH 書式
 .nf
-.B #include <netdb.h>
-.B extern int h_errno;
+\fB#include <netdb.h>\fP
+\fBextern int h_errno;\fP
 .sp
-.BI "struct hostent *gethostbyname(const char *" name );
+\fBstruct hostent *gethostbyname(const char *\fP\fIname\fP\fB);\fP
 .sp
-.BR "#include <sys/socket.h>" "       /* AF_INET ¤ò»È¤¦¾ì¹ç */"
-.BI "struct hostent *gethostbyaddr(const void *" addr ,
-.BI "                              socklen_t " len ", int " type );
+\fB#include <sys/socket.h>\fP       /* AF_INET を使う場合 */
+\fBstruct hostent *gethostbyaddr(const void *\fP\fIaddr\fP\fB,\fP
+\fB                              socklen_t \fP\fIlen\fP\fB, int \fP\fItype\fP\fB);\fP
 .sp
-.BI "void sethostent(int " stayopen );
+\fBvoid sethostent(int \fP\fIstayopen\fP\fB);\fP
 .sp
-.B void endhostent(void);
+\fBvoid endhostent(void);\fP
 .sp
-.BI "void herror(const char *" s );
+\fBvoid herror(const char *\fP\fIs\fP\fB);\fP
 .sp
-.BI "const char *hstrerror(int " err );
+\fBconst char *hstrerror(int \fP\fIerr\fP\fB);\fP
 .sp
-/* System V/POSIX ³ÈÄ¥ */
+/* System V/POSIX 拡張 */
 .br
-.B struct hostent *gethostent(void);
+\fBstruct hostent *gethostent(void);\fP
 .sp
-/* GNU ³ÈÄ¥ */
+/* GNU 拡張 */
 .br
-.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
+\fBstruct hostent *gethostbyname2(const char *\fP\fIname\fP\fB, int \fP\fIaf\fP\fB);\fP
 .sp
-.B "int gethostent_r("
-.BI "        struct hostent *" ret ", char *" buf ", size_t " buflen ,
-.BI "        struct hostent **" result ", int *" h_errnop );
+\fBint gethostent_r(\fP
+\fB        struct hostent *\fP\fIret\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB,\fP
+\fB        struct hostent **\fP\fIresult\fP\fB, int *\fP\fIh_errnop\fP\fB);\fP
 .sp
-.BI "int gethostbyaddr_r(const void *" addr ", socklen_t " len ", int " type ,
-.BI "        struct hostent *" ret ", char *" buf ", size_t " buflen ,
-.BI "        struct hostent **" result ", int *" h_errnop );
+\fBint gethostbyaddr_r(const void *\fP\fIaddr\fP\fB, socklen_t \fP\fIlen\fP\fB, int \fP\fItype\fP\fB,\fP
+\fB        struct hostent *\fP\fIret\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB,\fP
+\fB        struct hostent **\fP\fIresult\fP\fB, int *\fP\fIh_errnop\fP\fB);\fP
 .sp
-.BI "int gethostbyname_r(const char *" name ,
-.BI "        struct hostent *" ret ", char *" buf ", size_t " buflen ,
-.BI "        struct hostent **" result ", int *" h_errnop );
+\fBint gethostbyname_r(const char *\fP\fIname\fP\fB,\fP
+\fB        struct hostent *\fP\fIret\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB,\fP
+\fB        struct hostent **\fP\fIresult\fP\fB, int *\fP\fIh_errnop\fP\fB);\fP
 .sp
-.BI "int gethostbyname2_r(const char *" name ", int " af,
-.BI "        struct hostent *" ret ", char *" buf ", size_t " buflen ,
-.BI "        struct hostent **" result ", int *" h_errnop );
+\fBint gethostbyname2_r(const char *\fP\fIname\fP\fB, int \fP\fIaf,\fP
+\fB        struct hostent *\fP\fIret\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB,\fP
+\fB        struct hostent **\fP\fIresult\fP\fB, int *\fP\fIh_errnop\fP\fB);\fP
 .fi
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
 .PD 0
 .ad l
-.BR gethostbyname2 (),
-.BR gethostent_r (),
-.BR gethostbyaddr_r (),
-.BR gethostbyname_r (),
-.BR gethostbyname2_r ():
+\fBgethostbyname2\fP(), \fBgethostent_r\fP(), \fBgethostbyaddr_r\fP(),
+\fBgethostbyname_r\fP(), \fBgethostbyname2_r\fP():
 .RS 4
 _BSD_SOURCE || _SVID_SOURCE
 .RE
 
-.BR herror (),
-.BR hstrerror ():
+\fBherror\fP(), \fBhstrerror\fP():
 .RS 4
-.TP 4
-glibc 2.8 °Ê¹ß:
+.TP  4
+glibc 2.8 以降:
 _BSD_SOURCE || _SVID_SOURCE || _GNU_SOURCE
-.TP
-glibc 2.8 ¤è¤êÁ°:
-¤Ê¤·
+.TP 
+glibc 2.8 より前:
+なし
 .RE
 .ad b
 .PD
-.SH ÀâÌÀ
-.BR gethostbyname* ()
-¤È
-.BR gethostbyaddr* ()
-¤Ï²áµî¤Î¤â¤Î¤Ç¤¢¤ë¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢Âå¤ï¤ê¤Ë
-.BR getaddrinfo (3)
-¤È
-.BR getnameinfo (3)
-¤ò»ÈÍѤ¹¤ë¤³¤È¡£
+.SH 説明
+\fBgethostbyname*\fP()  と \fBgethostbyaddr*\fP()  は過去のものである。 アプリケーションでは、代わりに
+\fBgetaddrinfo\fP(3)  と \fBgetnameinfo\fP(3)  を使用すること。
 
-.BR gethostbyname ()
-´Ø¿ô¤ÏÍ¿¤¨¤é¤ì¤¿¥Û¥¹¥È̾
-.I name
-¤ËÂбþ¤¹¤ë¹½Â¤ÂÎ
-.I hostent
-¤òÊÖ¤¹¡£
-.I name
-¤Ë¤Ï¥Û¥¹¥È̾¡¢¥É¥Ã¥È¶èÀÚ¤ê¤Î IPv4 ¥¢¥É¥ì¥¹
-.RB ( inet_addr (3)
-»²¾È)¡¢¥³¥í¥ó¶èÀÚ¤ê¤Î IPv6 ¥¢¥É¥ì¥¹ (¤ª¤½¤é¤¯¥É¥Ã¥È¶èÀÚ¤ê¤Ç¤âÂç¾æÉ×)
-¤Î¤¤¤º¤ì¤«¤ò»ØÄꤹ¤ë
-(IPv6 ¥¢¥É¥ì¥¹¤Îµ­½ÒÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï RFC\ 1884 ¤ò»²¹Í¤Ë¤·¤Æ¤Û¤·¤¤)¡£
-.I name
-¤¬ IPv4 ¤« IPv6 ¤Î¥¢¥É¥ì¥¹¤À¤Ã¤¿¾ì¹ç¡¢
-̾Á°²ò·è (lookup) ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢
-.BR gethostbyname ()
-¤Ï
-.I name
-¤ò¤½¤Î¤Þ¤Þ
-.I hostent
-¹½Â¤ÂΤÎ
-.I h_name
-¥Õ¥£¡¼¥ë¥É¤Ë¥³¥Ô¡¼¤·¡¢
-¤µ¤é¤Ë
-.I name
-¤ò
-.I struct in_addr
-·Á¼°¤Çɽ¤·¤¿¥Ç¡¼¥¿¤ò
-.I hostent
-¹½Â¤ÂΤÎ
-.I h_addr_list[0]
-¥Õ¥£¡¼¥ë¥É¤ËÆþ¤ì¤Æ¡¢¤½¤Î
-.I hostent
-¹½Â¤ÂΤòÊÖ¤¹¡£
-.I name
-¤¬¥É¥Ã¥È¤Ç½ªÎ»¤·¤Æ¤¤¤Æ¡¢¤«¤Ä´Ä¶­ÊÑ¿ô
-.B HOSTALIASES
-¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤Þ¤º
-.B HOSTALIASES
-¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥¤¥ê¥¢¥¹¥Õ¥¡¥¤¥ë¤«¤é
-.I name
-¤Î¥¨¥ó¥È¥ê¤¬¸¡º÷¤µ¤ì¤ë (¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï
-.BR hostname (7)
-¤ò»²¾È¤Î¤³¤È)¡£
-.I name
-¤¬¥É¥Ã¥È¤Ç½ªÎ»¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¸½ºß¤Î¥É¥á¥¤¥ó¤È¤½¤Î¿Æ¥É¥á¥¤¥ó¤¬¸¡º÷¤µ¤ì¤ë¡£
+\fBgethostbyname\fP()  関数は与えられたホスト名 \fIname\fP に対応する構造体 \fIhostent\fP を返す。 \fIname\fP
+にはホスト名、ドット区切りの IPv4 アドレス (\fBinet_addr\fP(3)  参照)、コロン区切りの IPv6 アドレス
+(おそらくドット区切りでも大丈夫)  のいずれかを指定する (IPv6 アドレスの記述方法については RFC\ 1884 を参考にしてほしい)。
+\fIname\fP が IPv4 か IPv6 のアドレスだった場合、 名前解決 (lookup) は行われない。その場合には、
+\fBgethostbyname\fP()  は \fIname\fP をそのまま \fIhostent\fP 構造体の \fIh_name\fP フィールドにコピーし、
+さらに \fIname\fP を \fIstruct in_addr\fP 形式で表したデータを \fIhostent\fP 構造体の \fIh_addr_list[0]\fP
+フィールドに入れて、その \fIhostent\fP 構造体を返す。 \fIname\fP がドットで終了していて、かつ環境変数 \fBHOSTALIASES\fP
+が設定されている場合、まず \fBHOSTALIASES\fP で指定されているエイリアスファイルから \fIname\fP のエントリが検索される
+(ファイルのフォーマットについては \fBhostname\fP(7)  を参照のこと)。 \fIname\fP
+がドットで終了していなければ、現在のドメインとその親ドメインが検索される。
 .PP
-.BR gethostbyaddr ()
-´Ø¿ô¤ÏÍ¿¤¨¤é¤ì¤¿¥Û¥¹¥È¥¢¥É¥ì¥¹
-.I addr
-(Ťµ \fIlen\fP¡¢ ¥¿¥¤¥× \fItype\fP) ¤ËÂбþ¤¹¤ë¹½Â¤ÂÎ
-.I hostent
-¤òÊÖ¤¹¡£
-ÍѤ¤¤ë¤³¤È¤Î¤Ç¤­¤ë¥¿¥¤¥×¤Ï
-.B AF_INET
-¤È
-.B AF_INET6
-¤Ç¤¢¤ë¡£
-¥Û¥¹¥È¥¢¥É¥ì¥¹°ú¤­¿ô¤Ï¥¢¥É¥ì¥¹¥¿¥¤¥×¤Ë°Í¸¤·¤¿
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢¥¢¥É¥ì¥¹¥¿¥¤¥×
-.B AF_INET
-¤ËÂФ·¤Æ¤Ï
-.RB ( inet_addr (3)
-¤Î¸Æ¤Ó½Ð¤·¤ÇÆÀ¤é¤ì¤ë)
-\fIstruct in_addr *\fP ¤Ç¤¢¤ë¡£
+\fBgethostbyaddr\fP()  関数は与えられたホストアドレス \fIaddr\fP (長さ \fIlen\fP、 タイプ \fItype\fP)
+に対応する構造体 \fIhostent\fP を返す。 用いることのできるタイプは \fBAF_INET\fP と \fBAF_INET6\fP である。
+ホストアドレス引き数はアドレスタイプに依存した 構造体へのポインタである。 例えば、アドレスタイプ \fBAF_INET\fP に対しては
+(\fBinet_addr\fP(3)  の呼び出しで得られる)  \fIstruct in_addr *\fP である。
 .PP
-.BR sethostent ()
-´Ø¿ô¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð¤Ø¤ÎÀܳ·ÁÂÖ¤ò»ØÄꤹ¤ë¡£
-.I stayopen
-¤¬¿¿ (1) ¤Ê¤é¤Ð¡¢¥Í¡¼¥à¥µ¡¼¥Ð¤Ø¤ÎÌ䤤¹ç¤ï¤»¤Ë¤Ï¡¢
-Àܳ¤µ¤ì¤¿ TCP ¥½¥±¥Ã¥È¤òÍѤ¤¡¢Ï¢Â³¤·¤¿Ì䤤¹ç¤ï¤»¤Î´Ö¤ËÀܳ¤ò°Ý»ý¤¹¤ë¡£
-µ¶¤Ê¤é¤Ð¥Í¡¼¥à¥µ¡¼¥Ð¤Ø¤ÎÌ䤤¹ç¤ï¤»¤Ë UDP ¥Ç¡¼¥¿¥°¥é¥à¤òÍѤ¤¤ë¡£
+\fBsethostent\fP()  関数は、ネームサーバへの接続形態を指定する。 \fIstayopen\fP が真 (1)
+ならば、ネームサーバへの問い合わせには、 接続された TCP ソケットを用い、連続した問い合わせの間に接続を維持する。
+偽ならばネームサーバへの問い合わせに UDP データグラムを用いる。
 .PP
-.BR endhostent ()
-´Ø¿ô¤Ï¥Í¡¼¥à¥µ¡¼¥Ð¤Ø¤ÎÌ䤤¹ç¤ï¤»¤ËÍѤ¤¤¿ TCP Àܳ¤ÎÍøÍѤò½ªÎ»¤¹¤ë¡£
+\fBendhostent\fP()  関数はネームサーバへの問い合わせに用いた TCP 接続の利用を終了する。
 .PP
-(ÇÑ»ßͽÄê¤Î)
-.BR herror ()
-´Ø¿ô¤Ï¸½ºß¤Î
-.I h_errno
-¤ËÂбþ¤¹¤ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼ \fIstderr\fP ¤Ë½ÐÎϤ¹¤ë¡£
+(廃止予定の)  \fBherror\fP()  関数は現在の \fIh_errno\fP に対応するエラーメッセージを標準エラー \fIstderr\fP に出力する。
 .PP
-(ÇÑ»ßͽÄê¤Î)
-.BR hstrerror ()
-´Ø¿ô¤Ï¥¨¥é¡¼ÈÖ¹æ (Ä̾ï¤Ï \fIh_errno\fP) ¤ò°ú¤­¿ô¤Ë¼è¤ê¡¢
-Âбþ¤¹¤ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸Ê¸»úÎó¤òÊÖ¤¹¡£
+(廃止予定の)  \fBhstrerror\fP()  関数はエラー番号 (通常は \fIh_errno\fP) を引き数に取り、
+対応するエラーメッセージ文字列を返す。
 .PP
-.BR gethostbyname ()
-¤È
-.BR gethostbyaddr ()
-¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¥É¥á¥¤¥ó̾¤ÎÌ䤤¹ç¤ï¤»¤Ç¤Ï¡¢¥Í¡¼¥à¥µ¡¼¥Ð
-.BR named (8)¡¢
-.I /etc/hosts
-¤Î¥Ç¡¼¥¿¹Ô¡¢¤ª¤è¤Ó
-Network Information Service (NIS ¤Þ¤¿¤Ï YP)
-¤¬ÁȤ߹ç¤ï¤»¤Æ»ÈÍѤµ¤ì¤ë¡£²¿¤¬»ÈÍѤµ¤ì¤ë¤«¤Ï¡¢
-.I /etc/host.conf
-¤Î
-.I order
-¹Ô¤ÎÆâÍƤˤè¤ê·è¤Þ¤ë¡£
-.\" (¾Ü¤·¤¯¤Ï
-.\" .BR resolv+ (8)
-.\" ¤ò»²¾È)¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤Þ¤º
-.BR named (8)
-¤ËÌ䤤¹ç¤ï¤»¤ò¹Ô¤¤¡¢¼¡¤¤¤Ç
-.I /etc/hosts
-¤ò»²¾È¤¹¤ë¡£
+.\" (See
+.\" .BR resolv+ (8)).
+\fBgethostbyname\fP()  と \fBgethostbyaddr\fP()  によって実行されるドメイン名の問い合わせでは、ネームサーバ
+\fBnamed\fP(8)、 \fI/etc/hosts\fP のデータ行、および Network Information Service (NIS または
+YP)  が組み合わせて使用される。何が使用されるかは、 \fI/etc/host.conf\fP の \fIorder\fP 行の内容により決まる。
+デフォルトでは、まず \fBnamed\fP(8)  に問い合わせを行い、次いで \fI/etc/hosts\fP を参照する。
 .PP
-.I hostent
-¹½Â¤ÂΤÏ
-.I <netdb.h>
-¤Ç°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
+\fIhostent\fP 構造体は \fI<netdb.h>\fP で以下のように定義されている:
 .sp
 .in +4n
 .nf
@@ -262,212 +162,106 @@ struct hostent {
     int    h_length;          /* length of address */
     char **h_addr_list;       /* list of addresses */
 }
-#define h_addr h_addr_list[0] /* ²áµî¤È¤Î¸ß´¹À­¤Î¤¿¤á */
+#define h_addr h_addr_list[0] /* 過去との互換性のため */
 .fi
 .in
 .PP
-.I hostent
-¹½Â¤ÂΤΥá¥ó¥Ð¤Ï°Ê²¼¤ÎÄ̤ꡣ
-.TP
-.I h_name
-¥Û¥¹¥È¤ÎÀµ¼°Ì¾ (official name)¡£
-.TP
-.I h_aliases
-¥Û¥¹¥È¤ÎÊÌ̾¤ÎÇÛÎó¡£ÇÛÎó¤Ï NULL ¥Ý¥¤¥ó¥¿¤Ç½ªÃ¼¤µ¤ì¤ë¡£
-.TP
-.I h_addrtype
-¥¢¥É¥ì¥¹¤Î¥¿¥¤¥×¡£¸½ºß¤Ï¤¹¤Ù¤Æ
-.B AF_INET
-¤Þ¤¿¤Ï
-.B AF_INET6
-¤Ç¤¢¤ë¡£
-.TP
-.I h_length
-¥Ð¥¤¥Èñ°Ì¤Çɽ¤·¤¿¥¢¥É¥ì¥¹¤ÎŤµ¡£
-.TP
-.I h_addr_list
-¥Û¥¹¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¡£
-ÇÛÎó¤Ï NULL ¥Ý¥¤¥ó¥¿¤Ç½ªÃ¼¤µ¤ì¤ë¡£
-¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À·Á¼°¤Ç¤¢¤ë¡£
-.TP
-.I h_addr
-.I h_addr_list
-¤ÎºÇ½é¤Î¥¢¥É¥ì¥¹¡£²áµî¤È¤Î¸ß´¹À­¤òÊݤĤ¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR gethostbyname ()
-¤ª¤è¤Ó
-.BR gethostbyaddr ()
-´Ø¿ô¤Ï
-.I hostent
-¹½Â¤ÂΤòÊÖ¤¹¡£¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¤é NULL ¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£¥¨¥é¡¼¤ÎºÝ¤Ë¤Ï
-.I h_errno
-ÊÑ¿ô¤¬¥¨¥é¡¼¤ÎÈÖ¹æ¤òÊÝ»ý¤¹¤ë¡£
-ÊÖ¤êÃͤ¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢ÀÅŪ¥Ç¡¼¥¿¤ò¥Ý¥¤¥ó¥¿¤Ç»Ø¤·¤Æ¤¤¤ë¤³¤È¤â¤¢¤ë¡£
-°Ê²¼¤Î¡ÖÃí°Õ¡×¤ò»²¾È¤¹¤ë¤³¤È¡£
-.SH ¥¨¥é¡¼
-.I h_errno
-ÊÑ¿ô¤Ï°Ê²¼¤ÎÃͤò¼è¤ê¤¦¤ë¡£
-.TP
-.B HOST_NOT_FOUND
-»ØÄꤷ¤¿¥Û¥¹¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¡£
-.TP
-.B NO_ADDRESS " ¤Þ¤¿¤Ï " NO_DATA
-»ØÄꤷ¤¿Ì¾Á°¤ÏÍ­¸ú¤À¤¬ IP ¥¢¥É¥ì¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-.TP
-.B NO_RECOVERY
-¥Í¡¼¥à¥µ¡¼¥Ð¤ÎÉüµìÉÔǽ¤Ê¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£
-.TP
-.B TRY_AGAIN
-authoritative ¤Ê¥Í¡¼¥à¥µ¡¼¥Ð¤Ç°ì»þŪ¤Ê¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿¡£
-»þ´Ö¤ò¤ª¤¤¤Æ¤â¤¦°ìÅٻ¤³¤È¡£
-.SH ¥Õ¥¡¥¤¥ë
-.TP
-.I /etc/host.conf
-̾Á°²ò·è¤ÎÀßÄê¥Õ¥¡¥¤¥ë
-.TP
-.I /etc/hosts
-¥Û¥¹¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë
-.TP
-.I /etc/nsswitch.conf
-¥Í¡¼¥à¥µ¡¼¥Ó¥¹ÀÚÂØÀßÄê
-.SH ½àµò
-POSIX.1-2001 ¤Ç¤Ï¡¢
-.BR gethostbyname (),
-.BR gethostbyaddr (),
-.BR sethostent (),
-.BR endhostent (),
-.BR gethostent (),
-.I h_errno
-¤¬µ¬Äꤵ¤ì¤Æ¤ª¤ê¡¢
-.BR gethostbyaddr ()
-¤È
-.BR gethostbyname ()
-¤ÏÇÑ»ßͽÄê¤Ç¤¢¤ë¤È¤µ¤ì¤Æ¤¤¤ë¡£
-POSIX.1-2008 ¤Ç¤Ï
-.BR gethostbyname (),
-.BR gethostbyaddr (),
-.I h_errno
-¤Î»ÅÍͤ¬ºï½ü¤µ¤ì¤Æ¤¤¤ë¡£
-Âå¤ï¤ê¤Ë¡¢
-.BR getaddrinfo (3)
-¤È
-.BR getnameinfo (3)
-¤Î»ÈÍѤ¬¿ä¾©¤µ¤ì¤Æ¤¤¤ë¡£
-.SH Ãí°Õ
-.BR gethostbyname ()
-¤ª¤è¤Ó
-.BR gethostbyaddr ()
-´Ø¿ô¤ÏÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£
-¤³¤Î¥Ý¥¤¥ó¥¿¤Ï¡¢¤½¤Î¸å¤Î¸Æ¤Ó½Ð¤·¤Ç¾å½ñ¤­¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-.I hostent
-¹½Â¤ÂΤϥݥ¤¥ó¥¿¤ò´Þ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¹½Â¤ÂΤΥ³¥Ô¡¼¤À¤±¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¢¤ë;
-¤è¤ê¿¼¤¤¥³¥Ô¡¼¤¬É¬ÍפǤ¢¤ë¡£
+\fIhostent\fP 構造体のメンバは以下の通り。
+.TP 
+\fIh_name\fP
+ホストの正式名 (official name)。
+.TP 
+\fIh_aliases\fP
+ホストの別名の配列。配列は NULL ポインタで終端される。
+.TP 
+\fIh_addrtype\fP
+アドレスのタイプ。現在はすべて \fBAF_INET\fP または \fBAF_INET6\fP である。
+.TP 
+\fIh_length\fP
+バイト単位で表したアドレスの長さ。
+.TP 
+\fIh_addr_list\fP
+ホストのネットワークアドレスへのポインタの配列。 配列は NULL ポインタで終端される。 ネットワークアドレスはネットワークバイトオーダ形式である。
+.TP 
+\fIh_addr\fP
+\fIh_addr_list\fP の最初のアドレス。過去との互換性を保つためのものである。
+.SH 返り値
+\fBgethostbyname\fP()  および \fBgethostbyaddr\fP()  関数は \fIhostent\fP 構造体を返す。エラーが起こったら
+NULL ポインタを返す。エラーの際には \fIh_errno\fP 変数がエラーの番号を保持する。 返り値が NULL
+でない場合、静的データをポインタで指していることもある。 以下の「注意」を参照すること。
+.SH エラー
+\fIh_errno\fP 変数は以下の値を取りうる。
+.TP 
+\fBHOST_NOT_FOUND\fP
+指定したホストが見つからない。
+.TP 
+\fBNO_ADDRESS  または  NO_DATA\fP
+指定した名前は有効だが IP アドレスを持っていない。
+.TP 
+\fBNO_RECOVERY\fP
+ネームサーバの復旧不能なエラーが起こった。
+.TP 
+\fBTRY_AGAIN\fP
+authoritative なネームサーバで一時的なエラーが起こった。 時間をおいてもう一度試すこと。
+.SH ファイル
+.TP 
+\fI/etc/host.conf\fP
+名前解決の設定ファイル
+.TP 
+\fI/etc/hosts\fP
+ホストのデータベースファイル
+.TP 
+\fI/etc/nsswitch.conf\fP
+ネームサービス切替設定
+.SH 準拠
+POSIX.1\-2001 では、 \fBgethostbyname\fP(), \fBgethostbyaddr\fP(), \fBsethostent\fP(),
+\fBendhostent\fP(), \fBgethostent\fP(), \fIh_errno\fP が規定されており、 \fBgethostbyaddr\fP()  と
+\fBgethostbyname\fP()  は廃止予定であるとされている。 POSIX.1\-2008 では \fBgethostbyname\fP(),
+\fBgethostbyaddr\fP(), \fIh_errno\fP の仕様が削除されている。 代わりに、 \fBgetaddrinfo\fP(3)  と
+\fBgetnameinfo\fP(3)  の使用が推奨されている。
+.SH 注意
+\fBgethostbyname\fP()  および \fBgethostbyaddr\fP()  関数は静的データへのポインタを返す。
+このポインタは、その後の呼び出しで上書きされるかもしれない。 \fIhostent\fP
+構造体はポインタを含んでいるので、構造体のコピーだけでは不十分である; より深いコピーが必要である。
 .LP
-¥ª¥ê¥¸¥Ê¥ë¤Î BSD ¤Î¼ÂÁõ¤Ç¤Ï¡¢
-.BR gethostbyname ()
-¤Î
-.I len
-°ú¤­¿ô¤Ï
-.I int
-¤Ç¤¢¤Ã¤¿¡£
-SUSv2 É¸½à¤Ï¥Ð¥°¤¬Â¿¤¯¡¢
-.BR gethostbyaddr ()
-¤Î
-.I len
-¥Ñ¥é¥á¡¼¥¿¤ò
-.I size_t
-·¿¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ë¡£
-(¤³¤ì¤Ï¸í¤ê¤Ç¡¢
-.I size_t
-·¿¤Ç¤Ï¤Ê¤¯
-.I int
-·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-POSIX.1-2001 ¤Ç¤Ï¤³¤ì¤ò
-.I socklen_t
-¤È¤·¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ï OK¡£)
-.BR accept (2)
-¤â»²¾È¡£
+オリジナルの BSD の実装では、 \fBgethostbyname\fP()  の \fIlen\fP 引き数は \fIint\fP であった。 SUSv2
+標準はバグが多く、 \fBgethostbyaddr\fP()  の \fIlen\fP パラメータを \fIsize_t\fP 型として宣言している。 (これは誤りで、
+\fIsize_t\fP 型ではなく \fIint\fP 型でなければならない。 POSIX.1\-2001 ではこれを \fIsocklen_t\fP
+としているが、これは OK。)  \fBaccept\fP(2)  も参照。
 .LP
-.BR gethostbyaddr ()
-¤Î BSD ¤Î¥×¥í¥È¥¿¥¤¥×¤Ï¡¢ºÇ½é¤Î°ú¤­¿ô¤È¤·¤Æ
-.I const char *
-¤ò»È¤¦¡£
-.SS "System V/POSIX ³ÈÄ¥"
-POSIX ¤Ç¤Ï¡¢
-.BR gethostent ()
-¤¬É¬¿Ü¤È¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î´Ø¿ô¤Ï¥Û¥¹¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¼¡¤Î¥¨¥ó¥È¥ê¤òÊÖ¤¹¡£
-DNS/BIND ¤ò»È¤¦¾ì¹ç¤Ï¤¢¤Þ¤ê°ÕÌ£¤ò»ý¤¿¤Ê¤¤¤¬¡¢
-¥Û¥¹¥È¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ 1 ¹Ô¤º¤ÄÆɤ߹þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¾ì¹ç¤Ï°ÕÌ£¤¬¤¢¤ë¡£
-¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤Î̾Á°¤Î¥ë¡¼¥Á¥ó¤Ï¥Õ¥¡¥¤¥ë
-.I /etc/hosts
-¤òÆɤ߹þ¤à¡£
-.\" Î㤨¤Ð¡¢Linux, FreeBSD, UnixWare, HP-UX
-DNS ¥µ¥Ý¡¼¥È¤Ê¤·¤Ç¥é¥¤¥Ö¥é¥ê¤¬¥Ó¥ë¥É¤µ¤ì¤¿¾ì¹ç¤Ë¤Î¤ßÍøÍѲÄǽ¤Ç¤¢¤ë¡£
-.\" Î㤨¤Ð¡¢FreeBSD, AIX
-glibc ÈǤϠipv6 ¥¨¥ó¥È¥ê¤ò̵»ë¤¹¤ë¡£
-¤³¤Î´Ø¿ô¤Ï¥ê¥¨¥ó¥È¥é¥ó¥È (reentrant) ¤Ç¤Ï¤Ê¤¯¡¢
-glibc ¤Ë¤Ï¥ê¥¨¥ó¥È¥é¥ó¥ÈÈǤÎ
-.BR gethostent_r ()
-¤¬Äɲ䵤줿¡£
-.SS "GNU ³ÈÄ¥"
-glibc2 ¤Ë¤Ï
-.BR gethostbyname2 ()
-¤â¤¢¤ê¡¢
-.BR gethostbyname ()
-¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¤¬¡¢
-¤³¤Á¤é¤Ï¥¢¥É¥ì¥¹¤¬Â°¤¹¤ë¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+The BSD prototype for \fBgethostbyaddr\fP()  uses \fIconst char\ *\fP for the
+first argument.
+.SS "System V/POSIX 拡張"
+.\" e.g., Linux, FreeBSD, UnixWare, HP-UX
+.\" e.g., FreeBSD, AIX
+POSIX では、 \fBgethostent\fP()  が必須とされている。 この関数はホストデータベースの次のエントリを返す。 DNS/BIND
+を使う場合はあまり意味を持たないが、 ホストデータベースが 1 行ずつ読み込まれるファイルである場合は意味がある。
+多くのシステムでは、この名前のルーチンはファイル \fI/etc/hosts\fP を読み込む。 DNS
+サポートなしでライブラリがビルドされた場合にのみ利用可能である。 glibc 版は ipv6 エントリを無視する。 この関数はリエントラント
+(reentrant) ではなく、 glibc にはリエントラント版の \fBgethostent_r\fP()  が追加された。
+.SS "GNU 拡張"
+glibc2 には \fBgethostbyname2\fP()  もあり、 \fBgethostbyname\fP()  と同じように動作するが、
+こちらはアドレスが属するアドレスファミリーを指定することができる。
 .LP
-glibc2 ¤Ë¤Ï¥ê¥¨¥ó¥È¥é¥ó¥È¤Ê
-.BR gethostent_r (),
-.BR gethostbyaddr_r (),
-.BR gethostbyname_r ()
-¤È
-.BR gethostbyname2_r ()
-¤â¤¢¤ë¡£
-¸Æ¤Ó½Ð¤·Â¦¤Ï¡¢À®¸ù»þ¤Ë·ë²Ì¤¬³ÊǼ¤µ¤ì¤ë
-.I hostent
-¹½Â¤ÂÎ
-.I ret
-¤È¡¢Â礭¤µ
-.I buflen
-¤Î°ì»þŪ¤Êºî¶È¥Ð¥Ã¥Õ¥¡
-.I buf
-¤òÄ󶡤¹¤ë¡£
-¥³¡¼¥ë½ªÎ»¸å¡¢À®¸ù¤·¤¿¾ì¹ç
-.I result
-¤Ï·ë²Ì¤ò»Ø¤·¤Æ¤¤¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢¤Þ¤¿¤Ï¥¨¥ó¥È¥ê¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-.I result
-¤Ï NULL ¤Ë¤Ê¤ë¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç 0 ¤òÊÖ¤·¡¢¼ºÇԤξì¹ç¤Ï 0 °Ê³°¤Î¥¨¥é¡¼ÈÖ¹æ¤òÊÖ¤¹¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Î¥ê¥¨¥ó¥È¥é¥ó¥È¤Ç¤Ê¤¤¥Ð¡¼¥¸¥ç¥ó¤¬ÊÖ¤¹¥¨¥é¡¼¤Ë²Ã¤¨¤Æ¡¢
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢
-.I buf
-¤¬¾®¤µ¤¹¤®¤¿¾ì¹ç¤Ë
-.B ERANGE
-¤òÊÖ¤¹¡£¤³¤Î¾ì¹ç¤Ï¤â¤Ã¤ÈÂ礭¤Ê¥Ð¥Ã¥Õ¥¡¤òÍÑ°Õ¤·¤Æ
-´Ø¿ô¸Æ¤Ó½Ð¤·¤òºÆÅÙ¹Ô¤¦¤Ù¤­¤Ç¤¢¤ë¡£
-Âç°èÊÑ¿ô
-.I h_errno
-¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¤¬¡¢¥¨¥é¡¼ÈÖ¹æ¤ò³ÊǼ¤¹¤ëÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤¬
-.I h_errnop
-¤ËÅϤµ¤ì¤ë¡£
-.SH ¥Ð¥°
-.BR gethostbyname ()
-¤Ï¡¢16¿Ê¿ôɽ¸½¤Î¥É¥Ã¥È¶èÀÚ¤ê¤Î IPv4 ¥¢¥É¥ì¥¹Ê¸»úÎó¤ÎÍ×ÁǤòǧ¼±¤·¤Ê¤¤¡£
+glibc2 にはリエントラントな \fBgethostent_r\fP(), \fBgethostbyaddr_r\fP(),
+\fBgethostbyname_r\fP()  と \fBgethostbyname2_r\fP()  もある。 呼び出し側は、成功時に結果が格納される
+\fIhostent\fP 構造体 \fIret\fP と、大きさ \fIbuflen\fP の一時的な作業バッファ \fIbuf\fP を提供する。
+コール終了後、成功した場合 \fIresult\fP は結果を指している。 エラーの場合、またはエントリが見つからなかった場合、 \fIresult\fP は
+NULL になる。 これらの関数は、成功した場合 0 を返し、失敗の場合は 0 以外のエラー番号を返す。
+これらの関数のリエントラントでないバージョンが返すエラーに加えて、 これらの関数は、 \fIbuf\fP が小さすぎた場合に \fBERANGE\fP
+を返す。この場合はもっと大きなバッファを用意して 関数呼び出しを再度行うべきである。 大域変数 \fIh_errno\fP
+は変更されないが、エラー番号を格納する変数のアドレスが \fIh_errnop\fP に渡される。
+.SH バグ
 .\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973
-.SH ´ØÏ¢¹àÌÜ
-.BR getaddrinfo (3),
+\fBgethostbyname\fP()  は、16進数表現のドット区切りの IPv4 アドレス文字列の要素を認識しない。
+.SH 関連項目
 .\" .BR getipnodebyaddr (3),
 .\" .BR getipnodebyname (3),
-.BR getnameinfo (3),
-.BR inet (3),
-.BR inet_ntop (3),
-.BR inet_pton (3),
-.BR resolver (3),
-.BR hosts (5),
-.BR nsswitch.conf (5),
-.BR hostname (7),
-.BR named (8)
 .\" .BR resolv+ (8)
+\fBgetaddrinfo\fP(3), \fBgetnameinfo\fP(3), \fBinet\fP(3), \fBinet_ntop\fP(3),
+\fBinet_pton\fP(3), \fBresolver\fP(3), \fBhosts\fP(5), \fBnsswitch.conf\fP(5),
+\fBhostname\fP(7), \fBnamed\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。