--- /dev/null
+.\" Copyright (c) 2009 Petr Baudis <pasky@suse.cz>
+.\" and clean-ups and additions (C) 2010 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%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.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" References: http://people.redhat.com/drepper/asynchnl.pdf,
+.\" http://www.imperialviolet.org/2005/06/01/asynchronous-dns-lookups-with-glibc.html
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH GETADDRINFO_A 3 2014\-05\-28 GNU "Linux Programmer's Manual"
+.SH 名前
+getaddrinfo_a, gai_suspend, gai_error, gai_cancel \- 非同期のネットワークアドレスとサービスの変換
+.SH 書式
+.nf
+\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */
+\fB#include <netdb.h>\fP
+.sp
+\fBint getaddrinfo_a(int \fP\fImode\fP\fB, struct gaicb *\fP\fIlist[]\fP\fB,\fP
+\fB int \fP\fInitems\fP\fB, struct sigevent *\fP\fIsevp\fP\fB);\fP
+.sp
+\fBint gai_suspend(const struct gaicb * const \fP\fIlist[]\fP\fB, int \fP\fInitems\fP\fB,\fP
+\fB const struct timespec *\fP\fItimeout\fP\fB);\fP
+.sp
+\fBint gai_error(struct gaicb *\fP\fIreq\fP\fB);\fP
+.sp
+\fBint gai_cancel(struct gaicb *\fP\fIreq\fP\fB);\fP
+.sp
+\fI\-lanl\fP でリンクする。
+.fi
+.SH 説明
+\fBgetaddrinfo_a\fP() 関数は \fBgetaddrinfo\fP(3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、
+検索処理の完了の通知ができる点が異なる。
+
+\fImode\fP 引き数は以下の値のいずれかを指定する。
+.TP
+\fBGAI_WAIT\fP
+検索を同期で実行する。 呼び出しは検索が完了するまで停止 (block) する。
+.TP
+\fBGAI_NOWAIT\fP
+検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の \fIsevp\fP 引き数の議論を参照。
+.PP
+配列 \fIlist\fP は処理すべき検索要求を指定する。 \fInitems\fP 引き数は \fIlist\fP の要素数を指定する。
+要求された検索命令は並列に開始される。 \fIlist\fP の NULL 要素は無視される。 各要求は以下のように定義された \fIgaicb\fP
+構造体で規定される。
+.sp
+.in +4n
+.nf
+struct gaicb {
+ const char *ar_name;
+ const char *ar_service;
+ const struct addrinfo *ar_request;
+ struct addrinfo *ar_result;
+};
+.fi
+.in
+
+この構造体の要素は \fBgetaddrinfo\fP(3) の引き数に対応している。 したがって、 \fIar_name\fP はインターネットホストを示す
+\fInode\fP 引き数に、 \fIar_service\fP はサービスを示す \fIservice\fP 引き数に対応する。 \fIar_request\fP 要素は、
+返されたソケットアドレス構造体を選択する基準を示す \fIhints\fP 引き数に対応する。 最後の \fIar_request\fP は \fIres\fP
+引き数に対応する。 この要素を初期化する必要はなく、この要素は要求が解決されると自動的にセットされる。 最後の 2 つの要素が参照している
+\fIaddrinfo\fP 構造体については \fBgetaddrinfo\fP(3) に説明がある。
+
+\fImode\fP に \fBGAI_NOWAIT\fP が指定された場合、 解決した要求に関する通知を \fIsevp\fP 引き数が指す \fIsigevent\fP
+構造体を使って受け取ることができる。 この構造体の定義と一般的な説明については \fBsigevent\fP(7) を参照。
+\fIsevp\->sigev_notify\fP フィールドには以下の値を指定できる。
+.TP
+\fBSIGEV_NONE\fP
+通知は行わない。
+.TP
+\fBSIGEV_SIGNAL\fP
+.\" si_pid and si_uid are also set, to the values of the calling process,
+.\" which doesn't provide useful information, so we'll skip mentioning it.
+検索が完了した際に、 プロセスに対してシグナル \fIsigev_signo\fP を生成する。 一般的な説明は \fBsigevent\fP(7) を参照。
+\fIsiginfo_t\fP 構造体の \fIsi_code\fP フィールドには \fBSI_ASYNCNL\fP がセットされる。
+.TP
+\fBSIGEV_THREAD\fP
+検索が完了した際に、 \fIsigev_notify_function\fP を新しいスレッドの開始関数であるかのように起動する。 詳細は
+\fBsigevent\fP(7) を参照。
+.PP
+\fBSIGEV_SIGNAL\fP と \fBSIGEV_THREAD\fP では、 \fIsevp\->sigev_value.sival_ptr\fP が
+\fIlist\fP を指すようにしておくと役立つことがある。
+
+\fBgai_suspend\fP() 関数は呼び出し元のスレッドの実行を中断し、 配列 \fIlist\fP 内の一つ以上の要求が完了するのを待つ。
+\fInitems\fP 引き数は配列 \fIlist\fP の大きさを指定する。 呼び出しは以下のいずれかの状況になるまで停止する。
+.IP * 3
+\fIlist\fP 内の一つ以上の操作が完了した。
+.IP *
+呼び出しが補足されたシグナルに割り込まれた。
+.IP *
+\fItimeout\fP で指定された期間が経過した。 この引き数は、秒とナノ秒でタイムアウトを指定する (\fItimespec\fP 構造体の詳細は
+\fBnanosleep\fP(2) を参照)。 \fItimeout\fP が NULL の場合、 (上記のイベントのいずれかが発生するまで)
+呼び出しは無限に停止する。
+.PP
+どの要求が完了したかは明示的な通知は行われない。 どの要求が完了したかを知るためには、 要求のリストに対して \fBgai_error\fP()
+を繰り返し呼び出す必要がある。
+
+\fBgai_error\fP() 関数は要求 \fIreq\fP のステータスを返す。 要求がまだ完了していない場合は \fBEAI_INPROGRESS\fP が、
+要求が正常に処理された場合は 0 が、 要求を解決できなかった場合はエラーコードが返される。
+
+\fBgai_cancel\fP() 関数は要求 \fIreq\fP をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに
+\fBEAI_CANCELLED\fP が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合
+\fBgai_cancel\fP() が呼ばれなかったかのように処理が行われる。 \fIreq\fP が NULL の場合、
+そのプロセスが行ったすべての処理中の要求をキャンセルしようとする。
+.SH 返り値
+\fBgetaddrinfo_a\fP() 関数はすべての要求が正常にキューに追加されると 0 を返す。 または、以下のいずれかの 0
+でないエラーコードを返す。
+.TP
+\fBEAI_AGAIN\fP
+検索要求をキューに入れるために必要なリソースがなかった。 アプリケーションは書く要求のエラーステータスを確認し、
+どの要求が失敗したかを判定することができる。
+.TP
+\fBEAI_MEMORY\fP
+メモリが足りない。
+.TP
+\fBEAI_SYSTEM\fP
+\fImode\fP が無効である。
+.PP
+\fBgai_suspend\fP() 関数はリストの要求の少なくともひとつが完了すると 0 を返す。 それ以外の場合、 以下の 0
+でないエラーコードのいずれかを返す。
+.TP
+\fBEAI_AGAIN\fP
+いずれかの要求が完了する前に指定されたタイムアウト時間が満了した。
+.TP
+\fBEAI_ALLDONE\fP
+指定された関数には実際には要求がなかった。
+.TP
+\fBEAI_INTR\fP
+シグナルが関数に割り込んだ。 この割り込みは検索要求が完了したことを示すシグナル通知により起こる場合もある。
+.PP
+\fBgai_error\fP() 関数は、 完了していない検索要求に対して \fBEAI_INPROGRESS\fP を返し、 成功で完了した検索に対して 0
+を返す。 \fBgetaddrinfo\fP(3) が返すエラーコードのいずれかを返す場合もある。
+要求の完了前に明示的に要求がキャンセルされた場合はエラーコード \fBEAI_CANCELLED\fP を返す。
+
+\fBgai_cancel\fP() 関数はこれらの値のいずれかを返すことがある。
+.TP
+\fBEAI_CANCELLED\fP
+要求は正常にキャンセルされた。
+.TP
+\fBEAI_NOTCANCELLED\fP
+要求はキャンセルされていない。
+.TP
+\fBEAI_ALLDONE\fP
+要求はすでに完了している。
+.PP
+\fBgai_strerror\fP(3) 関数を使うと、 これらのエラーコードを、 エラーレポートに適した人間が読みやすい文字列に翻訳してくれる。
+.SH 準拠
+これらの関数は GNU 拡張である。 バージョン 2.2.3 で初めて glibc に登場した。
+.SH 注意
+\fBgetaddrinfo_a\fP() インターフェースは \fBlio_listio\fP(3) インターフェースの後にモデル化された。
+.SH 例
+ここでは二つの例を示す。 一つは複数の要求を同期処理で並行して解決する例で、 もう一つは非同期機能を使った複雑な例である。
+.SS 同期型の例
+以下のプログラムは単に複数のホスト名の解決を並行で行う。 \fBgetaddrinfo\fP(3)
+を使って順番にホスト名の解決を行うのに比べて速度が向上する。 このプログラムは以下のように使う。
+.in +4n
+.nf
+
+$ \fB./a.out ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz\fP
+ftp.us.kernel.org: 128.30.2.36
+enoent.linuxfoundation.org: Name or service not known
+gnu.cz: 87.236.197.13
+.fi
+.in
+.PP
+プログラムのソースコードは以下のとおりである。
+.nf
+
+#define _GNU_SOURCE
+#include <netdb.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main(int argc, char *argv[])
+{
+ int i, ret;
+ struct gaicb *reqs[argc \- 1];
+ char host[NI_MAXHOST];
+ struct addrinfo *res;
+
+ if (argc < 2) {
+ fprintf(stderr, "Usage: %s HOST...\en", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ for (i = 0; i < argc \- 1; i++) {
+ reqs[i] = malloc(sizeof(*reqs[0]));
+ if (reqs[i] == NULL) {
+ perror("malloc");
+ exit(EXIT_FAILURE);
+ }
+ memset(reqs[i], 0, sizeof(*reqs[0]));
+ reqs[i]\->ar_name = argv[i + 1];
+ }
+
+ ret = getaddrinfo_a(GAI_WAIT, reqs, argc \- 1, NULL);
+ if (ret != 0) {
+ fprintf(stderr, "getaddrinfo_a() failed: %s\en",
+ gai_strerror(ret));
+ exit(EXIT_FAILURE);
+ }
+
+ for (i = 0; i < argc \- 1; i++) {
+ printf("%s: ", reqs[i]\->ar_name);
+ ret = gai_error(reqs[i]);
+ if (ret == 0) {
+ res = reqs[i]\->ar_result;
+
+ ret = getnameinfo(res\->ai_addr, res\->ai_addrlen,
+ host, sizeof(host),
+ NULL, 0, NI_NUMERICHOST);
+ if (ret != 0) {
+ fprintf(stderr, "getnameinfo() failed: %s\en",
+ gai_strerror(ret));
+ exit(EXIT_FAILURE);
+ }
+ puts(host);
+
+ } else {
+ puts(gai_strerror(ret));
+ }
+ }
+ exit(EXIT_SUCCESS);
+}
+.fi
+.SS 非同期型の例
+この例は \fBgetaddrinfo_a\fP() の簡単な対話式のフロントエンドである。 通知機能は使っていない。
+.PP
+セッションの実行例は以下のようになる。
+.in +4n
+.nf
+
+$ \fB./a.out\fP
+> a ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz
+> c 2
+[2] gnu.cz: Request not canceled
+> w 0 1
+[00] ftp.us.kernel.org: Finished
+> l
+[00] ftp.us.kernel.org: 216.165.129.139
+[01] enoent.linuxfoundation.org: Processing request in progress
+[02] gnu.cz: 87.236.197.13
+> l
+[00] ftp.us.kernel.org: 216.165.129.139
+[01] enoent.linuxfoundation.org: Name or service not known
+[02] gnu.cz: 87.236.197.13
+.fi
+.in
+.PP
+プログラムのソースは以下のとおりである。
+
+.nf
+#define _GNU_SOURCE
+#include <netdb.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+static struct gaicb **reqs = NULL;
+static int nreqs = 0;
+
+static char *
+getcmd(void)
+{
+ static char buf[256];
+
+ fputs("> ", stdout); fflush(stdout);
+ if (fgets(buf, sizeof(buf), stdin) == NULL)
+ return NULL;
+
+ if (buf[strlen(buf) \- 1] == \(aq\en\(aq)
+ buf[strlen(buf) \- 1] = 0;
+
+ return buf;
+}
+
+/* Add requests for specified hostnames */
+static void
+add_requests(void)
+{
+ int nreqs_base = nreqs;
+ char *host;
+ int ret;
+
+ while ((host = strtok(NULL, " "))) {
+ nreqs++;
+ reqs = realloc(reqs, nreqs * sizeof(reqs[0]));
+
+ reqs[nreqs \- 1] = calloc(1, sizeof(*reqs[0]));
+ reqs[nreqs \- 1]\->ar_name = strdup(host);
+ }
+
+ /* Queue nreqs_base..nreqs requests. */
+
+ ret = getaddrinfo_a(GAI_NOWAIT, &reqs[nreqs_base],
+ nreqs \- nreqs_base, NULL);
+ if (ret) {
+ fprintf(stderr, "getaddrinfo_a() failed: %s\en",
+ gai_strerror(ret));
+ exit(EXIT_FAILURE);
+ }
+}
+
+/* Wait until at least one of specified requests completes */
+static void
+wait_requests(void)
+{
+ char *id;
+ int i, ret, n;
+ struct gaicb const **wait_reqs = calloc(nreqs, sizeof(*wait_reqs));
+ /* NULL elements are ignored by gai_suspend(). */
+
+ while ((id = strtok(NULL, " ")) != NULL) {
+ n = atoi(id);
+
+ if (n >= nreqs) {
+ printf("Bad request number: %s\en", id);
+ return;
+ }
+
+ wait_reqs[n] = reqs[n];
+ }
+
+ ret = gai_suspend(wait_reqs, nreqs, NULL);
+ if (ret) {
+ printf("gai_suspend(): %s\en", gai_strerror(ret));
+ return;
+ }
+
+ for (i = 0; i < nreqs; i++) {
+ if (wait_reqs[i] == NULL)
+ continue;
+
+ ret = gai_error(reqs[i]);
+ if (ret == EAI_INPROGRESS)
+ continue;
+
+ printf("[%02d] %s: %s\en", i, reqs[i]\->ar_name,
+ ret == 0 ? "Finished" : gai_strerror(ret));
+ }
+}
+
+/* Cancel specified requests */
+static void
+cancel_requests(void)
+{
+ char *id;
+ int ret, n;
+
+ while ((id = strtok(NULL, " ")) != NULL) {
+ n = atoi(id);
+
+ if (n >= nreqs) {
+ printf("Bad request number: %s\en", id);
+ return;
+ }
+
+ ret = gai_cancel(reqs[n]);
+ printf("[%s] %s: %s\en", id, reqs[atoi(id)]\->ar_name,
+ gai_strerror(ret));
+ }
+}
+
+/* List all requests */
+static void
+list_requests(void)
+{
+ int i, ret;
+ char host[NI_MAXHOST];
+ struct addrinfo *res;
+
+ for (i = 0; i < nreqs; i++) {
+ printf("[%02d] %s: ", i, reqs[i]\->ar_name);
+ ret = gai_error(reqs[i]);
+
+ if (!ret) {
+ res = reqs[i]\->ar_result;
+
+ ret = getnameinfo(res\->ai_addr, res\->ai_addrlen,
+ host, sizeof(host),
+ NULL, 0, NI_NUMERICHOST);
+ if (ret) {
+ fprintf(stderr, "getnameinfo() failed: %s\en",
+ gai_strerror(ret));
+ exit(EXIT_FAILURE);
+ }
+ puts(host);
+ } else {
+ puts(gai_strerror(ret));
+ }
+ }
+}
+
+int
+main(int argc, char *argv[])
+{
+ char *cmdline;
+ char *cmd;
+
+ while ((cmdline = getcmd()) != NULL) {
+ cmd = strtok(cmdline, " ");
+
+ if (cmd == NULL) {
+ list_requests();
+ } else {
+ switch (cmd[0]) {
+ case \(aqa\(aq:
+ add_requests();
+ break;
+ case \(aqw\(aq:
+ wait_requests();
+ break;
+ case \(aqc\(aq:
+ cancel_requests();
+ break;
+ case \(aql\(aq:
+ list_requests();
+ break;
+ default:
+ fprintf(stderr, "Bad command: %c\en", cmd[0]);
+ break;
+ }
+ }
+ }
+ exit(EXIT_SUCCESS);
+}
+.fi
+.SH 関連項目
+\fBgetaddrinfo\fP(3), \fBinet\fP(3), \fBlio_listio\fP(3), \fBhostname\fP(7), \fBip\fP(7),
+\fBsigevent\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
--- /dev/null
+.\" t
+.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%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.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH INET_NET_PTON 3 2014\-05\-28 Linux "Linux Programmer's Manual"
+.SH 名前
+inet_net_pton, inet_net_ntop \- インターネットのネットワーク番号の変換
+.SH 書式
+.nf
+\fB#include <arpa/inet.h>\fP
+
+\fBint inet_net_pton(int \fP\fIaf\fP\fB, const char *\fP\fIpres\fP\fB,\fP
+\fB void *\fP\fInetp\fP\fB, size_t \fP\fInsize\fP\fB);\fP
+
+\fBchar *inet_net_ntop(int \fP\fIaf\fP\fB, const void *\fP\fInetp\fP\fB, int \fP\fIbits\fP\fB,\fP
+\fB char *\fP\fIpres\fP\fB, size_t \fP\fIpsize\fP\fB);\fP
+.fi
+.sp
+\fI\-lresolv\fP でリンクする。
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
+.in
+.sp
+\fBinet_net_pton\fP(), \fBinet_net_ntop\fP():
+.ad l
+.RS 4
+.PD 0
+.TP 4
+glibc 2.20 以降:
+_DEFAULT_SOURCE
+.TP 4
+glibc 2.20 より前:
+_BSD_SOURCE || _SVID_SOURCE
+.PD
+.RE
+.ad b
+.SH 説明
+これらの関数は (印字可能な) 表記形式とネットワーク形式 (バイナリー形式) 間の変換を行う。
+
+どちらの関数でも \fIaf\fP は変換を行うアドレスファミリーを指定する。 サポートされている値は \fBAF_INET\fP だけである。
+.SS inet_net_pton()
+\fBinet_net_pton\fP() 関数は、 表記形式でインターネットネットワーク番号を格納した NULL 終端された文字列である \fIpres\fP
+をネットワーク形式に変換する。 ネットワークバイトオーダーの変換結果は \fInetp\fP が指すバッファーに格納される (\fInetp\fP 引き数は通常
+\fIin_addr\fP 構造体を指している)。 \fInsize\fP 引き数は \fInetp\fP で利用可能なバイト数を示す。
+
+成功すると \fBinet_net_pton\fP() は \fInetp\fP に格納した結果のネットワーク番号フィールドのビット数を返す。
+入力の表記形式と返り値に関する議論は「注意」の節を参照。
+
+\fI注意\fP: \fInetp\fP が指すバッファーは \fBinet_net_pton\fP() の呼び出し前に 0 で埋めるべきである。
+呼び出しではネットワーク番号で必要なバイトだけが書き込まれ、 そのバイト数は完全なネットワークアドレスのバイト数よりも少ないこともある。
+.SS inet_net_ntop()
+\fBinet_net_ntop\fP() 関数は \fInetp\fP が指すバッファーのネットワーク番号を表記形式に変換する。 \fI*netp\fP
+はネットワークバイトオーダーでの値として解釈される。 \fIbits\fP 引き数は \fI*netp\fP のネットワーク番号のビット数を指定する。
+
+NULL 終端された表記形式の文字列は \fIpres\fP が指すバッファーに格納される。 \fIpsize\fP 引き数は \fIpres\fP
+で利用可能なバイト数を指定する。 表記形式は CIDR 形式、 つまり、 ネットワークアドレスを表すドット区切りの 10 進数に、
+スラッシュとネットワーク番号のビットサイズが続く形式である。
+.SH 返り値
+成功すると \fBinet_net_pton\fP() はネットワーク番号のビット数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP
+にエラーを示す値を設定する。
+
+成功すると \fBinet_net_ntop\fP() は \fIpres\fP を返す。 エラーの場合、 NULL を返し、 \fIerrno\fP
+にエラーを示す値がセットされる。
+.SH エラー
+.TP
+\fBEAFNOSUPPORT\fP
+\fIaf\fP に \fBAF_INET\fP 以外の値が指定された。
+.TP
+\fBEMSGSIZE\fP
+出力バッファーのサイズが十分でなかった。
+.TP
+\fBENOENT\fP
+(\fBinet_net_pton\fP() の場合) \fIpres\fP が正しい表記形式ではなかった。
+.SH 準拠
+関数 \fBinet_net_pton\fP() と \fBinet_net_ntop\fP() は非標準だが、多くのシステムで利用可能である。
+.SH 注意
+.SS "inet_net_pton() の入力の表記形式"
+ネットワーク番号は、 16 進数値、またはドット区切りの 10 進数表記で指定できる。
+
+.\" If the hexadecimal string is short, the remaining nibbles are zeroed.
+先頭に "0x" か "0X" がある場合 16 進数値となる。 16 進数はネットワークバイトオーダーの左から右へ半オクテット (4 ビット)
+ずつ順番に埋められる。
+
+ドット区切りの 10 進数表記では、 最大 4 つのオクテットをドット区切りの 10 進数で指定する。 したがって、 以下の形式を指定できる。
+
+ a.b.c.d
+ a.b.c
+ a.b
+ a
+
+.\" Reading other man pages, some other implementations treat
+.\" 'c' in a.b.c as a 16-bit number that populates right-most two bytes
+.\" 'b' in a.b as a 24-bit number that populates right-most three bytes
+各部分は 0 から 255 の範囲の数字で、ネットワーク番号の各バイトに左から右にネットワークバイトオーダー (ビッグエンディアン)
+で順番に埋められる。 省略された部分があれば、 対応するネットワーク番号のバイトは 0 となる。
+
+16 進数とドット区切りの 10 進数形式のどちらの場合も、 ネットワーク番号の後ろにスラッシュと 0 から 32
+の範囲の数字をオプションで付けることができる。 この数字はネットワーク番号のビット単位のサイズを示すものである。
+.SS "inet_net_pton() の返り値"
+\fBinet_net_pton\fP() の返り値はネットワーク番号フィールドのビット数である。
+入力の表記形式の文字列がスラッシュとサイズの明示的な値で終わっている場合、 指定されたサイズが \fBinet_net_pton\fP() の返り値となる。
+そうでない場合は、 返り値 \fIbits\fP が以下のようにして推測される。
+.IP * 3
+ネットワーク番号の最上位バイトが 240 以上の場合、 \fIbits\fP は 32 となる。
+.IP * 3
+それ以外で、 ネットワーク番号の最上位バイトが 224 以上の場合、 \fIbits\fP は 4 となる。
+.IP * 3
+それ以外で、 ネットワーク番号の最上位バイトが 192 以上の場合、 \fIbits\fP は 24 となる。
+.IP * 3
+それ以外で、 ネットワーク番号の最上位バイトが 128 以上の場合、 \fIbits\fP は 16 となる。
+.IP *
+それ以外の場合、 \fIbits\fP は 8 となる。
+.PP
+上記の手順から得られる \fIbits\fP の値が 8 以上だが、 ネットワーク番号で指定されたオクテット数が \fIbits/8\fP より大きい場合、
+\fIbits\fP には実際に指定されたオクテット数を 8 倍した値が設定される。
+.SH 例
+以下のプログラムは \fBinet_net_pton\fP() と \fBinet_net_ntop\fP() の使用例を示すものである。
+\fBinet_net_pton\fP() を使って、 コマンドラインの最初の引き数で渡された表記形式のネットワークアドレスをバイナリー形式に変換し、
+\fIinet_net_pton\fP() の返り値を出力する。 それから \fBinet_net_ntop\fP()
+を使ってバイナリー形式を表記形式に再度戻して、結果の文字列を出力する。
+
+\fBinet_net_pton\fP() が \fInetp\fP 引き数のすべてのバイトに書き込むわけではないことを示すため、 プログラムにはオプションで 2
+番目のコマンドライン引き数を指定することができ、 その引き数の数字を使って \fBinet_net_pton\fP() を呼び出す前にバッファーを初期化する。
+出力の最終行として、 ユーザーがどのバイトが \fBinet_net_pton\fP() によって変更されなかったかを確認できるように、 プログラムは
+\fBinet_net_pton\fP() が返したバッファーの全バイトを表示する。
+
+この実行例では、 \fBinet_net_pton\fP() が推測したネットワーク番号のビット数を表示する。
+
+.in +4n
+.nf
+$ \fB./a.out 193.168\fP
+inet_net_pton() returned: 24
+inet_net_ntop() yielded: 193.168.0/24
+Raw address: c1a80000
+.fi
+.in
+
+\fBinet_net_pton\fP() が結果のバッファーの未使用バイトを 0 埋めしないことを確認する。
+
+.in +4n
+.nf
+$ \fB./a.out 193.168 0xffffffff\fP
+inet_net_pton() returned: 24
+inet_net_ntop() yielded: 193.168.0/24
+Raw address: c1a800ff
+.fi
+.in
+
+表記形式の文字列で渡されたバイト数が推測した値より大きい場合、 \fBinet_net_pton\fP()
+が推測するネットワーク番号のサイズを広げることを確認する。
+
+.in +4n
+.nf
+$ \fB./a.out 193.168.1.128\fP
+inet_net_pton() returned: 32
+inet_net_ntop() yielded: 193.168.1.128/32
+Raw address: c1a80180
+.fi
+.in
+
+ネットワーク番号のサイズが明示的に指定すると、推測されるネットワーク番号のサイズが上書きされる (ただし、 明示的に指定された残りのバイトは
+\fBinet_net_pton\fP() で使用され、結果のバッファーに書き込まれる)。
+
+.in +4n
+.nf
+$ \fB./a.out 193.168.1.128/24\fP
+inet_net_pton() returned: 24
+inet_net_ntop() yielded: 193.168.1/24
+Raw address: c1a80180
+.fi
+.in
+.SS プログラムのソース
+.nf
+/* "\-lresolv" でリンクする */
+
+#include <arpa/inet.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \e
+ } while (0)
+
+int
+main(int argc, char *argv[])
+{
+ char buf[100];
+ struct in_addr addr;
+ int bits;
+
+ if (argc < 2) {
+ fprintf(stderr,
+ "Usage: %s presentation\-form [addr\-init\-value]\en",
+ argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ /* argv[2] (数値) が指定されると、その数字を使って inet_net_pton()
+ に渡す出力バッファーを初期化する。これにより inet_net_pton() が
+ ネットワーク番号に必要なバイトだけを書き込むことを確認できるよう
+ にする。 argv[2] が指定されなかった場合、バッファーは 0 で初期化
+ する (これが推奨される方法である)。 */
+
+ addr.s_addr = (argc > 2) ? strtod(argv[2], NULL) : 0;
+
+ /* argv[1] の表記形式のネットワーク番号をバイナリー形式に変換する */
+
+ bits = inet_net_pton(AF_INET, argv[1], &addr, sizeof(addr));
+ if (bits == \-1)
+ errExit("inet_net_ntop");
+
+ printf("inet_net_pton() returned: %d\en", bits);
+
+ /* inet_net_pton() が返した \(aqbits\(aq を使って、
+ バイナリー形式を表記形式に変換する */
+
+ if (inet_net_ntop(AF_INET, &addr, bits, buf, sizeof(buf)) == NULL)
+ errExit("inet_net_ntop");
+
+ printf("inet_net_ntop() yielded: %s\en", buf);
+
+ /* \(aqaddr\(aq を名前の形で (ネットワークバイトオーダーで) 表示する。
+ これにより inet_net_ntop() が表示しないバイトを確認できる。
+ これらのバイトの一部は inet_net_ntop() では変更されない場合があり、
+ その場合 argv[2] で指定された初期値のままになる。 */
+
+ printf("Raw address: %x\en", htonl(addr.s_addr));
+
+ exit(EXIT_SUCCESS);
+}
+.fi
+.SH 関連項目
+\fBinet\fP(3), \fBnetworks\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-11 03:52+0900\n"
-"PO-Revision-Date: 2015-01-11 05:26+0900\n"
+"PO-Revision-Date: 2015-01-12 01:59+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"The minimum number of entries to keep in the ARP cache. The garbage "
"collector will not run if there are fewer than this number of entries in the "
"cache. Defaults to 128."
-msgstr ""
-"ARP キャッシュに保存するエントリ数の最小値。 この数より少ないエントリしか"
-"キャッシュになければ、 ガベージ・コレクタは実行されない。 デフォルトは 128。"
+msgstr "ARP キャッシュに保存するエントリ数の最小値。 この数より少ないエントリしかキャッシュになければ、 ガベージコレクタは実行されない。 デフォルトは 128。"
#. type: TP
#: build/C/man7/arp.7:208
"The soft maximum number of entries to keep in the ARP cache. The garbage "
"collector will allow the number of entries to exceed this for 5 seconds "
"before collection will be performed. Defaults to 512."
-msgstr ""
-"ARP キャッシュに保存されるエントリ数のソフトな最大値。 キャッシュのエントリが"
-"この数を 5 秒間越えつづけると、 ガベージ・コレクタが実行される。 デフォルト"
-"は 512。"
+msgstr "ARP キャッシュに保存されるエントリ数のソフトな最大値。 キャッシュのエントリがこの数を 5 秒間越えつづけると、 ガベージコレクタが実行される。 デフォルトは 512。"
#. type: TP
#: build/C/man7/arp.7:215
"The hard maximum number of entries to keep in the ARP cache. The garbage "
"collector will always run if there are more than this number of entries in "
"the cache. Defaults to 1024."
-msgstr ""
-"ARP キャッシュに保存されるエントリ数のハードな最大値。 キャッシュのエントリが"
-"この数を越えると、 ガベージ・コレクタはただちに実行される。 デフォルトは "
-"1024。"
+msgstr "ARP キャッシュに保存されるエントリ数のハードな最大値。 キャッシュのエントリがこの数を越えると、 ガベージコレクタはただちに実行される。 デフォルトは 1024。"
#. type: TP
#: build/C/man7/arp.7:222
"flooding in some cases. Defaults to 0.8 seconds."
msgstr ""
"既知の代理 ARP アドレスに対して ARP リクエストを受信した場合に、 応答前に最"
-"大 I<proxy_delay> jiffy まで遅延する。これは場合によって生じる ネットワーク・"
+"大 I<proxy_delay> jiffy まで遅延する。これは場合によって生じる ネットワーク"
"フラッディング (network flooding) を避けるために用いる。 デフォルトは 0.8 "
"秒。"
msgid ""
"An AppleTalk socket address is defined as a combination of a network number, "
"a node number, and a port number."
-msgstr ""
-"AppleTalk ソケットアドレスはネットワーク番号・ノード番号・ポート番号の 組み合"
-"わせで定義される。"
+msgstr "AppleTalk ソケットアドレスはネットワーク番号、 ノード番号、 ポート番号の組み合わせで定義される。"
#. type: Plain text
#: build/C/man7/ddp.7:75
msgid ""
"The ioctls used to configure routing tables, devices, AARP tables and other "
"devices are not yet described."
-msgstr ""
-"ルーティングテーブル・デバイス・ AARP テーブル・その他のデバイスを 設定するた"
-"めに用いられる ioctl がまだ記述されていない。"
+msgstr "ルーティングテーブル、 デバイス、 AARP テーブル、 その他のデバイスを設定するために用いられる ioctl がまだ記述されていない。"
#. type: Plain text
#: build/C/man7/ddp.7:254
"I<hints.ai_flags> に B<AI_PASSIVE> フラグが指定され、かつ I<node> が NULL の"
"場合、 返されるソケットアドレスは コネクションを B<accept>(2) するためのソ"
"ケットを B<bind>(2) するのに適したものとなる。 返されるソケットアドレスには"
-"ã\80\8cã\83¯ã\82¤ã\83«ã\83\89ã\82«ã\83¼ã\83\89ã\83»ã\82¢ã\83\89ã\83¬ã\82¹ã\80\8d (IPv4 ã\82¢ã\83\89ã\83¬ã\82¹ã\81®å ´å\90\88ã\81¯ B<INADDR_ANY>ã\80\81 IPv6 ã\82¢ã\83\89"
-"ã\83¬ã\82¹ã\81®å ´å\90\88ã\81¯ B<IN6ADDR_ANY_INIT>) ã\81\8cå\85¥ã\82\8bã\80\82 ã\83¯ã\82¤ã\83«ã\83\89ã\82«ã\83¼ã\83\89ã\83»ã\82¢ã\83\89ã\83¬ã\82¹ã\81¯ã\80\81ä»»æ\84\8f"
+"「ワイルドカードアドレス」 (IPv4 アドレスの場合は B<INADDR_ANY>、 IPv6 アド"
+"レスの場合は B<IN6ADDR_ANY_INIT>) が入る。 ワイルドカードアドレスは、任意"
"のホストのネットワークアドレスで接続を 受け付けようとするアプリケーション (通"
"常はサーバー) で用いられる。 I<node> が NULL でない場合、 B<AI_PASSIVE> フラ"
"グは無視される。"
msgstr ""
"I<hints.ai_flags> に B<AI_PASSIVE> フラグがセットされていない場合、 返される"
"ソケットアドレスは B<connect>(2), B<sendto>(2), B<sendmsg>(2) での使用に適し"
-"たものとなる。 I<node> が NULL の場合、ネットワークアドレスにはループバック・"
+"たものとなる。 I<node> が NULL の場合、ネットワークアドレスにはループバック"
"インターフェイスの アドレス (IPv4 アドレスの場合は B<INADDR_LOOPBACK> IPv6 ア"
"ドレスの場合は B<IN6ADDR_LOOPBACK_INIT>)B<が設定される。> これは同じホスト上"
"で動作している接続相手と通信するような アプリケーションで用いられる。"
msgstr ""
"要求されたサービスは、要求されたソケットタイプでは利用できない。 他のソケット"
"タイプでなら利用可能かもしれない。 このエラーが発生する例としては、 "
-"I<service> ã\81\8c \"shell\" (ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83»ã\82½ã\82±ã\83\83ã\83\88ã\81§ã\81®ã\81¿å\88©ç\94¨ã\81§ã\81\8dã\82\8bã\82µã\83¼ã\83\93ã\82¹) ã\81§ã\80\81 "
+"I<service> が \"shell\" (ストリームソケットでのみ利用できるサービス) で、 "
"I<hints.ai_protocol> に B<IPPROTO_UDP> が指定されたり、 I<hints.ai_socktype> "
"に B<SOCK_DGRAM> が指定されたりした場合がある。 また、 I<service> が NULL 以"
"外で、 I<hints.ai_socktype> に B<SOCK_RAW> (サービスの考え方をサポートしてい"
msgid ""
"getaddrinfo_a, gai_suspend, gai_error, gai_cancel - asynchronous network "
"address and service translation"
-msgstr ""
+msgstr "getaddrinfo_a, gai_suspend, gai_error, gai_cancel - 非同期のネットワークアドレスとサービスの変換"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:37
"B<getaddrinfo>(3), but allows multiple name look-ups to be performed "
"asynchronously, with optional notification on completion of look-up "
"operations."
-msgstr ""
+msgstr "B<getaddrinfo_a>() 関数は B<getaddrinfo>(3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、 検索処理の完了の通知ができる点が異なる。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:61
msgid "The I<mode> argument has one of the following values:"
-msgstr ""
+msgstr "I<mode> 引き数は以下の値のいずれかを指定する。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:61
msgid ""
"Perform the look-ups synchronously. The call blocks until the look-ups have "
"completed."
-msgstr ""
+msgstr "検索を同期で実行する。 呼び出しは検索が完了するまで停止 (block) する。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:65
"Perform the look-ups asynchronously. The call returns immediately, and the "
"requests are resolved in the background. See the discussion of the I<sevp> "
"argument below."
-msgstr ""
+msgstr "検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の I<sevp> 引き数の議論を参照。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:88
"argument specifies the number of elements in I<list>. The requested look-up "
"operations are started in parallel. NULL elements in I<list> are ignored. "
"Each request is described by a I<gaicb> structure, defined as follows:"
-msgstr ""
+msgstr "配列 I<list> は処理すべき検索要求を指定する。 I<nitems> 引き数は I<list> の要素数を指定する。 要求された検索命令は並列に開始される。 I<list> の NULL 要素は無視される。 各要求は以下のように定義された I<gaicb> 構造体で規定される。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:97
"do not need to initialize this element, it will be automatically set when "
"the request is resolved. The I<addrinfo> structure referenced by the last "
"two elements is described in B<getaddrinfo>(3)."
-msgstr ""
+msgstr "この構造体の要素は B<getaddrinfo>(3) の引き数に対応している。 したがって、 I<ar_name> はインターネットホストを示す I<node> 引き数に、 I<ar_service> はサービスを示す I<service> 引き数に対応する。 I<ar_request> 要素は、 返されたソケットアドレス構造体を選択する基準を示す I<hints> 引き数に対応する。 最後の I<ar_request> は I<res> 引き数に対応する。 この要素を初期化する必要はなく、この要素は要求が解決されると自動的にセットされる。 最後の 2 つの要素が参照している I<addrinfo> 構造体については B<getaddrinfo>(3) に説明がある。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:144
"by the I<sevp> argument. For the definition and general details of this "
"structure, see B<sigevent>(7). The I<sevp-E<gt>sigev_notify> field can have "
"the following values:"
-msgstr ""
+msgstr "I<mode> に B<GAI_NOWAIT> が指定された場合、 解決した要求に関する通知を I<sevp> 引き数が指す I<sigevent> 構造体を使って受け取ることができる。 この構造体の定義と一般的な説明については B<sigevent>(7) を参照。 I<sevp-E<gt>sigev_notify> フィールドには以下の値を指定できる。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:144
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:147
msgid "Don't provide any notification."
-msgstr ""
+msgstr "通知は行わない。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:147
"When a look-up completes, generate the signal I<sigev_signo> for the "
"process. See B<sigevent>(7) for general details. The I<si_code> field of "
"the I<siginfo_t> structure will be set to B<SI_ASYNCNL>."
-msgstr ""
+msgstr "検索が完了した際に、 プロセスに対してシグナル I<sigev_signo> を生成する。 一般的な説明は B<sigevent>(7) を参照。 I<siginfo_t> 構造体の I<si_code> フィールドには B<SI_ASYNCNL> がセットされる。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:163
msgid ""
"When a look-up completes, invoke I<sigev_notify_function> as if it were the "
"start function of a new thread. See B<sigevent>(7) for details."
-msgstr ""
+msgstr "検索が完了した際に、 I<sigev_notify_function> を新しいスレッドの開始関数であるかのように起動する。 詳細は B<sigevent>(7) を参照。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:180
msgid ""
"For B<SIGEV_SIGNAL> and B<SIGEV_THREAD>, it may be useful to point I<sevp-"
"E<gt>sigev_value.sival_ptr> to I<list>."
-msgstr ""
+msgstr "B<SIGEV_SIGNAL> と B<SIGEV_THREAD> では、 I<sevp-E<gt>sigev_value.sival_ptr> が I<list> を指すようにしておくと役立つことがある。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:191
"waiting for the completion of one or more requests in the array I<list>. "
"The I<nitems> argument specifies the size of the array I<list>. The call "
"blocks until one of the following occurs:"
-msgstr ""
+msgstr "B<gai_suspend>() 関数は呼び出し元のスレッドの実行を中断し、 配列 I<list> 内の一つ以上の要求が完了するのを待つ。 I<nitems> 引き数は配列 I<list> の大きさを指定する。 呼び出しは以下のいずれかの状況になるまで停止する。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:195
msgid "One or more of the operations in I<list> completes."
-msgstr ""
+msgstr "I<list> 内の一つ以上の操作が完了した。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:197
msgid "The call is interrupted by a signal that is caught."
-msgstr ""
+msgstr "呼び出しが補足されたシグナルに割り込まれた。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:210
"a timeout in seconds plus nanoseconds (see B<nanosleep>(2) for details of "
"the I<timespec> structure). If I<timeout> is NULL, then the call blocks "
"indefinitely (until one of the events above occurs)."
-msgstr ""
+msgstr "I<timeout> で指定された期間が経過した。 この引き数は、秒とナノ秒でタイムアウトを指定する (I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。 I<timeout> が NULL の場合、 (上記のイベントのいずれかが発生するまで) 呼び出しは無限に停止する。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:215
"No explicit indication of which request was completed is given; you must "
"determine which request(s) have completed by iterating with B<gai_error>() "
"over the list of requests."
-msgstr ""
+msgstr "どの要求が完了したかは明示的な通知は行われない。 どの要求が完了したかを知るためには、 要求のリストに対して B<gai_error>() を繰り返し呼び出す必要がある。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:225
"The B<gai_error>() function returns the status of the request I<req>: "
"either B<EAI_INPROGRESS> if the request was not completed yet, 0 if it was "
"handled successfully, or an error code if the request could not be resolved."
-msgstr ""
+msgstr "B<gai_error>() 関数は要求 I<req> のステータスを返す。 要求がまだ完了していない場合は B<EAI_INPROGRESS> が、 要求が正常に処理された場合は 0 が、 要求を解決できなかった場合はエラーコードが返される。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:242
"case, it will be handled as if B<gai_cancel>() has never been called. If "
"I<req> is NULL, an attempt is made to cancel all outstanding requests that "
"the process has made."
-msgstr ""
+msgstr "B<gai_cancel>() 関数は要求 I<req> をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに B<EAI_CANCELLED> が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合 B<gai_cancel>() が呼ばれなかったかのように処理が行われる。 I<req> が NULL の場合、 そのプロセスが行ったすべての処理中の要求をキャンセルしようとする。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:247
msgid ""
"The B<getaddrinfo_a>() function returns 0 if all of the requests have been "
"enqueued successfully, or one of the following nonzero error codes:"
-msgstr ""
+msgstr "B<getaddrinfo_a>() 関数はすべての要求が正常にキューに追加されると 0 を返す。 または、以下のいずれかの 0 でないエラーコードを返す。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:252
"The resources necessary to enqueue the look-up requests were not available. "
"The application may check the error status of each request to determine "
"which ones failed."
-msgstr ""
+msgstr "検索要求をキューに入れるために必要なリソースがなかった。 アプリケーションは書く要求のエラーステータスを確認し、 どの要求が失敗したかを判定することができる。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:259
msgid "I<mode> is invalid."
-msgstr ""
+msgstr "I<mode> が無効である。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:264
"The B<gai_suspend>() function returns 0 if at least one of the listed "
"requests has been completed. Otherwise, it returns one of the following "
"nonzero error codes:"
-msgstr ""
+msgstr "B<gai_suspend>() 関数はリストの要求の少なくともひとつが完了すると 0 を返す。 それ以外の場合、 以下の 0 でないエラーコードのいずれかを返す。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:267
msgid ""
"The given timeout expired before any of the requests could be completed."
-msgstr ""
+msgstr "いずれかの要求が完了する前に指定されたタイムアウト時間が満了した。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:267 build/C/man3/getaddrinfo_a.3:297
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:270
msgid "There were no actual requests given to the function."
-msgstr ""
+msgstr "指定された関数には実際には要求がなかった。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:270
msgid ""
"A signal has interrupted the function. Note that this interruption might "
"have been caused by signal notification of some completed look-up request."
-msgstr ""
+msgstr "シグナルが関数に割り込んだ。 この割り込みは検索要求が完了したことを示すシグナル通知により起こる場合もある。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:287
"above), one of the error codes that could be returned by B<getaddrinfo>(3), "
"or the error code B<EAI_CANCELLED> if the request has been canceled "
"explicitly before it could be finished."
-msgstr ""
+msgstr "B<gai_error>() 関数は、 完了していない検索要求に対して B<EAI_INPROGRESS> を返し、 成功で完了した検索に対して 0 を返す。 B<getaddrinfo>(3) が返すエラーコードのいずれかを返す場合もある。 要求の完了前に明示的に要求がキャンセルされた場合はエラーコード B<EAI_CANCELLED> を返す。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:291
msgid "The B<gai_cancel>() function can return one of these values:"
-msgstr ""
+msgstr "B<gai_cancel>() 関数はこれらの値のいずれかを返すことがある。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:291
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:294
msgid "The request has been canceled successfully."
-msgstr ""
+msgstr "要求は正常にキャンセルされた。"
#. type: TP
#: build/C/man3/getaddrinfo_a.3:294
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:297
msgid "The request has not been canceled."
-msgstr ""
+msgstr "要求はキャンセルされていない。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:300
msgid "The request has already completed."
-msgstr ""
+msgstr "要求はすでに完了している。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:305 build/C/man3/getnameinfo.3:197
msgid ""
"The B<gai_strerror>(3) function translates these error codes to a human "
"readable string, suitable for error reporting."
-msgstr ""
-"B<gai_strerror>(3) 関数を使うと、これらのエラー・コードを、エラー・レポートに"
-"適した 人間が読みやすい文字列に翻訳してくれる。"
+msgstr "B<gai_strerror>(3) 関数を使うと、 これらのエラーコードを、 エラーレポートに適した人間が読みやすい文字列に翻訳してくれる。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:308
msgid ""
"These functions are GNU extensions; they first appeared in glibc in version "
"2.2.3."
-msgstr ""
+msgstr "これらの関数は GNU 拡張である。 バージョン 2.2.3 で初めて glibc に登場した。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:314
msgid ""
"The interface of B<getaddrinfo_a>() was modeled after the B<lio_listio>(3) "
"interface."
-msgstr ""
+msgstr "B<getaddrinfo_a>() インターフェースは B<lio_listio>(3) インターフェースの後にモデル化された。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:318
"Two examples are provided: a simple example that resolves several requests "
"in parallel synchronously, and a complex example showing some of the "
"asynchronous capabilities."
-msgstr ""
+msgstr "ここでは二つの例を示す。 一つは複数の要求を同期処理で並行して解決する例で、 もう一つは非同期機能を使った複雑な例である。"
#. type: SS
#: build/C/man3/getaddrinfo_a.3:318
#, no-wrap
msgid "Synchronous example"
-msgstr ""
+msgstr "同期型の例"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:323
"The program below simply resolves several hostnames in parallel, giving a "
"speed-up compared to resolving the hostnames sequentially using "
"B<getaddrinfo>(3). The program might be used like this:"
-msgstr ""
+msgstr "以下のプログラムは単に複数のホスト名の解決を並行で行う。 B<getaddrinfo>(3) を使って順番にホスト名の解決を行うのに比べて速度が向上する。 このプログラムは以下のように使う。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:330
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:334
msgid "Here is the program source code"
-msgstr ""
+msgstr "プログラムのソースコードは以下のとおりである。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:341 build/C/man3/getaddrinfo_a.3:430
#: build/C/man3/getaddrinfo_a.3:395
#, no-wrap
msgid "Asynchronous example"
-msgstr ""
+msgstr "非同期型の例"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:400
msgid ""
"This example shows a simple interactive B<getaddrinfo_a>() front-end. The "
"notification facility is not demonstrated."
-msgstr ""
+msgstr "この例は B<getaddrinfo_a>() の簡単な対話式のフロントエンドである。 通知機能は使っていない。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:402
msgid "An example session might look like this:"
-msgstr ""
+msgstr "セッションの実行例は以下のようになる。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:419
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:423
msgid "The program source is as follows:"
-msgstr ""
+msgstr "プログラムのソースは以下のとおりである。"
#. type: Plain text
#: build/C/man3/getaddrinfo_a.3:433
msgstr ""
"成功すると 0 が返り、(要求されていれば) ノードとサービスの名前がヌル終端され"
"た文字列の形式でそれぞれの指定バッファに返される (バッファの長さにあうように"
-"縮ã\82\81ã\82\89ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84)ã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\81¯ã\80\81以ä¸\8bã\81® 0 以å¤\96ã\81®ã\82¨ã\83©ã\83¼ã\83»ã\82³ã\83¼ã\83\89ã\81\8cè¿\94ã\81\95"
+"縮められるかもしれない)。 エラーの場合は、以下の 0 以外のエラーコードが返さ"
"れる:"
#. type: Plain text
msgstr ""
"B<getnetbyaddr>() 関数は、I<type> 型のネットワーク番号 I<net> にマッチするエ"
"ントリを データベースから探し、そのエントリを収めた I<netent> 構造体を返す。 "
-"I<net> å¼\95ã\81\8dæ\95°ã\81¯ã\83\9bã\82¹ã\83\88ã\83»ã\83\90ã\82¤ã\83\88ã\82ªã\83¼ã\83\80ã\81§ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82"
+"I<net> 引き数はホストバイトオーダでなければならない。"
#. type: Plain text
#: build/C/man3/getnetent.3:92
#. type: Plain text
#: build/C/man3/getnetent.3:130
msgid "The network number in host byte order."
-msgstr "ã\83\9bã\82¹ã\83\88ã\83»ã\83\90ã\82¤ã\83\88ã\82ªã\83¼ã\83\80å½¢å¼\8fã\81®ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ç\95ªå\8f·ã\80\82"
+msgstr "ホストバイトオーダ形式のネットワーク番号。"
#. type: Plain text
#: build/C/man3/getnetent.3:141
msgstr ""
"B<getservbyport>() 関数は、 プロトコル I<proto> を用いるサービスのポート番"
"号 I<port> にマッチするエントリをデータベースから探し、 そのエントリの内容を"
-"å\8f\8eã\82\81ã\81\9f I<servent> æ§\8bé\80 ä½\93ã\82\92è¿\94ã\81\99 (ã\83\9dã\83¼ã\83\88ç\95ªå\8f· I<port> ã\81¯ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83»ã\83\90ã\82¤ã\83\88ã\82ªã\83¼"
+"収めた I<servent> 構造体を返す (ポート番号 I<port> はネットワークバイトオー"
"ダで指定する)。 I<proto> が NULL の場合は任意のプロトコルにマッチする。 必要"
"であれば、データベースへの接続がオープンされる。"
"使用され、使用する際には名前からアドレスに変換しなければならない (一般\n"
"的にはアドレスへの変換処理は B<getaddrinfo>(3) か (廃止予定の)\n"
"B<gethostbyname>(3) で行われる)。ホスト名の解決は、\n"
-"ã\82¤ã\83³ã\82¿ã\83¼ã\83\8dã\83\83ã\83\88ã\83»ã\83\8dã\83¼ã\83 ã\83ªã\82¾ã\83«ã\83\90ã\81«ã\82\88ã\81£ã\81¦ä»¥ä¸\8bã\81®æ\96¹æ³\95ã\81§å®\9fè¡\8cã\81\95ã\82\8cã\82\8bã\80\82"
+"インターネットネームリゾルバによって以下の方法で実行される。"
#. type: Plain text
#: build/C/man7/hostname.7:68
"an alphabetic character and end with an alphanumeric character. Optional "
"aliases provide for name changes, alternate spellings, shorter hostnames, or "
"generic hostnames (for example, I<localhost>)."
-msgstr ""
-"エントリのフィールドは、空白またはタブ (複数でも可) で区切られる。 \"#\" 文字"
-"から行末までのテキストはコメントとして無視される。 ホスト名は英数字・マイナス"
-"記号 (\"-\")・ピリオド (\".\") を含むことができる。 ホスト名は英文字 "
-"(alphabetic character) で始まって、 英数字 (alphanumeric characte) で終わらな"
-"ければならない。 エイリアスはオプションであり、名前の変更、別のスペル、 短い"
-"ホスト名、一般的に使われるホスト名 (例えば I<localhost>) などのために用意さ"
-"れている。"
+msgstr "エントリのフィールドは、空白またはタブ (複数でも可) で区切られる。 \"#\" 文字から行末までのテキストはコメントとして無視される。 ホスト名は英数字、 マイナス記号 (\"-\")、 ピリオド (\".\") を含むことができる。 ホスト名は英文字 (alphabetic character) で始まって、 英数字 (alphanumeric characte) で終わらなければならない。 エイリアスはオプションであり、名前の変更、別のスペル、 短いホスト名、一般的に使われるホスト名 (例えば I<localhost>) などのために用意されている。"
#. type: Plain text
#: build/C/man5/hosts.5:64
"が用意されている。 これらのパラメータには、 I</proc/sys/net/ipv4/> ディレクト"
"リ内のファイルの読み書きでアクセスできる。 これらのパラメータのほとんどは特定"
"の ICMP タイプに対するレート制限 (rate limitation) である。 Linux 2.2 は "
-"ICMP ã\81®å\88¶é\99\90ã\81«ã\83\88ã\83¼ã\82¯ã\83³ã\83»ã\83\90ã\82±ã\83\83ã\83\88ã\83»フィルタ (token bucket filter) を用いる。 そ"
-"ã\82\8cã\81\9eã\82\8cã\81®å\80¤ã\81¯ã\80\81ã\83\90ã\83¼ã\82¹ã\83\88ã\81®å¾\8cã\81«ã\83\88ã\83¼ã\82¯ã\83³ã\83»ã\83\90ã\82±ã\83\83ã\83\88ã\83»フィルタがクリア されるまでの"
+"ICMP ã\81®å\88¶é\99\90ã\81«ã\83\88ã\83¼ã\82¯ã\83³ã\83\90ã\82±ã\83\83ã\83\88フィルタ (token bucket filter) を用いる。 そ"
+"ã\82\8cã\81\9eã\82\8cã\81®å\80¤ã\81¯ã\80\81ã\83\90ã\83¼ã\82¹ã\83\88ã\81®å¾\8cã\81«ã\83\88ã\83¼ã\82¯ã\83³ã\83\90ã\82±ã\83\83ã\83\88フィルタがクリア されるまでの"
"タイムアウトを秒単位で表したものである。最小単位(jiffy)は システム依存の単位"
"で i386 システムは通常 10ms、alpha や ia64 では 1ms である。"
msgstr ""
"Linux がルーターとして動作していないときには、 B<ICMP_REDIRECT> パケットは送"
"信されない。 またこれらが受け取られるのも、発信元がルーティングテーブルに定義"
-"ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b å\8f¤ã\81\84ã\82²ã\83¼ã\83\88ã\82¦ã\82§ã\82¤ã\81§ã\80\81ã\83ªã\83\80ã\82¤ã\83¬ã\82¯ã\83\88ã\83»ã\83«ã\83¼ã\83\88 (redirect route) ã\81\8c é\81©å½\93"
+"されている 古いゲートウェイで、リダイレクトルート (redirect route) が 適当"
"な時間の後に期限切れになっている場合に限られる。"
#. type: Plain text
"components at byte boundaries, as follows:"
msgstr ""
"B<inet_lnaof>(), B<inet_netof>(), B<inet_makeaddr>() は過去の名残であり、渡"
-"ã\81\95ã\82\8cã\81\9fã\82¢ã\83\89ã\83¬ã\82¹ã\81\8c I<ã\82¯ã\83©ã\82¹ã\83\95ã\83«ã\83»ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ (classful network "
-"addresses)> ã\81§ã\81\82ã\82\8bã\81¨ä»®å®\9aã\81\97ã\81¦å\87¦ç\90\86ã\82\92è¡\8cã\81\86ã\80\82 ã\82¯ã\83©ã\82¹ã\83\95ã\83«ã\83»ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ã\81§"
+"されたアドレスが I<クラスフルネットワークアドレス (classful network "
+"addresses)> であると仮定して処理を行う。 クラスフルネットワークアドレスで"
"は、以下にあるように、 IPv4 ネットワークアドレスをバイト境界でネットワーク部"
"とホスト部に分割する。"
"Classless Inter-Domain Routing (CIDR), which divides addresses into network "
"and host components at arbitrary bit (rather than byte) boundaries."
msgstr ""
-"ã\82¯ã\83©ã\82¹ã\83\95ã\83«ã\83»ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ã\81¯ç\8f¾å\9c¨ã\81§ã\81¯å»\83æ¢ã\81\95ã\82\8cã\80\81 ã\82¯ã\83©ã\82¹ã\83¬ã\82¹ã\83»ドメイン間"
+"ã\82¯ã\83©ã\82¹ã\83\95ã\83«ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82¢ã\83\89ã\83¬ã\82¹ã\81¯ç\8f¾å\9c¨ã\81§ã\81¯å»\83æ¢ã\81\95ã\82\8cã\80\81 ã\82¯ã\83©ã\82¹ã\83¬ã\82¹ドメイン間"
"ルーチン (CIDR) に取って代わられた。 CIDR では、アドレスを任意のビット境界 "
"(バイト境界ではない) で ネットワーク部とホスト部に分割する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:29
msgid "inet_net_pton, inet_net_ntop - Internet network number conversion"
-msgstr ""
+msgstr "inet_net_pton, inet_net_ntop - インターネットのネットワーク番号の変換"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:35
msgid ""
"These functions convert network numbers between presentation (i.e., "
"printable) format and network (i.e., binary) format."
-msgstr ""
+msgstr "これらの関数は (印字可能な) 表記形式とネットワーク形式 (バイナリー形式) 間の変換を行う。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:70
msgid ""
"For both functions, I<af> specifies the address family for the conversion; "
"the only supported value is B<AF_INET>."
-msgstr ""
+msgstr "どちらの関数でも I<af> は変換を行うアドレスファミリーを指定する。 サポートされている値は B<AF_INET> だけである。"
#. type: SS
#: build/C/man3/inet_net_pton.3:70
"placed in the buffer pointed to by I<net>. (The I<netp> argument typically "
"points to an I<in_addr> structure.) The I<nsize> argument specifies the "
"number of bytes available in I<netp>."
-msgstr ""
+msgstr "B<inet_net_pton>() 関数は、 表記形式でインターネットネットワーク番号を格納した NULL 終端された文字列である I<pres> をネットワーク形式に変換する。 ネットワークバイトオーダーの変換結果は I<netp> が指すバッファーに格納される (I<netp> 引き数は通常 I<in_addr> 構造体を指している)。 I<nsize> 引き数は I<netp> で利用可能なバイト数を示す。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:97
"On success, B<inet_net_pton>() returns the number of bits in the network "
"number field of the result placed in I<netp>. For a discussion of the input "
"presentation format and the return value, see NOTES."
-msgstr ""
+msgstr "成功すると B<inet_net_pton>() は I<netp> に格納した結果のネットワーク番号フィールドのビット数を返す。 入力の表記形式と返り値に関する議論は「注意」の節を参照。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:107
"calling B<inet_net_pton>(), since the call writes only as many bytes as are "
"required for the network number (or as are explicitly specified by I<pres>), "
"which may be less than the number of bytes in a complete network address."
-msgstr ""
+msgstr "I<注意>: I<netp> が指すバッファーは B<inet_net_pton>() の呼び出し前に 0 で埋めるべきである。 呼び出しではネットワーク番号で必要なバイトだけが書き込まれ、 そのバイト数は完全なネットワークアドレスのバイト数よりも少ないこともある。"
#. type: SS
#: build/C/man3/inet_net_pton.3:107
"pointed to by I<netp> to presentation format; I<*netp> is interpreted as a "
"value in network byte order. The I<bits> argument specifies the number of "
"bits in the network number in I<*netp>."
-msgstr ""
+msgstr "B<inet_net_ntop>() 関数は I<netp> が指すバッファーのネットワーク番号を表記形式に変換する。 I<*netp> はネットワークバイトオーダーでの値として解釈される。 I<bits> 引き数は I<*netp> のネットワーク番号のビット数を指定する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:130
"available in I<pres>. The presentation string is in CIDR format: a dotted-"
"decimal number representing the network address, followed by a slash, and "
"the size of the network number in bits."
-msgstr ""
+msgstr "NULL 終端された表記形式の文字列は I<pres> が指すバッファーに格納される。 I<psize> 引き数は I<pres> で利用可能なバイト数を指定する。 表記形式は CIDR 形式、 つまり、 ネットワークアドレスを表すドット区切りの 10 進数に、 スラッシュとネットワーク番号のビットサイズが続く形式である。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:137
"On success, B<inet_net_pton>() returns the number of bits in the network "
"number. On error, it returns -1, and I<errno> is set to indicate the cause "
"of the error."
-msgstr ""
+msgstr "成功すると B<inet_net_pton>() はネットワーク番号のビット数を返す。 エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:145
msgid ""
"On success, B<inet_net_ntop>() returns I<pres>. On error, it returns NULL, "
"and I<errno> is set to indicate the cause of the error."
-msgstr ""
+msgstr "成功すると B<inet_net_ntop>() は I<pres> を返す。 エラーの場合、 NULL を返し、 I<errno> にエラーを示す値がセットされる。"
#. type: TP
#: build/C/man3/inet_net_pton.3:146 build/C/man3/inet_ntop.3:92
#. type: Plain text
#: build/C/man3/inet_net_pton.3:151
msgid "I<af> specified a value other than B<AF_INET>."
-msgstr ""
+msgstr "I<af> に B<AF_INET> 以外の値が指定された。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:154
msgid "The size of the output buffer was insufficient."
-msgstr ""
+msgstr "出力バッファーのサイズが十分でなかった。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:159
msgid "(B<inet_net_pton>()) I<pres> was not in correct presentation format."
-msgstr ""
+msgstr "(B<inet_net_pton>() の場合) I<pres> が正しい表記形式ではなかった。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:165
#: build/C/man3/inet_net_pton.3:166
#, no-wrap
msgid "Input presentation format for inet_net_pton()"
-msgstr ""
+msgstr "inet_net_pton() の入力の表記形式"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:170
msgid ""
"The network number may be specified either as a hexadecimal value or in "
"dotted-decimal notation."
-msgstr ""
+msgstr "ネットワーク番号は、 16 進数値、またはドット区切りの 10 進数表記で指定できる。"
#. If the hexadecimal string is short, the remaining nibbles are zeroed.
#. type: Plain text
"Hexadecimal values are indicated by an initial \"0x\" or \"0X\". The "
"hexadecimal digits populate the nibbles (half octets) of the network number "
"from left to right in network byte order."
-msgstr ""
+msgstr "先頭に \"0x\" か \"0X\" がある場合 16 進数値となる。 16 進数はネットワークバイトオーダーの左から右へ半オクテット (4 ビット) ずつ順番に埋められる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:179
msgid ""
"In dotted-decimal notation, up to four octets are specified, as decimal "
"numbers separated by dots. Thus, any of the following forms are accepted:"
-msgstr ""
+msgstr "ドット区切りの 10 進数表記では、 最大 4 つのオクテットをドット区切りの 10 進数で指定する。 したがって、 以下の形式を指定できる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:184
"resulting network number, going from left to right, in network-byte (big "
"endian) order. Where a part is omitted, the resulting byte in the network "
"number is zero."
-msgstr ""
+msgstr "各部分は 0 から 255 の範囲の数字で、ネットワーク番号の各バイトに左から右にネットワークバイトオーダー (ビッグエンディアン) で順番に埋められる。 省略された部分があれば、 対応するネットワーク番号のバイトは 0 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:197
"For either hexadecimal or dotted-decimal format, the network number can "
"optionally be followed by a slash and a number in the range 0 to 32, which "
"specifies the size of the network number in bits."
-msgstr ""
+msgstr "16 進数とドット区切りの 10 進数形式のどちらの場合も、 ネットワーク番号の後ろにスラッシュと 0 から 32 の範囲の数字をオプションで付けることができる。 この数字はネットワーク番号のビット単位のサイズを示すものである。"
#. type: SS
#: build/C/man3/inet_net_pton.3:197
#, no-wrap
msgid "Return value of inet_net_pton()"
-msgstr ""
+msgstr "inet_net_pton() の返り値"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:207
"an explicit size value, then that size becomes the return value of "
"B<inet_net_pton>(). Otherwise, the return value, I<bits>, is inferred as "
"follows:"
-msgstr ""
+msgstr "B<inet_net_pton>() の返り値はネットワーク番号フィールドのビット数である。 入力の表記形式の文字列がスラッシュとサイズの明示的な値で終わっている場合、 指定されたサイズが B<inet_net_pton>() の返り値となる。 そうでない場合は、 返り値 I<bits> が以下のようにして推測される。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:213
msgid ""
"If the most significant byte of the network number is greater than or equal "
"to 240, then I<bits> is 32."
-msgstr ""
+msgstr "ネットワーク番号の最上位バイトが 240 以上の場合、 I<bits> は 32 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:220
msgid ""
"Otherwise, if the most significant byte of the network number is greater "
"than or equal to 224, then I<bits> is 4."
-msgstr ""
+msgstr "それ以外で、 ネットワーク番号の最上位バイトが 224 以上の場合、 I<bits> は 4 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:227
msgid ""
"Otherwise, if the most significant byte of the network number is greater "
"than or equal to 192, then I<bits> is 24."
-msgstr ""
+msgstr "それ以外で、 ネットワーク番号の最上位バイトが 192 以上の場合、 I<bits> は 24 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:234
msgid ""
"Otherwise, if the most significant byte of the network number is greater "
"than or equal to 128, then I<bits> is 16."
-msgstr ""
+msgstr "それ以外で、 ネットワーク番号の最上位バイトが 128 以上の場合、 I<bits> は 16 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:238
msgid "Otherwise, I<bits> is 8."
-msgstr ""
+msgstr "それ以外の場合、 I<bits> は 8 となる。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:247
"to 8, but the number of octets specified in the network number exceed "
"I<bits/8>, then I<bits> is set to 8 times the number of octets actually "
"specified."
-msgstr ""
+msgstr "上記の手順から得られる I<bits> の値が 8 以上だが、 ネットワーク番号で指定されたオクテット数が I<bits/8> より大きい場合、 I<bits> には実際に指定されたオクテット数を 8 倍した値が設定される。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:261
"form, displays the return value from B<inet_net_pton>(). It then uses "
"B<inet_net_ntop>() to convert the binary form back to presentation format, "
"and displays the resulting string."
-msgstr ""
+msgstr "以下のプログラムは B<inet_net_pton>() と B<inet_net_ntop>() の使用例を示すものである。 B<inet_net_pton>() を使って、 コマンドラインの最初の引き数で渡された表記形式のネットワークアドレスをバイナリー形式に変換し、 I<inet_net_pton>() の返り値を出力する。 それから B<inet_net_ntop>() を使ってバイナリー形式を表記形式に再度戻して、結果の文字列を出力する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:275
"is called. As its final line of output, the program displays all of the "
"bytes of the buffer returned by B<inet_net_pton>() allowing the user to see "
"which bytes have not been touched by B<inet_net_pton>()."
-msgstr ""
+msgstr "B<inet_net_pton>() が I<netp> 引き数のすべてのバイトに書き込むわけではないことを示すため、 プログラムにはオプションで 2 番目のコマンドライン引き数を指定することができ、 その引き数の数字を使って B<inet_net_pton>() を呼び出す前にバッファーを初期化する。 出力の最終行として、 ユーザーがどのバイトが B<inet_net_pton>() によって変更されなかったかを確認できるように、 プログラムは B<inet_net_pton>() が返したバッファーの全バイトを表示する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:279
msgid ""
"An example run, showing that B<inet_net_pton>() infers the number of bits "
"in the network number:"
-msgstr ""
+msgstr "この実行例では、 B<inet_net_pton>() が推測したネットワーク番号のビット数を表示する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:286
msgid ""
"Demonstrate that B<inet_net_pton>() does not zero out unused bytes in its "
"result buffer:"
-msgstr ""
+msgstr "B<inet_net_pton>() が結果のバッファーの未使用バイトを 0 埋めしないことを確認する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:299
"Demonstrate that B<inet_net_pton>() will widen the inferred size of the "
"network number, if the supplied number of bytes in the presentation string "
"exceeds the inferred value:"
-msgstr ""
+msgstr "表記形式の文字列で渡されたバイト数が推測した値より大きい場合、 B<inet_net_pton>() が推測するネットワーク番号のサイズを広げることを確認する。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:314
"Explicitly specifying the size of the network number overrides any inference "
"about its size (but any extra bytes that are explicitly specified will still "
"be used by B<inet_net_pton>(): to populate the result buffer):"
-msgstr ""
+msgstr "ネットワーク番号のサイズが明示的に指定すると、推測されるネットワーク番号のサイズが上書きされる (ただし、 明示的に指定された残りのバイトは B<inet_net_pton>() で使用され、結果のバッファーに書き込まれる)。"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:329
" the network number. If argv[2] is not supplied, then initialize\n"
" the buffer to zero (as is recommended practice). */\n"
msgstr ""
+" /* argv[2] (数値) が指定されると、その数字を使って inet_net_pton()\n"
+" に渡す出力バッファーを初期化する。これにより inet_net_pton() が\n"
+" ネットワーク番号に必要なバイトだけを書き込むことを確認できるよう\n"
+" にする。 argv[2] が指定されなかった場合、バッファーは 0 で初期化\n"
+" する (これが推奨される方法である)。 */\n"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:363
#: build/C/man3/inet_net_pton.3:365
#, no-wrap
msgid " /* Convert presentation network number in argv[1] to binary */\n"
-msgstr ""
+msgstr " /* argv[1] の表記形式のネットワーク番号をバイナリー形式に変換する */\n"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:369
" /* Convert binary format back to presentation, using \\(aqbits\\(aq\n"
" returned by inet_net_pton() */\n"
msgstr ""
+" /* inet_net_pton() が返した \\(aqbits\\(aq を使って、\n"
+" バイナリー形式を表記形式に変換する */\n"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:377
" may not have been touched by inet_net_ntop(), and so will still\n"
" have any initial value that was specified in argv[2]. */\n"
msgstr ""
+" /* \\(aqaddr\\(aq を名前の形で (ネットワークバイトオーダーで) 表示する。\n"
+" これにより inet_net_ntop() が表示しないバイトを確認できる。\n"
+" これらのバイトの一部は inet_net_ntop() では変更されない場合があり、\n"
+" その場合 argv[2] で指定された初期値のままになる。 */\n"
#. type: Plain text
#: build/C/man3/inet_net_pton.3:386
"The programming interface is BSD-sockets compatible. For more information "
"on sockets, see B<socket>(7)."
msgstr ""
-"ã\83\97ã\83ã\82°ã\83©ã\83\9fã\83³ã\82°ã\83»ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81¯ BSD ã\82½ã\82±ã\83\83ã\83\88ã\81¨äº\92æ\8f\9bã\81§ã\81\82ã\82\8bã\80\82 ã\82½ã\82±ã\83\83ã\83\88ã\81«é\96¢ã\81\99"
+"プログラミングインターフェースは BSD ソケットと互換である。 ソケットに関す"
"るより詳細な情報は B<socket>(7) を参照のこと。"
#. type: Plain text
"the daemon over the socket each time a lookup is performed. The default is "
"no."
msgstr ""
-"I<service> ã\81® nscd ã\83\87ã\83¼ã\82¿ã\83\99ã\83¼ã\82¹ã\81®ã\83¡ã\83¢ã\83ªã\83»ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\82\92ã\82¯ã\83©ã\82¤ã\82¢ã\83³ã\83\88é\96\93ã\81§å\85±æ\9c\89ã\81\99"
+"I<service> の nscd データベースのメモリマッピングをクライアント間で共有す"
"る。 これにより、検索を実行する度にソケット経由でデーモンに問い合わせを 行わ"
"ずに、直接データベースを検索できるようになる。デフォルトは共有しない。"
"implementation in the GNU C library. The various services provided are "
"implemented by independent modules, each of which naturally varies widely "
"from the other."
-msgstr ""
+msgstr "パスワードやグループのデータベースなどのシステムデータベースからのデータ取得の関数の呼び出しは、 GNU C ライブラリの名前サービス切り替えの実装により処理される。 提供されている様々なサービスは個別のモジュールにより実装されており、 各モジュールは本質的に大きく異なっている。"
#. type: Plain text
#: build/C/man5/nss.5:38
"system administrator to request taking shortcuts if these are known to be "
"safe. It is then the system administrator's responsibility to ensure the "
"assumption is correct."
-msgstr ""
+msgstr "GNU C ライブラリでのデフォルト実装は、 デフォルトでは保守的になっており、 安全でないデータは使用しない。 これはいくつかの状況、 特にデータベースが大きい場合、では非常にコストがかかることがある。 いくつかのモジュールでは、 安全であると分かっている場合、 システム管理者がショットカットを使うようにすることができる。 この前提が正しいことを保証するのはシステム管理者の責任である。"
#. type: Plain text
#: build/C/man5/nss.5:42
"There are other modules where the implementation changed over time. If an "
"implementation used to sacrifice speed for memory consumption, it might "
"create problems if the preference is switched."
-msgstr ""
+msgstr "他には実装が時間を追って変化しているモジュールもある。 モジュールの実装がメモリー使用量を優先してスピードを犠牲にしていた場合、 優先度を変更すると問題が起こる場合がある。"
#. type: Plain text
#: build/C/man5/nss.5:51
"Each variable controls the behavior of one or more NSS modules. White "
"spaces are ignored. Lines beginning with \\(aq#\\(aq are treated as "
"comments."
-msgstr ""
+msgstr "I</etc/default/nss> ファイルには変数がいくつかある。 各変数は一つもしくは複数の NSS モジュールの動作を制御する。 ホワイトスペースは無視される。 \\(aq#\\(aq で始まる行はコメントとして扱われる。"
#. type: Plain text
#: build/C/man5/nss.5:53
"This can speed up the function significantly if the I<group.byname> map is "
"large. The content of the I<netid.byname> map is used B<as is>. The system "
"administrator has to make sure it is correctly generated."
-msgstr ""
+msgstr "TRUE に設定されると、 B<initgroups>(3) 関数の NIS バックエンドが I<netid.byname> NIS マップからの情報を信頼できるものとして受け取る。 I<group.byname> マップが大きい場合、 これによりこの関数を大きくスピードアップできる。 I<netid.byname> マップの内容はB<そのまま>使用される。 システム管理者は内容が正しく生成されていることを保証しなければならない。"
#. type: TP
#: build/C/man5/nss.5:68
"contains both keys with /proto and without /proto for both primary service "
"names and service aliases. The system administrator has to make sure it is "
"correctly generated."
-msgstr ""
+msgstr "TRUE に設定されると、 関数 B<getservbyname>(3) と B<getservbyname_r>(3) の NIS バックエンドが I<services.byservicename> NIS マップが存在し、その情報を信頼できるものとみなす。 特に、 サービス名とサービス別名の両方に対して /proto ありと /proto なしの両方のキーが含まれているとみなす。 システム管理者は内容が正しく生成されていることを保証しなければならない。"
#. type: TP
#: build/C/man5/nss.5:80
"B<getgrent>(3) call respectively. Otherwise, each B<getpwent>(3) or "
"B<getgrent>(3) call might result in a network communication with the server "
"to get the next entry."
-msgstr ""
+msgstr "TRUE に設定されると、 関数 B<setpwent>(3) と B<setgrent>(3) の NIS バックエンドは、 全データベースを一度に読み込み、 それから対応する B<getpwent>(3) や B<getgrent>(3) の呼び出しで一つ一つ要求を処理する。 TRUE でない場合、 B<getpwent>(3) や B<getgrent>(3) の各々の呼び出しで、 次のエントリーを取得するためにサーバーとのネットワーク通信が発生する。"
#. type: Plain text
#: build/C/man5/nss.5:100
"dn_comp, dn_expand - resolver routines"
msgstr ""
"res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, "
-"dn_comp, dn_expand - ã\83¬ã\82¾ã\83«ã\83\90ã\83»ã\83«ã\83¼ã\83\81ã\83³"
+"dn_comp, dn_expand - レゾルバルーチン"
#. type: Plain text
#: build/C/man3/resolver.3:42
"options>. This field can contain the bitwise \"OR\" of the following "
"options:"
msgstr ""
-"ã\83¬ã\82¾ã\83«ã\83\90ã\83»ã\83«ã\83¼ã\83\81ã\83³ã\81¯ã\80\81I<E<lt>resolv.hE<gt>> ã\81«å®\9a義ã\81\95ã\82\8cã\81\9f I<_res> æ§\8bé\80 ä½\93ã\81« å\90«"
+"レゾルバルーチンは、I<E<lt>resolv.hE<gt>> に定義された I<_res> 構造体に 含"
"まれている全体的な設定と状態の情報を使用する。 通常ユーザーに操作できる項目"
"は I<_res.options> だけである。 この項目は以下のオプションのビット単位の論理"
"和にできる。"
#. type: Plain text
#: build/C/man3/resolver.3:208
msgid "Query primary domain name server only."
-msgstr "ã\83\97ã\83©ã\82¤ã\83\9eã\83ªã\83»ã\83\89ã\83¡ã\82¤ã\83³ã\83\8dã\83¼ã\83 ã\82µã\83¼ã\83\90ã\83¼ã\81®ã\81¿å\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\82\8bã\80\82"
+msgstr "プライマリドメインネームサーバーのみ問い合わせる。"
#. type: TP
#: build/C/man3/resolver.3:208
"network group entries"
msgstr ""
"setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - ネットワー"
-"ã\82¯ã\83»ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\82\92æ\93\8dä½\9cã\81\99ã\82\8b"
+"クグループのエントリを操作する"
#. type: Plain text
#: build/C/man3/setnetgrent.3:19
"(Network Address Translation). Since some NAT gateways pass through IP "
"timestamp values, one IP can appear to have non-increasing timestamps. See "
"RFC 1323 (PAWS), RFC 6191."
-msgstr "TIME_WAIT ソケットの fast recycling を有効にする。 通常のインターネットと通信したり NAT (ネットワークアドレス変換) を使うデバイスでは、 このオプションを有効にするのは推奨されない。 いくつかの NAT ゲートウェイでは IP タイムスタンプをそのまま通過させるので、 一つの IP が増加しないタイムスタンプを持つように見える。 RFC 1323 (PAWS), RFC 6191 を参照。"
+msgstr "TIME_WAIT ソケットの素早い再利用 (fast recycling) を有効にする。 通常のインターネットと通信したり NAT (ネットワークアドレス変換) を使うデバイスでは、 このオプションを有効にするのは推奨されない。 いくつかの NAT ゲートウェイでは IP タイムスタンプをそのまま通過させるので、 一つの IP が増加しないタイムスタンプを持つように見える。 RFC 1323 (PAWS), RFC 6191 を参照。"
#. type: TP
#: build/C/man7/tcp.7:790
"UNIX ドメインに指定できるソケットタイプは以下の通りである。 B<SOCK_STREAM> "
"は、 ストリーム指向のソケットで有効である。 B<SOCK_DGRAM> は、 メッセージ境界"
"を保存するデータグラム指向のソケットで有効である (ほとんどの UNIX の実装で"
-"ã\81¯ã\80\81 UNIX ã\83\89ã\83¡ã\82¤ã\83³ã\83»ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\83»ソケットは常に信頼でき、 データグラムの並び"
+"ã\81¯ã\80\81 UNIX ã\83\89ã\83¡ã\82¤ã\83³ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ソケットは常に信頼でき、 データグラムの並び"
"替えは行わない)。 B<SOCK_SEQPACKET> は、 メッセージ境界を保存し送信された順序"
"でメッセージを届ける接続指向ソケットで有効である (Linux 2.6.4 以降で利用でき"
"る)。"
"option value less 32 bytes used for overhead."
msgstr ""
"B<SO_SNDBUF> ソケットオプションは UNIX ドメインソケットで効果を持つが、\n"
-"B<SO_RCVBUF> ã\81¯å\8a¹æ\9e\9cã\81\8cã\81ªã\81\84ã\80\82 ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\83»ã\82½ã\82±ã\83\83ã\83\88ã\81§ã\81¯ã\80\81 B<SO_SNDBUF> ã\81®å\80¤"
+"B<SO_RCVBUF> は効果がない。 データグラムソケットでは、 B<SO_SNDBUF> の値"
"が\n"
"出力データグラムの上限サイズとなる。 実際の上限値は、 B<SO_SNDBUF> オプショ"
"ン\n"
msgid ""
"UNIX domain stream sockets do not support the notion of out-of-band data."
msgstr ""
-"UNIX ã\83\89ã\83¡ã\82¤ã\83³ã\81®ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\83»ã\82½ã\82±ã\83\83ã\83\88ã\81§ã\81¯ã\80\81 帯å\9f\9få¤\96ã\83\87ã\83¼ã\82¿ã\81®æ¦\82念ã\81¯ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81ª"
+"UNIX ドメインのストリームソケットでは、 帯域外データの概念はサポートされな"
"い。"
#. The behavior on Solaris is quite similar.
"Jonathan Simon Naylor: \\(lqThe Re-Analysis and Re-Implementation of X.25."
"\\(rq The URL is E<.UR ftp://ftp.pspt.fi\\:/pub\\:/ham\\:/linux\\:/ax25\\:/"
"x25doc.tgz> E<.UE .>"
-
-#~ msgid "2014-03-31"
-#~ msgstr "2014-03-31"
-
-#~ msgid ""
-#~ "Enable fast recycling of TIME_WAIT sockets. Enabling this option is not "
-#~ "recommended since this causes problems when working with NAT (Network "
-#~ "Address Translation)."
-#~ msgstr ""
-#~ "TIME_WAIT ソケットの素早い再利用を有効にする。 このオプションを有効にする"
-#~ "と、 NAT (ネットワークアドレス変換) を用いていると問題が生じるので、 あま"
-#~ "り推奨しない。"
-
-#~ msgid "2014-02-22"
-#~ msgstr "2014-02-22"
-
-#~ msgid ""
-#~ "The older I<libinet6> libc5 based IPv6 API implementation for Linux is "
-#~ "not described here and may vary in details."
-#~ msgstr ""
-#~ "IPv6 API を libc5 ベースで Linux 向けに実装した、以前の I<libinet6> につい"
-#~ "てはここでは記述していない。 おそらく細かいところには相違点があるだろう。"
-
-#~ msgid ""
-#~ "The include file I<E<lt>netpacket/packet.hE<gt>> is present since glibc "
-#~ "2.1. Older systems need:"
-#~ msgstr ""
-#~ "インクルードファイル I<E<lt>netpacket/packet.hE<gt>> が存在するのは glibc "
-#~ "2.1 以降である。 それ以前のシステムでは以下のようにする必要がある:"
-
-#~ msgid ""
-#~ "Some versions of glibc forget to declare I<in_pktinfo>. Workaround "
-#~ "currently is to copy it into your program from this man page."
-#~ msgstr ""
-#~ "glibc のバージョンによっては I<in_pktinfo> の定義を忘れているものがある。 "
-#~ "現時点でのとりあえずの対策としては、この man ページにある定義をプログラム"
-#~ "中に コピーすることである。"
-
-#~ msgid ""
-#~ "If set, do not silently drop a packet on transmission error, but return "
-#~ "it with status set to B<TP_STATUS_WRONG_FORMAT>."
-#~ msgstr ""
-#~ "有効にすると、転送エラーの場合にパケットをエラーなしに黙って破棄せず、 ス"
-#~ "テータスを B<TP_STATUS_WRONG_FORMAT> にセットして返る。"