.\" 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.
.\"
.\" 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
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH GETHOSTBYNAME 3 2010\-10\-04 "" "Linux Programmer's Manual"
+.\"
+.\" 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 2014\-03\-11 "" "Linux Programmer's Manual"
.SH 名前
gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno,
herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r,
-gethostbyname_r, gethostent_r \- ネットワーク上のホストのエントリを取得する
+gethostbyname_r, gethostent_r \- ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ä¸\8aã\81®ã\83\9bã\82¹ã\83\88ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92å\8f\96å¾\97ã\81\99ã\82\8b
.SH 書式
.nf
\fB#include <netdb.h>\fP
.RS 4
.TP 4
glibc 2.8 以降:
-_BSD_SOURCE || _SVID_SOURCE || _GNU_SOURCE
+_BSD_SOURCE || _SVID_SOURCE
.TP
glibc 2.8 より前:
なし
.RE
+
+\fBh_errno\fP:
+.RS 4
+.TP 4
+glibc 2.12 以降:
+_BSD_SOURCE || _SVID_SOURCE ||
+ (_POSIX_C_SOURCE < 200809L && _XOPEN_SOURCE < 700)
+.TP
+glibc 2.12 より前:
+なし
+.RE
.ad b
.PD
.SH 説明
-\fBgethostbyname*\fP() と \fBgethostbyaddr*\fP() は過去のものである。 アプリケーションでは、代わりに
-\fBgetaddrinfo\fP(3) と \fBgetnameinfo\fP(3) を使用すること。
+関数 \fBgethostbyname*\fP(), \fBgethostbyaddr*\fP(), \fBherror\fP(), \fBhstrerror\fP
+は過去のものである。 アプリケーションは、代わりに \fBgetaddrinfo\fP(3), \fBgetnameinfo\fP(3),
+\fBgai_strerror\fP(3) を使用すること。
\fBgethostbyname\fP() 関数は与えられたホスト名 \fIname\fP に対応する構造体 \fIhostent\fP を返す。 \fIname\fP
にはホスト名、ドット区切りの IPv4 アドレス (\fBinet_addr\fP(3) 参照)、コロン区切りの IPv6 アドレス
\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 のエントリが検索される
+ã\81\8cè¨å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\80\81ã\81¾ã\81\9a \fBHOSTALIASES\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\82¨ã\82¤ã\83ªã\82¢ã\82¹ã\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89 \fIname\fP ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8cæ¤\9cç´¢ã\81\95ã\82\8cã\82\8b
(ファイルのフォーマットについては \fBhostname\fP(7) を参照のこと)。 \fIname\fP
がドットで終了していなければ、現在のドメインとその親ドメインが検索される。
.PP
\fBgethostbyaddr\fP() 関数は与えられたホストアドレス \fIaddr\fP (長さ \fIlen\fP、 タイプ \fItype\fP)
に対応する構造体 \fIhostent\fP を返す。 用いることのできるタイプは \fBAF_INET\fP と \fBAF_INET6\fP である。
-ホストアドレス引き数はアドレスタイプに依存した 構造体へのポインタである。 例えば、アドレスタイプ \fBAF_INET\fP に対しては
+ã\83\9bã\82¹ã\83\88ã\82¢ã\83\89ã\83¬ã\82¹å¼\95ã\81\8dæ\95°ã\81¯ã\82¢ã\83\89ã\83¬ã\82¹ã\82¿ã\82¤ã\83\97ã\81«ä¾\9då\98ã\81\97ã\81\9f æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82 ä¾\8bã\81\88ã\81°ã\80\81ã\82¢ã\83\89ã\83¬ã\82¹ã\82¿ã\82¤ã\83\97 \fBAF_INET\fP ã\81«å¯¾ã\81\97ã\81¦ã\81¯
(\fBinet_addr\fP(3) の呼び出しで得られる) \fIstruct in_addr *\fP である。
.PP
\fBsethostent\fP() 関数は、ネームサーバへの接続形態を指定する。 \fIstayopen\fP が真 (1)
ホストの正式名 (official name)。
.TP
\fIh_aliases\fP
-ホストの別名の配列。配列は NULL ポインタで終端される。
+ホストの別名の配列。配列はヌルポインターで終端される。
.TP
\fIh_addrtype\fP
アドレスのタイプ。現在はすべて \fBAF_INET\fP または \fBAF_INET6\fP である。
バイト単位で表したアドレスの長さ。
.TP
\fIh_addr_list\fP
-ã\83\9bã\82¹ã\83\88ã\81®ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81®é\85\8då\88\97ã\80\82 é\85\8då\88\97ã\81¯ NULL ã\83\9dã\82¤ã\83³ã\82¿で終端される。 ネットワークアドレスはネットワークバイトオーダ形式である。
+ã\83\9bã\82¹ã\83\88ã\81®ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81®é\85\8då\88\97ã\80\82 é\85\8då\88\97ã\81¯ã\83\8cã\83«ã\83\9dã\82¤ã\83³ã\82¿ã\83¼で終端される。 ネットワークアドレスはネットワークバイトオーダ形式である。
.TP
\fIh_addr\fP
\fIh_addr_list\fP の最初のアドレス。過去との互換性を保つためのものである。
.SH 返り値
-\fBgethostbyname\fP() および \fBgethostbyaddr\fP() 関数は \fIhostent\fP 構造体を返す。エラーが起こったら
-NULL ポインタを返す。エラーの際には \fIh_errno\fP 変数がエラーの番号を保持する。 返り値が NULL
-でない場合、静的データをポインタで指していることもある。 以下の「注意」を参照すること。
+\fBgethostbyname\fP() および \fBgethostbyaddr\fP() 関数は \fIhostent\fP
+構造体を返す。エラーが起こったらヌルポインターを返す。エラーの際には \fIh_errno\fP 変数がエラーの番号を保持する。 返り値が NULL
+ã\81§ã\81ªã\81\84å ´å\90\88ã\80\81é\9d\99ç\9a\84ã\83\87ã\83¼ã\82¿ã\82\92ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\81\93ã\81¨ã\82\82ã\81\82ã\82\8bã\80\82 以ä¸\8bã\81®ã\80\8c注æ\84\8fã\80\8dã\82\92å\8f\82ç\85§ã\81\99ã\82\8bã\81\93ã\81¨ã\80\82
.SH エラー
\fIh_errno\fP 変数は以下の値を取りうる。
.TP
\fBgethostbyaddr\fP(), \fIh_errno\fP の仕様が削除されている。 代わりに、 \fBgetaddrinfo\fP(3) と
\fBgetnameinfo\fP(3) の使用が推奨されている。
.SH 注意
-\fBgethostbyname\fP() および \fBgethostbyaddr\fP() 関数は静的データへのポインタを返す。
-このポインタは、その後の呼び出しで上書きされるかもしれない。 \fIhostent\fP
-構造体はポインタを含んでいるので、構造体のコピーだけでは不十分である; より深いコピーが必要である。
+\fBgethostbyname\fP() ã\81\8aã\82\88ã\81³ \fBgethostbyaddr\fP() é\96¢æ\95°ã\81¯é\9d\99ç\9a\84ã\83\87ã\83¼ã\82¿ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82
+ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ã\80\81ã\81\9dã\81®å¾\8cã\81®å\91¼ã\81³å\87ºã\81\97ã\81§ä¸\8aæ\9b¸ã\81\8dã\81\95ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82 \fIhostent\fP
+æ§\8bé\80 ä½\93ã\81¯ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92å\90«ã\82\93ã\81§ã\81\84ã\82\8bã\81®ã\81§ã\80\81æ§\8bé\80 ä½\93ã\81®ã\82³ã\83\94ã\83¼ã\81 ã\81\91ã\81§ã\81¯ä¸\8då\8d\81å\88\86ã\81§ã\81\82ã\82\8b; ã\82\88ã\82\8aæ·±ã\81\84ã\82³ã\83\94ã\83¼ã\81\8cå¿\85è¦\81ã\81§ã\81\82ã\82\8bã\80\82
.LP
オリジナルの BSD の実装では、 \fBgethostbyname\fP() の \fIlen\fP 引き数は \fIint\fP であった。 SUSv2
-æ¨\99æº\96ã\81¯ã\83\90ã\82°ã\81\8cå¤\9aã\81\8fã\80\81 \fBgethostbyaddr\fP() ã\81® \fIlen\fP ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\82\92 \fIsize_t\fP å\9e\8bã\81¨ã\81\97ã\81¦å®£è¨\80ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 (ã\81\93ã\82\8cã\81¯èª¤ã\82\8aã\81§ã\80\81
-\fIsize_t\fP 型ではなく \fIint\fP 型でなければならない。 POSIX.1\-2001 ではこれを \fIsocklen_t\fP
+æ¨\99æº\96ã\81¯ã\83\90ã\82°ã\81\8cå¤\9aã\81\8fã\80\81 \fBgethostbyaddr\fP() ã\81® \fIlen\fP ã\83\91ã\83©ã\83¡ã\83¼ã\82¿ã\83¼ã\82\92 \fIsize_t\fP å\9e\8bã\81¨ã\81\97ã\81¦å®£è¨\80ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82
+(これは誤りで、 \fIsize_t\fP 型ではなく \fIint\fP 型でなければならない。 POSIX.1\-2001 ではこれを \fIsocklen_t\fP
としているが、これは OK。) \fBaccept\fP(2) も参照。
.LP
-\fBgethostbyaddr\fP() の BSD のプロトタイプは、最初の引き数として \fIconst char *\fP を使う。
+\fBgethostbyaddr\fP() の BSD のプロトタイプは、最初の引き数として \fIconst char\ *\fP を使う。
.SS "System V/POSIX 拡張"
.\" e.g., Linux, FreeBSD, UnixWare, HP-UX
.\" e.g., FreeBSD, AIX
-POSIX では、 \fBgethostent\fP() が必須とされている。 この関数はホストデータベースの次のエントリを返す。 DNS/BIND
+POSIX ã\81§ã\81¯ã\80\81 \fBgethostent\fP() ã\81\8cå¿\85é \88ã\81¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82 ã\81\93ã\81®é\96¢æ\95°ã\81¯ã\83\9bã\82¹ã\83\88ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®æ¬¡ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92è¿\94ã\81\99ã\80\82 DNS/BIND
を使う場合はあまり意味を持たないが、 ホストデータベースが 1 行ずつ読み込まれるファイルである場合は意味がある。
多くのシステムでは、この名前のルーチンはファイル \fI/etc/hosts\fP を読み込む。 DNS
-サポートなしでライブラリがビルドされた場合にのみ利用可能である。 glibc 版は ipv6 エントリを無視する。 この関数はリエントラント
+ã\82µã\83\9dã\83¼ã\83\88ã\81ªã\81\97ã\81§ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\81\8cã\83\93ã\83«ã\83\89ã\81\95ã\82\8cã\81\9få ´å\90\88ã\81«ã\81®ã\81¿å\88©ç\94¨å\8f¯è\83½ã\81§ã\81\82ã\82\8bã\80\82 glibc ç\89\88ã\81¯ ipv6 ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92ç\84¡è¦\96ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®é\96¢æ\95°ã\81¯ã\83ªã\82¨ã\83³ã\83\88ã\83©ã\83³ã\83\88
(reentrant) ではなく、 glibc にはリエントラント版の \fBgethostent_r\fP() が追加された。
.SS "GNU 拡張"
glibc2 には \fBgethostbyname2\fP() もあり、 \fBgethostbyname\fP() と同じように動作するが、
.LP
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 は
+\fIhostent\fP 構造体 \fIret\fP と、大きさ \fIbuflen\fP の一時的な作業バッファー \fIbuf\fP を提供する。
+ã\82³ã\83¼ã\83«çµ\82äº\86å¾\8cã\80\81æ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88 \fIresult\fP ã\81¯çµ\90æ\9e\9cã\82\92æ\8c\87ã\81\97ã\81¦ã\81\84ã\82\8bã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81ã\81¾ã\81\9fã\81¯ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81\8cè¦\8bã\81¤ã\81\8bã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\80\81 \fIresult\fP ã\81¯
NULL になる。 これらの関数は、成功した場合 0 を返し、失敗の場合は 0 以外のエラー番号を返す。
これらの関数のリエントラントでないバージョンが返すエラーに加えて、 これらの関数は、 \fIbuf\fP が小さすぎた場合に \fBERANGE\fP
-を返す。この場合はもっと大きなバッファを用意して 関数呼び出しを再度行うべきである。 大域変数 \fIh_errno\fP
+ã\82\92è¿\94ã\81\99ã\80\82ã\81\93ã\81®å ´å\90\88ã\81¯ã\82\82ã\81£ã\81¨å¤§ã\81\8dã\81ªã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92ç\94¨æ\84\8fã\81\97ã\81¦ é\96¢æ\95°å\91¼ã\81³å\87ºã\81\97ã\82\92å\86\8d度è¡\8cã\81\86ã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82 大å\9f\9få¤\89æ\95° \fIh_errno\fP
は変更されないが、エラー番号を格納する変数のアドレスが \fIh_errnop\fP に渡される。
.SH バグ
.\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973
\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.41 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。