OSDN Git Service

ポインタ -> ポインター
[linuxjm/LDP_man-pages.git] / po4a / net / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:24+0900\n"
10 "PO-Revision-Date: 2015-01-25 07:21+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man7/arp.7:13
20 #, no-wrap
21 msgid "ARP"
22 msgstr "ARP"
23
24 #. type: TH
25 #: build/C/man7/arp.7:13
26 #, no-wrap
27 msgid "2008-11-25"
28 msgstr "2008-11-25"
29
30 #. type: TH
31 #: build/C/man7/arp.7:13 build/C/man3/cmsg.3:11 build/C/man7/ddp.7:12
32 #: build/C/man5/gai.conf.5:19 build/C/man1/getent.1:24
33 #: build/C/man3/getipnodebyname.3:26 build/C/man2/getpeername.2:42
34 #: build/C/man5/host.conf.5:26 build/C/man7/hostname.7:39
35 #: build/C/man5/hosts.5:27 build/C/man5/hosts.equiv.5:6 build/C/man7/icmp.7:12
36 #: build/C/man3/inet_net_pton.3:26 build/C/man3/inet_ntop.3:26
37 #: build/C/man3/inet_pton.3:27 build/C/man7/ip.7:36 build/C/man7/ipv6.7:86
38 #: build/C/man7/netdevice.7:18 build/C/man5/nss.5:19
39 #: build/C/man5/nsswitch.conf.5:25 build/C/man7/packet.7:12
40 #: build/C/man5/protocols.5:29 build/C/man7/raw.7:13 build/C/man3/rcmd.3:43
41 #: build/C/man3/rexec.3:41 build/C/man5/services.5:34
42 #: build/C/man2/shutdown.2:40 build/C/man7/tcp.7:76 build/C/man7/udp.7:12
43 #: build/C/man7/udplite.7:27 build/C/man7/unix.7:20 build/C/man7/x25.7:12
44 #, no-wrap
45 msgid "Linux"
46 msgstr "Linux"
47
48 #. type: TH
49 #: build/C/man7/arp.7:13 build/C/man3/byteorder.3:32 build/C/man3/cmsg.3:11
50 #: build/C/man7/ddp.7:12 build/C/man3/endian.3:28 build/C/man3/ether_aton.3:31
51 #: build/C/man5/gai.conf.5:19 build/C/man3/getaddrinfo.3:44
52 #: build/C/man3/getaddrinfo_a.3:29 build/C/man3/gethostbyname.3:38
53 #: build/C/man3/getipnodebyname.3:26 build/C/man3/getnameinfo.3:10
54 #: build/C/man3/getnetent.3:30 build/C/man3/getnetent_r.3:26
55 #: build/C/man2/getpeername.2:42 build/C/man3/getprotoent.3:30
56 #: build/C/man3/getprotoent_r.3:26 build/C/man3/getservent.3:34
57 #: build/C/man3/getservent_r.3:26 build/C/man7/hostname.7:39
58 #: build/C/man5/hosts.5:27 build/C/man5/hosts.equiv.5:6 build/C/man7/icmp.7:12
59 #: build/C/man3/inet.3:42 build/C/man3/inet_net_pton.3:26
60 #: build/C/man3/inet_ntop.3:26 build/C/man3/inet_pton.3:27
61 #: build/C/man7/ip.7:36 build/C/man7/ipv6.7:86 build/C/man7/netdevice.7:18
62 #: build/C/man8/nscd.8:23 build/C/man5/nscd.conf.5:20 build/C/man5/nss.5:19
63 #: build/C/man5/nsswitch.conf.5:25 build/C/man7/packet.7:12
64 #: build/C/man5/protocols.5:29 build/C/man7/raw.7:13 build/C/man3/rcmd.3:43
65 #: build/C/man5/resolv.conf.5:23 build/C/man3/resolver.3:32
66 #: build/C/man3/rexec.3:41 build/C/man5/services.5:34
67 #: build/C/man3/setnetgrent.3:10 build/C/man2/shutdown.2:40
68 #: build/C/man7/tcp.7:76 build/C/man7/udp.7:12 build/C/man7/udplite.7:27
69 #: build/C/man7/unix.7:20 build/C/man7/x25.7:12
70 #, no-wrap
71 msgid "Linux Programmer's Manual"
72 msgstr "Linux Programmer's Manual"
73
74 #. type: SH
75 #: build/C/man7/arp.7:14 build/C/man3/byteorder.3:33 build/C/man3/cmsg.3:12
76 #: build/C/man7/ddp.7:13 build/C/man3/endian.3:29 build/C/man3/ether_aton.3:32
77 #: build/C/man5/gai.conf.5:20 build/C/man3/getaddrinfo.3:45
78 #: build/C/man3/getaddrinfo_a.3:30 build/C/man1/getent.1:25
79 #: build/C/man3/gethostbyname.3:39 build/C/man3/getipnodebyname.3:27
80 #: build/C/man3/getnameinfo.3:11 build/C/man3/getnetent.3:31
81 #: build/C/man3/getnetent_r.3:27 build/C/man2/getpeername.2:43
82 #: build/C/man3/getprotoent.3:31 build/C/man3/getprotoent_r.3:27
83 #: build/C/man3/getservent.3:35 build/C/man3/getservent_r.3:27
84 #: build/C/man5/host.conf.5:27 build/C/man7/hostname.7:40
85 #: build/C/man5/hosts.5:28 build/C/man5/hosts.equiv.5:7 build/C/man7/icmp.7:13
86 #: build/C/man3/inet.3:43 build/C/man3/inet_net_pton.3:27
87 #: build/C/man3/inet_ntop.3:27 build/C/man3/inet_pton.3:28
88 #: build/C/man7/ip.7:37 build/C/man7/ipv6.7:87 build/C/man7/netdevice.7:19
89 #: build/C/man5/networks.5:27 build/C/man8/nscd.8:24
90 #: build/C/man5/nscd.conf.5:21 build/C/man5/nss.5:20
91 #: build/C/man5/nsswitch.conf.5:26 build/C/man7/packet.7:13
92 #: build/C/man5/protocols.5:30 build/C/man7/raw.7:14 build/C/man3/rcmd.3:44
93 #: build/C/man5/resolv.conf.5:25 build/C/man3/resolver.3:33
94 #: build/C/man3/rexec.3:42 build/C/man5/services.5:35
95 #: build/C/man3/setnetgrent.3:11 build/C/man2/shutdown.2:41
96 #: build/C/man7/tcp.7:77 build/C/man7/udp.7:13 build/C/man7/udplite.7:28
97 #: build/C/man7/unix.7:21 build/C/man7/x25.7:13
98 #, no-wrap
99 msgid "NAME"
100 msgstr "名前"
101
102 #. type: Plain text
103 #: build/C/man7/arp.7:16
104 msgid "arp - Linux ARP kernel module."
105 msgstr "arp - Linux ARP カーネルモジュール"
106
107 #. type: SH
108 #: build/C/man7/arp.7:16 build/C/man3/byteorder.3:48 build/C/man3/cmsg.3:37
109 #: build/C/man7/ddp.7:23 build/C/man3/endian.3:53 build/C/man3/ether_aton.3:57
110 #: build/C/man5/gai.conf.5:22 build/C/man3/getaddrinfo.3:76
111 #: build/C/man3/getaddrinfo_a.3:50 build/C/man1/getent.1:30
112 #: build/C/man3/gethostbyname.3:129 build/C/man3/getipnodebyname.3:44
113 #: build/C/man3/getnameinfo.3:32 build/C/man3/getnetent.3:48
114 #: build/C/man3/getnetent_r.3:62 build/C/man2/getpeername.2:50
115 #: build/C/man3/getprotoent.3:48 build/C/man3/getprotoent_r.3:59
116 #: build/C/man3/getservent.3:52 build/C/man3/getservent_r.3:59
117 #: build/C/man5/host.conf.5:29 build/C/man7/hostname.7:42
118 #: build/C/man5/hosts.5:32 build/C/man5/hosts.equiv.5:11
119 #: build/C/man7/icmp.7:15 build/C/man3/inet.3:75
120 #: build/C/man3/inet_net_pton.3:61 build/C/man3/inet_ntop.3:36
121 #: build/C/man3/inet_pton.3:36 build/C/man7/ip.7:53 build/C/man7/ipv6.7:99
122 #: build/C/man7/netdevice.7:25 build/C/man5/networks.5:29
123 #: build/C/man8/nscd.8:26 build/C/man5/nscd.conf.5:23 build/C/man5/nss.5:22
124 #: build/C/man5/nsswitch.conf.5:28 build/C/man7/packet.7:25
125 #: build/C/man5/protocols.5:32 build/C/man7/raw.7:22 build/C/man3/rcmd.3:92
126 #: build/C/man5/resolv.conf.5:29 build/C/man3/resolver.3:85
127 #: build/C/man3/rexec.3:56 build/C/man5/services.5:37
128 #: build/C/man3/setnetgrent.3:44 build/C/man2/shutdown.2:47
129 #: build/C/man7/tcp.7:87 build/C/man7/udp.7:23 build/C/man7/udplite.7:38
130 #: build/C/man7/unix.7:31 build/C/man7/x25.7:21
131 #, no-wrap
132 msgid "DESCRIPTION"
133 msgstr "説明"
134
135 #. type: Plain text
136 #: build/C/man7/arp.7:24
137 msgid "This kernel protocol module implements the Address Resolution Protocol defined in RFC\\ 826.  It is used to convert between Layer2 hardware addresses and IPv4 protocol addresses on directly connected networks.  The user normally doesn't interact directly with this module except to configure it; instead it provides a service for other protocols in the kernel."
138 msgstr "このカーネルプロトコルモジュールは、 RFC\\ 826 で定義されている Address Resolution Protocol を 実装したものである。 ARP は、ダイレクトに接続されたネットワーク上で、 第 2 層のハードウェアアドレスをIPv4 プロトコルアドレスに 変換するために用いられる。ユーザーは設定の場合を除いて 通常直接このモジュールに関ることはない。 これはカーネル内部の他のプロトコルにサービスを提供するものである。"
139
140 #. type: Plain text
141 #: build/C/man7/arp.7:37
142 msgid "A user process can receive ARP packets by using B<packet>(7)  sockets.  There is also a mechanism for managing the ARP cache in user-space by using B<netlink>(7)  sockets.  The ARP table can also be controlled via B<ioctl>(2)  on any B<AF_INET> socket."
143 msgstr "ユーザープロセスは、 B<packet>(7)  ソケットを用いれば ARP パケットを受信することができる。 ARP キャッシュをユーザー空間で管理することもできる。 これには B<netlink>(7)  を用いる。 ARP テーブルも制御可能で、これには任意の B<AF_INET> ソケットに B<ioctl>(2)  を用いる。"
144
145 #. type: Plain text
146 #: build/C/man7/arp.7:49
147 msgid "The ARP module maintains a cache of mappings between hardware addresses and protocol addresses.  The cache has a limited size so old and less frequently used entries are garbage-collected.  Entries which are marked as permanent are never deleted by the garbage-collector.  The cache can be directly manipulated by the use of ioctls and its behavior can be tuned by the I</proc> interfaces described below."
148 msgstr "ARP モジュールはハードウェアアドレスからプロトコルアドレスへの マッピングのキャッシュを管理する。キャッシュの大きさには制限が あるので、古いエントリや利用されないエントリはガベージコレクト される。 permanent (保存) マークがつけられたエントリは、 決してガベージコレクタによって消去されない。 ioctl を用いればキャッシュを直接操作することもできる。 また後述の I</proc> インタフェースによりキャッシュの振る舞いを調整できる。"
149
150 #. type: Plain text
151 #: build/C/man7/arp.7:72
152 msgid "When there is no positive feedback for an existing mapping after some time (see the I</proc> interfaces below), a neighbor cache entry is considered stale.  Positive feedback can be gotten from a higher layer; for example from a successful TCP ACK.  Other protocols can signal forward progress using the B<MSG_CONFIRM> flag to B<sendmsg>(2).  When there is no forward progress, ARP tries to reprobe.  It first tries to ask a local arp daemon B<app_solicit> times for an updated MAC address.  If that fails and an old MAC address is known, a unicast probe is sent B<ucast_solicit> times.  If that fails too, it will broadcast a new ARP request to the network.  Requests are sent only when there is data queued for sending."
153 msgstr "存在しているマッピングに対して、 正のフィードバックが一定時間ない (後述の I</proc> インタフェースを見よ) と、 近傍キャッシュエントリ (neighbor cache entry) は 古くなった (stale) とみなされる。 正のフィードバックは高位のレイヤーからも取得できる (例えば TCP ACK が成功した場合など)。 他のプロトコルは、 B<sendmsg>(2)  に B<MSG_CONFIRM> フラグを用いることによって、 フォワードプログレス (forward progress) をシグナルできる。 フォワードプログレスがなければ、 ARP は再びプローブを試みる。 まずローカルな arp デーモンに問合わせを行い、 更新された MAC アドレスを取得しようとする。 このリクエストに B<app_solicit> 回失敗すると、古い MAC アドレスがわかっている場合は、 unicast のプローブが B<ucaset_solicit> 回送られる。これにも失敗すると、新しい ARP リクエスト をネットワークにブロードキャストする。 リクエストは、データが送信キューにある場合のみ送られる。"
154
155 #. type: Plain text
156 #: build/C/man7/arp.7:77
157 msgid "Linux will automatically add a nonpermanent proxy arp entry when it receives a request for an address it forwards to and proxy arp is enabled on the receiving interface.  When there is a reject route for the target, no proxy arp entry is added."
158 msgstr "Linux は、あるアドレスへのリクエストを受信・フォワードし、 受信したインターフェースで代理 arp が有効になっている場合には、 自動的にそのアドレスを nonpermanent な代理 arp エントリに追加する。 そのターゲットに reject route があった場合には、 代理 arp エントリは一切追加されない。"
159
160 #. type: SS
161 #: build/C/man7/arp.7:77 build/C/man7/ddp.7:144 build/C/man7/ip.7:1075
162 #: build/C/man7/netdevice.7:64 build/C/man7/packet.7:479
163 #: build/C/man7/tcp.7:1127 build/C/man7/udp.7:202 build/C/man7/unix.7:367
164 #, no-wrap
165 msgid "Ioctls"
166 msgstr "ioctl"
167
168 #. type: Plain text
169 #: build/C/man7/arp.7:84
170 msgid "Three ioctls are available on all B<AF_INET> sockets.  They take a pointer to a I<struct arpreq> as their argument."
171 msgstr "すべての B<AF_INET> ソケットでは、 3 つの ioctl が使用できる。 これらは I<struct arpreq> へのポインターを引数に取る。"
172
173 #. type: Plain text
174 #: build/C/man7/arp.7:94
175 #, no-wrap
176 msgid ""
177 "struct arpreq {\n"
178 "    struct sockaddr arp_pa;      /* protocol address */\n"
179 "    struct sockaddr arp_ha;      /* hardware address */\n"
180 "    int             arp_flags;   /* flags */\n"
181 "    struct sockaddr arp_netmask; /* netmask of protocol address */\n"
182 "    char            arp_dev[16];\n"
183 "};\n"
184 msgstr ""
185 "struct arpreq {\n"
186 "    struct sockaddr arp_pa;      /* protocol address */\n"
187 "    struct sockaddr arp_ha;      /* hardware address */\n"
188 "    int             arp_flags;   /* flags */\n"
189 "    struct sockaddr arp_netmask; /* netmask of protocol address */\n"
190 "    char            arp_dev[16];\n"
191 "};\n"
192
193 #. type: Plain text
194 #: build/C/man7/arp.7:103
195 msgid "B<SIOCSARP>, B<SIOCDARP> and B<SIOCGARP> respectively set, delete and get an ARP mapping.  Setting and deleting ARP maps are privileged operations and may be performed only by a process with the B<CAP_NET_ADMIN> capability or an effective UID of 0."
196 msgstr "B<SIOCSARP>, B<SIOCDARP>, B<SIOCGARP> は、それぞれ ARP マッピングを設定・削除・取得する。 ARP マップの設定と削除は特権が必要な操作であり、 B<CAP_NET_ADMIN> 権限を持つプロセスか、実行ユーザー ID が 0 のプロセス でなければ実行できない。"
197
198 #. type: Plain text
199 #: build/C/man7/arp.7:113
200 msgid "I<arp_pa> must be an B<AF_INET> address and I<arp_ha> must have the same type as the device which is specified in I<arp_dev>.  I<arp_dev> is a zero-terminated string which names a device."
201 msgstr "I<arp_pa> は B<AF_INET> アドレスでなければならず、 I<arp_ha> は I<arp_dev> で設定されたデバイスと同じタイプでなければならない。 I<arp_dev> はデバイスの名前を示す、ゼロで終端された文字列である。"
202
203 #. type: tbl table
204 #: build/C/man7/arp.7:118
205 #, no-wrap
206 msgid "I<arp_flags>\n"
207 msgstr "I<arp_flags>\n"
208
209 #. type: tbl table
210 #: build/C/man7/arp.7:119
211 #, no-wrap
212 msgid "flag:meaning\n"
213 msgstr "フラグ:意味\n"
214
215 #. type: tbl table
216 #: build/C/man7/arp.7:120
217 #, no-wrap
218 msgid "ATF_COM:Lookup complete\n"
219 msgstr "ATF_COM:参照完了\n"
220
221 #. type: tbl table
222 #: build/C/man7/arp.7:121
223 #, no-wrap
224 msgid "ATF_PERM:Permanent entry\n"
225 msgstr "ATF_PERM:エントリを peramanent にする\n"
226
227 #. type: tbl table
228 #: build/C/man7/arp.7:122
229 #, no-wrap
230 msgid "ATF_PUBL:Publish entry\n"
231 msgstr "ATF_PUBL:エントリを publish する\n"
232
233 #. type: tbl table
234 #: build/C/man7/arp.7:123
235 #, no-wrap
236 msgid "ATF_USETRAILERS:Trailers requested\n"
237 msgstr "ATF_USETRAILERS:trailer が必要\n"
238
239 #. type: tbl table
240 #: build/C/man7/arp.7:124
241 #, no-wrap
242 msgid "ATF_NETMASK:Use a netmask\n"
243 msgstr "ATF_NETMASK:netmask を用いる\n"
244
245 #. type: tbl table
246 #: build/C/man7/arp.7:125
247 #, no-wrap
248 msgid "ATF_DONTPUB:Don't answer\n"
249 msgstr "ATF_DONTPUB:回答しない\n"
250
251 #. type: Plain text
252 #: build/C/man7/arp.7:138
253 msgid "If the B<ATF_NETMASK> flag is set, then I<arp_netmask> should be valid.  Linux 2.2 does not support proxy network ARP entries, so this should be set to 0xffffffff, or 0 to remove an existing proxy arp entry.  B<ATF_USETRAILERS> is obsolete and should not be used."
254 msgstr "B<ATF_NETMASK> フラグがセットされているときには、 I<arp_netmask> が有効でなければならない。 Linux 2.2 は代理ネットワーク ARP エントリをサポートしていないので、 これは 0xffffffff にセットしておくか、あるいは 現存の代理 arp エントリを削除したい場合には 0 にしておく必要がある。 B<ATF_USETRAILERS> は obsolete なので、用いるべきでない。"
255
256 #. type: SS
257 #: build/C/man7/arp.7:138 build/C/man7/ddp.7:122 build/C/man7/icmp.7:41
258 #: build/C/man7/ip.7:926 build/C/man7/tcp.7:219 build/C/man7/udp.7:137
259 #, no-wrap
260 msgid "/proc interfaces"
261 msgstr "/proc インタフェース"
262
263 #. type: Plain text
264 #: build/C/man7/arp.7:151
265 msgid "ARP supports a range of I</proc> interfaces to configure parameters on a global or per-interface basis.  The interfaces can be accessed by reading or writing the I</proc/sys/net/ipv4/neigh/*/*> files.  Each interface in the system has its own directory in I</proc/sys/net/ipv4/neigh/>.  The setting in the \"default\" directory is used for all newly created devices.  Unless otherwise specified, time-related interfaces are specified in seconds."
266 msgstr "ARP では、グローバルなパラメーターやインターフェースごとのパラメーターを I</proc> インタフェースを通して設定することができる。 これらのインタフェースには、 I<proc/sys/net/ipv4/neigh/*/*> ファイルの読み書きによりアクセスできる。 システムにあるそれぞれのインターフェースには、 それぞれ対応するディレクトリが I</proc/sys/net/ipv4/neigh/> 以下にある。 \"default\" ディレクトリに対して設定をすると、 それ以降生成されるデバイス全てに対してその設定が用いられる。 特に指定がなければ、時間に関る sysctl の単位は秒である。"
267
268 #. type: TP
269 #: build/C/man7/arp.7:151
270 #, no-wrap
271 msgid "I<anycast_delay> (since Linux 2.2)"
272 msgstr "I<anycast_delay> (Linux 2.2 以降)"
273
274 #.  Precisely: 2.1.79
275 #. type: Plain text
276 #: build/C/man7/arp.7:158
277 msgid "The maximum number of jiffies to delay before replying to a IPv6 neighbor solicitation message.  Anycast support is not yet implemented.  Defaults to 1 second."
278 msgstr "IPv6 の近傍要請メッセージ (neighbor soliciation message)  に応答するまでの最大遅延時間 (jiffy 単位)。 anycast のサポートはまだ実装されていない。 デフォルトは 1 秒。"
279
280 #. type: TP
281 #: build/C/man7/arp.7:158
282 #, no-wrap
283 msgid "I<app_solicit> (since Linux 2.2)"
284 msgstr "I<app_solicit> (Linux 2.2 以降)"
285
286 #.  Precisely: 2.1.79
287 #. type: Plain text
288 #: build/C/man7/arp.7:165
289 msgid "The maximum number of probes to send to the user space ARP daemon via netlink before dropping back to multicast probes (see I<mcast_solicit>).  Defaults to 0."
290 msgstr "ユーザー空間の ARP デーモンに netlink を用いて探索させる最大回数。 これを越えるとマルチキャストによる探索に移行する (I<mcast_solicit> を見よ)。"
291
292 #. type: TP
293 #: build/C/man7/arp.7:165
294 #, no-wrap
295 msgid "I<base_reachable_time> (since Linux 2.2)"
296 msgstr "I<base_reachable_time> (Linux 2.2 以降)"
297
298 #.  Precisely: 2.1.79
299 #. type: Plain text
300 #: build/C/man7/arp.7:176
301 msgid "Once a neighbor has been found, the entry is considered to be valid for at least a random value between I<base_reachable_time>/2 and 3*I<base_reachable_time>/2.  An entry's validity will be extended if it receives positive feedback from higher level protocols.  Defaults to 30 seconds.  This file is now obsolete in favor of I<base_reachable_time_ms>."
302 msgstr "近傍のホストがみつかると、そのエントリは I<base_reachable_time>/2 から 3*I<base_reachable_time>/2 の間のランダムな値の時間、有効であるとみなされる。 エントリの有効性は、高位のプロトコルからポジティブなフィードバックを 受け取ると延長される。デフォルトは 30 秒。 このファイルは現在は非推奨であり、代わりに I<base_reachable_time_ms> を使うこと。"
303
304 #. type: TP
305 #: build/C/man7/arp.7:176
306 #, no-wrap
307 msgid "I<base_reachable_time_ms> (since Linux 2.6.12)"
308 msgstr "I<base_reachable_time_ms> (Linux 2.6.12 以降)"
309
310 #. type: Plain text
311 #: build/C/man7/arp.7:182
312 msgid "As for I<base_reachable_time>, but measures time in milliseconds.  Defaults to 30000 milliseconds."
313 msgstr "I<base_reachable_time> と同じだが、時間をミリ秒単位で測る。 デフォルトは 30000 ミリ秒である。"
314
315 #. type: TP
316 #: build/C/man7/arp.7:182
317 #, no-wrap
318 msgid "I<delay_first_probe_time> (since Linux 2.2)"
319 msgstr "I<delay_first_probe_time> (Linux 2.2 以降)"
320
321 #.  Precisely: 2.1.79
322 #. type: Plain text
323 #: build/C/man7/arp.7:188
324 msgid "Delay before first probe after it has been decided that a neighbor is stale.  Defaults to 5 seconds."
325 msgstr "近傍ホストのエントリが古くなったと判断された後に 最初に探索を行うまでの遅延時間。デフォルトは 5 秒。"
326
327 #. type: TP
328 #: build/C/man7/arp.7:188
329 #, no-wrap
330 msgid "I<gc_interval> (since Linux 2.2)"
331 msgstr "I<gc_interval> (Linux 2.2 以降)"
332
333 #.  Precisely: 2.1.79
334 #. type: Plain text
335 #: build/C/man7/arp.7:194
336 msgid "How frequently the garbage collector for neighbor entries should attempt to run.  Defaults to 30 seconds."
337 msgstr "ガベージコレクタを近傍ホストエントリに対して実行させる頻度。 デフォルトは 30 秒。"
338
339 #. type: TP
340 #: build/C/man7/arp.7:194
341 #, no-wrap
342 msgid "I<gc_stale_time> (since Linux 2.2)"
343 msgstr "I<gc_stale_time> (Linux 2.2 以降)"
344
345 #.  Precisely: 2.1.79
346 #. type: Plain text
347 #: build/C/man7/arp.7:201
348 msgid "Determines how often to check for stale neighbor entries.  When a neighbor entry is considered stale, it is resolved again before sending data to it.  Defaults to 60 seconds."
349 msgstr "古くなった近傍ホストエントリに対してチェックを行う頻度。 近傍ホストエントリが古くなったとみなされると、そのエントリに データを送る前には再度解決が行われる。 デフォルトは 60 秒。"
350
351 #. type: TP
352 #: build/C/man7/arp.7:201
353 #, no-wrap
354 msgid "I<gc_thresh1> (since Linux 2.2)"
355 msgstr "I<gc_thresh1> (Linux 2.2 以降)"
356
357 #.  Precisely: 2.1.79
358 #. type: Plain text
359 #: build/C/man7/arp.7:208
360 msgid "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."
361 msgstr "ARP キャッシュに保存するエントリ数の最小値。 この数より少ないエントリしかキャッシュになければ、 ガベージコレクタは実行されない。 デフォルトは 128。"
362
363 #. type: TP
364 #: build/C/man7/arp.7:208
365 #, no-wrap
366 msgid "I<gc_thresh2> (since Linux 2.2)"
367 msgstr "I<gc_thresh2> (Linux 2.2 以降)"
368
369 #.  Precisely: 2.1.79
370 #. type: Plain text
371 #: build/C/man7/arp.7:215
372 msgid "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."
373 msgstr "ARP キャッシュに保存されるエントリ数のソフトな最大値。 キャッシュのエントリがこの数を 5 秒間越えつづけると、 ガベージコレクタが実行される。 デフォルトは 512。"
374
375 #. type: TP
376 #: build/C/man7/arp.7:215
377 #, no-wrap
378 msgid "I<gc_thresh3> (since Linux 2.2)"
379 msgstr "I<gc_thresh3> (Linux 2.2 以降)"
380
381 #.  Precisely: 2.1.79
382 #. type: Plain text
383 #: build/C/man7/arp.7:222
384 msgid "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."
385 msgstr "ARP キャッシュに保存されるエントリ数のハードな最大値。 キャッシュのエントリがこの数を越えると、 ガベージコレクタはただちに実行される。 デフォルトは 1024。"
386
387 #. type: TP
388 #: build/C/man7/arp.7:222
389 #, no-wrap
390 msgid "I<locktime> (since Linux 2.2)"
391 msgstr "I<locktime> (Linux 2.2 以降)"
392
393 #.  Precisely: 2.1.79
394 #. type: Plain text
395 #: build/C/man7/arp.7:229
396 msgid "The minimum number of jiffies to keep an ARP entry in the cache.  This prevents ARP cache thrashing if there is more than one potential mapping (generally due to network misconfiguration).  Defaults to 1 second."
397 msgstr "ARP エントリをキャッシュに保存する時間の最小値 (jiffy 単位)。 可能性のあるマッピングが一つ以上ある (たいていはネットワーク設定のミス)  場合に、 ARP キャッシュのスラッシングが起きることを防ぐ。 デフォルトは 1 秒。"
398
399 #. type: TP
400 #: build/C/man7/arp.7:229
401 #, no-wrap
402 msgid "I<mcast_solicit> (since Linux 2.2)"
403 msgstr "I<mcast_solicit> (Linux 2.2 以降)"
404
405 #.  Precisely: 2.1.79
406 #. type: Plain text
407 #: build/C/man7/arp.7:235
408 msgid "The maximum number of attempts to resolve an address by multicast/broadcast before marking the entry as unreachable.  Defaults to 3."
409 msgstr "エントリを unreachable マークする前に、 アドレスをマルチキャスト/ブロードキャストで解決しようとする 試行回数の最大値。 デフォルトは 3。"
410
411 #. type: TP
412 #: build/C/man7/arp.7:235
413 #, no-wrap
414 msgid "I<proxy_delay> (since Linux 2.2)"
415 msgstr "I<proxy_delay> (Linux 2.2 以降)"
416
417 #.  Precisely: 2.1.79
418 #. type: Plain text
419 #: build/C/man7/arp.7:243
420 msgid "When an ARP request for a known proxy-ARP address is received, delay up to I<proxy_delay> jiffies before replying.  This is used to prevent network flooding in some cases.  Defaults to 0.8 seconds."
421 msgstr "既知の代理 ARP アドレスに対して ARP リクエストを受信した場合に、 応答前に最大 I<proxy_delay> jiffy まで遅延する。これは場合によって生じる ネットワークフラッディング (network flooding) を避けるために用いる。 デフォルトは 0.8 秒。"
422
423 #. type: TP
424 #: build/C/man7/arp.7:243
425 #, no-wrap
426 msgid "I<proxy_qlen> (since Linux 2.2)"
427 msgstr "I<proxy_qlen> (Linux 2.2 以降)"
428
429 #.  Precisely: 2.1.79
430 #. type: Plain text
431 #: build/C/man7/arp.7:248
432 msgid "The maximum number of packets which may be queued to proxy-ARP addresses.  Defaults to 64."
433 msgstr "代理 ARP アドレスに対してキューイングできる最大のパケット数。 デフォルトは 64。"
434
435 #. type: TP
436 #: build/C/man7/arp.7:248
437 #, no-wrap
438 msgid "I<retrans_time> (since Linux 2.2)"
439 msgstr "I<retrans_time> (Linux 2.2 以降)"
440
441 #.  Precisely: 2.1.79
442 #. type: Plain text
443 #: build/C/man7/arp.7:255
444 msgid "The number of jiffies to delay before retransmitting a request.  Defaults to 1 second.  This file is now obsolete in favor of I<retrans_time_ms>."
445 msgstr "リクエストを再度送るまでの遅延時間 (jiffy 単位)。 デフォルトは 1 秒。 このファイルは現在は非推奨であり、代わりに I<retrans_time_ms> を使うこと。"
446
447 #. type: TP
448 #: build/C/man7/arp.7:255
449 #, no-wrap
450 msgid "I<retrans_time_ms> (since Linux 2.6.12)"
451 msgstr "I<retrans_time_ms> (Linux 2.6.12 以降)"
452
453 #. type: Plain text
454 #: build/C/man7/arp.7:259
455 msgid "The number of milliseconds to delay before retransmitting a request.  Defaults to 1000 milliseconds."
456 msgstr "リクエストを再度送るまでの遅延時間 (ミリ秒単位)。 デフォルトは 1000 ミリ秒。"
457
458 #. type: TP
459 #: build/C/man7/arp.7:259
460 #, no-wrap
461 msgid "I<ucast_solicit> (since Linux 2.2)"
462 msgstr "I<ucast_solicit> (Linux 2.2 以降)"
463
464 #.  Precisely: 2.1.79
465 #. type: Plain text
466 #: build/C/man7/arp.7:266
467 msgid "The maximum number of attempts to send unicast probes before asking the ARP daemon (see I<app_solicit>).  Defaults to 3."
468 msgstr "ARP デーモンへの問い合わせを行う前に行う unicast 探索の最大試行数 (I<app_solicit> を見よ)。デフォルトは 3。"
469
470 #. type: TP
471 #: build/C/man7/arp.7:266
472 #, no-wrap
473 msgid "I<unres_qlen> (since Linux 2.2)"
474 msgstr "I<unres_qlen> (Linux 2.2 以降)"
475
476 #.  Precisely: 2.1.79
477 #. type: Plain text
478 #: build/C/man7/arp.7:272
479 msgid "The maximum number of packets which may be queued for each unresolved address by other network layers.  Defaults to 3."
480 msgstr "解決されていないアドレスに対して、 他のネットワーク層からキューイングできる最大パケット数。 デフォルトは 3。"
481
482 #. type: SH
483 #: build/C/man7/arp.7:272 build/C/man7/ddp.7:221 build/C/man3/endian.3:74
484 #: build/C/man3/getnameinfo.3:203 build/C/man7/icmp.7:161
485 #: build/C/man7/ipv6.7:362 build/C/man7/packet.7:532 build/C/man7/raw.7:175
486 #: build/C/man3/rcmd.3:262 build/C/man3/rexec.3:138 build/C/man7/tcp.7:1244
487 #: build/C/man7/udp.7:251 build/C/man7/udplite.7:132 build/C/man7/unix.7:484
488 #: build/C/man7/x25.7:100
489 #, no-wrap
490 msgid "VERSIONS"
491 msgstr "バージョン"
492
493 #. type: Plain text
494 #: build/C/man7/arp.7:279
495 msgid "The I<struct arpreq> changed in Linux 2.0 to include the I<arp_dev> member and the ioctl numbers changed at the same time.  Support for the old ioctls was dropped in Linux 2.2."
496 msgstr "Linux 2.0 で、 I<struct arpreq> に I<arp_dev> メンバーが含まれるように変更があった。また同時に ioctl 番号も変更された。古い ioctl は Linux 2.2 で用いることができなくなった。"
497
498 #. type: Plain text
499 #: build/C/man7/arp.7:285
500 msgid "Support for proxy arp entries for networks (netmask not equal 0xffffffff)  was dropped in Linux 2.2.  It is replaced by automatic proxy arp setup by the kernel for all reachable hosts on other interfaces (when forwarding and proxy arp is enabled for the interface)."
501 msgstr "ネットワークに対する代理 arp エントリ (netmask が 0xffffffff でない)  は、 Linux 2.2 で用いることができなくなった。 これはカーネルによって設定される、別のインターフェースにおける 到達可能なすべてのホストに対する自動代理 arp によって置き換えられた (そのインターフェースでフォワーディングと代理 arp が有効になっている場合)。"
502
503 #. type: Plain text
504 #: build/C/man7/arp.7:289
505 msgid "The I<neigh/*> interfaces did not exist before Linux 2.2."
506 msgstr "I<neigh/*> の各インタフェースは Linux 2.2 以前には存在しない。"
507
508 #. type: SH
509 #: build/C/man7/arp.7:289 build/C/man7/ddp.7:244 build/C/man3/ether_aton.3:151
510 #: build/C/man3/gethostbyname.3:438 build/C/man3/inet_ntop.3:112
511 #: build/C/man3/inet_pton.3:150 build/C/man7/ip.7:1245 build/C/man7/ipv6.7:396
512 #: build/C/man7/netdevice.7:359 build/C/man7/packet.7:601
513 #: build/C/man7/raw.7:252 build/C/man3/rcmd.3:278 build/C/man3/rexec.3:158
514 #: build/C/man2/shutdown.2:104 build/C/man7/tcp.7:1251
515 #: build/C/man7/udplite.7:134 build/C/man7/unix.7:521 build/C/man7/x25.7:102
516 #, no-wrap
517 msgid "BUGS"
518 msgstr "バグ"
519
520 #. type: Plain text
521 #: build/C/man7/arp.7:293
522 msgid "Some timer settings are specified in jiffies, which is architecture- and kernel version-dependent; see B<time>(7)."
523 msgstr "いくつかのタイマー設定は jiffy で指定されるが、 jiffy はアーキテクチャやカーネルのバージョンに依存する。 B<time>(7)  を参照のこと。"
524
525 #. type: Plain text
526 #: build/C/man7/arp.7:299
527 msgid "There is no way to signal positive feedback from user space.  This means connection-oriented protocols implemented in user space will generate excessive ARP traffic, because ndisc will regularly reprobe the MAC address.  The same problem applies for some kernel protocols (e.g., NFS over UDP)."
528 msgstr "ユーザー空間からポジティブなフィードバックを送る方法が存在しない。 つまり接続指向 (connection-oriented) のプロトコルをユーザー空間で 実装すると、余計な ARP トラフィックの原因となる。 なぜなら ndisc は定期的に MAC アドレスを再探索するからである。 同様の問題はいくつかのカーネルプロトコル (NFS over UDP など) にも存在する。"
529
530 #. type: Plain text
531 #: build/C/man7/arp.7:302
532 msgid "This man page mashes together functionality that is IPv4-specific with functionality that is shared between IPv4 and IPv6."
533 msgstr "この man ページでは IPv4 特有の機能と IPv4 とIPv6 で共通の機能を一緒に説明している。"
534
535 #. type: SH
536 #: build/C/man7/arp.7:302 build/C/man3/byteorder.3:92 build/C/man3/cmsg.3:222
537 #: build/C/man7/ddp.7:249 build/C/man3/endian.3:151
538 #: build/C/man3/ether_aton.3:157 build/C/man5/gai.conf.5:93
539 #: build/C/man3/getaddrinfo.3:828 build/C/man3/getaddrinfo_a.3:600
540 #: build/C/man1/getent.1:368 build/C/man3/gethostbyname.3:443
541 #: build/C/man3/getipnodebyname.3:266 build/C/man3/getnameinfo.3:282
542 #: build/C/man3/getnetent.3:154 build/C/man3/getnetent_r.3:145
543 #: build/C/man2/getpeername.2:143 build/C/man3/getprotoent.3:142
544 #: build/C/man3/getprotoent_r.3:237 build/C/man3/getservent.3:159
545 #: build/C/man3/getservent_r.3:241 build/C/man5/host.conf.5:199
546 #: build/C/man7/hostname.7:85 build/C/man5/hosts.5:115
547 #: build/C/man5/hosts.equiv.5:84 build/C/man7/icmp.7:191
548 #: build/C/man3/inet.3:305 build/C/man3/inet_net_pton.3:390
549 #: build/C/man3/inet_ntop.3:118 build/C/man3/inet_pton.3:215
550 #: build/C/man7/ip.7:1272 build/C/man7/ipv6.7:407 build/C/man7/netdevice.7:373
551 #: build/C/man5/networks.5:74 build/C/man8/nscd.8:85
552 #: build/C/man5/nscd.conf.5:239 build/C/man5/nss.5:110
553 #: build/C/man5/nsswitch.conf.5:352 build/C/man7/packet.7:631
554 #: build/C/man5/protocols.5:81 build/C/man7/raw.7:269 build/C/man3/rcmd.3:285
555 #: build/C/man5/resolv.conf.5:301 build/C/man3/resolver.3:274
556 #: build/C/man3/rexec.3:167 build/C/man5/services.5:210
557 #: build/C/man3/setnetgrent.3:107 build/C/man2/shutdown.2:113
558 #: build/C/man7/tcp.7:1263 build/C/man7/udp.7:256 build/C/man7/udplite.7:146
559 #: build/C/man7/unix.7:616 build/C/man7/x25.7:118
560 #, no-wrap
561 msgid "SEE ALSO"
562 msgstr "関連項目"
563
564 #. type: Plain text
565 #: build/C/man7/arp.7:305
566 msgid "B<capabilities>(7), B<ip>(7)"
567 msgstr "B<capabilities>(7), B<ip>(7)"
568
569 #. type: Plain text
570 #: build/C/man7/arp.7:310
571 msgid "RFC\\ 826 for a description of ARP.  RFC\\ 2461 for a description of IPv6 neighbor discovery and the base algorithms used.  Linux 2.2+ IPv4 ARP uses the IPv6 algorithms when applicable."
572 msgstr "RFC \\ 826: ARP の説明。 RFC\\ 2461: IPv6 neighbor discovery の説明と利用されている基礎アルゴリズム。 Linux 2.2 以降では IPv4 ARP は可能な場合は IPv6 アルゴリズムを使っている。"
573
574 #. type: SH
575 #: build/C/man7/arp.7:310 build/C/man3/byteorder.3:96 build/C/man3/cmsg.3:227
576 #: build/C/man7/ddp.7:254 build/C/man3/endian.3:153
577 #: build/C/man3/ether_aton.3:159 build/C/man5/gai.conf.5:96
578 #: build/C/man3/getaddrinfo.3:838 build/C/man3/getaddrinfo_a.3:607
579 #: build/C/man1/getent.1:370 build/C/man3/gethostbyname.3:457
580 #: build/C/man3/getipnodebyname.3:271 build/C/man3/getnameinfo.3:315
581 #: build/C/man3/getnetent.3:161 build/C/man3/getnetent_r.3:148
582 #: build/C/man2/getpeername.2:150 build/C/man3/getprotoent.3:147
583 #: build/C/man3/getprotoent_r.3:240 build/C/man3/getservent.3:164
584 #: build/C/man3/getservent_r.3:244 build/C/man5/host.conf.5:204
585 #: build/C/man7/hostname.7:93 build/C/man5/hosts.5:126
586 #: build/C/man5/hosts.equiv.5:88 build/C/man7/icmp.7:195
587 #: build/C/man3/inet.3:316 build/C/man3/inet_net_pton.3:393
588 #: build/C/man3/inet_ntop.3:122 build/C/man3/inet_pton.3:219
589 #: build/C/man7/ip.7:1289 build/C/man7/ipv6.7:414 build/C/man7/netdevice.7:378
590 #: build/C/man5/networks.5:80 build/C/man8/nscd.8:91
591 #: build/C/man5/nscd.conf.5:244 build/C/man5/nss.5:112
592 #: build/C/man5/nsswitch.conf.5:355 build/C/man7/packet.7:654
593 #: build/C/man5/protocols.5:86 build/C/man7/raw.7:282 build/C/man3/rcmd.3:293
594 #: build/C/man5/resolv.conf.5:308 build/C/man3/resolver.3:280
595 #: build/C/man3/rexec.3:170 build/C/man5/services.5:222
596 #: build/C/man3/setnetgrent.3:111 build/C/man2/shutdown.2:117
597 #: build/C/man7/tcp.7:1289 build/C/man7/udp.7:267 build/C/man7/udplite.7:156
598 #: build/C/man7/unix.7:625 build/C/man7/x25.7:127
599 #, no-wrap
600 msgid "COLOPHON"
601 msgstr "この文書について"
602
603 #. type: Plain text
604 #: build/C/man7/arp.7:318 build/C/man3/byteorder.3:104 build/C/man3/cmsg.3:235
605 #: build/C/man7/ddp.7:262 build/C/man3/endian.3:161
606 #: build/C/man3/ether_aton.3:167 build/C/man5/gai.conf.5:104
607 #: build/C/man3/getaddrinfo.3:846 build/C/man3/getaddrinfo_a.3:615
608 #: build/C/man1/getent.1:378 build/C/man3/gethostbyname.3:465
609 #: build/C/man3/getipnodebyname.3:279 build/C/man3/getnameinfo.3:323
610 #: build/C/man3/getnetent.3:169 build/C/man3/getnetent_r.3:156
611 #: build/C/man2/getpeername.2:158 build/C/man3/getprotoent.3:155
612 #: build/C/man3/getprotoent_r.3:248 build/C/man3/getservent.3:172
613 #: build/C/man3/getservent_r.3:252 build/C/man5/host.conf.5:212
614 #: build/C/man7/hostname.7:101 build/C/man5/hosts.5:134
615 #: build/C/man5/hosts.equiv.5:96 build/C/man7/icmp.7:203
616 #: build/C/man3/inet.3:324 build/C/man3/inet_net_pton.3:401
617 #: build/C/man3/inet_ntop.3:130 build/C/man3/inet_pton.3:227
618 #: build/C/man7/ip.7:1297 build/C/man7/ipv6.7:422 build/C/man7/netdevice.7:386
619 #: build/C/man5/networks.5:88 build/C/man8/nscd.8:99
620 #: build/C/man5/nscd.conf.5:252 build/C/man5/nss.5:120
621 #: build/C/man5/nsswitch.conf.5:363 build/C/man7/packet.7:662
622 #: build/C/man5/protocols.5:94 build/C/man7/raw.7:290 build/C/man3/rcmd.3:301
623 #: build/C/man5/resolv.conf.5:316 build/C/man3/resolver.3:288
624 #: build/C/man3/rexec.3:178 build/C/man5/services.5:230
625 #: build/C/man3/setnetgrent.3:119 build/C/man2/shutdown.2:125
626 #: build/C/man7/tcp.7:1297 build/C/man7/udp.7:275 build/C/man7/udplite.7:164
627 #: build/C/man7/unix.7:633 build/C/man7/x25.7:135
628 msgid "This page is part of release 3.78 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
629 msgstr ""
630 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
631 "である。プロジェクトの説明とバグ報告に関する情報は\n"
632 "http://www.kernel.org/doc/man-pages/ に書かれている。"
633
634 #. type: TH
635 #: build/C/man3/byteorder.3:32
636 #, no-wrap
637 msgid "BYTEORDER"
638 msgstr "BYTEORDER"
639
640 #. type: TH
641 #: build/C/man3/byteorder.3:32
642 #, no-wrap
643 msgid "2014-04-08"
644 msgstr "2014-04-08"
645
646 #. type: TH
647 #: build/C/man3/byteorder.3:32 build/C/man3/endian.3:28
648 #: build/C/man3/ether_aton.3:31 build/C/man3/getaddrinfo.3:44
649 #: build/C/man3/getaddrinfo_a.3:29 build/C/man3/getnameinfo.3:10
650 #: build/C/man3/getnetent.3:30 build/C/man3/getnetent_r.3:26
651 #: build/C/man3/getprotoent.3:30 build/C/man3/getprotoent_r.3:26
652 #: build/C/man3/getservent.3:34 build/C/man3/getservent_r.3:26
653 #: build/C/man3/inet.3:42 build/C/man8/nscd.8:23 build/C/man5/nscd.conf.5:20
654 #: build/C/man3/resolver.3:32 build/C/man3/setnetgrent.3:10
655 #, no-wrap
656 msgid "GNU"
657 msgstr "GNU"
658
659 #. type: Plain text
660 #: build/C/man3/byteorder.3:36
661 msgid "htonl, htons, ntohl, ntohs - convert values between host and network byte order"
662 msgstr "htonl, htons, ntohl, ntohs - ホストバイトオーダーとネットワークバイトオーダーの間で値を変換する"
663
664 #. type: SH
665 #: build/C/man3/byteorder.3:36 build/C/man3/cmsg.3:14 build/C/man7/ddp.7:15
666 #: build/C/man3/endian.3:33 build/C/man3/ether_aton.3:35
667 #: build/C/man3/getaddrinfo.3:48 build/C/man3/getaddrinfo_a.3:33
668 #: build/C/man1/getent.1:27 build/C/man3/gethostbyname.3:46
669 #: build/C/man3/getipnodebyname.3:30 build/C/man3/getnameinfo.3:13
670 #: build/C/man3/getnetent.3:34 build/C/man3/getnetent_r.3:30
671 #: build/C/man2/getpeername.2:45 build/C/man3/getprotoent.3:34
672 #: build/C/man3/getprotoent_r.3:30 build/C/man3/getservent.3:38
673 #: build/C/man3/getservent_r.3:30 build/C/man5/hosts.5:30
674 #: build/C/man3/inet.3:46 build/C/man3/inet_net_pton.3:29
675 #: build/C/man3/inet_ntop.3:29 build/C/man3/inet_pton.3:30
676 #: build/C/man7/ip.7:39 build/C/man7/ipv6.7:89 build/C/man7/netdevice.7:21
677 #: build/C/man7/packet.7:15 build/C/man7/raw.7:16 build/C/man3/rcmd.3:48
678 #: build/C/man5/resolv.conf.5:27 build/C/man3/resolver.3:36
679 #: build/C/man3/rexec.3:44 build/C/man3/setnetgrent.3:14
680 #: build/C/man2/shutdown.2:43 build/C/man7/tcp.7:79 build/C/man7/udp.7:15
681 #: build/C/man7/udplite.7:30 build/C/man7/unix.7:23 build/C/man7/x25.7:15
682 #, no-wrap
683 msgid "SYNOPSIS"
684 msgstr "書式"
685
686 #. type: Plain text
687 #: build/C/man3/byteorder.3:39 build/C/man3/inet_net_pton.3:32
688 #: build/C/man3/inet_ntop.3:32 build/C/man3/inet_pton.3:33
689 #, no-wrap
690 msgid "B<#include E<lt>arpa/inet.hE<gt>>\n"
691 msgstr "B<#include E<lt>arpa/inet.hE<gt>>\n"
692
693 #. type: Plain text
694 #: build/C/man3/byteorder.3:41
695 #, no-wrap
696 msgid "B<uint32_t htonl(uint32_t >I<hostlong>B<);>\n"
697 msgstr "B<uint32_t htonl(uint32_t >I<hostlong>B<);>\n"
698
699 #. type: Plain text
700 #: build/C/man3/byteorder.3:43
701 #, no-wrap
702 msgid "B<uint16_t htons(uint16_t >I<hostshort>B<);>\n"
703 msgstr "B<uint16_t htons(uint16_t >I<hostshort>B<);>\n"
704
705 #. type: Plain text
706 #: build/C/man3/byteorder.3:45
707 #, no-wrap
708 msgid "B<uint32_t ntohl(uint32_t >I<netlong>B<);>\n"
709 msgstr "B<uint32_t ntohl(uint32_t >I<netlong>B<);>\n"
710
711 #. type: Plain text
712 #: build/C/man3/byteorder.3:47
713 #, no-wrap
714 msgid "B<uint16_t ntohs(uint16_t >I<netshort>B<);>\n"
715 msgstr "B<uint16_t ntohs(uint16_t >I<netshort>B<);>\n"
716
717 #. type: Plain text
718 #: build/C/man3/byteorder.3:54
719 msgid "The B<htonl>()  function converts the unsigned integer I<hostlong> from host byte order to network byte order."
720 msgstr "B<htonl>()  関数は unsigned integer I<hostlong> を ホストバイトオーダーからネットワークバイトオーダーに変換する。"
721
722 #. type: Plain text
723 #: build/C/man3/byteorder.3:60
724 msgid "The B<htons>()  function converts the unsigned short integer I<hostshort> from host byte order to network byte order."
725 msgstr "B<htons>()  関数は unsigned short integer I<hostshort> を ホストバイトオーダーからネットワークバイトオーダーに変換する。"
726
727 #. type: Plain text
728 #: build/C/man3/byteorder.3:66
729 msgid "The B<ntohl>()  function converts the unsigned integer I<netlong> from network byte order to host byte order."
730 msgstr "B<ntohl>()  関数は unsigned integer I<netlong> を ネットワークバイトオーダーからホストバイトオーダーに変換する。"
731
732 #. type: Plain text
733 #: build/C/man3/byteorder.3:72
734 msgid "The B<ntohs>()  function converts the unsigned short integer I<netshort> from network byte order to host byte order."
735 msgstr "B<ntohs>()  関数は unsigned short integer I<netshort> を ネットワークバイトオーダーからホストバイトオーダーに変換する。"
736
737 #. type: Plain text
738 #: build/C/man3/byteorder.3:76
739 msgid "On the i386 the host byte order is Least Significant Byte first, whereas the network byte order, as used on the Internet, is Most Significant Byte first."
740 msgstr "i80x86 のホストバイトオーダーでは最下位バイトが若いアドレスに配置されるが、 インターネットで用いられるネットワークバイトオーダーでは最上位バイト が先に配置される。"
741
742 #. type: SH
743 #: build/C/man3/byteorder.3:76 build/C/man3/ether_aton.3:127
744 #: build/C/man3/rexec.3:142
745 #, no-wrap
746 msgid "ATTRIBUTES"
747 msgstr "属性"
748
749 #. type: SS
750 #: build/C/man3/byteorder.3:77 build/C/man3/rexec.3:143
751 #, no-wrap
752 msgid "Multithreading (see pthreads(7))"
753 msgstr "マルチスレッディング (pthreads(7) 参照)"
754
755 #. type: Plain text
756 #: build/C/man3/byteorder.3:85
757 msgid "The B<htonl>(), B<htons>(), B<ntohl>(), and B<ntohs>()  functions are thread-safe."
758 msgstr "関数 B<htonl>(), B<htons>(), B<ntohl>(), B<ntohs>() はスレッドセーフである。"
759
760 #. type: SH
761 #: build/C/man3/byteorder.3:85 build/C/man3/cmsg.3:141
762 #: build/C/man3/endian.3:76 build/C/man3/ether_aton.3:149
763 #: build/C/man3/getaddrinfo.3:595 build/C/man3/getaddrinfo_a.3:305
764 #: build/C/man3/gethostbyname.3:317 build/C/man3/getipnodebyname.3:258
765 #: build/C/man3/getnameinfo.3:206 build/C/man3/getnetent.3:145
766 #: build/C/man3/getnetent_r.3:141 build/C/man2/getpeername.2:101
767 #: build/C/man3/getprotoent.3:140 build/C/man3/getprotoent_r.3:131
768 #: build/C/man3/getservent.3:157 build/C/man3/getservent_r.3:130
769 #: build/C/man3/inet.3:218 build/C/man3/inet_net_pton.3:159
770 #: build/C/man3/inet_ntop.3:100 build/C/man3/inet_pton.3:129
771 #: build/C/man3/rcmd.3:270 build/C/man3/resolver.3:272
772 #: build/C/man3/rexec.3:149 build/C/man3/setnetgrent.3:92
773 #: build/C/man2/shutdown.2:91
774 #, no-wrap
775 msgid "CONFORMING TO"
776 msgstr "準拠"
777
778 #. type: Plain text
779 #: build/C/man3/byteorder.3:87 build/C/man3/inet_pton.3:131
780 msgid "POSIX.1-2001."
781 msgstr "POSIX.1-2001."
782
783 #. type: Plain text
784 #: build/C/man3/byteorder.3:92
785 msgid "Some systems require the inclusion of I<E<lt>netinet/in.hE<gt>> instead of I<E<lt>arpa/inet.hE<gt>>."
786 msgstr "いくつかのシステムでは、 I<E<lt>arpa/inet.hE<gt>> の代わりに I<E<lt>netinet/in.hE<gt>> をインクルードする必要がある。"
787
788 #. type: Plain text
789 #: build/C/man3/byteorder.3:96
790 msgid "B<endian>(3), B<gethostbyname>(3), B<getservent>(3)"
791 msgstr "B<endian>(3), B<gethostbyname>(3), B<getservent>(3)"
792
793 #. type: TH
794 #: build/C/man3/cmsg.3:11
795 #, no-wrap
796 msgid "CMSG"
797 msgstr "CMSG"
798
799 #. type: TH
800 #: build/C/man3/cmsg.3:11 build/C/man5/resolv.conf.5:23 build/C/man7/unix.7:20
801 #, no-wrap
802 msgid "2014-12-31"
803 msgstr "2014-12-31"
804
805 #. type: Plain text
806 #: build/C/man3/cmsg.3:14
807 msgid "CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data"
808 msgstr "CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - 補助データにアクセスする。"
809
810 #. type: Plain text
811 #: build/C/man3/cmsg.3:16 build/C/man7/ddp.7:17 build/C/man2/getpeername.2:47
812 #: build/C/man7/ip.7:41 build/C/man7/ipv6.7:91 build/C/man7/raw.7:18
813 #: build/C/man2/shutdown.2:45 build/C/man7/tcp.7:81 build/C/man7/udp.7:17
814 #: build/C/man7/udplite.7:32 build/C/man7/unix.7:25 build/C/man7/x25.7:17
815 msgid "B<#include E<lt>sys/socket.hE<gt>>"
816 msgstr "B<#include E<lt>sys/socket.hE<gt>>"
817
818 #. type: Plain text
819 #: build/C/man3/cmsg.3:18
820 msgid "B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>"
821 msgstr "B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>"
822
823 #. type: Plain text
824 #: build/C/man3/cmsg.3:20
825 msgid "B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<, struct cmsghdr *>I<cmsg>B<);>"
826 msgstr "B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<, struct cmsghdr *>I<cmsg>B<);>"
827
828 #. type: Plain text
829 #: build/C/man3/cmsg.3:22
830 msgid "B<size_t CMSG_ALIGN(size_t >I<length>B<);>"
831 msgstr "B<size_t CMSG_ALIGN(size_t >I<length>B<);>"
832
833 #. type: Plain text
834 #: build/C/man3/cmsg.3:24
835 msgid "B<size_t CMSG_SPACE(size_t >I<length>B<);>"
836 msgstr "B<size_t CMSG_SPACE(size_t >I<length>B<);>"
837
838 #. type: Plain text
839 #: build/C/man3/cmsg.3:26
840 msgid "B<size_t CMSG_LEN(size_t >I<length>B<);>"
841 msgstr "B<size_t CMSG_LEN(size_t >I<length>B<);>"
842
843 #. type: Plain text
844 #: build/C/man3/cmsg.3:28
845 msgid "B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>"
846 msgstr "B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>"
847
848 #. type: Plain text
849 #: build/C/man3/cmsg.3:36
850 #, no-wrap
851 msgid ""
852 "struct cmsghdr {\n"
853 "    socklen_t cmsg_len;    /* data byte count, including header */\n"
854 "    int       cmsg_level;  /* originating protocol */\n"
855 "    int       cmsg_type;   /* protocol-specific type */\n"
856 "    /* followed by unsigned char cmsg_data[]; */\n"
857 "};\n"
858 msgstr ""
859 "struct cmsghdr {\n"
860 "    socklen_t cmsg_len;    /* data byte count, including header */\n"
861 "    int       cmsg_level;  /* originating protocol */\n"
862 "    int       cmsg_type;   /* protocol-specific type */\n"
863 "    /* followed by unsigned char cmsg_data[]; */\n"
864 "};\n"
865
866 #. type: Plain text
867 #: build/C/man3/cmsg.3:51
868 msgid "These macros are used to create and access control messages (also called ancillary data) that are not a part of the socket payload.  This control information may include the interface the packet was received on, various rarely used header fields, an extended error description, a set of file descriptors or UNIX credentials.  For instance, control messages can be used to send additional header fields such as IP options.  Ancillary data is sent by calling B<sendmsg>(2)  and received by calling B<recvmsg>(2).  See their manual pages for more information."
869 msgstr "これらのマクロは制御メッセージ (補助データ (ancillary data) とも呼ばれる) を作り、 それにアクセスするために使われる。 制御メッセージはソケットにのるデータではない。 この制御情報は、到着したパケットへのインターフェイス、様々なあまり 使われないヘッダーフィールド、エラー記述の拡張、ファイルデスクリ プタの集合や、UNIXにおける信頼情報 (credential) を含んでいる。 制御メッセージは、例えば IP オプションのような追加ヘッダーフィールドを 送るのに使う事ができる。 補助データは、 B<sendmsg>(2)  を呼び出して送り、 B<recvmsg>(2)  を呼び出して受け取る。 詳細はそれらのマニュアルページを参照。"
870
871 #. type: Plain text
872 #: build/C/man3/cmsg.3:62
873 msgid "Ancillary data is a sequence of I<struct cmsghdr> structures with appended data.  This sequence should be accessed using only the macros described in this manual page and never directly.  See the specific protocol man pages for the available control message types.  The maximum ancillary buffer size allowed per socket can be set using I</proc/sys/net/core/optmem_max>; see B<socket>(7)."
874 msgstr "補助データは I<struct cmsghdr> 構造体のシーケンスに追加データが付加されたものである。 このシーケンスにはこのマニュアルページに書かれている マクロを使ってアクセスすべきで、直接アクセスすべきではない。 使用可能な制御メッセージのタイプについては、 それぞれのプロトコルのマニュアルページを参照のこと。 接続毎の最大補助用バッファーサイズは I</proc/sys/net/core/optmem_max> を使って設定できる。 B<socket>(7)  を参照。"
875
876 #. type: Plain text
877 #: build/C/man3/cmsg.3:69
878 msgid "B<CMSG_FIRSTHDR>()  returns a pointer to the first I<cmsghdr> in the ancillary data buffer associated with the passed I<msghdr>."
879 msgstr "B<CMSG_FIRSTHDR>()  は、渡した I<msghdr> に関連した補助データバッファー中の、最初の I<cmsghdr> へのポインターを返す。"
880
881 #. type: Plain text
882 #: build/C/man3/cmsg.3:76
883 msgid "B<CMSG_NXTHDR>()  returns the next valid I<cmsghdr> after the passed I<cmsghdr>.  It returns NULL when there isn't enough space left in the buffer."
884 msgstr "B<CMSG_NXTHDR>()  は、渡した I<cmsghdr> の次にくる (有効な)  I<cmsghdr> を返す。 バッファーに十分な空きが無い場合、NULL を返す。"
885
886 #. type: Plain text
887 #: build/C/man3/cmsg.3:81
888 msgid "B<CMSG_ALIGN>(), given a length, returns it including the required alignment.  This is a constant expression."
889 msgstr "B<CMSG_ALIGN>()  に長さを与えると、必要なアラインメントを加味した長さを返してくる。 これは定数式である。"
890
891 #. type: Plain text
892 #: build/C/man3/cmsg.3:86
893 msgid "B<CMSG_SPACE>()  returns the number of bytes an ancillary element with payload of the passed data length occupies.  This is a constant expression."
894 msgstr "B<CMSG_SPACE>()  は、与えたデータ長が占めるのに必要な補助要素 (ancillary element) の バイト数を返す。これは定数式である。"
895
896 #. type: Plain text
897 #: build/C/man3/cmsg.3:90
898 msgid "B<CMSG_DATA>()  returns a pointer to the data portion of a I<cmsghdr>."
899 msgstr "B<CMSG_DATA>()  は、 I<cmsghdr> のデータ部分へのポインターを返す。"
900
901 #. type: Plain text
902 #: build/C/man3/cmsg.3:101
903 msgid "B<CMSG_LEN>()  returns the value to store in the I<cmsg_len> member of the I<cmsghdr> structure, taking into account any necessary alignment.  It takes the data length as an argument.  This is a constant expression."
904 msgstr "B<CMSG_LEN>()  は、 I<cmsghdr> 構造体の I<cmsg_len> メンバにデータを格納する際に必要な値を返す。アラインメントも考慮に入れ られる。 引数としてデータ長をとる。これは定数式である。"
905
906 #. type: Plain text
907 #: build/C/man3/cmsg.3:134
908 msgid "To create ancillary data, first initialize the I<msg_controllen> member of the I<msghdr> with the length of the control message buffer.  Use B<CMSG_FIRSTHDR>()  on the I<msghdr> to get the first control message and B<CMSG_NXTHDR>()  to get all subsequent ones.  In each control message, initialize I<cmsg_len> (with B<CMSG_LEN>()), the other I<cmsghdr> header fields, and the data portion using B<CMSG_DATA>().  Finally, the I<msg_controllen> field of the I<msghdr> should be set to the sum of the B<CMSG_SPACE>()  of the length of all control messages in the buffer.  For more information on the I<msghdr>, see B<recvmsg>(2)."
909 msgstr "補助データを作るためには最初に I<msghdr> のメンバー I<msg_controllen> を、制御メッセージバッファーの長さで初期化する。 B<CMSG_FIRSTHDR>()  を I<msghdr> に用いると最初の制御メッセージが得られ、 B<CMSG_NXTHDR>()  を使うと次の制御メッセージが得られる。 それぞれの制御メッセージでは、 I<cmsg_len> を初期化する (B<CMSG_LEN>()  を使う)。 その他の I<cmsghdr> ヘッダーフィールド、そしてデータ部分に対しても B<CMSG_DATA>()  を使って初期化をする。 最後に I<msghdr> の I<msg_controllen> フィールドに、バッファー中の制御メッセージの長さの B<CMSG_SPACE>()  の合計がセットされる。 I<msghdr> についての詳細は B<recvmsg>(2)  を参照。"
910
911 #. type: Plain text
912 #: build/C/man3/cmsg.3:141
913 msgid "When the control message buffer is too short to store all messages, the B<MSG_CTRUNC> flag is set in the I<msg_flags> member of the I<msghdr>."
914 msgstr "制御メッセージバッファーが全てのメッセージを納めるのには短すぎる場合、 I<msghdr> の I<msg_flags> メンバーに B<MSG_CTRUNC> フラグがセットされる。"
915
916 #. type: Plain text
917 #: build/C/man3/cmsg.3:146
918 msgid "This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the IPv6 advanced API described in RFC\\ 2292 and SUSv2.  B<CMSG_ALIGN>()  is a Linux extension."
919 msgstr "この補助データモデルは、POSIX.1g draft, 4.4BSD-Lite, RFC\\ 2292 に 記述されている IPv6 advanced API, そして SUSv2 に準拠している。 B<CMSG_ALIGN>()  は Linux の拡張である。"
920
921 #. type: SH
922 #: build/C/man3/cmsg.3:146 build/C/man7/ddp.7:226 build/C/man3/endian.3:91
923 #: build/C/man3/getaddrinfo.3:600 build/C/man3/getaddrinfo_a.3:308
924 #: build/C/man3/gethostbyname.3:341 build/C/man3/getipnodebyname.3:261
925 #: build/C/man3/getnameinfo.3:208 build/C/man3/getnetent.3:147
926 #: build/C/man2/getpeername.2:105 build/C/man5/host.conf.5:190
927 #: build/C/man5/hosts.5:88 build/C/man5/hosts.equiv.5:71
928 #: build/C/man7/icmp.7:169 build/C/man3/inet.3:226
929 #: build/C/man3/inet_net_pton.3:165 build/C/man3/inet_pton.3:131
930 #: build/C/man7/ip.7:1183 build/C/man7/ipv6.7:386 build/C/man7/netdevice.7:341
931 #: build/C/man8/nscd.8:60 build/C/man5/nscd.conf.5:232
932 #: build/C/man5/nsswitch.conf.5:333 build/C/man7/packet.7:538
933 #: build/C/man7/raw.7:187 build/C/man3/setnetgrent.3:103
934 #: build/C/man2/shutdown.2:95 build/C/man7/unix.7:490
935 #, no-wrap
936 msgid "NOTES"
937 msgstr "注意"
938
939 #. type: Plain text
940 #: build/C/man3/cmsg.3:151
941 msgid "For portability, ancillary data should be accessed using only the macros described here.  B<CMSG_ALIGN>()  is a Linux extension and should not be used in portable programs."
942 msgstr "移植性のために、補助データへのアクセスには、 ここで述べられているマクロだけを使うべきである。 B<CMSG_ALIGN>()  は Linux での拡張であり、移植性を考えたプログラムでは使うべきではない。"
943
944 #. type: Plain text
945 #: build/C/man3/cmsg.3:161
946 msgid "In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>()  are constant expressions (assuming their argument is constant); this could be used to declare the size of global variables.  This may not be portable, however."
947 msgstr "Linux では B<CMSG_LEN>(), B<CMSG_DATA>(), B<CMSG_ALIGN>()  は定数式である (それらの引数が定数とみなされる)。 このことは、大域変数のサイズを宣言するのに使える。 しかし移植性はなくなるだろう。"
948
949 #. type: SH
950 #: build/C/man3/cmsg.3:161 build/C/man3/endian.3:107
951 #: build/C/man5/gai.conf.5:74 build/C/man3/getaddrinfo.3:623
952 #: build/C/man3/getaddrinfo_a.3:314 build/C/man3/getnameinfo.3:243
953 #: build/C/man3/getprotoent_r.3:135 build/C/man3/getservent_r.3:134
954 #: build/C/man5/hosts.5:107 build/C/man3/inet.3:262
955 #: build/C/man3/inet_net_pton.3:247 build/C/man3/inet_ntop.3:115
956 #: build/C/man3/inet_pton.3:156 build/C/man5/nss.5:100 build/C/man7/unix.7:608
957 #, no-wrap
958 msgid "EXAMPLE"
959 msgstr "例"
960
961 #. type: Plain text
962 #: build/C/man3/cmsg.3:165
963 msgid "This code looks for the B<IP_TTL> option in a received ancillary buffer:"
964 msgstr "次のコードは、受け取った補助バッファーから B<IP_TTL> オプションを探すものである。"
965
966 #. type: Plain text
967 #: build/C/man3/cmsg.3:172
968 #, no-wrap
969 msgid ""
970 "struct msghdr msgh;\n"
971 "struct cmsghdr *cmsg;\n"
972 "int *ttlptr;\n"
973 "int received_ttl;\n"
974 msgstr ""
975 "struct msghdr msgh;\n"
976 "struct cmsghdr *cmsg;\n"
977 "int *ttlptr;\n"
978 "int received_ttl;\n"
979
980 #. type: Plain text
981 #: build/C/man3/cmsg.3:189
982 #, no-wrap
983 msgid ""
984 "/* Receive auxiliary data in msgh */\n"
985 "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
986 "        cmsg = CMSG_NXTHDR(&msgh,cmsg)) {\n"
987 "    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
988 "            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
989 "        ttlptr = (int *) CMSG_DATA(cmsg);\n"
990 "        received_ttl = *ttlptr;\n"
991 "        break;\n"
992 "    }\n"
993 "}\n"
994 "if (cmsg == NULL) {\n"
995 "    /*\n"
996 "     * Error: IP_TTL not enabled or small buffer\n"
997 "     * or I/O error.\n"
998 "     */\n"
999 "}\n"
1000 msgstr ""
1001 "/* Receive auxiliary data in msgh */\n"
1002 "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
1003 "        cmsg = CMSG_NXTHDR(&msgh,cmsg)) {\n"
1004 "    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
1005 "            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
1006 "        ttlptr = (int *) CMSG_DATA(cmsg);\n"
1007 "        received_ttl = *ttlptr;\n"
1008 "        break;\n"
1009 "    }\n"
1010 "}\n"
1011 "if (cmsg == NULL) {\n"
1012 "    /*\n"
1013 "     * Error: IP_TTL not enabled or small buffer\n"
1014 "     * or I/O error.\n"
1015 "     */\n"
1016 "}\n"
1017
1018 #. type: Plain text
1019 #: build/C/man3/cmsg.3:195
1020 msgid "The code below passes an array of file descriptors over a UNIX domain socket using B<SCM_RIGHTS>:"
1021 msgstr "以下のコードは、 B<SCM_RIGHTS> を使い、ファイルデスクリプタの配列を UNIX ドメインソケットを通して送るものである。"
1022
1023 #. type: Plain text
1024 #: build/C/man3/cmsg.3:208
1025 #, no-wrap
1026 msgid ""
1027 "struct msghdr msg = {0};\n"
1028 "struct cmsghdr *cmsg;\n"
1029 "int myfds[NUM_FD]; /* Contains the file descriptors to pass. */\n"
1030 "union {\n"
1031 "    /* ancillary data buffer, wrapped in a union in order to ensure it is\n"
1032 "       suitably aligned */\n"
1033 "    char buf[CMSG_SPACE(sizeof myfds)];\n"
1034 "    struct cmsghdr align;\n"
1035 "} u;\n"
1036 "int *fdptr;\n"
1037 msgstr ""
1038 "struct msghdr msg = {0};\n"
1039 "struct cmsghdr *cmsg;\n"
1040 "int myfds[NUM_FD]; /* Contains the file descriptors to pass. */\n"
1041 "union {\n"
1042 "    /* ancillary data buffer, wrapped in a union in order to ensure it is\n"
1043 "       suitably aligned */\n"
1044 "    char buf[CMSG_SPACE(sizeof myfds)];\n"
1045 "    struct cmsghdr align;\n"
1046 "} u;\n"
1047 "int *fdptr;\n"
1048
1049 #. type: Plain text
1050 #: build/C/man3/cmsg.3:220
1051 #, no-wrap
1052 msgid ""
1053 "msg.msg_control = u.buf;\n"
1054 "msg.msg_controllen = sizeof u.buf;\n"
1055 "cmsg = CMSG_FIRSTHDR(&msg);\n"
1056 "cmsg-E<gt>cmsg_level = SOL_SOCKET;\n"
1057 "cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
1058 "cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(int) * NUM_FD);\n"
1059 "/* Initialize the payload: */\n"
1060 "fdptr = (int *) CMSG_DATA(cmsg);\n"
1061 "memcpy(fdptr, myfds, NUM_FD * sizeof(int));\n"
1062 "/* Sum of the length of all control messages in the buffer: */\n"
1063 "msg.msg_controllen = cmsg-E<gt>cmsg_len;\n"
1064 msgstr ""
1065 "msg.msg_control = u.buf;\n"
1066 "msg.msg_controllen = sizeof u.buf;\n"
1067 "cmsg = CMSG_FIRSTHDR(&msg);\n"
1068 "cmsg-E<gt>cmsg_level = SOL_SOCKET;\n"
1069 "cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
1070 "cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(int) * NUM_FD);\n"
1071 "/* Initialize the payload: */\n"
1072 "fdptr = (int *) CMSG_DATA(cmsg);\n"
1073 "memcpy(fdptr, myfds, NUM_FD * sizeof(int));\n"
1074 "/* Sum of the length of all control messages in the buffer: */\n"
1075 "msg.msg_controllen = cmsg-E<gt>cmsg_len;\n"
1076
1077 #. type: Plain text
1078 #: build/C/man3/cmsg.3:225
1079 msgid "B<recvmsg>(2), B<sendmsg>(2)"
1080 msgstr "B<recvmsg>(2), B<sendmsg>(2)"
1081
1082 #. type: Plain text
1083 #: build/C/man3/cmsg.3:227
1084 msgid "RFC\\ 2292"
1085 msgstr "RFC\\ 2292"
1086
1087 #. type: TH
1088 #: build/C/man7/ddp.7:12
1089 #, no-wrap
1090 msgid "DDP"
1091 msgstr "DDP"
1092
1093 #. type: TH
1094 #: build/C/man7/ddp.7:12
1095 #, no-wrap
1096 msgid "2008-11-20"
1097 msgstr "2008-11-20"
1098
1099 #. type: Plain text
1100 #: build/C/man7/ddp.7:15
1101 msgid "ddp - Linux AppleTalk protocol implementation"
1102 msgstr "ddp - Linux での AppleTalk プロトコルの実装"
1103
1104 #. type: Plain text
1105 #: build/C/man7/ddp.7:19
1106 msgid "B<#include E<lt>netatalk/at.hE<gt>>"
1107 msgstr "B<#include E<lt>netatalk/at.hE<gt>>"
1108
1109 #. type: Plain text
1110 #: build/C/man7/ddp.7:21
1111 msgid "I<ddp_socket>B< = socket(AF_APPLETALK, SOCK_DGRAM, 0);>"
1112 msgstr "I<ddp_socket>B< = socket(AF_APPLETALK, SOCK_DGRAM, 0);>"
1113
1114 #. type: Plain text
1115 #: build/C/man7/ddp.7:23
1116 msgid "I<raw_socket>B< = socket(AF_APPLETALK, SOCK_RAW, >I<protocol>B<);>"
1117 msgstr "I<raw_socket>B< = socket(AF_APPLETALK, SOCK_RAW, >I<protocol>B<);>"
1118
1119 #. type: Plain text
1120 #: build/C/man7/ddp.7:34
1121 msgid "Linux implements the AppleTalk protocols described in I<Inside AppleTalk>.  Only the DDP layer and AARP are present in the kernel.  They are designed to be used via the B<netatalk> protocol libraries.  This page documents the interface for those who wish or need to use the DDP layer directly."
1122 msgstr "Linux は I<Inside AppleTalk> に記述されている AppleTalk プロトコルを実装している。 カーネルにあるのは DDP 層と AARP だけである。これらは B<netatalk> プロトコルライブラリを通して利用されるように設計されている。 このページは DDP 層を直接利用したいユーザーのために、 インターフェースを記述したものである。"
1123
1124 #. type: Plain text
1125 #: build/C/man7/ddp.7:39
1126 msgid "The communication between AppleTalk and the user program works using a BSD-compatible socket interface.  For more information on sockets, see B<socket>(7)."
1127 msgstr "AppleTalk とユーザープログラムとの通信には、 BSD 互換のソケットインターフェースを利用する。 ソケットに関するより詳しい情報は B<socket>(7)  を見よ。"
1128
1129 #. type: Plain text
1130 #: build/C/man7/ddp.7:60
1131 msgid "An AppleTalk socket is created by calling the B<socket>(2)  function with a B<AF_APPLETALK> socket family argument.  Valid socket types are B<SOCK_DGRAM> to open a B<ddp> socket or B<SOCK_RAW> to open a B<raw> socket.  I<protocol> is the AppleTalk protocol to be received or sent.  For B<SOCK_RAW> you must specify B<ATPROTO_DDP>."
1132 msgstr "AppleTalk ソケットは、 ソケットファミリーの引数に B<AF_APPLETALK> を指定して B<socket>(2)  関数を呼び出すことによって生成される。指定できるソケットタイプは、 B<ddp> ソケットをオープンする場合には B<SOCK_DGRAM>、 B<raw> ソケットをオープンする場合には B<SOCK_RAW> である。 I<protocol> は送受信される AppleTalk プロトコルである。 ソケットタイプに B<SOCK_RAW> を指定した場合は、プロトコルに B<ATPROTO_DDP> を指定しなければならない。"
1133
1134 #. type: Plain text
1135 #: build/C/man7/ddp.7:65
1136 msgid "Raw sockets may be opened only by a process with effective user ID 0 or when the process has the B<CAP_NET_RAW> capability."
1137 msgstr "raw ソケットは実効ユーザー ID が 0 のプロセスか、 B<CAT_NEW_RAW> 権限を持ったプロセスでないとオープンできない。"
1138
1139 #. type: SS
1140 #: build/C/man7/ddp.7:65 build/C/man7/ip.7:123 build/C/man7/ipv6.7:142
1141 #: build/C/man7/raw.7:93 build/C/man7/udp.7:98 build/C/man7/udplite.7:58
1142 #: build/C/man7/unix.7:57
1143 #, no-wrap
1144 msgid "Address format"
1145 msgstr "アドレスのフォーマット"
1146
1147 #. type: Plain text
1148 #: build/C/man7/ddp.7:68
1149 msgid "An AppleTalk socket address is defined as a combination of a network number, a node number, and a port number."
1150 msgstr "AppleTalk ソケットアドレスはネットワーク番号、 ノード番号、 ポート番号の組み合わせで定義される。"
1151
1152 #. type: Plain text
1153 #: build/C/man7/ddp.7:75
1154 #, no-wrap
1155 msgid ""
1156 "struct at_addr {\n"
1157 "    unsigned short s_net;\n"
1158 "    unsigned char  s_node;\n"
1159 "};\n"
1160 msgstr ""
1161 "struct at_addr {\n"
1162 "    unsigned short s_net;\n"
1163 "    unsigned char  s_node;\n"
1164 "};\n"
1165
1166 #. type: Plain text
1167 #: build/C/man7/ddp.7:81
1168 #, no-wrap
1169 msgid ""
1170 "struct sockaddr_atalk {\n"
1171 "    sa_family_t    sat_family;    /* address family */\n"
1172 "    unsigned char  sat_port;      /* port */\n"
1173 "    struct at_addr sat_addr;      /* net/node */\n"
1174 "};\n"
1175 msgstr ""
1176 "struct sockaddr_atalk {\n"
1177 "    sa_family_t    sat_family;    /* address family */\n"
1178 "    unsigned char  sat_port;      /* port */\n"
1179 "    struct at_addr sat_addr;      /* net/node */\n"
1180 "};\n"
1181
1182 #.  FIXME . this doesn't make sense [johnl]
1183 #. type: Plain text
1184 #: build/C/man7/ddp.7:120
1185 msgid "I<sat_family> is always set to B<AF_APPLETALK>.  I<sat_port> contains the port.  The port numbers below 129 are known as I<reserved ports>.  Only processes with the effective user ID 0 or the B<CAP_NET_BIND_SERVICE> capability may B<bind>(2)  to these sockets.  I<sat_addr> is the host address.  The I<net> member of I<struct at_addr> contains the host network in network byte order.  The value of B<AT_ANYNET> is a wildcard and also implies \\(lqthis network.\\(rq The I<node> member of I<struct at_addr> contains the host node number.  The value of B<AT_ANYNODE> is a wildcard and also implies \\(lqthis node.\\(rq The value of B<ATADDR_BCAST> is a link local broadcast address."
1186 msgstr "I<sat_family> は常に B<AF_APPLETALK> に設定する。 I<sat_port> はポートを与える。ポート番号が 129 以下のポートは 「予約ポート (reserved port)」 と呼ばれる。実効ユーザー ID が 0 のプロセスか、 B<CAP_NET_BIND_SERVICE> 権限を持つプロセスだけが、このようなソケットを B<bind>(2)  できる。 I<sat_addr> はホストアドレスである。 I<struct at_addr> のメンバー I<s_net> にはホストのネットワークをネットワークバイトオーダーで与える。値 B<AT_ANYNET> はワイルドカードで、「このネットワーク」も暗黙のうちに含まれる。 I<struct at_addr> のメンバー I<s_node> にはホストのノード番号を与える。値 B<AT_ANYNODE> はワイルドカードで、「このノード」も暗黙のうちに含まれる。値 B<ATADDR_BCAST> はローカルなブロードキャストアドレスである。"
1187
1188 #. type: SS
1189 #: build/C/man7/ddp.7:120 build/C/man7/ip.7:224 build/C/man7/ipv6.7:192
1190 #: build/C/man7/packet.7:180 build/C/man7/raw.7:109 build/C/man7/tcp.7:889
1191 #: build/C/man7/udp.7:178 build/C/man7/udplite.7:67 build/C/man7/unix.7:220
1192 #: build/C/man7/x25.7:72
1193 #, no-wrap
1194 msgid "Socket options"
1195 msgstr "ソケットオプション"
1196
1197 #. type: Plain text
1198 #: build/C/man7/ddp.7:122
1199 msgid "No protocol-specific socket options are supported."
1200 msgstr "プロトコル固有のソケットオプションはない。"
1201
1202 #. type: Plain text
1203 #: build/C/man7/ddp.7:128
1204 msgid "IP supports a set of I</proc> interfaces to configure some global AppleTalk parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/atalk/>."
1205 msgstr "Appletalk のグローバルパラメーターのいくつかは、 I</proc> インタフェースを通して設定することができる。 これらのパラメーターには、 I</proc/sys/net/atalk/> ディレクトリ内のファイルの読み書きでアクセスできる。"
1206
1207 #. type: TP
1208 #: build/C/man7/ddp.7:128
1209 #, no-wrap
1210 msgid "I<aarp-expiry-time>"
1211 msgstr "I<aarp-expiry-time>"
1212
1213 #. type: Plain text
1214 #: build/C/man7/ddp.7:131
1215 msgid "The time interval (in seconds) before an AARP cache entry expires."
1216 msgstr "AARP キャッシュエントリを破棄するまでのタイムインターバル (秒単位)。"
1217
1218 #. type: TP
1219 #: build/C/man7/ddp.7:131
1220 #, no-wrap
1221 msgid "I<aarp-resolve-time>"
1222 msgstr "I<aarp-resolve-time>"
1223
1224 #. type: Plain text
1225 #: build/C/man7/ddp.7:134
1226 msgid "The time interval (in seconds) before an AARP cache entry is resolved."
1227 msgstr "AARP キャッシュエントリが解決されるまでのタイムインターバル (秒単位)。"
1228
1229 #. type: TP
1230 #: build/C/man7/ddp.7:134
1231 #, no-wrap
1232 msgid "I<aarp-retransmit-limit>"
1233 msgstr "I<aarp-retransmit-limit>"
1234
1235 #. type: Plain text
1236 #: build/C/man7/ddp.7:138
1237 msgid "The number of retransmissions of an AARP query before the node is declared dead."
1238 msgstr "AARP クエリーの最大再送信回数。この回数を越えると、 そのノードは dead であるとみなされる。"
1239
1240 #. type: TP
1241 #: build/C/man7/ddp.7:138
1242 #, no-wrap
1243 msgid "I<aarp-tick-time>"
1244 msgstr "I<aarp-tick-time>"
1245
1246 #. type: Plain text
1247 #: build/C/man7/ddp.7:141
1248 msgid "The timer rate (in seconds) for the timer driving AARP."
1249 msgstr "タイマー動作する AARP のタイマーレート (秒単位)"
1250
1251 #. type: Plain text
1252 #: build/C/man7/ddp.7:144
1253 msgid "The default values match the specification and should never need to be changed."
1254 msgstr "デフォルトの値で仕様にマッチしているので、 変更する必要は全くないはずである。"
1255
1256 #.  FIXME . Add a section about multicasting
1257 #. type: Plain text
1258 #: build/C/man7/ddp.7:149
1259 msgid "All ioctls described in B<socket>(7)  apply to DDP."
1260 msgstr "B<socket>(7)  に記述されているすべての ioctl が DDP にも適用される。"
1261
1262 #. type: SH
1263 #: build/C/man7/ddp.7:149 build/C/man3/gethostbyname.3:292
1264 #: build/C/man3/getnetent_r.3:129 build/C/man2/getpeername.2:73
1265 #: build/C/man3/getprotoent_r.3:119 build/C/man3/getservent_r.3:118
1266 #: build/C/man3/inet_net_pton.3:145 build/C/man3/inet_ntop.3:91
1267 #: build/C/man7/ip.7:1092 build/C/man7/ipv6.7:351 build/C/man7/packet.7:496
1268 #: build/C/man7/raw.7:144 build/C/man2/shutdown.2:74 build/C/man7/tcp.7:1226
1269 #: build/C/man7/udp.7:241 build/C/man7/udplite.7:121 build/C/man7/unix.7:405
1270 #, no-wrap
1271 msgid "ERRORS"
1272 msgstr "エラー"
1273
1274 #. type: TP
1275 #: build/C/man7/ddp.7:153 build/C/man7/ip.7:1096 build/C/man7/raw.7:145
1276 #, no-wrap
1277 msgid "B<EACCES>"
1278 msgstr "B<EACCES>"
1279
1280 #. type: Plain text
1281 #: build/C/man7/ddp.7:160
1282 msgid "The user tried to execute an operation without the necessary permissions.  These include sending to a broadcast address without having the broadcast flag set, and trying to bind to a reserved port without effective user ID 0 or B<CAP_NET_BIND_SERVICE>."
1283 msgstr "ユーザーが行おうとした操作に必要な権限を持っていない。 broadcast フラグをセットせずにブロードキャストアドレスへ送信を行おうとした、 実効ユーザー ID が 0 でなく、 B<CAP_NET_BIND_SERVICE> 権限のないプロセスで特権ポートをバインドしようとした、などが考えられる。"
1284
1285 #. type: TP
1286 #: build/C/man7/ddp.7:160 build/C/man7/ip.7:1112 build/C/man7/unix.7:406
1287 #, no-wrap
1288 msgid "B<EADDRINUSE>"
1289 msgstr "B<EADDRINUSE>"
1290
1291 #. type: Plain text
1292 #: build/C/man7/ddp.7:163 build/C/man7/ip.7:1115
1293 msgid "Tried to bind to an address already in use."
1294 msgstr "既に使用されているアドレスにバインドしようとした。"
1295
1296 #. type: TP
1297 #: build/C/man7/ddp.7:163 build/C/man7/ip.7:1115 build/C/man7/packet.7:497
1298 #, no-wrap
1299 msgid "B<EADDRNOTAVAIL>"
1300 msgstr "B<EADDRNOTAVAIL>"
1301
1302 #. type: Plain text
1303 #: build/C/man7/ddp.7:167 build/C/man7/ip.7:1119
1304 msgid "A nonexistent interface was requested or the requested source address was not local."
1305 msgstr "存在しないインターフェースが要求された。または 要求されたソースアドレスがローカルでない。"
1306
1307 #. type: TP
1308 #: build/C/man7/ddp.7:167 build/C/man7/ip.7:1119
1309 #, no-wrap
1310 msgid "B<EAGAIN>"
1311 msgstr "B<EAGAIN>"
1312
1313 #. type: Plain text
1314 #: build/C/man7/ddp.7:170 build/C/man7/ip.7:1122
1315 msgid "Operation on a nonblocking socket would block."
1316 msgstr "非ブロッキングソケットに対してブロックする操作を行った。"
1317
1318 #. type: TP
1319 #: build/C/man7/ddp.7:170 build/C/man7/ip.7:1122
1320 #, no-wrap
1321 msgid "B<EALREADY>"
1322 msgstr "B<EALREADY>"
1323
1324 #. type: Plain text
1325 #: build/C/man7/ddp.7:173
1326 msgid "A connection operation on a nonblocking socket is already in progress."
1327 msgstr "非ブロッキングソケットに対する接続操作が既に実行中である。"
1328
1329 #. type: TP
1330 #: build/C/man7/ddp.7:173 build/C/man7/ip.7:1125
1331 #, no-wrap
1332 msgid "B<ECONNABORTED>"
1333 msgstr "B<ECONNABORTED>"
1334
1335 #. type: Plain text
1336 #: build/C/man7/ddp.7:177 build/C/man7/ip.7:1129
1337 msgid "A connection was closed during an B<accept>(2)."
1338 msgstr "B<accept>(2)  の途中で接続がクローズされた。"
1339
1340 #. type: TP
1341 #: build/C/man7/ddp.7:177 build/C/man7/ip.7:1129
1342 #, no-wrap
1343 msgid "B<EHOSTUNREACH>"
1344 msgstr "B<EHOSTUNREACH>"
1345
1346 #. type: Plain text
1347 #: build/C/man7/ddp.7:180
1348 msgid "No routing table entry matches the destination address."
1349 msgstr "行き先アドレスにマッチするエントリがルーティングテーブルにない。"
1350
1351 #. type: TP
1352 #: build/C/man7/ddp.7:180 build/C/man2/getpeername.2:85 build/C/man7/ip.7:1134
1353 #: build/C/man7/packet.7:503 build/C/man7/raw.7:152 build/C/man2/shutdown.2:79
1354 #: build/C/man7/unix.7:422
1355 #, no-wrap
1356 msgid "B<EINVAL>"
1357 msgstr "B<EINVAL>"
1358
1359 #. type: Plain text
1360 #: build/C/man7/ddp.7:183
1361 msgid "Invalid argument passed."
1362 msgstr "渡した引数が不正。"
1363
1364 #. type: TP
1365 #: build/C/man7/ddp.7:183 build/C/man7/ip.7:1140 build/C/man7/unix.7:431
1366 #, no-wrap
1367 msgid "B<EISCONN>"
1368 msgstr "B<EISCONN>"
1369
1370 #. type: Plain text
1371 #: build/C/man7/ddp.7:187 build/C/man7/ip.7:1144
1372 msgid "B<connect>(2)  was called on an already connected socket."
1373 msgstr "接続済みのソケットに対して B<connect>(2)  が呼ばれた。"
1374
1375 #. type: TP
1376 #: build/C/man7/ddp.7:187 build/C/man3/inet_net_pton.3:151
1377 #: build/C/man7/ip.7:1144 build/C/man7/packet.7:506 build/C/man7/raw.7:155
1378 #, no-wrap
1379 msgid "B<EMSGSIZE>"
1380 msgstr "B<EMSGSIZE>"
1381
1382 #. type: Plain text
1383 #: build/C/man7/ddp.7:190
1384 msgid "Datagram is bigger than the DDP MTU."
1385 msgstr "データグラムが DDP MTU より大きい。"
1386
1387 #. type: TP
1388 #: build/C/man7/ddp.7:190 build/C/man7/ipv6.7:352 build/C/man7/packet.7:515
1389 #, no-wrap
1390 msgid "B<ENODEV>"
1391 msgstr "B<ENODEV>"
1392
1393 #. type: Plain text
1394 #: build/C/man7/ddp.7:193
1395 msgid "Network device not available or not capable of sending IP."
1396 msgstr "ネットワークデバイスがない。あるいは IP を送ることができない。"
1397
1398 #. type: TP
1399 #: build/C/man7/ddp.7:193 build/C/man3/getnetent_r.3:130
1400 #: build/C/man3/getprotoent_r.3:120 build/C/man3/getservent_r.3:119
1401 #: build/C/man3/inet_net_pton.3:154 build/C/man7/ip.7:1152
1402 #: build/C/man7/packet.7:518 build/C/man7/unix.7:436
1403 #, no-wrap
1404 msgid "B<ENOENT>"
1405 msgstr "B<ENOENT>"
1406
1407 #. type: Plain text
1408 #: build/C/man7/ddp.7:197 build/C/man7/ip.7:1156
1409 msgid "B<SIOCGSTAMP> was called on a socket where no packet arrived."
1410 msgstr "パケットが到着していないソケットに対して B<SIOCGSTAMP> が呼ばれた。"
1411
1412 #. type: TP
1413 #: build/C/man7/ddp.7:197
1414 #, no-wrap
1415 msgid "B<ENOMEM> and B<ENOBUFS>"
1416 msgstr "B<ENOMEM> と B<ENOBUFS>"
1417
1418 #. type: Plain text
1419 #: build/C/man7/ddp.7:200
1420 msgid "Not enough memory available."
1421 msgstr "メモリが足りない。"
1422
1423 #. type: TP
1424 #: build/C/man7/ddp.7:200 build/C/man7/ip.7:1156
1425 #, no-wrap
1426 msgid "B<ENOPKG>"
1427 msgstr "B<ENOPKG>"
1428
1429 #. type: Plain text
1430 #: build/C/man7/ddp.7:203 build/C/man7/ip.7:1159
1431 msgid "A kernel subsystem was not configured."
1432 msgstr "カーネルサブシステムが設定されていない。"
1433
1434 #. type: TP
1435 #: build/C/man7/ddp.7:203 build/C/man7/ip.7:1159
1436 #, no-wrap
1437 msgid "B<ENOPROTOOPT> and B<EOPNOTSUPP>"
1438 msgstr "B<ENOPROTOOPT> と B<EOPNOTSUPP>"
1439
1440 #. type: Plain text
1441 #: build/C/man7/ddp.7:206 build/C/man7/ip.7:1162
1442 msgid "Invalid socket option passed."
1443 msgstr "無効なソケットオプションが渡された。"
1444
1445 #. type: TP
1446 #: build/C/man7/ddp.7:206 build/C/man2/getpeername.2:93 build/C/man7/ip.7:1162
1447 #: build/C/man7/packet.7:521 build/C/man2/shutdown.2:84
1448 #: build/C/man7/unix.7:444
1449 #, no-wrap
1450 msgid "B<ENOTCONN>"
1451 msgstr "B<ENOTCONN>"
1452
1453 #. type: Plain text
1454 #: build/C/man7/ddp.7:210 build/C/man7/ip.7:1166
1455 msgid "The operation is defined only on a connected socket, but the socket wasn't connected."
1456 msgstr "接続されていないソケットに対して、 接続状態でしか定義されていない操作を行おうとした。"
1457
1458 #. type: TP
1459 #: build/C/man7/ddp.7:210 build/C/man7/ip.7:1166 build/C/man7/packet.7:527
1460 #: build/C/man7/raw.7:166 build/C/man7/unix.7:451
1461 #, no-wrap
1462 msgid "B<EPERM>"
1463 msgstr "B<EPERM>"
1464
1465 #. type: Plain text
1466 #: build/C/man7/ddp.7:215
1467 msgid "User doesn't have permission to set high priority, make a configuration change, or send signals to the requested process or group."
1468 msgstr "高い優先度に設定したり、設定を変更したり、 指定したプロセスやグループにシグナルを送るのに必要な権限を ユーザーが持っていない。"
1469
1470 #. type: TP
1471 #: build/C/man7/ddp.7:215 build/C/man7/ip.7:1170 build/C/man7/tcp.7:1233
1472 #: build/C/man7/unix.7:455
1473 #, no-wrap
1474 msgid "B<EPIPE>"
1475 msgstr "B<EPIPE>"
1476
1477 #. type: Plain text
1478 #: build/C/man7/ddp.7:218 build/C/man7/ip.7:1173
1479 msgid "The connection was unexpectedly closed or shut down by the other end."
1480 msgstr "接続が接続相手によって、予期しないやり方でクローズまたはシャットダウンされた。"
1481
1482 #. type: TP
1483 #: build/C/man7/ddp.7:218 build/C/man7/ip.7:1173 build/C/man7/unix.7:477
1484 #, no-wrap
1485 msgid "B<ESOCKTNOSUPPORT>"
1486 msgstr "B<ESOCKTNOSUPPORT>"
1487
1488 #. type: Plain text
1489 #: build/C/man7/ddp.7:221
1490 msgid "The socket was unconfigured, or an unknown socket type was requested."
1491 msgstr "ソケットが設定されていない。または未知のソケットタイプが要求された。"
1492
1493 #. type: Plain text
1494 #: build/C/man7/ddp.7:226
1495 msgid "AppleTalk is supported by Linux 2.0 or higher.  The I</proc> interfaces exist since Linux 2.2."
1496 msgstr "AppleTalk は Linux 2.0 以降でサポートされている。 I</proc> インタフェースは Linux 2.2 以降に存在する。"
1497
1498 #. type: Plain text
1499 #: build/C/man7/ddp.7:232
1500 msgid "Be very careful with the B<SO_BROADCAST> option - it is not privileged in Linux.  It is easy to overload the network with careless sending to broadcast addresses."
1501 msgstr "B<SO_BROADCAST> オプションを用いる時には慎重の上にも慎重になってほしい。 Linux ではこれに特権を必要としない。 不注意にブロードキャストアドレスに送信を行うと、 ネットワークの状態が簡単に変更されてしまう。"
1502
1503 #. type: SS
1504 #: build/C/man7/ddp.7:232 build/C/man7/ip.7:1232 build/C/man7/packet.7:569
1505 #, no-wrap
1506 msgid "Compatibility"
1507 msgstr "移植性"
1508
1509 #. type: Plain text
1510 #: build/C/man7/ddp.7:239
1511 msgid "The basic AppleTalk socket interface is compatible with B<netatalk> on BSD-derived systems.  Many BSD systems fail to check B<SO_BROADCAST> when sending broadcast frames; this can lead to compatibility problems."
1512 msgstr "基本的な Appletalk ソケットインターフェースは BSD 由来のシステムにおける B<netatalk> と互換性がある。多くの BSD システムでは、 ブロードキャストフレームを送信しようとしたときの B<SO_BROADCAST> のチェックに失敗する。これは互換性の問題となるかもしれない。"
1513
1514 #. type: Plain text
1515 #: build/C/man7/ddp.7:244
1516 msgid "The raw socket mode is unique to Linux and exists to support the alternative CAP package and AppleTalk monitoring tools more easily."
1517 msgstr "raw ソケットモードは Linux 独特のもので、もう一方の実装である CAP パッケージや、 Appletalk モニタツールをより簡単に実装できるようになる。"
1518
1519 #. type: Plain text
1520 #: build/C/man7/ddp.7:246 build/C/man7/ip.7:1247
1521 msgid "There are too many inconsistent error values."
1522 msgstr "エラーの値がまったく首尾一貫していない。"
1523
1524 #. type: Plain text
1525 #: build/C/man7/ddp.7:249
1526 msgid "The ioctls used to configure routing tables, devices, AARP tables and other devices are not yet described."
1527 msgstr "ルーティングテーブル、 デバイス、 AARP テーブル、 その他のデバイスを設定するために用いられる ioctl がまだ記述されていない。"
1528
1529 #. type: Plain text
1530 #: build/C/man7/ddp.7:254
1531 msgid "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<socket>(7)"
1532 msgstr "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<socket>(7)"
1533
1534 #. type: TH
1535 #: build/C/man3/endian.3:28
1536 #, no-wrap
1537 msgid "ENDIAN"
1538 msgstr "ENDIAN"
1539
1540 #. type: TH
1541 #: build/C/man3/endian.3:28 build/C/man3/getnetent_r.3:26
1542 #: build/C/man3/getprotoent_r.3:26 build/C/man3/getservent_r.3:26
1543 #, no-wrap
1544 msgid "2010-09-10"
1545 msgstr "2010-09-10"
1546
1547 #. type: Plain text
1548 #: build/C/man3/endian.3:33
1549 msgid "htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh - convert values between host and big-/little-endian byte order"
1550 msgstr ""
1551 "htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh,\n"
1552 "le32toh, htobe64, htole64, be64toh, le64toh - ホストバイトオーダーと\n"
1553 "ビッグ/リトルエンディアンバイトオーダーの間で値の変換を行う"
1554
1555 #. type: Plain text
1556 #: build/C/man3/endian.3:37
1557 #, no-wrap
1558 msgid ""
1559 "B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */\n"
1560 "B<#include E<lt>endian.hE<gt>>\n"
1561 msgstr ""
1562 "B<#define _BSD_SOURCE>             /* feature_test_macros(7) 参照 */\n"
1563 "B<#include E<lt>endian.hE<gt>>\n"
1564
1565 #. type: Plain text
1566 #: build/C/man3/endian.3:42
1567 #, no-wrap
1568 msgid ""
1569 "B<uint16_t htobe16(uint16_t >I<host_16bits>B<);>\n"
1570 "B<uint16_t htole16(uint16_t >I<host_16bits>B<);>\n"
1571 "B<uint16_t be16toh(uint16_t >I<big_endian_16bits>B<);>\n"
1572 "B<uint16_t le16toh(uint16_t >I<little_endian_16bits>B<);>\n"
1573 msgstr ""
1574 "B<uint16_t htobe16(uint16_t >I<host_16bits>B<);>\n"
1575 "B<uint16_t htole16(uint16_t >I<host_16bits>B<);>\n"
1576 "B<uint16_t be16toh(uint16_t >I<big_endian_16bits>B<);>\n"
1577 "B<uint16_t le16toh(uint16_t >I<little_endian_16bits>B<);>\n"
1578
1579 #. type: Plain text
1580 #: build/C/man3/endian.3:47
1581 #, no-wrap
1582 msgid ""
1583 "B<uint32_t htobe32(uint32_t >I<host_32bits>B<);>\n"
1584 "B<uint32_t htole32(uint32_t >I<host_32bits>B<);>\n"
1585 "B<uint32_t be32toh(uint32_t >I<big_endian_32bits>B<);>\n"
1586 "B<uint32_t le32toh(uint32_t >I<little_endian_32bits>B<);>\n"
1587 msgstr ""
1588 "B<uint32_t htobe32(uint32_t >I<host_32bits>B<);>\n"
1589 "B<uint32_t htole32(uint32_t >I<host_32bits>B<);>\n"
1590 "B<uint32_t be32toh(uint32_t >I<big_endian_32bits>B<);>\n"
1591 "B<uint32_t le32toh(uint32_t >I<little_endian_32bits>B<);>\n"
1592
1593 #. type: Plain text
1594 #: build/C/man3/endian.3:52
1595 #, no-wrap
1596 msgid ""
1597 "B<uint64_t htobe64(uint64_t >I<host_64bits>B<);>\n"
1598 "B<uint64_t htole64(uint64_t >I<host_64bits>B<);>\n"
1599 "B<uint64_t be64toh(uint64_t >I<big_endian_64bits>B<);>\n"
1600 "B<uint64_t le64toh(uint64_t >I<little_endian_64bits>B<);>\n"
1601 msgstr ""
1602 "B<uint64_t htobe64(uint64_t >I<host_64bits>B<);>\n"
1603 "B<uint64_t htole64(uint64_t >I<host_64bits>B<);>\n"
1604 "B<uint64_t be64toh(uint64_t >I<big_endian_64bits>B<);>\n"
1605 "B<uint64_t le64toh(uint64_t >I<little_endian_64bits>B<);>\n"
1606
1607 #. type: Plain text
1608 #: build/C/man3/endian.3:57
1609 msgid "These functions convert the byte encoding of integer values from the byte order that the current CPU (the \"host\") uses, to and from little-endian and big-endian byte order."
1610 msgstr ""
1611 "これらの関数は、整数値のバイトエンコーディングを、\n"
1612 "使用中の CPU (\"ホスト\") のバイトオーダーから\n"
1613 "リトルエンディアンやビッグエンディアンバイトオーダーへの変換や\n"
1614 "その逆の変換を行う。"
1615
1616 #. type: Plain text
1617 #: build/C/man3/endian.3:62
1618 msgid "The number, I<nn>, in the name of each function indicates the size of integer handled by the function, either 16, 32, or 64 bits."
1619 msgstr ""
1620 "各関数の名前に付いている数字 I<nn> は、その関数が扱う整数のサイズ\n"
1621 "(16, 32, 64 ビットのどれか) を示している。"
1622
1623 #. type: Plain text
1624 #: build/C/man3/endian.3:65
1625 msgid "The functions with names of the form \"htobeI<nn>\" convert from host byte order to big-endian order."
1626 msgstr ""
1627 "名前が \"htobeI<nn>\" という形の関数は、ホストバイトオーダーから\n"
1628 "ビッグエンディアンバイトオーダーへの変換を行う。"
1629
1630 #. type: Plain text
1631 #: build/C/man3/endian.3:68
1632 msgid "The functions with names of the form \"htoleI<nn>\" convert from host byte order to little-endian order."
1633 msgstr ""
1634 "名前が \"htoleI<nn>\" という形の関数は、ホストバイトオーダーから\n"
1635 "リトルエンディアンバイトオーダーへの変換を行う。"
1636
1637 #. type: Plain text
1638 #: build/C/man3/endian.3:71
1639 msgid "The functions with names of the form \"beI<nn>toh\" convert from big-endian order to host byte order."
1640 msgstr ""
1641 "名前が \"beI<nn>toh\" という形の関数は、ビッグエンディアンバイトオーダー\n"
1642 "からホストバイトオーダーへの変換を行う。"
1643
1644 #. type: Plain text
1645 #: build/C/man3/endian.3:74
1646 msgid "The functions with names of the form \"leI<nn>toh\" convert from little-endian order to host byte order."
1647 msgstr ""
1648 "名前が \"leI<nn>toh\" という形の関数は、リトルエンディアンバイトオーダー\n"
1649 "からホストバイトオーダーへの変換を行う。"
1650
1651 #. type: Plain text
1652 #: build/C/man3/endian.3:76
1653 msgid "These functions were added to glibc in version 2.9."
1654 msgstr "これらの関数は glibc バージョン 2.9 で追加された。"
1655
1656 #. type: Plain text
1657 #: build/C/man3/endian.3:91
1658 msgid "These functions are nonstandard.  Similar functions are present on the BSDs, where the required header file is I<E<lt>sys/endian.hE<gt>> instead of I<E<lt>endian.hE<gt>>.  Unfortunately, NetBSD, FreeBSD, and glibc haven't followed the original OpenBSD naming convention for these functions, whereby the I<nn> component always appears at the end of the function name (thus, for example, in NetBSD, FreeBSD, and glibc, the equivalent of OpenBSDs \"betoh32\" is \"be32toh\")."
1659 msgstr ""
1660 "これらの関数は非標準である。\n"
1661 "BSD には同様の関数が存在するが、 BSD では\n"
1662 "必要なヘッダファイルは I<E<lt>endian.hE<gt>> ではなく\n"
1663 "I<E<lt>sys/endian.hE<gt>> である。\n"
1664 "不幸なことに、 NetBSD, FreeBSD, glibc では、\n"
1665 "これらの関数の元々の OpenBSD での、 I<nn> は常に関数名の末尾に置く\n"
1666 "という名前付けルールが踏襲されていない\n"
1667 "(そのため、例を挙げると、 OpenBSD の \"betoh32\" と等価な関数は\n"
1668 "NetBSD, FreeBSD, glibc では \"be32toh\" となる)。"
1669
1670 #. type: Plain text
1671 #: build/C/man3/endian.3:99
1672 msgid "These functions are similar to the older B<byteorder>(3)  family of functions.  For example, B<be32toh>()  is identical to B<ntohl>()."
1673 msgstr ""
1674 "これらの関数は、前からある B<byteorder>(3) 系の関数と同じである。\n"
1675 "例えば、 B<be32toh>() は B<ntohl>() と等価である。"
1676
1677 #. type: Plain text
1678 #: build/C/man3/endian.3:107
1679 msgid "The advantage of the B<byteorder>(3)  functions is that they are standard functions available on all UNIX systems.  On the other hand, the fact that they were designed for use in the context of TCP/IP means that they lack the 64-bit and little-endian variants described in this page."
1680 msgstr ""
1681 "B<byteorder>(3) 系の関数のメリットは、これらが\n"
1682 "全ての UNIX システムで利用可能な標準関数である点である。\n"
1683 "一方で、これらの関数は TCP/IP 処理で使用されることを想定して\n"
1684 "設計されたため、このページで説明している 64 ビット版や\n"
1685 "リトルエンディアン版などが存在しない。"
1686
1687 #. type: Plain text
1688 #: build/C/man3/endian.3:114
1689 msgid "The program below display the results of converting an integer from host byte order to both little-endian and big-endian byte order.  Since host byte order is either little-endian or big-endian, only one of these conversions will have an effect.  When we run this program on a little-endian system such as x86-32, we see the following:"
1690 msgstr ""
1691 "以下のプログラムは、整数をホストバイトオーダーからリトルエンディアンと\n"
1692 "ビットエンディアンの両方のバイトオーダーに変換し、その結果を表示する。\n"
1693 "ホストバイトオーダーはリトルエンディアンかビットエンディアンのいずれか\n"
1694 "なので、変換に意味があるのはどちらか一方だけである。\n"
1695 "このプログラムを x86-32 などのリトルエンディアンのシステムで実行した\n"
1696 "場合の実行結果は下記のようになる。"
1697
1698 #. type: Plain text
1699 #: build/C/man3/endian.3:121
1700 #, no-wrap
1701 msgid ""
1702 "$ B<./a.out>\n"
1703 "x.u32 = 0x44332211\n"
1704 "htole32(x.u32) = 0x44332211\n"
1705 "htobe32(x.u32) = 0x11223344\n"
1706 msgstr ""
1707 "$ B<./a.out>\n"
1708 "x.u32 = 0x44332211\n"
1709 "htole32(x.u32) = 0x44332211\n"
1710 "htobe32(x.u32) = 0x11223344\n"
1711
1712 #. type: SS
1713 #: build/C/man3/endian.3:123 build/C/man3/getprotoent_r.3:162
1714 #: build/C/man3/getservent_r.3:160 build/C/man3/inet.3:278
1715 #: build/C/man3/inet_net_pton.3:331 build/C/man3/inet_pton.3:173
1716 #, no-wrap
1717 msgid "Program source"
1718 msgstr "プログラムのソース"
1719
1720 #. type: Plain text
1721 #: build/C/man3/endian.3:130
1722 #, no-wrap
1723 msgid ""
1724 "#include E<lt>endian.hE<gt>\n"
1725 "#include E<lt>stdint.hE<gt>\n"
1726 "#include E<lt>stdio.hE<gt>\n"
1727 "#include E<lt>stdlib.hE<gt>\n"
1728 msgstr ""
1729 "#include E<lt>endian.hE<gt>\n"
1730 "#include E<lt>stdint.hE<gt>\n"
1731 "#include E<lt>stdio.hE<gt>\n"
1732 "#include E<lt>stdlib.hE<gt>\n"
1733
1734 #. type: Plain text
1735 #: build/C/man3/endian.3:138
1736 #, no-wrap
1737 msgid ""
1738 "int\n"
1739 "main(int argc, char *argv[])\n"
1740 "{\n"
1741 "    union {\n"
1742 "        uint32_t u32;\n"
1743 "        uint8_t arr[4];\n"
1744 "    } x;\n"
1745 msgstr ""
1746 "int\n"
1747 "main(int argc, char *argv[])\n"
1748 "{\n"
1749 "    union {\n"
1750 "        uint32_t u32;\n"
1751 "        uint8_t arr[4];\n"
1752 "    } x;\n"
1753
1754 #. type: Plain text
1755 #: build/C/man3/endian.3:143
1756 #, no-wrap
1757 msgid ""
1758 "    x.arr[0] = 0x11;\t/* Lowest-address byte */\n"
1759 "    x.arr[1] = 0x22;\n"
1760 "    x.arr[2] = 0x33;\n"
1761 "    x.arr[3] = 0x44;\t/* Highest-address byte */\n"
1762 msgstr ""
1763 "    x.arr[0] = 0x11;\t/* Lowest-address byte */\n"
1764 "    x.arr[1] = 0x22;\n"
1765 "    x.arr[2] = 0x33;\n"
1766 "    x.arr[3] = 0x44;\t/* Highest-address byte */\n"
1767
1768 #. type: Plain text
1769 #: build/C/man3/endian.3:147
1770 #, no-wrap
1771 msgid ""
1772 "    printf(\"x.u32 = 0x%x\\en\", x.u32);\n"
1773 "    printf(\"htole32(x.u32) = 0x%x\\en\", htole32(x.u32));\n"
1774 "    printf(\"htobe32(x.u32) = 0x%x\\en\", htobe32(x.u32));\n"
1775 msgstr ""
1776 "    printf(\"x.u32 = 0x%x\\en\", x.u32);\n"
1777 "    printf(\"htole32(x.u32) = 0x%x\\en\", htole32(x.u32));\n"
1778 "    printf(\"htobe32(x.u32) = 0x%x\\en\", htobe32(x.u32));\n"
1779
1780 #. type: Plain text
1781 #: build/C/man3/endian.3:150 build/C/man3/getaddrinfo.3:827
1782 #: build/C/man3/getprotoent_r.3:236 build/C/man3/getservent_r.3:240
1783 #: build/C/man3/inet_net_pton.3:389 build/C/man3/inet_pton.3:214
1784 #, no-wrap
1785 msgid ""
1786 "    exit(EXIT_SUCCESS);\n"
1787 "}\n"
1788 msgstr ""
1789 "    exit(EXIT_SUCCESS);\n"
1790 "}\n"
1791
1792 #. type: Plain text
1793 #: build/C/man3/endian.3:153
1794 msgid "B<byteorder>(3)"
1795 msgstr "B<byteorder>(3)"
1796
1797 #. type: TH
1798 #: build/C/man3/ether_aton.3:31
1799 #, no-wrap
1800 msgid "ETHER_ATON"
1801 msgstr "ETHER_ATON"
1802
1803 #. type: TH
1804 #: build/C/man3/ether_aton.3:31 build/C/man7/udplite.7:27
1805 #, no-wrap
1806 msgid "2014-07-08"
1807 msgstr "2014-07-08"
1808
1809 #. type: Plain text
1810 #: build/C/man3/ether_aton.3:35
1811 msgid "ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - Ethernet address manipulation routines"
1812 msgstr "ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - Ethernet アドレスの操作用関数"
1813
1814 #. type: Plain text
1815 #: build/C/man3/ether_aton.3:38
1816 #, no-wrap
1817 msgid "B<#include E<lt>netinet/ether.hE<gt>>\n"
1818 msgstr "B<#include E<lt>netinet/ether.hE<gt>>\n"
1819
1820 #. type: Plain text
1821 #: build/C/man3/ether_aton.3:40
1822 #, no-wrap
1823 msgid "B<char *ether_ntoa(const struct ether_addr *>I<addr>B<);>\n"
1824 msgstr "B<char *ether_ntoa(const struct ether_addr *>I<addr>B<);>\n"
1825
1826 #. type: Plain text
1827 #: build/C/man3/ether_aton.3:42
1828 #, no-wrap
1829 msgid "B<struct ether_addr *ether_aton(const char *>I<asc>B<);>\n"
1830 msgstr "B<struct ether_addr *ether_aton(const char *>I<asc>B<);>\n"
1831
1832 #. type: Plain text
1833 #: build/C/man3/ether_aton.3:44
1834 #, no-wrap
1835 msgid "B<int ether_ntohost(char *>I<hostname>B<, const struct ether_addr *>I<addr>B<);>\n"
1836 msgstr "B<int ether_ntohost(char *>I<hostname>B<, const struct ether_addr *>I<addr>B<);>\n"
1837
1838 #. type: Plain text
1839 #: build/C/man3/ether_aton.3:46
1840 #, no-wrap
1841 msgid "B<int ether_hostton(const char *>I<hostname>B<, struct ether_addr *>I<addr>B<);>\n"
1842 msgstr "B<int ether_hostton(const char *>I<hostname>B<, struct ether_addr *>I<addr>B<);>\n"
1843
1844 #. type: Plain text
1845 #: build/C/man3/ether_aton.3:49
1846 #, no-wrap
1847 msgid ""
1848 "B<int ether_line(const char *>I<line>B<, struct ether_addr *>I<addr>B<,>\n"
1849 "B<               char *>I<hostname>B<);>\n"
1850 msgstr ""
1851 "B<int ether_line(const char *>I<line>B<, struct ether_addr *>I<addr>B<,>\n"
1852 "B<               char *>I<hostname>B<);>\n"
1853
1854 #. type: Plain text
1855 #: build/C/man3/ether_aton.3:51 build/C/man3/gethostbyname.3:70
1856 #, no-wrap
1857 msgid "/* GNU extensions */\n"
1858 msgstr "/* GNU 拡張 */\n"
1859
1860 #. type: Plain text
1861 #: build/C/man3/ether_aton.3:53
1862 #, no-wrap
1863 msgid "B<char *ether_ntoa_r(const struct ether_addr *>I<addr>B<, char *>I<buf>B<);>\n"
1864 msgstr "B<char *ether_ntoa_r(const struct ether_addr *>I<addr>B<, char *>I<buf>B<);>\n"
1865
1866 #. type: Plain text
1867 #: build/C/man3/ether_aton.3:56
1868 #, no-wrap
1869 msgid ""
1870 "B<struct ether_addr *ether_aton_r(const char *>I<asc>B<,>\n"
1871 "B<                                struct ether_addr *>I<addr>B<);>\n"
1872 msgstr ""
1873 "B<struct ether_addr *ether_aton_r(const char *>I<asc>B<,>\n"
1874 "B<                                struct ether_addr *>I<addr>B<);>\n"
1875
1876 #. type: Plain text
1877 #: build/C/man3/ether_aton.3:67
1878 msgid "B<ether_aton>()  converts the 48-bit Ethernet host address I<asc> from the standard hex-digits-and-colons notation into binary data in network byte order and returns a pointer to it in a statically allocated buffer, which subsequent calls will overwrite.  B<ether_aton>()  returns NULL if the address is invalid."
1879 msgstr "関数 B<ether_aton>()  は、標準的な 16進数とコロンの形式で書かれた 48ビットの Ethernet ホストアドレス I<asc> を、ネットワークでのバイト順 (byte order)  のバイナリデータに変換し、静的に割り当てられたバッファーに格納されたデータ へのポインターを返す。このバッファーは、これ以降の関数呼び出しで上書きされる。 アドレスが不正な場合、 B<ether_aton>()  は NULL を返す。"
1880
1881 #. type: Plain text
1882 #: build/C/man3/ether_aton.3:76
1883 msgid "The B<ether_ntoa>()  function converts the Ethernet host address I<addr> given in network byte order to a string in standard hex-digits-and-colons notation, omitting leading zeros.  The string is returned in a statically allocated buffer, which subsequent calls will overwrite."
1884 msgstr "関数 B<ether_ntoa>()  は、ネットワークのバイト順で表された Ethernet ホストアドレス I<addr> を、標準的な 16進数とコロンの形式の文字列に変換する。 但し、先頭の 0 は省略される。変換後の文字列は静的に割り当てられたバッファー に格納されて返される。このバッファーは、これ以降の関数呼び出しで上書きされる。"
1885
1886 #. type: Plain text
1887 #: build/C/man3/ether_aton.3:83
1888 msgid "The B<ether_ntohost>()  function maps an Ethernet address to the corresponding hostname in I</etc/ethers> and returns nonzero if it cannot be found."
1889 msgstr "関数 B<ether_ntohost>()  は、Ethernet アドレスに対応するホスト名を I</etc/ethers> を検索して割り当てる。対応するホスト名が見つからなかった場合は、 非 0 を返す。"
1890
1891 #. type: Plain text
1892 #: build/C/man3/ether_aton.3:90
1893 msgid "The B<ether_hostton>()  function maps a hostname to the corresponding Ethernet address in I</etc/ethers> and returns nonzero if it cannot be found."
1894 msgstr "関数 B<ether_hostton>()  は、ホスト名に対応する Ethernet アドレスを I</etc/ethers> を検索して割り当てる。対応するホスト名が見つからなかった場合は、 非 0 を返す。"
1895
1896 #. type: Plain text
1897 #: build/C/man3/ether_aton.3:102
1898 msgid "The B<ether_line>()  function parses a line in I</etc/ethers> format (ethernet address followed by whitespace followed by hostname; \\(aq#\\(aq introduces a comment) and returns an address and hostname pair, or nonzero if it cannot be parsed.  The buffer pointed to by I<hostname> must be sufficiently long, for example, have the same length as I<line>."
1899 msgstr "関数 B<ether_line>()  は、 I</etc/ethers> 形式になった行を解析し、 アドレスとホスト名の組を返す (I</etc/ethers> 形式は、Ethernet アドレス、ホスト名が空白文字 (whitespace)  で区切られた書式で、\\(aq#\\(aq 以降はコメントとみなされる)。 解析できなかった場合は、非 0 を返す。 I<hostname> で指定されたバッファーは十分な長さが必要である。つまり、 I<line> と同じ長さでなければならない。"
1900
1901 #. type: Plain text
1902 #: build/C/man3/ether_aton.3:113
1903 msgid "The functions B<ether_ntoa_r>()  and B<ether_aton_r>()  are reentrant thread-safe versions of B<ether_ntoa>()  and B<ether_aton>()  respectively, and do not use static buffers."
1904 msgstr "関数 B<ether_ntoa_r>()  と B<ether_aton_r>()  は、 それぞれ B<ether_ntoa>()  と B<ether_aton>()  の リエントラントでスレッドセーフなバージョンであり、 静的なバッファーを使用しない。"
1905
1906 #. type: Plain text
1907 #: build/C/man3/ether_aton.3:119
1908 msgid "The structure I<ether_addr> is defined in I<E<lt>net/ethernet.hE<gt>> as:"
1909 msgstr "I<ether_addr> 構造体は I<E<lt>net/ethernet.hE<gt>> で次のように定義されている:"
1910
1911 #. type: Plain text
1912 #: build/C/man3/ether_aton.3:125
1913 #, no-wrap
1914 msgid ""
1915 "struct ether_addr {\n"
1916 "    uint8_t ether_addr_octet[6];\n"
1917 "}\n"
1918 msgstr ""
1919 "struct ether_addr {\n"
1920 "    uint8_t ether_addr_octet[6];\n"
1921 "}\n"
1922
1923 #. type: Plain text
1924 #: build/C/man3/ether_aton.3:130
1925 msgid "For an explanation of the terms used in this section, see B<attributes>(7)."
1926 msgstr "この節で使用されている用語の説明は B<attributes>(7) を参照のこと。"
1927
1928 #. type: tbl table
1929 #: build/C/man3/ether_aton.3:135
1930 #, no-wrap
1931 msgid "Interface\tAttribute\tValue\n"
1932 msgstr "Interface\tAttribute\tValue\n"
1933
1934 #. type: tbl table
1935 #: build/C/man3/ether_aton.3:136 build/C/man3/ether_aton.3:140
1936 #, no-wrap
1937 msgid "T{\n"
1938 msgstr "T{\n"
1939
1940 #. type: tbl table
1941 #: build/C/man3/ether_aton.3:137
1942 #, no-wrap
1943 msgid "B<ether_aton>(),\n"
1944 msgstr "B<ether_aton>(),\n"
1945
1946 #. type: tbl table
1947 #: build/C/man3/ether_aton.3:138
1948 #, no-wrap
1949 msgid "B<ether_ntoa>()\n"
1950 msgstr "B<ether_ntoa>()\n"
1951
1952 #. type: tbl table
1953 #: build/C/man3/ether_aton.3:139
1954 #, no-wrap
1955 msgid "T}\tThread safety\tMT-Unsafe\n"
1956 msgstr "T}\tThread safety\tMT-Unsafe\n"
1957
1958 #. type: tbl table
1959 #: build/C/man3/ether_aton.3:141
1960 #, no-wrap
1961 msgid "B<ether_ntohost>(),\n"
1962 msgstr "B<ether_ntohost>(),\n"
1963
1964 #. type: tbl table
1965 #: build/C/man3/ether_aton.3:142
1966 #, no-wrap
1967 msgid "B<ether_hostton>(),\n"
1968 msgstr "B<ether_hostton>(),\n"
1969
1970 #. type: tbl table
1971 #: build/C/man3/ether_aton.3:143
1972 #, no-wrap
1973 msgid "B<ether_line>(),\n"
1974 msgstr "B<ether_line>(),\n"
1975
1976 #. type: tbl table
1977 #: build/C/man3/ether_aton.3:144
1978 #, no-wrap
1979 msgid "B<ether_ntoa_r>(),\n"
1980 msgstr "B<ether_ntoa_r>(),\n"
1981
1982 #. type: tbl table
1983 #: build/C/man3/ether_aton.3:145
1984 #, no-wrap
1985 msgid "B<ether_aton_r>()\n"
1986 msgstr "B<ether_aton_r>()\n"
1987
1988 #. type: tbl table
1989 #: build/C/man3/ether_aton.3:146
1990 #, no-wrap
1991 msgid "T}\tThread safety\tMT-Safe\n"
1992 msgstr "T}\tThread safety\tMT-Safe\n"
1993
1994 #. type: Plain text
1995 #: build/C/man3/ether_aton.3:151
1996 msgid "4.3BSD, SunOS."
1997 msgstr "4.3BSD, SunOS."
1998
1999 #.  The fix was presumably commit c0a0f9a32c8baa6ab93d00eb42d92c02e9e146d7
2000 #.  which was in glibc 2.3
2001 #. type: Plain text
2002 #: build/C/man3/ether_aton.3:157
2003 msgid "In glibc 2.2.5 and earlier, the implementation of B<ether_line>()  is broken."
2004 msgstr "glibc 2.2.5 以前では、 B<ether_line>()  の実装はおかしい。"
2005
2006 #. type: Plain text
2007 #: build/C/man3/ether_aton.3:159
2008 msgid "B<ethers>(5)"
2009 msgstr "B<ethers>(5)"
2010
2011 #. type: TH
2012 #: build/C/man5/gai.conf.5:19
2013 #, no-wrap
2014 msgid "GAI.CONF"
2015 msgstr "GAI.CONF"
2016
2017 #. type: TH
2018 #: build/C/man5/gai.conf.5:19 build/C/man5/nss.5:19
2019 #, no-wrap
2020 msgid "2013-02-13"
2021 msgstr "2013-02-13"
2022
2023 #. type: Plain text
2024 #: build/C/man5/gai.conf.5:22
2025 msgid "gai.conf - getaddrinfo(3) configuration file"
2026 msgstr "gai.conf - getaddrinfo(3) 設定ファイル"
2027
2028 #. type: Plain text
2029 #: build/C/man5/gai.conf.5:36
2030 msgid "A call to B<getaddrinfo>(3)  might return multiple answers.  According to RFC\\ 3484 these answers must be sorted so that the answer with the highest success rate is first in the list.  The RFC provides an algorithm for the sorting.  The static rules are not always adequate, though.  For this reason, the RFC also requires that system administrators should have the possibility to dynamically change the sorting.  For the glibc implementation, this can be achieved with the I</etc/gai.conf> file."
2031 msgstr "B<getaddrinfo>(3) の呼び出しでは、複数の答えが返る場合がある。 RFC\\ 3484 によれば、 これらの答えは、 最も成功の可能性が高い答えがリストの先頭になるような順番に並び替えなければならない。 RFC には、 並び替えのアルゴリズムが書かれている。 しかしながら、 静的なルールが常に適切という訳ではない。 この理由から、 RFC では、 並び替え方法をシステム管理者が動的に変更できるようにすることも要求している。 glibc の実装では、 I</etc/gai.conf> ファイルでこれが実現できるようになっている。"
2032
2033 #. type: Plain text
2034 #: build/C/man5/gai.conf.5:40
2035 msgid "Each line in the configuration file consists of a keyword and its parameters.  White spaces in any place are ignored.  Lines starting with \\(aq#\\(aq are comments and are ignored."
2036 msgstr "設定ファイルの各行は、キーワードとそのパラメーターで構成される。 ホワイトスペースはどこにあっても全て無視される。 \\(aq#\\(aq で始まる行はコメントで、 無視される。"
2037
2038 #. type: Plain text
2039 #: build/C/man5/gai.conf.5:42
2040 msgid "The keywords currently recognized are:"
2041 msgstr "現在のところ、認識されるキーワードは以下の通りである。"
2042
2043 #. type: TP
2044 #: build/C/man5/gai.conf.5:42
2045 #, no-wrap
2046 msgid "B<label> I<netmask> I<precedence>"
2047 msgstr "B<label> I<netmask> I<precedence>"
2048
2049 #. type: Plain text
2050 #: build/C/man5/gai.conf.5:51
2051 msgid "The value is added to the label table used in the RFC\\ 3484 sorting.  If any B<label> definition is present in the configuration file is present, the default table is not used.  All the label definitions of the default table which are to be maintained have to be duplicated.  Following the keyword, the line has to contain a network mask and a label value."
2052 msgstr "指定した値は RFC\\ 3484 の並び替えで使用されるラベルテーブルに追加される。 設定ファイルに B<label> 定義が一つでもあれば、デフォルトテーブルは使用されない。 デフォルトテーブルのすべてのラベル定義はきちんと管理されていれば、 重複が発生するはずだからである。 ラベル行では、 キーワードの後に、 ネットワークマスクとラベル値が含まれていなければならない。"
2053
2054 #. type: TP
2055 #: build/C/man5/gai.conf.5:51
2056 #, no-wrap
2057 msgid "B<precedence> I<netmask> I<precedence>"
2058 msgstr "B<precedence> I<netmask> I<precedence>"
2059
2060 #. type: Plain text
2061 #: build/C/man5/gai.conf.5:58
2062 msgid "This keyword is similar to B<label>, but instead the value is added to the precedence table as specified in RFC\\ 3484.  Once again, the presence of a single B<precedence> line in the configuration file causes the default table to not be used."
2063 msgstr "このキーワードは B<label> に似ているが、 指定された値を RFC\\ 3484 で規定された優先度テーブルに追加する点が異なる。 繰り返しになるが、 設定ファイルに B<precedence> が一つでもあれば、デフォルトテーブルは使用されない。"
2064
2065 #. type: TP
2066 #: build/C/man5/gai.conf.5:58
2067 #, no-wrap
2068 msgid "B<reload> E<lt>B<yes>|B<no>E<gt>"
2069 msgstr "B<reload> E<lt>B<yes>|B<no>E<gt>"
2070
2071 #. type: Plain text
2072 #: build/C/man5/gai.conf.5:67
2073 msgid "This keyword controls whether a process checks whether the configuration file has been changed since the last time it was read.  If the value is \"B<yes>\", the file is reread.  This might cause problems in multithreaded applications and is generally a bad idea.  The default is \"B<no>\"."
2074 msgstr "このキーワードは、 設定ファイルが前回の読み出し以降に変更されているかをプロセスが確認するかを制御する。 値が \"B<yes>\" であれば、 ファイルが再読み込みされる。 再読み込みはマルチスレッドアプリケーションで問題を起こす可能性があり、 一般にはよい考えとは言えない。 デフォルトは \"B<no>\" である。"
2075
2076 #. type: TP
2077 #: build/C/man5/gai.conf.5:67
2078 #, no-wrap
2079 msgid "B<scopev4> I<mask> I<value>"
2080 msgstr "B<scopev4> I<mask> I<value>"
2081
2082 #. type: Plain text
2083 #: build/C/man5/gai.conf.5:72
2084 msgid "Add another rule to the RFC\\ 3484 scope table for IPv4 address.  By default, the scope IDs described in section 3.2 in RFC\\ 3438 are used.  Changing these defaults should hardly ever be necessary."
2085 msgstr "IPv4 アドレス用の RFC\\ 3484 スコープテーブルに別のルールを追加する。 デフォルトでは、 RFC\\ 3438 のセクション 3.2 で説明されているスコープ ID が使用される。 これらのデフォルト値の変更が必要になることはまずないだろう。"
2086
2087 #. type: SH
2088 #: build/C/man5/gai.conf.5:72 build/C/man3/getaddrinfo.3:593
2089 #: build/C/man3/gethostbyname.3:307 build/C/man3/getnameinfo.3:197
2090 #: build/C/man3/getnetent.3:141 build/C/man3/getprotoent.3:134
2091 #: build/C/man3/getservent.3:153 build/C/man5/host.conf.5:180
2092 #: build/C/man5/hosts.5:86 build/C/man5/hosts.equiv.5:69
2093 #: build/C/man5/networks.5:70 build/C/man5/nss.5:98
2094 #: build/C/man5/nsswitch.conf.5:298 build/C/man5/protocols.5:77
2095 #: build/C/man5/resolv.conf.5:298 build/C/man3/resolver.3:267
2096 #: build/C/man5/services.5:185 build/C/man3/setnetgrent.3:88
2097 #: build/C/man7/udplite.7:126
2098 #, no-wrap
2099 msgid "FILES"
2100 msgstr "ファイル"
2101
2102 #. type: Plain text
2103 #: build/C/man5/gai.conf.5:74 build/C/man3/getaddrinfo.3:595
2104 msgid "I</etc/gai.conf>"
2105 msgstr "I</etc/gai.conf>"
2106
2107 #. type: Plain text
2108 #: build/C/man5/gai.conf.5:77
2109 msgid "The default table according to RFC\\ 3484 would be specified with the following configuration file:"
2110 msgstr "RFC\\ 3484 で規定されているデフォルトテーブルは、 以下の設定ファイルを指定するのと同じである。"
2111
2112 #. type: Plain text
2113 #: build/C/man5/gai.conf.5:89
2114 #, no-wrap
2115 msgid ""
2116 "label  ::1/128       0\n"
2117 "label  ::/0          1\n"
2118 "label  2002::/16     2\n"
2119 "label ::/96          3\n"
2120 "label ::ffff:0:0/96  4\n"
2121 "precedence  ::1/128       50\n"
2122 "precedence  ::/0          40\n"
2123 "precedence  2002::/16     30\n"
2124 "precedence ::/96          20\n"
2125 "precedence ::ffff:0:0/96  10\n"
2126 msgstr ""
2127 "label  ::1/128       0\n"
2128 "label  ::/0          1\n"
2129 "label  2002::/16     2\n"
2130 "label ::/96          3\n"
2131 "label ::ffff:0:0/96  4\n"
2132 "precedence  ::1/128       50\n"
2133 "precedence  ::/0          40\n"
2134 "precedence  2002::/16     30\n"
2135 "precedence ::/96          20\n"
2136 "precedence ::ffff:0:0/96  10\n"
2137
2138 #. type: Plain text
2139 #: build/C/man5/gai.conf.5:96
2140 msgid "B<getaddrinfo>(3), RFC\\ 3484"
2141 msgstr "B<getaddrinfo>(3), RFC\\ 3484"
2142
2143 #. type: TH
2144 #: build/C/man3/getaddrinfo.3:44
2145 #, no-wrap
2146 msgid "GETADDRINFO"
2147 msgstr "GETADDRINFO"
2148
2149 #. type: TH
2150 #: build/C/man3/getaddrinfo.3:44
2151 #, no-wrap
2152 msgid "2014-04-06"
2153 msgstr "2014-04-06"
2154
2155 #. type: Plain text
2156 #: build/C/man3/getaddrinfo.3:48
2157 msgid "getaddrinfo, freeaddrinfo, gai_strerror - network address and service translation"
2158 msgstr "getaddrinfo, freeaddrinfo, gai_strerror - ネットワークのアドレスとサービスを変換する"
2159
2160 #. type: Plain text
2161 #: build/C/man3/getaddrinfo.3:53 build/C/man3/getipnodebyname.3:35
2162 #, no-wrap
2163 msgid ""
2164 "B<#include E<lt>sys/types.hE<gt>>\n"
2165 "B<#include E<lt>sys/socket.hE<gt>>\n"
2166 "B<#include E<lt>netdb.hE<gt>>\n"
2167 msgstr ""
2168 "B<#include E<lt>sys/types.hE<gt>>\n"
2169 "B<#include E<lt>sys/socket.hE<gt>>\n"
2170 "B<#include E<lt>netdb.hE<gt>>\n"
2171
2172 #. type: Plain text
2173 #: build/C/man3/getaddrinfo.3:57
2174 #, no-wrap
2175 msgid ""
2176 "B<int getaddrinfo(const char *>I<node>B<, const char *>I<service>B<,>\n"
2177 "B<                const struct addrinfo *>I<hints>B<,>\n"
2178 "B<                struct addrinfo **>I<res>B<);>\n"
2179 msgstr ""
2180 "B<int getaddrinfo(const char *>I<node>B<, const char *>I<service>B<,>\n"
2181 "B<                const struct addrinfo *>I<hints>B<,>\n"
2182 "B<                struct addrinfo **>I<res>B<);>\n"
2183
2184 #. type: Plain text
2185 #: build/C/man3/getaddrinfo.3:59
2186 #, no-wrap
2187 msgid "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n"
2188 msgstr "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n"
2189
2190 #. type: Plain text
2191 #: build/C/man3/getaddrinfo.3:61
2192 #, no-wrap
2193 msgid "B<const char *gai_strerror(int >I<errcode>B<);>\n"
2194 msgstr "B<const char *gai_strerror(int >I<errcode>B<);>\n"
2195
2196 #. type: Plain text
2197 #: build/C/man3/getaddrinfo.3:66 build/C/man3/gethostbyname.3:93
2198 #: build/C/man3/getnameinfo.3:26 build/C/man3/getnetent_r.3:52
2199 #: build/C/man3/getprotoent_r.3:49 build/C/man3/getservent_r.3:49
2200 #: build/C/man3/inet.3:70 build/C/man3/inet_net_pton.3:45
2201 #: build/C/man3/rcmd.3:81 build/C/man3/setnetgrent.3:34
2202 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
2203 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
2204
2205 #. type: Plain text
2206 #: build/C/man3/getaddrinfo.3:72
2207 msgid "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():"
2208 msgstr "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():"
2209
2210 #. type: Plain text
2211 #: build/C/man3/getaddrinfo.3:74
2212 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2213 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2214
2215 #.  .BR getipnodebyname (3),
2216 #.  .BR getipnodebyaddr (3),
2217 #. type: Plain text
2218 #: build/C/man3/getaddrinfo.3:101
2219 msgid "Given I<node> and I<service>, which identify an Internet host and a service, B<getaddrinfo>()  returns one or more I<addrinfo> structures, each of which contains an Internet address that can be specified in a call to B<bind>(2)  or B<connect>(2).  The B<getaddrinfo>()  function combines the functionality provided by the B<gethostbyname>(3)  and B<getservbyname>(3)  functions into a single interface, but unlike the latter functions, B<getaddrinfo>()  is reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies."
2220 msgstr "B<getaddrinfo>()  は、(インターネットのホストとサービスを識別する)  I<node> と I<service> を渡すと、一つ以上の I<addrinfo> 構造体を返す。それぞれの I<addrinfo> 構造体には、 B<bind>(2)  や B<connect>(2)  を呼び出す際に指定できるインターネットアドレスが格納されている。 B<getaddrinfo>()  関数は、 B<gethostbyname>(3) と B<getservbyname>(3) の機能をまとめて一つのインターフェースにしたものであるが、 これらの関数と違い、 B<getaddrinfo>() はリエントラントであり、 B<getaddrinfo>() を使うことでプログラムは IPv4 と IPv6 の違いに関する依存関係を なくすことができる。"
2221
2222 #. type: Plain text
2223 #: build/C/man3/getaddrinfo.3:107
2224 msgid "The I<addrinfo> structure used by B<getaddrinfo>()  contains the following fields:"
2225 msgstr "B<getaddrinfo>()  が用いる I<addrinfo> 構造体は以下のフィールドを含む。"
2226
2227 #. type: Plain text
2228 #: build/C/man3/getaddrinfo.3:120
2229 #, no-wrap
2230 msgid ""
2231 "struct addrinfo {\n"
2232 "    int              ai_flags;\n"
2233 "    int              ai_family;\n"
2234 "    int              ai_socktype;\n"
2235 "    int              ai_protocol;\n"
2236 "    socklen_t        ai_addrlen;\n"
2237 "    struct sockaddr *ai_addr;\n"
2238 "    char            *ai_canonname;\n"
2239 "    struct addrinfo *ai_next;\n"
2240 "};\n"
2241 msgstr ""
2242 "struct addrinfo {\n"
2243 "    int              ai_flags;\n"
2244 "    int              ai_family;\n"
2245 "    int              ai_socktype;\n"
2246 "    int              ai_protocol;\n"
2247 "    socklen_t        ai_addrlen;\n"
2248 "    struct sockaddr *ai_addr;\n"
2249 "    char            *ai_canonname;\n"
2250 "    struct addrinfo *ai_next;\n"
2251 "};\n"
2252
2253 #. type: Plain text
2254 #: build/C/man3/getaddrinfo.3:142
2255 msgid "The I<hints> argument points to an I<addrinfo> structure that specifies criteria for selecting the socket address structures returned in the list pointed to by I<res>.  If I<hints> is not NULL it points to an I<addrinfo> structure whose I<ai_family>, I<ai_socktype>, and I<ai_protocol> specify criteria that limit the set of socket addresses returned by B<getaddrinfo>(), as follows:"
2256 msgstr "I<hints> 引き数は I<addrinfo> 構造体を指し示し、この構造体を用いて I<res> が指すリストに入れて返すソケットアドレス構造体を選択するための基準を指定する。 I<hints> が NULL でない場合、 I<hints> は I<addrinfo> 構造体を指し示し、その構造体のフィールド I<ai_family>, I<ai_socktype>, I<ai_protocol> で B<getaddrinfo>()  が返すソケットアドレス集合に対する基準を指定する。"
2257
2258 #. type: TP
2259 #: build/C/man3/getaddrinfo.3:142
2260 #, no-wrap
2261 msgid "I<ai_family>"
2262 msgstr "I<ai_family>"
2263
2264 #. type: Plain text
2265 #: build/C/man3/getaddrinfo.3:158
2266 msgid "This field specifies the desired address family for the returned addresses.  Valid values for this field include B<AF_INET> and B<AF_INET6>.  The value B<AF_UNSPEC> indicates that B<getaddrinfo>()  should return socket addresses for any address family (either IPv4 or IPv6, for example) that can be used with I<node> and I<service>."
2267 msgstr "このフィールドは返されるアドレスの希望のアドレスファミリーを指定する。 このフィールドに指定できる有効な値としては B<AF_INET> と B<AF_INET6> がある。 また、値 B<AF_UNSPEC> を指定すると、 B<getaddrinfo>()  は I<node> と I<service> で使用できるいずれかのアドレスファミリー (例えば IPv4 か IPv6) の ソケットアドレスを返すことを求められる。"
2268
2269 #. type: TP
2270 #: build/C/man3/getaddrinfo.3:158
2271 #, no-wrap
2272 msgid "I<ai_socktype>"
2273 msgstr "I<ai_socktype>"
2274
2275 #. type: Plain text
2276 #: build/C/man3/getaddrinfo.3:167
2277 msgid "This field specifies the preferred socket type, for example B<SOCK_STREAM> or B<SOCK_DGRAM>.  Specifying 0 in this field indicates that socket addresses of any type can be returned by B<getaddrinfo>()."
2278 msgstr "このフィールドは推奨のソケット型 (例えば B<SOCK_STREAM> や B<SOCK_DGRAM>)  を指定する。 このフィールドに 0 を指定すると、任意のソケット型のソケットアドレスを B<getaddrinfo>()  が返してよいことを意味する。"
2279
2280 #. type: TP
2281 #: build/C/man3/getaddrinfo.3:167
2282 #, no-wrap
2283 msgid "I<ai_protocol>"
2284 msgstr "I<ai_protocol>"
2285
2286 #. type: Plain text
2287 #: build/C/man3/getaddrinfo.3:173
2288 msgid "This field specifies the protocol for the returned socket addresses.  Specifying 0 in this field indicates that socket addresses with any protocol can be returned by B<getaddrinfo>()."
2289 msgstr "このフィールドは返されるソケットアドレスのプロトコルを指定する。 このフィールドに 0 を指定すると、任意のプロトコルののソケットアドレスを B<getaddrinfo>()  が返してよいことを意味する。"
2290
2291 #. type: TP
2292 #: build/C/man3/getaddrinfo.3:173
2293 #, no-wrap
2294 msgid "I<ai_flags>"
2295 msgstr "I<ai_flags>"
2296
2297 #. type: Plain text
2298 #: build/C/man3/getaddrinfo.3:177
2299 msgid "This field specifies additional options, described below.  Multiple flags are specified by bitwise OR-ing them together."
2300 msgstr "このフィールドは、追加のオプション (下記) を指定する。 複数のフラグを指定する際には、それらのビット単位の OR をとって指定する。"
2301
2302 #. type: Plain text
2303 #: build/C/man3/getaddrinfo.3:181
2304 msgid "All the other fields in the structure pointed to by I<hints> must contain either 0 or a null pointer, as appropriate."
2305 msgstr "I<hints> が指し示す構造体の他のすべてのフィールドには 0 かヌルポインターを適切に入れなければならない。"
2306
2307 #. type: Plain text
2308 #: build/C/man3/getaddrinfo.3:216
2309 msgid "Specifying I<hints> as NULL is equivalent to setting I<ai_socktype> and I<ai_protocol> to 0; I<ai_family> to B<AF_UNSPEC>; and I<ai_flags> to B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>.  (POSIX specifies different defaults for I<ai_flags>; see NOTES.)  I<node> specifies either a numerical network address (for IPv4, numbers-and-dots notation as supported by B<inet_aton>(3); for IPv6, hexadecimal string format as supported by B<inet_pton>(3)), or a network hostname, whose network addresses are looked up and resolved.  If I<hints.ai_flags> contains the B<AI_NUMERICHOST> flag, then I<node> must be a numerical network address.  The B<AI_NUMERICHOST> flag suppresses any potentially lengthy network host address lookups."
2310 msgstr "I<hints> に NULL を指定するのは、 I<ai_socktype> と I<ai_protocol> に 0 を、 I<ai_family> に B<AF_UNSPEC> を、 I<ai_flags> に B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> を設定するのと等価である (POSIX では I<ai_flags> には別のデフォルト値が規定されている; 「備考」を参照)。 I<node> には、数値形式のネットワークアドレス (IPv4 の場合は B<inet_aton>(3)  でサポートされているドット区切りの数字による表記、 IPv6 の場合は B<inet_pton>(3)  でサポートされている 16 進数の文字列形式) もしくは ネットワークホスト名を指定する。 ネットワークホスト名を指定した場合には、そのネットワークアドレスが検索され、 名前解決が行なわれる。 I<hints.ai_flags> に B<AI_NUMERICHOST> フラグが含まれている場合は、 I<node> は数値形式のネットワークアドレスでなければならない。 B<AI_NUMERICHOST> フラグを使うと、時間の掛かる可能性のあるネットワークホストアドレスの検索は すべて抑制される。"
2311
2312 #. type: Plain text
2313 #: build/C/man3/getaddrinfo.3:241
2314 msgid "If the B<AI_PASSIVE> flag is specified in I<hints.ai_flags>, and I<node> is NULL, then the returned socket addresses will be suitable for B<bind>(2)ing a socket that will B<accept>(2)  connections.  The returned socket address will contain the \"wildcard address\" (B<INADDR_ANY> for IPv4 addresses, B<IN6ADDR_ANY_INIT> for IPv6 address).  The wildcard address is used by applications (typically servers)  that intend to accept connections on any of the hosts's network addresses.  If I<node> is not NULL, then the B<AI_PASSIVE> flag is ignored."
2315 msgstr "I<hints.ai_flags> に B<AI_PASSIVE> フラグが指定され、かつ I<node> が NULL の場合、 返されるソケットアドレスは コネクションを B<accept>(2)  するためのソケットを B<bind>(2)  するのに適したものとなる。 返されるソケットアドレスには「ワイルドカードアドレス」 (IPv4 アドレスの場合は B<INADDR_ANY>、 IPv6 アドレスの場合は B<IN6ADDR_ANY_INIT>)  が入る。 ワイルドカードアドレスは、任意のホストのネットワークアドレスで接続を 受け付けようとするアプリケーション (通常はサーバー) で用いられる。 I<node> が NULL でない場合、 B<AI_PASSIVE> フラグは無視される。"
2316
2317 #. type: Plain text
2318 #: build/C/man3/getaddrinfo.3:261
2319 msgid "If the B<AI_PASSIVE> flag is not set in I<hints.ai_flags>, then the returned socket addresses will be suitable for use with B<connect>(2), B<sendto>(2), or B<sendmsg>(2).  If I<node> is NULL, then the network address will be set to the loopback interface address (B<INADDR_LOOPBACK> for IPv4 addresses, B<IN6ADDR_LOOPBACK_INIT> for IPv6 address); this is used by applications that intend to communicate with peers running on the same host."
2320 msgstr "I<hints.ai_flags> に B<AI_PASSIVE> フラグがセットされていない場合、 返されるソケットアドレスは B<connect>(2), B<sendto>(2), B<sendmsg>(2)  での使用に適したものとなる。 I<node> が NULL の場合、ネットワークアドレスにはループバックインターフェイスの アドレス (IPv4 アドレスの場合は B<INADDR_LOOPBACK> IPv6 アドレスの場合は B<IN6ADDR_LOOPBACK_INIT>)B<が設定される。> これは同じホスト上で動作している接続相手と通信するような アプリケーションで用いられる。"
2321
2322 #. type: Plain text
2323 #: build/C/man3/getaddrinfo.3:284
2324 msgid "I<service> sets the port in each returned address structure.  If this argument is a service name (see B<services>(5)), it is translated to the corresponding port number.  This argument can also be specified as a decimal number, which is simply converted to binary.  If I<service> is NULL, then the port number of the returned socket addresses will be left uninitialized.  If B<AI_NUMERICSERV> is specified in I<hints.ai_flags> and I<service> is not NULL, then I<service> must point to a string containing a numeric port number.  This flag is used to inhibit the invocation of a name resolution service in cases where it is known not to be required."
2325 msgstr "I<service> により、返される各アドレス構造体のポート番号が決まる。 この引き数がサービス名 (B<services>(5)  参照) の場合、対応するポート番号に翻訳される。 この引き数には 10 進数も指定することができ、 この場合にはバイナリへの変換だけが行われる。 I<service> が NULL の場合、返されるソケットアドレスのポート番号は 初期化されないままとなる。 I<hints.ai_flags> に B<AI_NUMERICSERV> が指定され、かつ I<service> が NULL でない場合、 I<service> は数値のポート番号を含む文字列を指し示さなければならない。 このフラグは、名前解決サービスが不要であることが分かっている場合に、 サービスの起動を抑制するために用いられる。"
2326
2327 #. type: Plain text
2328 #: build/C/man3/getaddrinfo.3:290
2329 msgid "Either I<node> or I<service>, but not both, may be NULL."
2330 msgstr "I<node> と I<service> のどちらかは NULL にしてよいが、両方同時に NULL にしてはならない。"
2331
2332 #. type: Plain text
2333 #: build/C/man3/getaddrinfo.3:306
2334 msgid "The B<getaddrinfo>()  function allocates and initializes a linked list of I<addrinfo> structures, one for each network address that matches I<node> and I<service>, subject to any restrictions imposed by I<hints>, and returns a pointer to the start of the list in I<res>.  The items in the linked list are linked by the I<ai_next> field."
2335 msgstr "B<getaddrinfo>()  関数は、 I<addrinfo> 構造体のメモリ確保を行い、 I<addrinfo> 構造体のリンクリストを初期化し、 I<res> にリストの先頭へのポインターを入れて返す。 このとき、各構造体のネットワークアドレスは I<node> と I<service> に一致し、 I<hints> で課されたすべての制限を満たすものとなる。 リンクリストの要素は I<ai_next> フィールドにより連結される。"
2336
2337 #. type: Plain text
2338 #: build/C/man3/getaddrinfo.3:328
2339 msgid "There are several reasons why the linked list may have more than one I<addrinfo> structure, including: the network host is multihomed, accessible over multiple protocols (e.g., both B<AF_INET> and B<AF_INET6>); or the same service is available from multiple socket types (one B<SOCK_STREAM> address and another B<SOCK_DGRAM> address, for example).  Normally, the application should try using the addresses in the order in which they are returned.  The sorting function used within B<getaddrinfo>()  is defined in RFC\\ 3484; the order can be tweaked for a particular system by editing I</etc/gai.conf> (available since glibc 2.5)."
2340 msgstr "リンクリストの I<addrinfo> 構造体は複数個になることもあり、その理由はいくつかある。 ネットワークホストがマルチホームである、 複数のプロトコルでアクセスできる (例えば B<AF_INET> と B<AF_INET6> の両方) 、 複数のソケット種別で同じサービスが利用できる (例えば、ひとつが B<SOCK_STREM> アドレスで、もうひとつが B<SOCK_DGRAM> アドレスである)、がある。 通常は、アプリケーションは返された順序でアドレスを試すべきである。 B<getaddrinfo>()  の中で使用される並べ替え関数は RFC\\ 3484 で定義されている。 特殊なシステムでは、 I</etc/gai.conf> を編集することで、この順序を微調整することができる (I</etc/gai.conf> は glibc 2.5 以降で利用できる)。"
2341
2342 #.  In glibc prior to 2.3.4, the ai_canonname of each addrinfo
2343 #.  structure was set pointing to the canonical name; that was
2344 #.  more than POSIX.1-2001 specified, or other implementations provided.
2345 #.  MTK, Aug 05
2346 #. type: Plain text
2347 #: build/C/man3/getaddrinfo.3:343
2348 msgid "If I<hints.ai_flags> includes the B<AI_CANONNAME> flag, then the I<ai_canonname> field of the first of the I<addrinfo> structures in the returned list is set to point to the official name of the host."
2349 msgstr "I<hints.ai_flags> に B<AI_CANONNAME> フラグが含まれている場合、返されるリストの最初の I<addrinfo> 構造体の I<ai_canonname> フィールドはホストの公式な名前を指すように設定される。"
2350
2351 #. type: Plain text
2352 #: build/C/man3/getaddrinfo.3:347
2353 msgid "The remaining fields of each returned I<addrinfo> structure are initialized as follows:"
2354 msgstr "返される各々の I<addrinfo> 構造体の残りのフィールドは以下のように初期化される。"
2355
2356 #. type: IP
2357 #: build/C/man3/getaddrinfo.3:347 build/C/man3/getaddrinfo.3:370
2358 #: build/C/man3/getaddrinfo_a.3:191 build/C/man3/getaddrinfo_a.3:195
2359 #: build/C/man3/getaddrinfo_a.3:197 build/C/man3/inet_net_pton.3:207
2360 #: build/C/man3/inet_net_pton.3:213 build/C/man3/inet_net_pton.3:220
2361 #: build/C/man3/inet_net_pton.3:227 build/C/man3/inet_net_pton.3:234
2362 #: build/C/man7/ip.7:1001 build/C/man7/ip.7:1004 build/C/man7/ip.7:1007
2363 #: build/C/man7/ip.7:1010 build/C/man5/nsswitch.conf.5:144
2364 #: build/C/man5/nsswitch.conf.5:148 build/C/man7/unix.7:95
2365 #: build/C/man7/unix.7:120 build/C/man7/unix.7:136 build/C/man7/unix.7:162
2366 #: build/C/man7/unix.7:166 build/C/man7/unix.7:170
2367 #, no-wrap
2368 msgid "*"
2369 msgstr "*"
2370
2371 #. type: Plain text
2372 #: build/C/man3/getaddrinfo.3:370
2373 msgid "The I<ai_family>, I<ai_socktype>, and I<ai_protocol> fields return the socket creation parameters (i.e., these fields have the same meaning as the corresponding arguments of B<socket>(2)).  For example, I<ai_family> might return B<AF_INET> or B<AF_INET6>; I<ai_socktype> might return B<SOCK_DGRAM> or B<SOCK_STREAM>; and I<ai_protocol> returns the protocol for the socket."
2374 msgstr "I<ai_family>, I<ai_socktype>, I<ai_protocol> フィールドはソケット生成パラメーターを返す (これらのフィールドの意味は B<socket>(2)  の同じ名前の引き数と同じである)。 例えば、 I<ai_family> は B<AF_INET> や B<AF_INET6> を返し、 I<ai_socktype> は B<SOCK_DGRAM> や B<SOCK_STREAM> を返し、 I<ai_protocol> はそのソケットのプロトコルを返す。"
2375
2376 #. type: Plain text
2377 #: build/C/man3/getaddrinfo.3:377
2378 msgid "A pointer to the socket address is placed in the I<ai_addr> field, and the length of the socket address, in bytes, is placed in the I<ai_addrlen> field."
2379 msgstr "I<ai_addr> フィールドにはソケットアドレスへのポインターが書き込まれ、 I<ai_addrlen> フィールドにはソケットアドレスの長さがバイト単位で書き込まれる。"
2380
2381 #. type: Plain text
2382 #: build/C/man3/getaddrinfo.3:396
2383 msgid "If I<hints.ai_flags> includes the B<AI_ADDRCONFIG> flag, then IPv4 addresses are returned in the list pointed to by I<res> only if the local system has at least one IPv4 address configured, and IPv6 addresses are returned only if the local system has at least one IPv6 address configured.  The loopback address is not considered for this case as valid as a configured address.  This flag is useful on, for example, IPv4-only systems, to ensure that B<getaddrinfo>()  does not return IPv6 socket addresses that would always fail in B<connect>(2)  or B<bind>(2)."
2384 msgstr "I<hints.ai_flags> が B<AI_ADDRCONFIG> を含む場合、 I<res> が指すリストには、ローカルシステムに最低一つの IPv4 アドレスが設定されている場合のみ IPv4 アドレスが返され、 ローカルシステムに最低一つの IPv6 アドレスが設定されている場合にのみ IPv6 アドレスが返される。 なお、この場合には、ループバックアドレスは有効に設定されたアドレスとはみなされない。 このフラグは、例えば、IPv4 だけのシステムで、 B<getaddrinfo>() が必ず IPv6 ソケットアドレスを返さないことを保証するのに役立つ。 IPv4 だけのシステムでは、IPv6 アドレスは B<connect>(2) や B<bind>(2) で必ず失敗することになる。"
2385
2386 #. type: Plain text
2387 #: build/C/man3/getaddrinfo.3:421
2388 msgid "If I<hints.ai_flags> specifies the B<AI_V4MAPPED> flag, and I<hints.ai_family> was specified as B<AF_INET6>, and no matching IPv6 addresses could be found, then return IPv4-mapped IPv6 addresses in the list pointed to by I<res>.  If both B<AI_V4MAPPED> and B<AI_ALL> are specified in I<hints.ai_flags>, then return both IPv6 and IPv4-mapped IPv6 addresses in the list pointed to by I<res>.  B<AI_ALL> is ignored if B<AI_V4MAPPED> is not also specified."
2389 msgstr "I<hints.ai_flags> に B<AI_V4MAPPED> が指定されていて、 I<hints.ai_family> に B<AF_INET6> が指定され、 マッチする IPv6 アドレスが見つからなかった場合、 I<res> が指すリストには IPv4-mapped IPv6 アドレスが返される。 I<hints.ai_flags> に B<AI_V4MAPPED> と B<AI_ALL> の両方が指定されている場合、 I<res> が指すリストには IPv6 アドレスと IPv4-mapped IPv6 アドレスの 両方が返される。 B<AI_V4MAPPED> が指定されていない場合、 B<AI_ALL> は無視される。"
2390
2391 #. type: Plain text
2392 #: build/C/man3/getaddrinfo.3:427
2393 msgid "The B<freeaddrinfo>()  function frees the memory that was allocated for the dynamically allocated linked list I<res>."
2394 msgstr "B<freeaddrinfo>()  関数は、 リンクリスト I<res> に対して動的に割り当てられたメモリを解放する。"
2395
2396 #. type: SS
2397 #: build/C/man3/getaddrinfo.3:427
2398 #, no-wrap
2399 msgid "Extensions to getaddrinfo() for Internationalized Domain Names"
2400 msgstr "国際化ドメイン名のための getaddrinfo() の拡張"
2401
2402 #. type: Plain text
2403 #: build/C/man3/getaddrinfo.3:436
2404 msgid "Starting with glibc 2.3.4, B<getaddrinfo>()  has been extended to selectively allow the incoming and outgoing hostnames to be transparently converted to and from the Internationalized Domain Name (IDN) format (see RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>).  Four new flags are defined:"
2405 msgstr "glibc 2.3.4 から、 B<getaddrinfo>()  は入出力するホスト名を透過的に国際化ドメイン名 (IDN) 形式 (RFC 3490 の I<Internationalizing Domain Names in Applications (IDNA)> を参照のこと) と変換することを選択的に認めるように拡張されている。 4 つの新しいフラグが定義されている:"
2406
2407 #. type: TP
2408 #: build/C/man3/getaddrinfo.3:436
2409 #, no-wrap
2410 msgid "B<AI_IDN>"
2411 msgstr "B<AI_IDN>"
2412
2413 #. type: Plain text
2414 #: build/C/man3/getaddrinfo.3:442
2415 msgid "If this flag is specified, then the node name given in I<node> is converted to IDN format if necessary.  The source encoding is that of the current locale."
2416 msgstr "このフラグが指定されると、 I<node> で与えられたノード名は必要があれば IDN 形式に変換される。 ソース符号化形式は現在のロケールのものである。"
2417
2418 #.  Implementation Detail:
2419 #.  To minimize effects on system performance the implementation might
2420 #.  want to check whether the input string contains any non-ASCII
2421 #.  characters.  If there are none the IDN step can be skipped completely.
2422 #.  On systems which allow not-ASCII safe encodings for a locale this
2423 #.  might be a problem.
2424 #. type: Plain text
2425 #: build/C/man3/getaddrinfo.3:454
2426 msgid "If the input name contains non-ASCII characters, then the IDN encoding is used.  Those parts of the node name (delimited by dots) that contain non-ASCII characters are encoded using ASCII Compatible Encoding (ACE)  before being passed to the name resolution functions."
2427 msgstr "入力名に非 ASCII 文字が含まれている場合、 IDN 符号化形式が使われる。 非 ASCII 文字が含まれている(ピリオドで区切られる)部分ノード名は、 名前解決機能に渡される前に ASCII 互換符号化形式 (ACE) を使って 符号化される。"
2428
2429 #. type: TP
2430 #: build/C/man3/getaddrinfo.3:454
2431 #, no-wrap
2432 msgid "B<AI_CANONIDN>"
2433 msgstr "B<AI_CANONIDN>"
2434
2435 #. type: Plain text
2436 #: build/C/man3/getaddrinfo.3:466
2437 msgid "After a successful name lookup, and if the B<AI_CANONNAME> flag was specified, B<getaddrinfo>()  will return the canonical name of the node corresponding to the I<addrinfo> structure value passed back.  The return value is an exact copy of the value returned by the name resolution function."
2438 msgstr "B<AI_CANONNAME> が指定されている場合、 B<getaddrinfo>()  は名前の検索に成功した後、 返された I<addrinfo> 構造体に対応するノードの正規名を返す。 返り値は名前解決機能から返された値の正確なコピーである。"
2439
2440 #. Implementation Detail:
2441 #. If no component of the returned name starts with xn\-\- the IDN
2442 #. step can be skipped, therefore avoiding unnecessary slowdowns.
2443 #. type: Plain text
2444 #: build/C/man3/getaddrinfo.3:479
2445 msgid "If the name is encoded using ACE, then it will contain the I<xn--> prefix for one or more components of the name.  To convert these components into a readable form the B<AI_CANONIDN> flag can be passed in addition to B<AI_CANONNAME>.  The resulting string is encoded using the current locale's encoding."
2446 msgstr "B<AI_CANONIDN> 名前が ACE で符号化されている場合、一つまたは複数の名前の構成要素の先頭に I<xn--> を含んでいる。 これらの構成要素を読み込み可能な形に変換するために、 B<AI_CANONNAME> と共に B<AI_CANONIDN> フラグを渡すことも出来る。 返される文字列は現在のロケールの符号化形式で符号化されている。"
2447
2448 #. type: TP
2449 #: build/C/man3/getaddrinfo.3:479
2450 #, no-wrap
2451 msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>"
2452 msgstr "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>"
2453
2454 #. type: Plain text
2455 #: build/C/man3/getaddrinfo.3:486 build/C/man3/getnameinfo.3:139
2456 msgid "Setting these flags will enable the IDNA_ALLOW_UNASSIGNED (allow unassigned Unicode code points) and IDNA_USE_STD3_ASCII_RULES (check output to make sure it is a STD3 conforming hostname)  flags respectively to be used in the IDNA handling."
2457 msgstr "これらのフラグをセットすると、IDNA 処理で使用されるフラグ IDNA_ALLOW_UNASSIGNED (未割り当ての Unicode のコードポイントを許容) と IDNA_USE_STD3_ASCII_RULES (出力が STD3 準拠のホスト名かをチェックする)  がそれぞれ有効になる。"
2458
2459 #. type: SH
2460 #: build/C/man3/getaddrinfo.3:486 build/C/man3/getaddrinfo_a.3:242
2461 #: build/C/man3/gethostbyname.3:280 build/C/man3/getipnodebyname.3:186
2462 #: build/C/man3/getnameinfo.3:139 build/C/man3/getnetent.3:130
2463 #: build/C/man3/getnetent_r.3:118 build/C/man2/getpeername.2:68
2464 #: build/C/man3/getprotoent.3:123 build/C/man3/getprotoent_r.3:108
2465 #: build/C/man3/getservent.3:142 build/C/man3/getservent_r.3:107
2466 #: build/C/man3/inet_net_pton.3:130 build/C/man3/inet_ntop.3:83
2467 #: build/C/man3/inet_pton.3:116 build/C/man3/rcmd.3:239
2468 #: build/C/man3/resolver.3:245 build/C/man3/setnetgrent.3:86
2469 #: build/C/man2/shutdown.2:69
2470 #, no-wrap
2471 msgid "RETURN VALUE"
2472 msgstr "返り値"
2473
2474 #.  FIXME glibc defines the following additional errors, some which
2475 #.  can probably be returned by getaddrinfo(); they need to
2476 #.  be documented.
2477 #.  #ifdef __USE_GNU
2478 #.  #define EAI_INPROGRESS  -100  /* Processing request in progress.  */
2479 #.  #define EAI_CANCELED    -101  /* Request canceled.  */
2480 #.  #define EAI_NOTCANCELED -102  /* Request not canceled.  */
2481 #.  #define EAI_ALLDONE     -103  /* All requests done.  */
2482 #.  #define EAI_INTR        -104  /* Interrupted by a signal.  */
2483 #.  #define EAI_IDN_ENCODE  -105  /* IDN encoding failed.  */
2484 #.  #endif
2485 #. type: Plain text
2486 #: build/C/man3/getaddrinfo.3:500
2487 msgid "B<getaddrinfo>()  returns 0 if it succeeds, or one of the following nonzero error codes:"
2488 msgstr "B<getaddrinfo>()  は成功すると 0 を返し、失敗すると以下の非 0 のエラーコードのいずれかを返す。"
2489
2490 #. type: TP
2491 #: build/C/man3/getaddrinfo.3:500
2492 #, no-wrap
2493 msgid "B<EAI_ADDRFAMILY>"
2494 msgstr "B<EAI_ADDRFAMILY>"
2495
2496 #.  Not in SUSv3
2497 #. type: Plain text
2498 #: build/C/man3/getaddrinfo.3:505
2499 msgid "The specified network host does not have any network addresses in the requested address family."
2500 msgstr "指定されたネットワークホストには、 要求されたアドレスファミリーのネットワークアドレスがない。"
2501
2502 #. type: TP
2503 #: build/C/man3/getaddrinfo.3:505 build/C/man3/getaddrinfo_a.3:247
2504 #: build/C/man3/getaddrinfo_a.3:264 build/C/man3/getnameinfo.3:155
2505 #, no-wrap
2506 msgid "B<EAI_AGAIN>"
2507 msgstr "B<EAI_AGAIN>"
2508
2509 #. type: Plain text
2510 #: build/C/man3/getaddrinfo.3:509
2511 msgid "The name server returned a temporary failure indication.  Try again later."
2512 msgstr "ネームサーバーから一時的な失敗 (temporary failure)  を意味する返事が返された。後でもう一度試してみよ。"
2513
2514 #. type: TP
2515 #: build/C/man3/getaddrinfo.3:509 build/C/man3/getnameinfo.3:159
2516 #, no-wrap
2517 msgid "B<EAI_BADFLAGS>"
2518 msgstr "B<EAI_BADFLAGS>"
2519
2520 #. type: Plain text
2521 #: build/C/man3/getaddrinfo.3:519
2522 msgid "I<hints.ai_flags> contains invalid flags; or, I<hints.ai_flags> included B<AI_CANONNAME> and I<name> was NULL."
2523 msgstr "I<hints.ai_flags> のフラグに不正なフラグが含まれている。または、 I<hints.ai_flags> に B<AI_CANONNAME> が含まれていて、かつ I<name> が NULL であった。"
2524
2525 #. type: TP
2526 #: build/C/man3/getaddrinfo.3:519 build/C/man3/getnameinfo.3:164
2527 #, no-wrap
2528 msgid "B<EAI_FAIL>"
2529 msgstr "B<EAI_FAIL>"
2530
2531 #. type: Plain text
2532 #: build/C/man3/getaddrinfo.3:522
2533 msgid "The name server returned a permanent failure indication."
2534 msgstr "ネームサーバーから恒久的な失敗 (permanent failure)  を意味する返事が返された。"
2535
2536 #. type: TP
2537 #: build/C/man3/getaddrinfo.3:522 build/C/man3/getnameinfo.3:167
2538 #, no-wrap
2539 msgid "B<EAI_FAMILY>"
2540 msgstr "B<EAI_FAMILY>"
2541
2542 #. type: Plain text
2543 #: build/C/man3/getaddrinfo.3:525
2544 msgid "The requested address family is not supported."
2545 msgstr "要求されたアドレスファミリーがサポートされていない。"
2546
2547 #. type: TP
2548 #: build/C/man3/getaddrinfo.3:525 build/C/man3/getaddrinfo_a.3:252
2549 #: build/C/man3/getnameinfo.3:171
2550 #, no-wrap
2551 msgid "B<EAI_MEMORY>"
2552 msgstr "B<EAI_MEMORY>"
2553
2554 #. type: Plain text
2555 #: build/C/man3/getaddrinfo.3:528 build/C/man3/getaddrinfo_a.3:255
2556 #: build/C/man3/getnameinfo.3:174 build/C/man7/unix.7:444
2557 msgid "Out of memory."
2558 msgstr "メモリが足りない。"
2559
2560 #. type: TP
2561 #: build/C/man3/getaddrinfo.3:528
2562 #, no-wrap
2563 msgid "B<EAI_NODATA>"
2564 msgstr "B<EAI_NODATA>"
2565
2566 #.  Not in SUSv3
2567 #. type: Plain text
2568 #: build/C/man3/getaddrinfo.3:533
2569 msgid "The specified network host exists, but does not have any network addresses defined."
2570 msgstr "指定されたネットワークホストは存在するが、 ネットワークアドレスがひとつも定義されていない。"
2571
2572 #. type: TP
2573 #: build/C/man3/getaddrinfo.3:533 build/C/man3/getnameinfo.3:174
2574 #, no-wrap
2575 msgid "B<EAI_NONAME>"
2576 msgstr "B<EAI_NONAME>"
2577
2578 #. type: Plain text
2579 #: build/C/man3/getaddrinfo.3:550
2580 msgid "The I<node> or I<service> is not known; or both I<node> and I<service> are NULL; or B<AI_NUMERICSERV> was specified in I<hints.ai_flags> and I<service> was not a numeric port-number string."
2581 msgstr "I<node> と I<service> のどちらかが不明、または I<node> と I<service> の両方が NULL だった場合、または B<AI_NUMERICSERV> が I<hints.ai_flags> に指定されていて、 I<hints.ai_flags> と I<service> が数値のポート番号の文字列でない。"
2582
2583 #. type: TP
2584 #: build/C/man3/getaddrinfo.3:550
2585 #, no-wrap
2586 msgid "B<EAI_SERVICE>"
2587 msgstr "B<EAI_SERVICE>"
2588
2589 #. type: Plain text
2590 #: build/C/man3/getaddrinfo.3:571
2591 msgid "The requested service is not available for the requested socket type.  It may be available through another socket type.  For example, this error could occur if I<service> was \"shell\" (a service available only on stream sockets), and either I<hints.ai_protocol> was B<IPPROTO_UDP>, or I<hints.ai_socktype> was B<SOCK_DGRAM>; or the error could occur if I<service> was not NULL, and I<hints.ai_socktype> was B<SOCK_RAW> (a socket type that does not support the concept of services)."
2592 msgstr "要求されたサービスは、要求されたソケットタイプでは利用できない。 他のソケットタイプでなら利用可能かもしれない。 このエラーが発生する例としては、 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> (サービスの考え方をサポートしていないソケット種別)  が指定された場合にも、このエラーが発生する。"
2593
2594 #. type: TP
2595 #: build/C/man3/getaddrinfo.3:571
2596 #, no-wrap
2597 msgid "B<EAI_SOCKTYPE>"
2598 msgstr "B<EAI_SOCKTYPE>"
2599
2600 #. type: Plain text
2601 #: build/C/man3/getaddrinfo.3:583
2602 msgid "The requested socket type is not supported.  This could occur, for example, if I<hints.ai_socktype> and I<hints.ai_protocol> are inconsistent (e.g., B<SOCK_DGRAM> and B<IPPROTO_TCP>, respectively)."
2603 msgstr "要求されたソケットタイプがサポートされていない。 このエラーが発生する例としては、 I<hints.ai_socktype> と I<hints.ai_protocol> が矛盾している場合 (例えば I<hints.ai_socktype> が B<SOCK_DGRAM> で I<hints.ai_protocol> が B<IPPROTO_TCP>)  がある。"
2604
2605 #. type: TP
2606 #: build/C/man3/getaddrinfo.3:583 build/C/man3/getaddrinfo_a.3:255
2607 #: build/C/man3/getnameinfo.3:187
2608 #, no-wrap
2609 msgid "B<EAI_SYSTEM>"
2610 msgstr "B<EAI_SYSTEM>"
2611
2612 #. type: Plain text
2613 #: build/C/man3/getaddrinfo.3:588
2614 msgid "Other system error, check I<errno> for details."
2615 msgstr "その他のシステムエラー。詳しくは I<errno> を調べること。"
2616
2617 #. type: Plain text
2618 #: build/C/man3/getaddrinfo.3:593
2619 msgid "The B<gai_strerror>()  function translates these error codes to a human readable string, suitable for error reporting."
2620 msgstr "B<gai_strerror>()  関数を用いると、これらのエラーコードを人間に可読な文字列に変換できるので、 エラー報告に適するだろう。"
2621
2622 #. type: Plain text
2623 #: build/C/man3/getaddrinfo.3:600
2624 msgid "POSIX.1-2001.  The B<getaddrinfo>()  function is documented in RFC\\ 2553."
2625 msgstr "POSIX.1-2001.  B<getaddrinfo>()  関数は RFC 2553 に記載されている。"
2626
2627 #. type: Plain text
2628 #: build/C/man3/getaddrinfo.3:605
2629 msgid "B<getaddrinfo>()  supports the I<address>B<%>I<scope-id> notation for specifying the IPv6 scope-ID."
2630 msgstr "B<getaddrinfo>()  は、IPv6 scope-ID を指定するために I<address>B<%>I<scope-id> 記法をサポートしている。"
2631
2632 #. type: Plain text
2633 #: build/C/man3/getaddrinfo.3:613
2634 msgid "B<AI_ADDRCONFIG>, B<AI_ALL>, and B<AI_V4MAPPED> are available since glibc 2.3.3.  B<AI_NUMERICSERV> is available since glibc 2.3.4."
2635 msgstr "B<AI_ADDRCONFIG>, B<AI_ALL>, B<AI_V4MAPPED> は glibc 2.3.3 以降で利用可能である。 B<AI_NUMERICSERV> は glibc 2.3.4 以降で利用可能である。"
2636
2637 #. type: Plain text
2638 #: build/C/man3/getaddrinfo.3:623
2639 msgid "According to POSIX.1-2001, specifying I<hints> as NULL should cause I<ai_flags> to be assumed as 0.  The GNU C library instead assumes a value of B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> for this case, since this value is considered an improvement on the specification."
2640 msgstr "POSIX.1-2001 によると、 I<hints> に NULL が指定された場合、 I<ai_flags> を 0 とみなすべきとされている。 GNU C ライブラリでは、この場合に、代わりに I<ai_flags> を B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> とみなすようになっている。 この値の方が標準規格の改善になると考えられているからである。"
2641
2642 #.  getnameinfo.3 refers to this example
2643 #.  socket.2 refers to this example
2644 #.  bind.2 refers to this example
2645 #.  connect.2 refers to this example
2646 #.  recvfrom.2 refers to this example
2647 #.  sendto.2 refers to this example
2648 #. type: Plain text
2649 #: build/C/man3/getaddrinfo.3:637
2650 msgid "The following programs demonstrate the use of B<getaddrinfo>(), B<gai_strerror>(), B<freeaddrinfo>(), and B<getnameinfo>(3).  The programs are an echo server and client for UDP datagrams."
2651 msgstr "以下のプログラムは、 B<getaddrinfo>(), B<gai_strerror>(), B<freeaddrinfo>(), B<getnameinfo>(3)  の使い方を示したものである。 プログラムは UDP データグラムの echo サーバとクライアントである。"
2652
2653 #. type: SS
2654 #: build/C/man3/getaddrinfo.3:637
2655 #, no-wrap
2656 msgid "Server program"
2657 msgstr "サーバのプログラム"
2658
2659 #. type: Plain text
2660 #: build/C/man3/getaddrinfo.3:647
2661 #, no-wrap
2662 msgid ""
2663 "#include E<lt>sys/types.hE<gt>\n"
2664 "#include E<lt>stdio.hE<gt>\n"
2665 "#include E<lt>stdlib.hE<gt>\n"
2666 "#include E<lt>unistd.hE<gt>\n"
2667 "#include E<lt>string.hE<gt>\n"
2668 "#include E<lt>sys/socket.hE<gt>\n"
2669 "#include E<lt>netdb.hE<gt>\n"
2670 msgstr ""
2671 "#include E<lt>sys/types.hE<gt>\n"
2672 "#include E<lt>stdio.hE<gt>\n"
2673 "#include E<lt>stdlib.hE<gt>  \n"
2674 "#include E<lt>unistd.hE<gt>\n"
2675 "#include E<lt>string.hE<gt>\n"
2676 "#include E<lt>sys/socket.hE<gt>\n"
2677 "#include E<lt>netdb.hE<gt>\n"
2678
2679 #. type: Plain text
2680 #: build/C/man3/getaddrinfo.3:649 build/C/man3/getaddrinfo.3:744
2681 #, no-wrap
2682 msgid "#define BUF_SIZE 500\n"
2683 msgstr "#define BUF_SIZE 500\n"
2684
2685 #. type: Plain text
2686 #: build/C/man3/getaddrinfo.3:660
2687 #, no-wrap
2688 msgid ""
2689 "int\n"
2690 "main(int argc, char *argv[])\n"
2691 "{\n"
2692 "    struct addrinfo hints;\n"
2693 "    struct addrinfo *result, *rp;\n"
2694 "    int sfd, s;\n"
2695 "    struct sockaddr_storage peer_addr;\n"
2696 "    socklen_t peer_addr_len;\n"
2697 "    ssize_t nread;\n"
2698 "    char buf[BUF_SIZE];\n"
2699 msgstr ""
2700 "int\n"
2701 "main(int argc, char *argv[])\n"
2702 "{\n"
2703 "    struct addrinfo hints;\n"
2704 "    struct addrinfo *result, *rp;\n"
2705 "    int sfd, s;\n"
2706 "    struct sockaddr_storage peer_addr;\n"
2707 "    socklen_t peer_addr_len;\n"
2708 "    ssize_t nread;\n"
2709 "    char buf[BUF_SIZE];\n"
2710
2711 #. type: Plain text
2712 #: build/C/man3/getaddrinfo.3:665
2713 #, no-wrap
2714 msgid ""
2715 "    if (argc != 2) {\n"
2716 "        fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n"
2717 "        exit(EXIT_FAILURE);\n"
2718 "    }\n"
2719 msgstr ""
2720 "    if (argc != 2) {\n"
2721 "        fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n"
2722 "        exit(EXIT_FAILURE);\n"
2723 "    }\n"
2724
2725 #. type: Plain text
2726 #: build/C/man3/getaddrinfo.3:674
2727 #, no-wrap
2728 msgid ""
2729 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2730 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2731 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2732 "    hints.ai_flags = AI_PASSIVE;    /* For wildcard IP address */\n"
2733 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2734 "    hints.ai_canonname = NULL;\n"
2735 "    hints.ai_addr = NULL;\n"
2736 "    hints.ai_next = NULL;\n"
2737 msgstr ""
2738 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2739 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2740 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2741 "    hints.ai_flags = AI_PASSIVE;    /* For wildcard IP address */\n"
2742 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2743 "    hints.ai_canonname = NULL;\n"
2744 "    hints.ai_addr = NULL;\n"
2745 "    hints.ai_next = NULL;\n"
2746
2747 #. type: Plain text
2748 #: build/C/man3/getaddrinfo.3:680
2749 #, no-wrap
2750 msgid ""
2751 "    s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
2752 "    if (s != 0) {\n"
2753 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
2754 "        exit(EXIT_FAILURE);\n"
2755 "    }\n"
2756 msgstr ""
2757 "    s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
2758 "    if (s != 0) {\n"
2759 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
2760 "        exit(EXIT_FAILURE);\n"
2761 "    }\n"
2762
2763 #. type: Plain text
2764 #: build/C/man3/getaddrinfo.3:685
2765 #, no-wrap
2766 msgid ""
2767 "    /* getaddrinfo() returns a list of address structures.\n"
2768 "       Try each address until we successfully bind(2).\n"
2769 "       If socket(2) (or bind(2)) fails, we (close the socket\n"
2770 "       and) try the next address. */\n"
2771 msgstr ""
2772 "    /* getaddrinfo() returns a list of address structures.\n"
2773 "       Try each address until we successfully bind(2).\n"
2774 "       If socket(2) (or bind(2)) fails, we (close the socket\n"
2775 "       and) try the next address. */\n"
2776
2777 #. type: Plain text
2778 #: build/C/man3/getaddrinfo.3:691
2779 #, no-wrap
2780 msgid ""
2781 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
2782 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
2783 "                rp-E<gt>ai_protocol);\n"
2784 "        if (sfd == -1)\n"
2785 "            continue;\n"
2786 msgstr ""
2787 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
2788 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype, \n"
2789 "                rp-E<gt>ai_protocol);\n"
2790 "        if (sfd == -1)\n"
2791 "            continue;\n"
2792
2793 #. type: Plain text
2794 #: build/C/man3/getaddrinfo.3:694
2795 #, no-wrap
2796 msgid ""
2797 "        if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
2798 "            break;                  /* Success */\n"
2799 msgstr ""
2800 "        if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
2801 "            break;                  /* Success */\n"
2802
2803 #. type: Plain text
2804 #: build/C/man3/getaddrinfo.3:697 build/C/man3/getaddrinfo.3:790
2805 #, no-wrap
2806 msgid ""
2807 "        close(sfd);\n"
2808 "    }\n"
2809 msgstr ""
2810 "        close(sfd);\n"
2811 "    }\n"
2812
2813 #. type: Plain text
2814 #: build/C/man3/getaddrinfo.3:702
2815 #, no-wrap
2816 msgid ""
2817 "    if (rp == NULL) {               /* No address succeeded */\n"
2818 "        fprintf(stderr, \"Could not bind\\en\");\n"
2819 "        exit(EXIT_FAILURE);\n"
2820 "    }\n"
2821 msgstr ""
2822 "    if (rp == NULL) {               /* No address succeeded */\n"
2823 "        fprintf(stderr, \"Could not bind\\en\");\n"
2824 "        exit(EXIT_FAILURE);\n"
2825 "    }\n"
2826
2827 #. type: Plain text
2828 #: build/C/man3/getaddrinfo.3:704 build/C/man3/getaddrinfo.3:797
2829 #, no-wrap
2830 msgid "    freeaddrinfo(result);           /* No longer needed */\n"
2831 msgstr "    freeaddrinfo(result);           /* No longer needed */\n"
2832
2833 #. type: Plain text
2834 #: build/C/man3/getaddrinfo.3:706
2835 #, no-wrap
2836 msgid "    /* Read datagrams and echo them back to sender */\n"
2837 msgstr "    /* Read datagrams and echo them back to sender */\n"
2838
2839 #. type: Plain text
2840 #: build/C/man3/getaddrinfo.3:713
2841 #, no-wrap
2842 msgid ""
2843 "    for (;;) {\n"
2844 "        peer_addr_len = sizeof(struct sockaddr_storage);\n"
2845 "        nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
2846 "                (struct sockaddr *) &peer_addr, &peer_addr_len);\n"
2847 "        if (nread == -1)\n"
2848 "            continue;               /* Ignore failed request */\n"
2849 msgstr ""
2850 "    for (;;) {\n"
2851 "        peer_addr_len = sizeof(struct sockaddr_storage);\n"
2852 "        nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
2853 "                (struct sockaddr *) &peer_addr, &peer_addr_len);\n"
2854 "        if (nread == -1)\n"
2855 "            continue;               /* Ignore failed request */\n"
2856
2857 #. type: Plain text
2858 #: build/C/man3/getaddrinfo.3:715
2859 #, no-wrap
2860 msgid "        char host[NI_MAXHOST], service[NI_MAXSERV];\n"
2861 msgstr "        char host[NI_MAXHOST], service[NI_MAXSERV];\n"
2862
2863 #. type: Plain text
2864 #: build/C/man3/getaddrinfo.3:724
2865 #, no-wrap
2866 msgid ""
2867 "        s = getnameinfo((struct sockaddr *) &peer_addr,\n"
2868 "                        peer_addr_len, host, NI_MAXHOST,\n"
2869 "                        service, NI_MAXSERV, NI_NUMERICSERV);\n"
2870 "       if (s == 0)\n"
2871 "            printf(\"Received %zd bytes from %s:%s\\en\",\n"
2872 "                    nread, host, service);\n"
2873 "        else\n"
2874 "            fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
2875 msgstr ""
2876 "        s = getnameinfo((struct sockaddr *) &peer_addr,\n"
2877 "                        peer_addr_len, host, NI_MAXHOST,\n"
2878 "                        service, NI_MAXSERV, NI_NUMERICSERV);\n"
2879 "       if (s == 0)\n"
2880 "            printf(\"Received %zd bytes from %s:%s\\en\",\n"
2881 "                    nread, host, service);\n"
2882 "        else\n"
2883 "            fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
2884
2885 #. type: Plain text
2886 #: build/C/man3/getaddrinfo.3:731
2887 #, no-wrap
2888 msgid ""
2889 "        if (sendto(sfd, buf, nread, 0,\n"
2890 "                    (struct sockaddr *) &peer_addr,\n"
2891 "                    peer_addr_len) != nread)\n"
2892 "            fprintf(stderr, \"Error sending response\\en\");\n"
2893 "    }\n"
2894 "}\n"
2895 msgstr ""
2896 "        if (sendto(sfd, buf, nread, 0,\n"
2897 "                    (struct sockaddr *) &peer_addr,\n"
2898 "                    peer_addr_len) != nread)\n"
2899 "            fprintf(stderr, \"Error sending response\\en\");\n"
2900 "    }\n"
2901 "}\n"
2902
2903 #. type: SS
2904 #: build/C/man3/getaddrinfo.3:732
2905 #, no-wrap
2906 msgid "Client program"
2907 msgstr "クライアントのプログラム"
2908
2909 #. type: Plain text
2910 #: build/C/man3/getaddrinfo.3:742
2911 #, no-wrap
2912 msgid ""
2913 "#include E<lt>sys/types.hE<gt>\n"
2914 "#include E<lt>sys/socket.hE<gt>\n"
2915 "#include E<lt>netdb.hE<gt>\n"
2916 "#include E<lt>stdio.hE<gt>\n"
2917 "#include E<lt>stdlib.hE<gt>\n"
2918 "#include E<lt>unistd.hE<gt>\n"
2919 "#include E<lt>string.hE<gt>\n"
2920 msgstr ""
2921 "#include E<lt>sys/types.hE<gt>\n"
2922 "#include E<lt>sys/socket.hE<gt>\n"
2923 "#include E<lt>netdb.hE<gt>\n"
2924 "#include E<lt>stdio.hE<gt>\n"
2925 "#include E<lt>stdlib.hE<gt>\n"
2926 "#include E<lt>unistd.hE<gt>\n"
2927 "#include E<lt>string.hE<gt>\n"
2928
2929 #. type: Plain text
2930 #: build/C/man3/getaddrinfo.3:754
2931 #, no-wrap
2932 msgid ""
2933 "int\n"
2934 "main(int argc, char *argv[])\n"
2935 "{\n"
2936 "    struct addrinfo hints;\n"
2937 "    struct addrinfo *result, *rp;\n"
2938 "    int sfd, s, j;\n"
2939 "    size_t len;\n"
2940 "    ssize_t nread;\n"
2941 "    char buf[BUF_SIZE];\n"
2942 msgstr ""
2943 "int\n"
2944 "main(int argc, char *argv[])\n"
2945 "{\n"
2946 "    struct addrinfo hints;\n"
2947 "    struct addrinfo *result, *rp;\n"
2948 "    int sfd, s, j;\n"
2949 "    size_t len;\n"
2950 "    ssize_t nread;\n"
2951 "    char buf[BUF_SIZE];\n"
2952
2953 #. type: Plain text
2954 #: build/C/man3/getaddrinfo.3:759
2955 #, no-wrap
2956 msgid ""
2957 "    if (argc E<lt> 3) {\n"
2958 "        fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n"
2959 "        exit(EXIT_FAILURE);\n"
2960 "    }\n"
2961 msgstr ""
2962 "    if (argc E<lt> 3) {\n"
2963 "        fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n"
2964 "        exit(EXIT_FAILURE);\n"
2965 "    }\n"
2966
2967 #. type: Plain text
2968 #: build/C/man3/getaddrinfo.3:761
2969 #, no-wrap
2970 msgid "    /* Obtain address(es) matching host/port */\n"
2971 msgstr "    /* Obtain address(es) matching host/port */\n"
2972
2973 #. type: Plain text
2974 #: build/C/man3/getaddrinfo.3:767
2975 #, no-wrap
2976 msgid ""
2977 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2978 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2979 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2980 "    hints.ai_flags = 0;\n"
2981 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2982 msgstr ""
2983 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2984 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2985 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2986 "    hints.ai_flags = 0;\n"
2987 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2988
2989 #. type: Plain text
2990 #: build/C/man3/getaddrinfo.3:773
2991 #, no-wrap
2992 msgid ""
2993 "    s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
2994 "    if (s != 0) {\n"
2995 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
2996 "        exit(EXIT_FAILURE);\n"
2997 "    }\n"
2998 msgstr ""
2999 "    s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
3000 "    if (s != 0) {\n"
3001 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
3002 "        exit(EXIT_FAILURE);\n"
3003 "    }\n"
3004
3005 #. type: Plain text
3006 #: build/C/man3/getaddrinfo.3:778
3007 #, no-wrap
3008 msgid ""
3009 "    /* getaddrinfo() returns a list of address structures.\n"
3010 "       Try each address until we successfully connect(2).\n"
3011 "       If socket(2) (or connect(2)) fails, we (close the socket\n"
3012 "       and) try the next address. */\n"
3013 msgstr ""
3014 "    /* getaddrinfo() returns a list of address structures.\n"
3015 "       Try each address until we successfully connect(2).\n"
3016 "       If socket(2) (or connect(2)) fails, we (close the socket\n"
3017 "       and) try the next address. */\n"
3018
3019 #. type: Plain text
3020 #: build/C/man3/getaddrinfo.3:784
3021 #, no-wrap
3022 msgid ""
3023 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
3024 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
3025 "                     rp-E<gt>ai_protocol);\n"
3026 "        if (sfd == -1)\n"
3027 "            continue;\n"
3028 msgstr ""
3029 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
3030 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
3031 "                     rp-E<gt>ai_protocol);\n"
3032 "        if (sfd == -1)\n"
3033 "            continue;\n"
3034
3035 #. type: Plain text
3036 #: build/C/man3/getaddrinfo.3:787
3037 #, no-wrap
3038 msgid ""
3039 "        if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
3040 "            break;                  /* Success */\n"
3041 msgstr ""
3042 "        if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
3043 "            break;                  /* Success */\n"
3044
3045 #. type: Plain text
3046 #: build/C/man3/getaddrinfo.3:795
3047 #, no-wrap
3048 msgid ""
3049 "    if (rp == NULL) {               /* No address succeeded */\n"
3050 "        fprintf(stderr, \"Could not connect\\en\");\n"
3051 "        exit(EXIT_FAILURE);\n"
3052 "    }\n"
3053 msgstr ""
3054 "    if (rp == NULL) {               /* No address succeeded */\n"
3055 "        fprintf(stderr, \"Could not connect\\en\");\n"
3056 "        exit(EXIT_FAILURE);\n"
3057 "    }\n"
3058
3059 #. type: Plain text
3060 #: build/C/man3/getaddrinfo.3:800
3061 #, no-wrap
3062 msgid ""
3063 "    /* Send remaining command-line arguments as separate\n"
3064 "       datagrams, and read responses from server */\n"
3065 msgstr ""
3066 "    /* Send remaining command-line arguments as separate \n"
3067 "       datagrams, and read responses from server */\n"
3068
3069 #. type: Plain text
3070 #: build/C/man3/getaddrinfo.3:804
3071 #, no-wrap
3072 msgid ""
3073 "    for (j = 3; j E<lt> argc; j++) {\n"
3074 "        len = strlen(argv[j]) + 1;\n"
3075 "                /* +1 for terminating null byte */\n"
3076 msgstr ""
3077 "    for (j = 3; j E<lt> argc; j++) {\n"
3078 "        len = strlen(argv[j]) + 1;\n"
3079 "                /* +1 for terminating null byte */\n"
3080
3081 #. type: Plain text
3082 #: build/C/man3/getaddrinfo.3:810
3083 #, no-wrap
3084 msgid ""
3085 "        if (len + 1 E<gt> BUF_SIZE) {\n"
3086 "            fprintf(stderr,\n"
3087 "                    \"Ignoring long message in argument %d\\en\", j);\n"
3088 "            continue;\n"
3089 "        }\n"
3090 msgstr ""
3091 "        if (len + 1 E<gt> BUF_SIZE) {\n"
3092 "            fprintf(stderr,\n"
3093 "                    \"Ignoring long message in argument %d\\en\", j);\n"
3094 "            continue;\n"
3095 "        }\n"
3096
3097 #. type: Plain text
3098 #: build/C/man3/getaddrinfo.3:815
3099 #, no-wrap
3100 msgid ""
3101 "        if (write(sfd, argv[j], len) != len) {\n"
3102 "            fprintf(stderr, \"partial/failed write\\en\");\n"
3103 "            exit(EXIT_FAILURE);\n"
3104 "        }\n"
3105 msgstr ""
3106 "        if (write(sfd, argv[j], len) != len) {\n"
3107 "            fprintf(stderr, \"partial/failed write\\en\");\n"
3108 "            exit(EXIT_FAILURE);\n"
3109 "        }\n"
3110
3111 #. type: Plain text
3112 #: build/C/man3/getaddrinfo.3:821
3113 #, no-wrap
3114 msgid ""
3115 "        nread = read(sfd, buf, BUF_SIZE);\n"
3116 "        if (nread == -1) {\n"
3117 "            perror(\"read\");\n"
3118 "            exit(EXIT_FAILURE);\n"
3119 "        }\n"
3120 msgstr ""
3121 "        nread = read(sfd, buf, BUF_SIZE);\n"
3122 "        if (nread == -1) {\n"
3123 "            perror(\"read\");\n"
3124 "            exit(EXIT_FAILURE);\n"
3125 "        }\n"
3126
3127 #. type: Plain text
3128 #: build/C/man3/getaddrinfo.3:824
3129 #, no-wrap
3130 msgid ""
3131 "        printf(\"Received %zd bytes: %s\\en\", nread, buf);\n"
3132 "    }\n"
3133 msgstr ""
3134 "        printf(\"Received %zd bytes: %s\\en\", nread, buf);\n"
3135 "    }\n"
3136
3137 #.  .BR getipnodebyaddr (3),
3138 #.  .BR getipnodebyname (3),
3139 #. type: Plain text
3140 #: build/C/man3/getaddrinfo.3:838
3141 msgid "B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
3142 msgstr "B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
3143
3144 #. type: TH
3145 #: build/C/man3/getaddrinfo_a.3:29
3146 #, no-wrap
3147 msgid "GETADDRINFO_A"
3148 msgstr "GETADDRINFO_A"
3149
3150 #. type: TH
3151 #: build/C/man3/getaddrinfo_a.3:29 build/C/man3/getnameinfo.3:10
3152 #: build/C/man3/inet.3:42 build/C/man3/inet_net_pton.3:26
3153 #: build/C/man3/rcmd.3:43 build/C/man3/resolver.3:32 build/C/man3/rexec.3:41
3154 #: build/C/man3/setnetgrent.3:10
3155 #, no-wrap
3156 msgid "2014-05-28"
3157 msgstr "2014-05-28"
3158
3159 #. type: Plain text
3160 #: build/C/man3/getaddrinfo_a.3:33
3161 msgid "getaddrinfo_a, gai_suspend, gai_error, gai_cancel - asynchronous network address and service translation"
3162 msgstr "getaddrinfo_a, gai_suspend, gai_error, gai_cancel - 非同期のネットワークアドレスとサービスの変換"
3163
3164 #. type: Plain text
3165 #: build/C/man3/getaddrinfo_a.3:37
3166 #, no-wrap
3167 msgid ""
3168 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
3169 "B<#include E<lt>netdb.hE<gt>>\n"
3170 msgstr ""
3171 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3172 "B<#include E<lt>netdb.hE<gt>>\n"
3173
3174 #. type: Plain text
3175 #: build/C/man3/getaddrinfo_a.3:40
3176 #, no-wrap
3177 msgid ""
3178 "B<int getaddrinfo_a(int >I<mode>B<, struct gaicb *>I<list[]>B<,>\n"
3179 "B<                int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3180 msgstr ""
3181 "B<int getaddrinfo_a(int >I<mode>B<, struct gaicb *>I<list[]>B<,>\n"
3182 "B<                int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3183
3184 #. type: Plain text
3185 #: build/C/man3/getaddrinfo_a.3:43
3186 #, no-wrap
3187 msgid ""
3188 "B<int gai_suspend(const struct gaicb * const >I<list[]>B<, int >I<nitems>B<,>\n"
3189 "B<                const struct timespec *>I<timeout>B<);>\n"
3190 msgstr ""
3191 "B<int gai_suspend(const struct gaicb * const >I<list[]>B<, int >I<nitems>B<,>\n"
3192 "B<                const struct timespec *>I<timeout>B<);>\n"
3193
3194 #. type: Plain text
3195 #: build/C/man3/getaddrinfo_a.3:45
3196 #, no-wrap
3197 msgid "B<int gai_error(struct gaicb *>I<req>B<);>\n"
3198 msgstr "B<int gai_error(struct gaicb *>I<req>B<);>\n"
3199
3200 #. type: Plain text
3201 #: build/C/man3/getaddrinfo_a.3:47
3202 #, no-wrap
3203 msgid "B<int gai_cancel(struct gaicb *>I<req>B<);>\n"
3204 msgstr "B<int gai_cancel(struct gaicb *>I<req>B<);>\n"
3205
3206 #. type: Plain text
3207 #: build/C/man3/getaddrinfo_a.3:49
3208 #, no-wrap
3209 msgid "Link with I<-lanl>.\n"
3210 msgstr "I<-lanl> でリンクする。\n"
3211
3212 #. type: Plain text
3213 #: build/C/man3/getaddrinfo_a.3:57
3214 msgid "The B<getaddrinfo_a>()  function performs the same task as B<getaddrinfo>(3), but allows multiple name look-ups to be performed asynchronously, with optional notification on completion of look-up operations."
3215 msgstr "B<getaddrinfo_a>() 関数は B<getaddrinfo>(3) と同じ処理を実行するが、 複数の名前検索を非同期で実行でき、 検索処理の完了の通知ができる点が異なる。"
3216
3217 #. type: Plain text
3218 #: build/C/man3/getaddrinfo_a.3:61
3219 msgid "The I<mode> argument has one of the following values:"
3220 msgstr "I<mode> 引き数は以下の値のいずれかを指定する。"
3221
3222 #. type: TP
3223 #: build/C/man3/getaddrinfo_a.3:61
3224 #, no-wrap
3225 msgid "B<GAI_WAIT>"
3226 msgstr "B<GAI_WAIT>"
3227
3228 #. type: Plain text
3229 #: build/C/man3/getaddrinfo_a.3:65
3230 msgid "Perform the look-ups synchronously.  The call blocks until the look-ups have completed."
3231 msgstr "検索を同期で実行する。 呼び出しは検索が完了するまで停止 (block) する。"
3232
3233 #. type: TP
3234 #: build/C/man3/getaddrinfo_a.3:65
3235 #, no-wrap
3236 msgid "B<GAI_NOWAIT>"
3237 msgstr "B<GAI_NOWAIT>"
3238
3239 #. type: Plain text
3240 #: build/C/man3/getaddrinfo_a.3:73
3241 msgid "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."
3242 msgstr "検索を非同期で実行する。 呼び出しは直ちに返り、 要求はバックグラウンドで処理される。 以下の I<sevp> 引き数の議論を参照。"
3243
3244 #. type: Plain text
3245 #: build/C/man3/getaddrinfo_a.3:88
3246 msgid "The array I<list> specifies the look-up requests to process.  The I<nitems> 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:"
3247 msgstr "配列 I<list> は処理すべき検索要求を指定する。 I<nitems> 引き数は I<list> の要素数を指定する。 要求された検索命令は並列に開始される。 I<list> の NULL 要素は無視される。 各要求は以下のように定義された I<gaicb> 構造体で規定される。"
3248
3249 #. type: Plain text
3250 #: build/C/man3/getaddrinfo_a.3:97
3251 #, no-wrap
3252 msgid ""
3253 "struct gaicb {\n"
3254 "    const char            *ar_name;\n"
3255 "    const char            *ar_service;\n"
3256 "    const struct addrinfo *ar_request;\n"
3257 "    struct addrinfo       *ar_result;\n"
3258 "};\n"
3259 msgstr ""
3260 "struct gaicb {\n"
3261 "    const char            *ar_name;\n"
3262 "    const char            *ar_service;\n"
3263 "    const struct addrinfo *ar_request;\n"
3264 "    struct addrinfo       *ar_result;\n"
3265 "};\n"
3266
3267 #. type: Plain text
3268 #: build/C/man3/getaddrinfo_a.3:128
3269 msgid "The elements of this structure correspond to the arguments of B<getaddrinfo>(3).  Thus, I<ar_name> corresponds to the I<node> argument and I<ar_service> to the I<service> argument, identifying an Internet host and a service.  The I<ar_request> element corresponds to the I<hints> argument, specifying the criteria for selecting the returned socket address structures.  Finally, I<ar_result> corresponds to the I<res> argument; you 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)."
3270 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) に説明がある。"
3271
3272 #. type: Plain text
3273 #: build/C/man3/getaddrinfo_a.3:144
3274 msgid "When I<mode> is specified as B<GAI_NOWAIT>, notifications about resolved requests can be obtained by employing the I<sigevent> structure pointed to 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:"
3275 msgstr "I<mode> に B<GAI_NOWAIT> が指定された場合、 解決した要求に関する通知を I<sevp> 引き数が指す I<sigevent> 構造体を使って受け取ることができる。 この構造体の定義と一般的な説明については B<sigevent>(7) を参照。 I<sevp-E<gt>sigev_notify> フィールドには以下の値を指定できる。"
3276
3277 #. type: TP
3278 #: build/C/man3/getaddrinfo_a.3:144
3279 #, no-wrap
3280 msgid "B<SIGEV_NONE>"
3281 msgstr "B<SIGEV_NONE>"
3282
3283 #. type: Plain text
3284 #: build/C/man3/getaddrinfo_a.3:147
3285 msgid "Don't provide any notification."
3286 msgstr "通知は行わない。"
3287
3288 #. type: TP
3289 #: build/C/man3/getaddrinfo_a.3:147
3290 #, no-wrap
3291 msgid "B<SIGEV_SIGNAL>"
3292 msgstr "B<SIGEV_SIGNAL>"
3293
3294 #.  si_pid and si_uid are also set, to the values of the calling process,
3295 #.  which doesn't provide useful information, so we'll skip mentioning it.
3296 #. type: Plain text
3297 #: build/C/man3/getaddrinfo_a.3:163
3298 msgid "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>."
3299 msgstr "検索が完了した際に、 プロセスに対してシグナル I<sigev_signo> を生成する。 一般的な説明は B<sigevent>(7) を参照。 I<siginfo_t> 構造体の I<si_code> フィールドには B<SI_ASYNCNL> がセットされる。"
3300
3301 #. type: TP
3302 #: build/C/man3/getaddrinfo_a.3:163
3303 #, no-wrap
3304 msgid "B<SIGEV_THREAD>"
3305 msgstr "B<SIGEV_THREAD>"
3306
3307 #. type: Plain text
3308 #: build/C/man3/getaddrinfo_a.3:171
3309 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."
3310 msgstr "検索が完了した際に、 I<sigev_notify_function> を新しいスレッドの開始関数であるかのように起動する。 詳細は B<sigevent>(7) を参照。"
3311
3312 #. type: Plain text
3313 #: build/C/man3/getaddrinfo_a.3:180
3314 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>."
3315 msgstr "B<SIGEV_SIGNAL> と B<SIGEV_THREAD> では、 I<sevp-E<gt>sigev_value.sival_ptr> が I<list> を指すようにしておくと役立つことがある。"
3316
3317 #. type: Plain text
3318 #: build/C/man3/getaddrinfo_a.3:191
3319 msgid "The B<gai_suspend>()  function suspends execution of the calling thread, 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:"
3320 msgstr "B<gai_suspend>() 関数は呼び出し元のスレッドの実行を中断し、 配列 I<list> 内の一つ以上の要求が完了するのを待つ。 I<nitems> 引き数は配列 I<list> の大きさを指定する。 呼び出しは以下のいずれかの状況になるまで停止する。"
3321
3322 #. type: Plain text
3323 #: build/C/man3/getaddrinfo_a.3:195
3324 msgid "One or more of the operations in I<list> completes."
3325 msgstr "I<list> 内の一つ以上の操作が完了した。"
3326
3327 #. type: Plain text
3328 #: build/C/man3/getaddrinfo_a.3:197
3329 msgid "The call is interrupted by a signal that is caught."
3330 msgstr "呼び出しが補足されたシグナルに割り込まれた。"
3331
3332 #. type: Plain text
3333 #: build/C/man3/getaddrinfo_a.3:210
3334 msgid "The time interval specified in I<timeout> elapses.  This argument specifies 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)."
3335 msgstr "I<timeout> で指定された期間が経過した。 この引き数は、秒とナノ秒でタイムアウトを指定する (I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。 I<timeout> が NULL の場合、 (上記のイベントのいずれかが発生するまで) 呼び出しは無限に停止する。"
3336
3337 #. type: Plain text
3338 #: build/C/man3/getaddrinfo_a.3:215
3339 msgid "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."
3340 msgstr "どの要求が完了したかは明示的な通知は行われない。 どの要求が完了したかを知るためには、 要求のリストに対して B<gai_error>() を繰り返し呼び出す必要がある。"
3341
3342 #. type: Plain text
3343 #: build/C/man3/getaddrinfo_a.3:225
3344 msgid "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."
3345 msgstr "B<gai_error>() 関数は要求 I<req> のステータスを返す。 要求がまだ完了していない場合は B<EAI_INPROGRESS> が、 要求が正常に処理された場合は 0 が、 要求を解決できなかった場合はエラーコードが返される。"
3346
3347 #. type: Plain text
3348 #: build/C/man3/getaddrinfo_a.3:242
3349 msgid "The B<gai_cancel>()  function cancels the request I<req>.  If the request has been canceled successfully, the error status of the request will be set to B<EAI_CANCELLED> and normal asynchronous notification will be performed.  The request cannot be canceled if it is currently being processed; in that 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."
3350 msgstr "B<gai_cancel>() 関数は要求 I<req> をキャンセルする。 要求が正常にキャンセルされた場合、 要求のエラーステータスに B<EAI_CANCELLED> が設定され、 通常の非同期通知が実行される。 要求が現在処理中でキャンセルできない場合もある。 この場合 B<gai_cancel>() が呼ばれなかったかのように処理が行われる。 I<req> が NULL の場合、 そのプロセスが行ったすべての処理中の要求をキャンセルしようとする。"
3351
3352 #. type: Plain text
3353 #: build/C/man3/getaddrinfo_a.3:247
3354 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:"
3355 msgstr "B<getaddrinfo_a>() 関数はすべての要求が正常にキューに追加されると 0 を返す。 または、以下のいずれかの 0 でないエラーコードを返す。"
3356
3357 #. type: Plain text
3358 #: build/C/man3/getaddrinfo_a.3:252
3359 msgid "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."
3360 msgstr "検索要求をキューに入れるために必要なリソースがなかった。 アプリケーションは書く要求のエラーステータスを確認し、 どの要求が失敗したかを判定することができる。"
3361
3362 #. type: Plain text
3363 #: build/C/man3/getaddrinfo_a.3:259
3364 msgid "I<mode> is invalid."
3365 msgstr "I<mode> が無効である。"
3366
3367 #. type: Plain text
3368 #: build/C/man3/getaddrinfo_a.3:264
3369 msgid "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:"
3370 msgstr "B<gai_suspend>() 関数はリストの要求の少なくともひとつが完了すると 0 を返す。 それ以外の場合、 以下の 0 でないエラーコードのいずれかを返す。"
3371
3372 #. type: Plain text
3373 #: build/C/man3/getaddrinfo_a.3:267
3374 msgid "The given timeout expired before any of the requests could be completed."
3375 msgstr "いずれかの要求が完了する前に指定されたタイムアウト時間が満了した。"
3376
3377 #. type: TP
3378 #: build/C/man3/getaddrinfo_a.3:267 build/C/man3/getaddrinfo_a.3:297
3379 #, no-wrap
3380 msgid "B<EAI_ALLDONE>"
3381 msgstr "B<EAI_ALLDONE>"
3382
3383 #. type: Plain text
3384 #: build/C/man3/getaddrinfo_a.3:270
3385 msgid "There were no actual requests given to the function."
3386 msgstr "指定された関数には実際には要求がなかった。"
3387
3388 #. type: TP
3389 #: build/C/man3/getaddrinfo_a.3:270
3390 #, no-wrap
3391 msgid "B<EAI_INTR>"
3392 msgstr "B<EAI_INTR>"
3393
3394 #. type: Plain text
3395 #: build/C/man3/getaddrinfo_a.3:275
3396 msgid "A signal has interrupted the function.  Note that this interruption might have been caused by signal notification of some completed look-up request."
3397 msgstr "シグナルが関数に割り込んだ。 この割り込みは検索要求が完了したことを示すシグナル通知により起こる場合もある。"
3398
3399 #. type: Plain text
3400 #: build/C/man3/getaddrinfo_a.3:287
3401 msgid "The B<gai_error>()  function can return B<EAI_INPROGRESS> for an unfinished look-up request, 0 for a successfully completed look-up (as described 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."
3402 msgstr "B<gai_error>() 関数は、 完了していない検索要求に対して B<EAI_INPROGRESS> を返し、 成功で完了した検索に対して 0 を返す。 B<getaddrinfo>(3) が返すエラーコードのいずれかを返す場合もある。 要求の完了前に明示的に要求がキャンセルされた場合はエラーコード B<EAI_CANCELLED> を返す。"
3403
3404 #. type: Plain text
3405 #: build/C/man3/getaddrinfo_a.3:291
3406 msgid "The B<gai_cancel>()  function can return one of these values:"
3407 msgstr "B<gai_cancel>() 関数はこれらの値のいずれかを返すことがある。"
3408
3409 #. type: TP
3410 #: build/C/man3/getaddrinfo_a.3:291
3411 #, no-wrap
3412 msgid "B<EAI_CANCELLED>"
3413 msgstr "B<EAI_CANCELLED>"
3414
3415 #. type: Plain text
3416 #: build/C/man3/getaddrinfo_a.3:294
3417 msgid "The request has been canceled successfully."
3418 msgstr "要求は正常にキャンセルされた。"
3419
3420 #. type: TP
3421 #: build/C/man3/getaddrinfo_a.3:294
3422 #, no-wrap
3423 msgid "B<EAI_NOTCANCELLED>"
3424 msgstr "B<EAI_NOTCANCELLED>"
3425
3426 #. type: Plain text
3427 #: build/C/man3/getaddrinfo_a.3:297
3428 msgid "The request has not been canceled."
3429 msgstr "要求はキャンセルされていない。"
3430
3431 #. type: Plain text
3432 #: build/C/man3/getaddrinfo_a.3:300
3433 msgid "The request has already completed."
3434 msgstr "要求はすでに完了している。"
3435
3436 #. type: Plain text
3437 #: build/C/man3/getaddrinfo_a.3:305 build/C/man3/getnameinfo.3:197
3438 msgid "The B<gai_strerror>(3)  function translates these error codes to a human readable string, suitable for error reporting."
3439 msgstr "B<gai_strerror>(3) 関数を使うと、 これらのエラーコードを、 エラーレポートに適した人間が読みやすい文字列に翻訳してくれる。"
3440
3441 #. type: Plain text
3442 #: build/C/man3/getaddrinfo_a.3:308
3443 msgid "These functions are GNU extensions; they first appeared in glibc in version 2.2.3."
3444 msgstr "これらの関数は GNU 拡張である。 バージョン 2.2.3 で初めて glibc に登場した。"
3445
3446 #. type: Plain text
3447 #: build/C/man3/getaddrinfo_a.3:314
3448 msgid "The interface of B<getaddrinfo_a>()  was modeled after the B<lio_listio>(3)  interface."
3449 msgstr "B<getaddrinfo_a>() インターフェースは B<lio_listio>(3) インターフェースの後にモデル化された。"
3450
3451 #. type: Plain text
3452 #: build/C/man3/getaddrinfo_a.3:318
3453 msgid "Two examples are provided: a simple example that resolves several requests in parallel synchronously, and a complex example showing some of the asynchronous capabilities."
3454 msgstr "ここでは二つの例を示す。 一つは複数の要求を同期処理で並行して解決する例で、 もう一つは非同期機能を使った複雑な例である。"
3455
3456 #. type: SS
3457 #: build/C/man3/getaddrinfo_a.3:318
3458 #, no-wrap
3459 msgid "Synchronous example"
3460 msgstr "同期型の例"
3461
3462 #. type: Plain text
3463 #: build/C/man3/getaddrinfo_a.3:323
3464 msgid "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:"
3465 msgstr "以下のプログラムは単に複数のホスト名の解決を並行で行う。 B<getaddrinfo>(3) を使って順番にホスト名の解決を行うのに比べて速度が向上する。 このプログラムは以下のように使う。"
3466
3467 #. type: Plain text
3468 #: build/C/man3/getaddrinfo_a.3:330
3469 #, no-wrap
3470 msgid ""
3471 "$ B<./a.out ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz>\n"
3472 "ftp.us.kernel.org: 128.30.2.36\n"
3473 "enoent.linuxfoundation.org: Name or service not known\n"
3474 "gnu.cz: 87.236.197.13\n"
3475 msgstr ""
3476 "$ B<./a.out ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz>\n"
3477 "ftp.us.kernel.org: 128.30.2.36\n"
3478 "enoent.linuxfoundation.org: Name or service not known\n"
3479 "gnu.cz: 87.236.197.13\n"
3480
3481 #. type: Plain text
3482 #: build/C/man3/getaddrinfo_a.3:334
3483 msgid "Here is the program source code"
3484 msgstr "プログラムのソースコードは以下のとおりである。"
3485
3486 #. type: Plain text
3487 #: build/C/man3/getaddrinfo_a.3:341 build/C/man3/getaddrinfo_a.3:430
3488 #, no-wrap
3489 msgid ""
3490 "#define _GNU_SOURCE\n"
3491 "#include E<lt>netdb.hE<gt>\n"
3492 "#include E<lt>stdio.hE<gt>\n"
3493 "#include E<lt>stdlib.hE<gt>\n"
3494 "#include E<lt>string.hE<gt>\n"
3495 msgstr ""
3496 "#define _GNU_SOURCE\n"
3497 "#include E<lt>netdb.hE<gt>\n"
3498 "#include E<lt>stdio.hE<gt>\n"
3499 "#include E<lt>stdlib.hE<gt>\n"
3500 "#include E<lt>string.hE<gt>\n"
3501
3502 #. type: Plain text
3503 #: build/C/man3/getaddrinfo_a.3:349
3504 #, no-wrap
3505 msgid ""
3506 "int\n"
3507 "main(int argc, char *argv[])\n"
3508 "{\n"
3509 "    int i, ret;\n"
3510 "    struct gaicb *reqs[argc - 1];\n"
3511 "    char host[NI_MAXHOST];\n"
3512 "    struct addrinfo *res;\n"
3513 msgstr ""
3514 "int\n"
3515 "main(int argc, char *argv[])\n"
3516 "{\n"
3517 "    int i, ret;\n"
3518 "    struct gaicb *reqs[argc - 1];\n"
3519 "    char host[NI_MAXHOST];\n"
3520 "    struct addrinfo *res;\n"
3521
3522 #. type: Plain text
3523 #: build/C/man3/getaddrinfo_a.3:354
3524 #, no-wrap
3525 msgid ""
3526 "    if (argc E<lt> 2) {\n"
3527 "        fprintf(stderr, \"Usage: %s HOST...\\en\", argv[0]);\n"
3528 "        exit(EXIT_FAILURE);\n"
3529 "    }\n"
3530 msgstr ""
3531 "    if (argc E<lt> 2) {\n"
3532 "        fprintf(stderr, \"Usage: %s HOST...\\en\", argv[0]);\n"
3533 "        exit(EXIT_FAILURE);\n"
3534 "    }\n"
3535
3536 #. type: Plain text
3537 #: build/C/man3/getaddrinfo_a.3:364
3538 #, no-wrap
3539 msgid ""
3540 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3541 "        reqs[i] = malloc(sizeof(*reqs[0]));\n"
3542 "        if (reqs[i] == NULL) {\n"
3543 "            perror(\"malloc\");\n"
3544 "            exit(EXIT_FAILURE);\n"
3545 "        }\n"
3546 "        memset(reqs[i], 0, sizeof(*reqs[0]));\n"
3547 "        reqs[i]-E<gt>ar_name = argv[i + 1];\n"
3548 "    }\n"
3549 msgstr ""
3550 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3551 "        reqs[i] = malloc(sizeof(*reqs[0]));\n"
3552 "        if (reqs[i] == NULL) {\n"
3553 "            perror(\"malloc\");\n"
3554 "            exit(EXIT_FAILURE);\n"
3555 "        }\n"
3556 "        memset(reqs[i], 0, sizeof(*reqs[0]));\n"
3557 "        reqs[i]-E<gt>ar_name = argv[i + 1];\n"
3558 "    }\n"
3559
3560 #. type: Plain text
3561 #: build/C/man3/getaddrinfo_a.3:371
3562 #, no-wrap
3563 msgid ""
3564 "    ret = getaddrinfo_a(GAI_WAIT, reqs, argc - 1, NULL);\n"
3565 "    if (ret != 0) {\n"
3566 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3567 "                gai_strerror(ret));\n"
3568 "        exit(EXIT_FAILURE);\n"
3569 "    }\n"
3570 msgstr ""
3571 "    ret = getaddrinfo_a(GAI_WAIT, reqs, argc - 1, NULL);\n"
3572 "    if (ret != 0) {\n"
3573 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3574 "                gai_strerror(ret));\n"
3575 "        exit(EXIT_FAILURE);\n"
3576 "    }\n"
3577
3578 #. type: Plain text
3579 #: build/C/man3/getaddrinfo_a.3:377
3580 #, no-wrap
3581 msgid ""
3582 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3583 "        printf(\"%s: \", reqs[i]-E<gt>ar_name);\n"
3584 "        ret = gai_error(reqs[i]);\n"
3585 "        if (ret == 0) {\n"
3586 "            res = reqs[i]-E<gt>ar_result;\n"
3587 msgstr ""
3588 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3589 "        printf(\"%s: \", reqs[i]-E<gt>ar_name);\n"
3590 "        ret = gai_error(reqs[i]);\n"
3591 "        if (ret == 0) {\n"
3592 "            res = reqs[i]-E<gt>ar_result;\n"
3593
3594 #. type: Plain text
3595 #: build/C/man3/getaddrinfo_a.3:387
3596 #, no-wrap
3597 msgid ""
3598 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
3599 "                    host, sizeof(host),\n"
3600 "                    NULL, 0, NI_NUMERICHOST);\n"
3601 "            if (ret != 0) {\n"
3602 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
3603 "                        gai_strerror(ret));\n"
3604 "                exit(EXIT_FAILURE);\n"
3605 "            }\n"
3606 "            puts(host);\n"
3607 msgstr ""
3608 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
3609 "                    host, sizeof(host),\n"
3610 "                    NULL, 0, NI_NUMERICHOST);\n"
3611 "            if (ret != 0) {\n"
3612 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
3613 "                        gai_strerror(ret));\n"
3614 "                exit(EXIT_FAILURE);\n"
3615 "            }\n"
3616 "            puts(host);\n"
3617
3618 #. type: Plain text
3619 #: build/C/man3/getaddrinfo_a.3:394
3620 #, no-wrap
3621 msgid ""
3622 "        } else {\n"
3623 "            puts(gai_strerror(ret));\n"
3624 "        }\n"
3625 "    }\n"
3626 "    exit(EXIT_SUCCESS);\n"
3627 "}\n"
3628 msgstr ""
3629 "        } else {\n"
3630 "            puts(gai_strerror(ret));\n"
3631 "        }\n"
3632 "    }\n"
3633 "    exit(EXIT_SUCCESS);\n"
3634 "}\n"
3635
3636 #. type: SS
3637 #: build/C/man3/getaddrinfo_a.3:395
3638 #, no-wrap
3639 msgid "Asynchronous example"
3640 msgstr "非同期型の例"
3641
3642 #. type: Plain text
3643 #: build/C/man3/getaddrinfo_a.3:400
3644 msgid "This example shows a simple interactive B<getaddrinfo_a>()  front-end.  The notification facility is not demonstrated."
3645 msgstr "この例は B<getaddrinfo_a>() の簡単な対話式のフロントエンドである。 通知機能は使っていない。"
3646
3647 #. type: Plain text
3648 #: build/C/man3/getaddrinfo_a.3:402
3649 msgid "An example session might look like this:"
3650 msgstr "セッションの実行例は以下のようになる。"
3651
3652 #. type: Plain text
3653 #: build/C/man3/getaddrinfo_a.3:419
3654 #, no-wrap
3655 msgid ""
3656 "$ B<./a.out>\n"
3657 "E<gt> a ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz\n"
3658 "E<gt> c 2\n"
3659 "[2] gnu.cz: Request not canceled\n"
3660 "E<gt> w 0 1\n"
3661 "[00] ftp.us.kernel.org: Finished\n"
3662 "E<gt> l\n"
3663 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3664 "[01] enoent.linuxfoundation.org: Processing request in progress\n"
3665 "[02] gnu.cz: 87.236.197.13\n"
3666 "E<gt> l\n"
3667 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3668 "[01] enoent.linuxfoundation.org: Name or service not known\n"
3669 "[02] gnu.cz: 87.236.197.13\n"
3670 msgstr ""
3671 "$ B<./a.out>\n"
3672 "E<gt> a ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz\n"
3673 "E<gt> c 2\n"
3674 "[2] gnu.cz: Request not canceled\n"
3675 "E<gt> w 0 1\n"
3676 "[00] ftp.us.kernel.org: Finished\n"
3677 "E<gt> l\n"
3678 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3679 "[01] enoent.linuxfoundation.org: Processing request in progress\n"
3680 "[02] gnu.cz: 87.236.197.13\n"
3681 "E<gt> l\n"
3682 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3683 "[01] enoent.linuxfoundation.org: Name or service not known\n"
3684 "[02] gnu.cz: 87.236.197.13\n"
3685
3686 #. type: Plain text
3687 #: build/C/man3/getaddrinfo_a.3:423
3688 msgid "The program source is as follows:"
3689 msgstr "プログラムのソースは以下のとおりである。"
3690
3691 #. type: Plain text
3692 #: build/C/man3/getaddrinfo_a.3:433
3693 #, no-wrap
3694 msgid ""
3695 "static struct gaicb **reqs = NULL;\n"
3696 "static int nreqs = 0;\n"
3697 msgstr ""
3698 "static struct gaicb **reqs = NULL;\n"
3699 "static int nreqs = 0;\n"
3700
3701 #. type: Plain text
3702 #: build/C/man3/getaddrinfo_a.3:438
3703 #, no-wrap
3704 msgid ""
3705 "static char *\n"
3706 "getcmd(void)\n"
3707 "{\n"
3708 "    static char buf[256];\n"
3709 msgstr ""
3710 "static char *\n"
3711 "getcmd(void)\n"
3712 "{\n"
3713 "    static char buf[256];\n"
3714
3715 #. type: Plain text
3716 #: build/C/man3/getaddrinfo_a.3:442
3717 #, no-wrap
3718 msgid ""
3719 "    fputs(\"E<gt> \", stdout); fflush(stdout);\n"
3720 "    if (fgets(buf, sizeof(buf), stdin) == NULL)\n"
3721 "        return NULL;\n"
3722 msgstr ""
3723 "    fputs(\"E<gt> \", stdout); fflush(stdout);\n"
3724 "    if (fgets(buf, sizeof(buf), stdin) == NULL)\n"
3725 "        return NULL;\n"
3726
3727 #. type: Plain text
3728 #: build/C/man3/getaddrinfo_a.3:445
3729 #, no-wrap
3730 msgid ""
3731 "    if (buf[strlen(buf) - 1] == \\(aq\\en\\(aq)\n"
3732 "        buf[strlen(buf) - 1] = 0;\n"
3733 msgstr ""
3734 "    if (buf[strlen(buf) - 1] == \\(aq\\en\\(aq)\n"
3735 "        buf[strlen(buf) - 1] = 0;\n"
3736
3737 #. type: Plain text
3738 #: build/C/man3/getaddrinfo_a.3:448
3739 #, no-wrap
3740 msgid ""
3741 "    return buf;\n"
3742 "}\n"
3743 msgstr ""
3744 "    return buf;\n"
3745 "}\n"
3746
3747 #. type: Plain text
3748 #: build/C/man3/getaddrinfo_a.3:456
3749 #, no-wrap
3750 msgid ""
3751 "/* Add requests for specified hostnames */\n"
3752 "static void\n"
3753 "add_requests(void)\n"
3754 "{\n"
3755 "    int nreqs_base = nreqs;\n"
3756 "    char *host;\n"
3757 "    int ret;\n"
3758 msgstr ""
3759 "/* Add requests for specified hostnames */\n"
3760 "static void\n"
3761 "add_requests(void)\n"
3762 "{\n"
3763 "    int nreqs_base = nreqs;\n"
3764 "    char *host;\n"
3765 "    int ret;\n"
3766
3767 #. type: Plain text
3768 #: build/C/man3/getaddrinfo_a.3:460
3769 #, no-wrap
3770 msgid ""
3771 "    while ((host = strtok(NULL, \" \"))) {\n"
3772 "        nreqs++;\n"
3773 "        reqs = realloc(reqs, nreqs * sizeof(reqs[0]));\n"
3774 msgstr ""
3775 "    while ((host = strtok(NULL, \" \"))) {\n"
3776 "        nreqs++;\n"
3777 "        reqs = realloc(reqs, nreqs * sizeof(reqs[0]));\n"
3778
3779 #. type: Plain text
3780 #: build/C/man3/getaddrinfo_a.3:464
3781 #, no-wrap
3782 msgid ""
3783 "        reqs[nreqs - 1] = calloc(1, sizeof(*reqs[0]));\n"
3784 "        reqs[nreqs - 1]-E<gt>ar_name = strdup(host);\n"
3785 "    }\n"
3786 msgstr ""
3787 "        reqs[nreqs - 1] = calloc(1, sizeof(*reqs[0]));\n"
3788 "        reqs[nreqs - 1]-E<gt>ar_name = strdup(host);\n"
3789 "    }\n"
3790
3791 #. type: Plain text
3792 #: build/C/man3/getaddrinfo_a.3:466
3793 #, no-wrap
3794 msgid "    /* Queue nreqs_base..nreqs requests. */\n"
3795 msgstr "    /* Queue nreqs_base..nreqs requests. */\n"
3796
3797 #. type: Plain text
3798 #: build/C/man3/getaddrinfo_a.3:475
3799 #, no-wrap
3800 msgid ""
3801 "    ret = getaddrinfo_a(GAI_NOWAIT, &reqs[nreqs_base],\n"
3802 "                        nreqs - nreqs_base, NULL);\n"
3803 "    if (ret) {\n"
3804 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3805 "                gai_strerror(ret));\n"
3806 "        exit(EXIT_FAILURE);\n"
3807 "    }\n"
3808 "}\n"
3809 msgstr ""
3810 "    ret = getaddrinfo_a(GAI_NOWAIT, &reqs[nreqs_base],\n"
3811 "                        nreqs - nreqs_base, NULL);\n"
3812 "    if (ret) {\n"
3813 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3814 "                gai_strerror(ret));\n"
3815 "        exit(EXIT_FAILURE);\n"
3816 "    }\n"
3817 "}\n"
3818
3819 #. type: Plain text
3820 #: build/C/man3/getaddrinfo_a.3:484
3821 #, no-wrap
3822 msgid ""
3823 "/* Wait until at least one of specified requests completes */\n"
3824 "static void\n"
3825 "wait_requests(void)\n"
3826 "{\n"
3827 "    char *id;\n"
3828 "    int i, ret, n;\n"
3829 "    struct gaicb const **wait_reqs = calloc(nreqs, sizeof(*wait_reqs));\n"
3830 "                /* NULL elements are ignored by gai_suspend(). */\n"
3831 msgstr ""
3832 "/* Wait until at least one of specified requests completes */\n"
3833 "static void\n"
3834 "wait_requests(void)\n"
3835 "{\n"
3836 "    char *id;\n"
3837 "    int i, ret, n;\n"
3838 "    struct gaicb const **wait_reqs = calloc(nreqs, sizeof(*wait_reqs));\n"
3839 "                /* NULL elements are ignored by gai_suspend(). */\n"
3840
3841 #. type: Plain text
3842 #: build/C/man3/getaddrinfo_a.3:487 build/C/man3/getaddrinfo_a.3:524
3843 #, no-wrap
3844 msgid ""
3845 "    while ((id = strtok(NULL, \" \")) != NULL) {\n"
3846 "        n = atoi(id);\n"
3847 msgstr ""
3848 "    while ((id = strtok(NULL, \" \")) != NULL) {\n"
3849 "        n = atoi(id);\n"
3850
3851 #. type: Plain text
3852 #: build/C/man3/getaddrinfo_a.3:492 build/C/man3/getaddrinfo_a.3:529
3853 #, no-wrap
3854 msgid ""
3855 "        if (n E<gt>= nreqs) {\n"
3856 "            printf(\"Bad request number: %s\\en\", id);\n"
3857 "            return;\n"
3858 "        }\n"
3859 msgstr ""
3860 "        if (n E<gt>= nreqs) {\n"
3861 "            printf(\"Bad request number: %s\\en\", id);\n"
3862 "            return;\n"
3863 "        }\n"
3864
3865 #. type: Plain text
3866 #: build/C/man3/getaddrinfo_a.3:495
3867 #, no-wrap
3868 msgid ""
3869 "        wait_reqs[n] = reqs[n];\n"
3870 "    }\n"
3871 msgstr ""
3872 "        wait_reqs[n] = reqs[n];\n"
3873 "    }\n"
3874
3875 #. type: Plain text
3876 #: build/C/man3/getaddrinfo_a.3:501
3877 #, no-wrap
3878 msgid ""
3879 "    ret = gai_suspend(wait_reqs, nreqs, NULL);\n"
3880 "    if (ret) {\n"
3881 "        printf(\"gai_suspend(): %s\\en\", gai_strerror(ret));\n"
3882 "        return;\n"
3883 "    }\n"
3884 msgstr ""
3885 "    ret = gai_suspend(wait_reqs, nreqs, NULL);\n"
3886 "    if (ret) {\n"
3887 "        printf(\"gai_suspend(): %s\\en\", gai_strerror(ret));\n"
3888 "        return;\n"
3889 "    }\n"
3890
3891 #. type: Plain text
3892 #: build/C/man3/getaddrinfo_a.3:505
3893 #, no-wrap
3894 msgid ""
3895 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3896 "        if (wait_reqs[i] == NULL)\n"
3897 "            continue;\n"
3898 msgstr ""
3899 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3900 "        if (wait_reqs[i] == NULL)\n"
3901 "            continue;\n"
3902
3903 #. type: Plain text
3904 #: build/C/man3/getaddrinfo_a.3:509
3905 #, no-wrap
3906 msgid ""
3907 "        ret = gai_error(reqs[i]);\n"
3908 "        if (ret == EAI_INPROGRESS)\n"
3909 "            continue;\n"
3910 msgstr ""
3911 "        ret = gai_error(reqs[i]);\n"
3912 "        if (ret == EAI_INPROGRESS)\n"
3913 "            continue;\n"
3914
3915 #. type: Plain text
3916 #: build/C/man3/getaddrinfo_a.3:514
3917 #, no-wrap
3918 msgid ""
3919 "        printf(\"[%02d] %s: %s\\en\", i, reqs[i]-E<gt>ar_name,\n"
3920 "               ret == 0 ? \"Finished\" : gai_strerror(ret));\n"
3921 "    }\n"
3922 "}\n"
3923 msgstr ""
3924 "        printf(\"[%02d] %s: %s\\en\", i, reqs[i]-E<gt>ar_name,\n"
3925 "               ret == 0 ? \"Finished\" : gai_strerror(ret));\n"
3926 "    }\n"
3927 "}\n"
3928
3929 #. type: Plain text
3930 #: build/C/man3/getaddrinfo_a.3:521
3931 #, no-wrap
3932 msgid ""
3933 "/* Cancel specified requests */\n"
3934 "static void\n"
3935 "cancel_requests(void)\n"
3936 "{\n"
3937 "    char *id;\n"
3938 "    int ret, n;\n"
3939 msgstr ""
3940 "/* Cancel specified requests */\n"
3941 "static void\n"
3942 "cancel_requests(void)\n"
3943 "{\n"
3944 "    char *id;\n"
3945 "    int ret, n;\n"
3946
3947 #. type: Plain text
3948 #: build/C/man3/getaddrinfo_a.3:535
3949 #, no-wrap
3950 msgid ""
3951 "        ret = gai_cancel(reqs[n]);\n"
3952 "        printf(\"[%s] %s: %s\\en\", id, reqs[atoi(id)]-E<gt>ar_name,\n"
3953 "               gai_strerror(ret));\n"
3954 "    }\n"
3955 "}\n"
3956 msgstr ""
3957 "        ret = gai_cancel(reqs[n]);\n"
3958 "        printf(\"[%s] %s: %s\\en\", id, reqs[atoi(id)]-E<gt>ar_name,\n"
3959 "               gai_strerror(ret));\n"
3960 "    }\n"
3961 "}\n"
3962
3963 #. type: Plain text
3964 #: build/C/man3/getaddrinfo_a.3:543
3965 #, no-wrap
3966 msgid ""
3967 "/* List all requests */\n"
3968 "static void\n"
3969 "list_requests(void)\n"
3970 "{\n"
3971 "    int i, ret;\n"
3972 "    char host[NI_MAXHOST];\n"
3973 "    struct addrinfo *res;\n"
3974 msgstr ""
3975 "/* List all requests */\n"
3976 "static void\n"
3977 "list_requests(void)\n"
3978 "{\n"
3979 "    int i, ret;\n"
3980 "    char host[NI_MAXHOST];\n"
3981 "    struct addrinfo *res;\n"
3982
3983 #. type: Plain text
3984 #: build/C/man3/getaddrinfo_a.3:547
3985 #, no-wrap
3986 msgid ""
3987 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3988 "        printf(\"[%02d] %s: \", i, reqs[i]-E<gt>ar_name);\n"
3989 "        ret = gai_error(reqs[i]);\n"
3990 msgstr ""
3991 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3992 "        printf(\"[%02d] %s: \", i, reqs[i]-E<gt>ar_name);\n"
3993 "        ret = gai_error(reqs[i]);\n"
3994
3995 #. type: Plain text
3996 #: build/C/man3/getaddrinfo_a.3:550
3997 #, no-wrap
3998 msgid ""
3999 "        if (!ret) {\n"
4000 "            res = reqs[i]-E<gt>ar_result;\n"
4001 msgstr ""
4002 "        if (!ret) {\n"
4003 "            res = reqs[i]-E<gt>ar_result;\n"
4004
4005 #. type: Plain text
4006 #: build/C/man3/getaddrinfo_a.3:565
4007 #, no-wrap
4008 msgid ""
4009 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
4010 "                              host, sizeof(host),\n"
4011 "                              NULL, 0, NI_NUMERICHOST);\n"
4012 "            if (ret) {\n"
4013 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
4014 "                        gai_strerror(ret));\n"
4015 "                exit(EXIT_FAILURE);\n"
4016 "            }\n"
4017 "            puts(host);\n"
4018 "        } else {\n"
4019 "            puts(gai_strerror(ret));\n"
4020 "        }\n"
4021 "    }\n"
4022 "}\n"
4023 msgstr ""
4024 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
4025 "                              host, sizeof(host),\n"
4026 "                              NULL, 0, NI_NUMERICHOST);\n"
4027 "            if (ret) {\n"
4028 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
4029 "                        gai_strerror(ret));\n"
4030 "                exit(EXIT_FAILURE);\n"
4031 "            }\n"
4032 "            puts(host);\n"
4033 "        } else {\n"
4034 "            puts(gai_strerror(ret));\n"
4035 "        }\n"
4036 "    }\n"
4037 "}\n"
4038
4039 #. type: Plain text
4040 #: build/C/man3/getaddrinfo_a.3:571
4041 #, no-wrap
4042 msgid ""
4043 "int\n"
4044 "main(int argc, char *argv[])\n"
4045 "{\n"
4046 "    char *cmdline;\n"
4047 "    char *cmd;\n"
4048 msgstr ""
4049 "int\n"
4050 "main(int argc, char *argv[])\n"
4051 "{\n"
4052 "    char *cmdline;\n"
4053 "    char *cmd;\n"
4054
4055 #. type: Plain text
4056 #: build/C/man3/getaddrinfo_a.3:574
4057 #, no-wrap
4058 msgid ""
4059 "    while ((cmdline = getcmd()) != NULL) {\n"
4060 "        cmd = strtok(cmdline, \" \");\n"
4061 msgstr ""
4062 "    while ((cmdline = getcmd()) != NULL) {\n"
4063 "        cmd = strtok(cmdline, \" \");\n"
4064
4065 #. type: Plain text
4066 #: build/C/man3/getaddrinfo_a.3:599
4067 #, no-wrap
4068 msgid ""
4069 "        if (cmd == NULL) {\n"
4070 "            list_requests();\n"
4071 "        } else {\n"
4072 "            switch (cmd[0]) {\n"
4073 "            case \\(aqa\\(aq:\n"
4074 "                add_requests();\n"
4075 "                break;\n"
4076 "            case \\(aqw\\(aq:\n"
4077 "                wait_requests();\n"
4078 "                break;\n"
4079 "            case \\(aqc\\(aq:\n"
4080 "                cancel_requests();\n"
4081 "                break;\n"
4082 "            case \\(aql\\(aq:\n"
4083 "                list_requests();\n"
4084 "                break;\n"
4085 "            default:\n"
4086 "                fprintf(stderr, \"Bad command: %c\\en\", cmd[0]);\n"
4087 "                break;\n"
4088 "            }\n"
4089 "        }\n"
4090 "    }\n"
4091 "    exit(EXIT_SUCCESS);\n"
4092 "}\n"
4093 msgstr ""
4094 "        if (cmd == NULL) {\n"
4095 "            list_requests();\n"
4096 "        } else {\n"
4097 "            switch (cmd[0]) {\n"
4098 "            case \\(aqa\\(aq:\n"
4099 "                add_requests();\n"
4100 "                break;\n"
4101 "            case \\(aqw\\(aq:\n"
4102 "                wait_requests();\n"
4103 "                break;\n"
4104 "            case \\(aqc\\(aq:\n"
4105 "                cancel_requests();\n"
4106 "                break;\n"
4107 "            case \\(aql\\(aq:\n"
4108 "                list_requests();\n"
4109 "                break;\n"
4110 "            default:\n"
4111 "                fprintf(stderr, \"Bad command: %c\\en\", cmd[0]);\n"
4112 "                break;\n"
4113 "            }\n"
4114 "        }\n"
4115 "    }\n"
4116 "    exit(EXIT_SUCCESS);\n"
4117 "}\n"
4118
4119 #. type: Plain text
4120 #: build/C/man3/getaddrinfo_a.3:607
4121 msgid "B<getaddrinfo>(3), B<inet>(3), B<lio_listio>(3), B<hostname>(7), B<ip>(7), B<sigevent>(7)"
4122 msgstr "B<getaddrinfo>(3), B<inet>(3), B<lio_listio>(3), B<hostname>(7), B<ip>(7), B<sigevent>(7)"
4123
4124 #. type: TH
4125 #: build/C/man1/getent.1:24
4126 #, no-wrap
4127 msgid "GETENT"
4128 msgstr "GETENT"
4129
4130 #. type: TH
4131 #: build/C/man1/getent.1:24
4132 #, no-wrap
4133 msgid "2013-03-15"
4134 msgstr "2013-03-15"
4135
4136 #. type: TH
4137 #: build/C/man1/getent.1:24
4138 #, no-wrap
4139 msgid "User Commands"
4140 msgstr "User Commands"
4141
4142 #. type: Plain text
4143 #: build/C/man1/getent.1:27
4144 msgid "getent - get entries from Name Service Switch libraries"
4145 msgstr "getent - 名前サービス切り替えライブラリからエントリーを取得する"
4146
4147 #. type: Plain text
4148 #: build/C/man1/getent.1:30
4149 msgid "B<getent> I<database> [I<key> ...]"
4150 msgstr "B<getent> I<database> [I<key> ...]"
4151
4152 #. type: Plain text
4153 #: build/C/man1/getent.1:45
4154 msgid "The B<getent> command displays entries from databases supported by the Name Service Switch libraries, which are configured in I</etc/nsswitch.conf>.  If one or more I<key> arguments are provided, then only the entries that match the supplied keys will be displayed.  Otherwise, if no I<key> is provided, all entries will be displayed (unless the database does not support enumeration)."
4155 msgstr "B<getent> コマンドは、 名前サービス切り替えライブラリでサポートされているデータベースのエントリーを表示する。 名前サービス切り替えライブラリの設定は I</etc/nsswitch.conf> で行う。 一つ以上の I<key> 引き数が指定されると、 指定されたキーにマッチするエントリーだけが表示される。 I<key> が指定されなかった場合、 すべてのエントリーが表示される (データベースで列挙 (enumeration) がサポートされていない場合を除く)。"
4156
4157 #. type: Plain text
4158 #: build/C/man1/getent.1:49
4159 msgid "The I<database> may be any of those supported by the GNU C Library, listed below:"
4160 msgstr "I<database> には GNU C ライブラリでサポートされているデータベースのいずれかを指定できる。 以下にそのリストを示す。"
4161
4162 #. type: TP
4163 #: build/C/man1/getent.1:50
4164 #, no-wrap
4165 msgid "B<ahosts>"
4166 msgstr "B<ahosts>"
4167
4168 #. type: Plain text
4169 #: build/C/man1/getent.1:71
4170 msgid "When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and B<endhostent>(3)  to enumerate the hosts database.  This is identical to using B<hosts>.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getaddrinfo>(3)  with the address family B<AF_UNSPEC>, enumerating each socket address structure returned."
4171 msgstr "I<key> が指定されなかった場合、 B<sethostent>(3), B<gethostent>(3), B<endhostent>(3) を使用して hosts データベースを列挙する。 これは B<hosts> を使うのと全く同じである。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> についてアドレスファミリー B<AF_UNSPEC> で B<getaddrinfo>(3) を呼び出し、 返された各々のソケットアドレス構造体を列挙する。"
4172
4173 #. type: TP
4174 #: build/C/man1/getent.1:71
4175 #, no-wrap
4176 msgid "B<ahostsv4>"
4177 msgstr "B<ahostsv4>"
4178
4179 #. type: Plain text
4180 #: build/C/man1/getent.1:77
4181 msgid "Same as B<ahosts>, but use the address family B<AF_INET>."
4182 msgstr "B<ahosts> を同じだが、 アドレスファミリーとして B<AF_INET> を使用する。"
4183
4184 #. type: TP
4185 #: build/C/man1/getent.1:77
4186 #, no-wrap
4187 msgid "B<ahostsv6>"
4188 msgstr "B<ahostsv6>"
4189
4190 #. type: Plain text
4191 #: build/C/man1/getent.1:88
4192 msgid "Same as B<ahosts>, but use the address family B<AF_INET6>.  The call to B<getaddrinfo>(3)  in this case includes the B<AI_V4MAPPED> flag."
4193 msgstr "B<ahosts> を同じだが、 アドレスファミリーとして B<AF_INET6> を使用する。 この場合の B<getaddrinfo>(3) の呼び出しでは B<AI_V4MAPPED> も指定される。"
4194
4195 #. type: TP
4196 #: build/C/man1/getent.1:88 build/C/man5/nsswitch.conf.5:44
4197 #, no-wrap
4198 msgid "B<aliases>"
4199 msgstr "B<aliases>"
4200
4201 #. type: Plain text
4202 #: build/C/man1/getent.1:105
4203 msgid "When no I<key> is provided, use B<setaliasent>(3), B<getaliasent>(3), and B<endaliasent>(3)  to enumerate the aliases database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getaliasbyname>(3)  and display the result."
4204 msgstr "I<key> が指定されなかった場合、 B<setaliasent>(3), B<getaliasent>(3), B<endaliasent>(3) を使用して aliases データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> についてB<getaliasbyname>(3) を呼び出し、 結果を表示する。"
4205
4206 #. type: TP
4207 #: build/C/man1/getent.1:105 build/C/man5/nsswitch.conf.5:49
4208 #, no-wrap
4209 msgid "B<ethers>"
4210 msgstr "B<ethers>"
4211
4212 #. type: Plain text
4213 #: build/C/man1/getent.1:121
4214 msgid "When one or more I<key> arguments are provided, pass each I<key> in succession to B<ether_aton>(3)  and B<ether_hostton>(3)  until a result is obtained, and display the result.  Enumeration is not supported on B<ethers>, so a I<key> must be provided."
4215 msgstr "I<key> 引き数が一つ以上指定された場合、 結果が得られるまで、 それぞれの I<key> について B<ether_aton>(3) と B<ether_hostton>(3) を順に呼び出し、 結果を表示する。 B<ethers> では列挙はサポートされていない。 したがって、 I<key> は指定しなければならない。"
4216
4217 #. type: TP
4218 #: build/C/man1/getent.1:121 build/C/man5/nsswitch.conf.5:52
4219 #, no-wrap
4220 msgid "B<group>"
4221 msgstr "B<group>"
4222
4223 #. type: Plain text
4224 #: build/C/man1/getent.1:142
4225 msgid "When no I<key> is provided, use B<setgrent>(3), B<getgrent>(3), and B<endgrent>(3)  to enumerate the group database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getgrgid>(3)  and each nonnumeric I<key> to B<getgrnam>(3)  and display the result."
4226 msgstr "I<key> が指定されなかった場合、 B<setgrent>(3), B<getgrent>(3), B<endgrent>(3) を使用して group データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getgrgid>(3) を、 数値以外であれば B<getgrnam>(3) を呼び出し、 結果を表示する。"
4227
4228 #. type: TP
4229 #: build/C/man1/getent.1:142
4230 #, no-wrap
4231 msgid "B<gshadow>"
4232 msgstr "B<gshadow>"
4233
4234 #. type: Plain text
4235 #: build/C/man1/getent.1:159
4236 msgid "When no I<key> is provided, use B<setsgent>(3), B<getsgent>(3), and B<endsgent>(3)  to enumerate the gshadow database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getsgnam>(3)  and display the result."
4237 msgstr "I<key> が指定されなかった場合、 B<setsgent>(3), B<getsgent>(3), B<endsgent>(3) を使用して gshadow データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について B<getsgnam>(3) を呼び出し、 結果を表示する。"
4238
4239 #. type: TP
4240 #: build/C/man1/getent.1:159 build/C/man5/nsswitch.conf.5:57
4241 #, no-wrap
4242 msgid "B<hosts>"
4243 msgstr "B<hosts>"
4244
4245 #. type: Plain text
4246 #: build/C/man1/getent.1:182
4247 msgid "When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and B<endhostent>(3)  to enumerate the hosts database.  When one or more I<key> arguments are provided, pass each I<key> to B<gethostbyaddr>(3)  or B<gethostbyname2>(3), depending on whether a call to B<inet_pton>(3)  indicates that the I<key> is an IPv6 or IPv4 address or not, and display the result."
4248 msgstr "I<key> が指定されなかった場合、 B<sethostent>(3), B<gethostent>(3), B<endhostent>(3) を使用して hosts データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について B<gethostbyaddr>(3) か B<gethostbyname2>(3) を呼び出し、 結果を表示する。 B<gethostbyaddr>(3) か B<gethostbyname2>(3) のどちらを呼び出すかは、B<inet_pton>(3) の呼び出しで、 I<key> が IPv6 や IPv4 アドレスか、 そうでないか、 判定され、その結果によって決まる。"
4249
4250 #. type: TP
4251 #: build/C/man1/getent.1:182 build/C/man5/nsswitch.conf.5:62
4252 #, no-wrap
4253 msgid "B<initgroups>"
4254 msgstr "B<initgroups>"
4255
4256 #. type: Plain text
4257 #: build/C/man1/getent.1:196
4258 msgid "When one or more I<key> arguments are provided, pass each I<key> in succession to B<getgrouplist>(3)  and display the result.  Enumeration is not supported on B<initgroups>, so a I<key> must be provided."
4259 msgstr "I<key> 引き数が一つ以上指定された場合、 結果が得られるまで、 それぞれの I<key> について B<getgrouplist>(3) を呼び出し、 結果を表示する。 B<initgroups> では列挙はサポートされていない。 したがって、 I<key> は指定しなければならない。"
4260
4261 #. type: TP
4262 #: build/C/man1/getent.1:196 build/C/man5/nsswitch.conf.5:67
4263 #, no-wrap
4264 msgid "B<netgroup>"
4265 msgstr "B<netgroup>"
4266
4267 #. type: Plain text
4268 #: build/C/man1/getent.1:222
4269 msgid "When one I<key> is provided, pass the I<key> to B<setnetgrent>(3)  and, using B<getnetgrent>(3)  display the resulting string triple (I<hostname>, I<username>, I<domainname>).  Alternatively, three I<keys> may be provided, which are interpreted as the I<hostname>, I<username> and I<domainname> to match to a netgroup name via B<innetgr>(3).  Enumeration is not supported on B<netgroup>, so either one or three I<keys> must be provided."
4270 msgstr "1 個の I<key> を指定すると、 その I<key> を B<setnetgrent>(3) に渡し、 B<getnetgrent>(3) を使って結果の 3 つ組の文字列 (I<hostname>, I<username>, I<domainname>) を表示する。 代わりに、 3 個の I<key> を指定することもできる。 3 個の I<key> は I<hostname>, I<username>, I<domainname> と解釈され、 B<innetgr>(3) を使って対応する netgroup があるか照合される。 B<netgroup> では列挙はサポートされていない。 したがって、 1 個か 3 個のいずれかの I<key> を指定しなければならない。"
4271
4272 #. type: TP
4273 #: build/C/man1/getent.1:222 build/C/man5/nsswitch.conf.5:71
4274 #, no-wrap
4275 msgid "B<networks>"
4276 msgstr "B<networks>"
4277
4278 #. type: Plain text
4279 #: build/C/man1/getent.1:243
4280 msgid "When no I<key> is provided, use B<setnetent>(3), B<getnetent>(3), and B<endnetent>(3)  to enumerate the networks database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getnetbyaddr>(3)  and each nonnumeric I<key> to B<getnetbyname>(3)  and display the result."
4281 msgstr "I<key> が指定されなかった場合、 B<setnetent>(3), B<getnetent>(3), B<endnetent>(3) を使用して networks データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getnetbyaddr>(3) を、 数値以外であれば B<getnetbyname>(3) を呼び出し、 結果を表示する。"
4282
4283 #. type: TP
4284 #: build/C/man1/getent.1:243 build/C/man5/nsswitch.conf.5:76
4285 #, no-wrap
4286 msgid "B<passwd>"
4287 msgstr "B<passwd>"
4288
4289 #. type: Plain text
4290 #: build/C/man1/getent.1:264
4291 msgid "When no I<key> is provided, use B<setpwent>(3), B<getpwent>(3), and B<endpwent>(3)  to enumerate the passwd database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getpwuid>(3)  and each nonnumeric I<key> to B<getpwnam>(3)  and display the result."
4292 msgstr "I<key> が指定されなかった場合、 B<setpwent>(3), B<getpwent>(3), B<endpwent>(3) を使用して passwd データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getpwgid>(3) を、 数値以外であれば B<getpwnam>(3) を呼び出し、 結果を表示する。"
4293
4294 #. type: TP
4295 #: build/C/man1/getent.1:264 build/C/man5/nsswitch.conf.5:81
4296 #, no-wrap
4297 msgid "B<protocols>"
4298 msgstr "B<protocols>"
4299
4300 #. type: Plain text
4301 #: build/C/man1/getent.1:285
4302 msgid "When no I<key> is provided, use B<setprotoent>(3), B<getprotoent>(3), and B<endprotoent>(3)  to enumerate the protocols database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getprotobynumber>(3)  and each nonnumeric I<key> to B<getprotobyname>(3)  and display the result."
4303 msgstr "I<key> が指定されなかった場合、 B<setprotoent>(3), B<getprotoent>(3), B<endprotoent>(3) を使用して protocols データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getprotobynumber>(3) を、 数値以外であれば B<getprotobyname>(3) を呼び出し、 結果を表示する。"
4304
4305 #. type: TP
4306 #: build/C/man1/getent.1:285 build/C/man5/nsswitch.conf.5:89
4307 #, no-wrap
4308 msgid "B<rpc>"
4309 msgstr "B<rpc>"
4310
4311 #. type: Plain text
4312 #: build/C/man1/getent.1:306
4313 msgid "When no I<key> is provided, use B<setrpcent>(3), B<getrpcent>(3), and B<endrpcent>(3)  to enumerate the rpc database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getrpcbynumber>(3)  and each nonnumeric I<key> to B<getrpcbyname>(3)  and display the result."
4314 msgstr "I<key> が指定されなかった場合、 B<setrpcent>(3), B<getrpcent>(3), B<endrpcent>(3) を使用して rpc データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getrpcbynumber>(3) を、 数値以外であれば B<getrpcbyname>(3) を呼び出し、 結果を表示する。"
4315
4316 #. type: TP
4317 #: build/C/man1/getent.1:306 build/C/man5/nsswitch.conf.5:94
4318 #, no-wrap
4319 msgid "B<services>"
4320 msgstr "B<services>"
4321
4322 #. type: Plain text
4323 #: build/C/man1/getent.1:327
4324 msgid "When no I<key> is provided, use B<setservent>(3), B<getservent>(3), and B<endservent>(3)  to enumerate the services database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getservbynumber>(3)  and each nonnumeric I<key> to B<getservbyname>(3)  and display the result."
4325 msgstr "I<key> が指定されなかった場合、 B<setservent>(3), B<getservent>(3), B<endservent>(3) を使用して services データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について、 数値であれば B<getservbynumber>(3) を、 数値以外であれば B<getservbyname>(3) を呼び出し、 結果を表示する。"
4326
4327 #. type: TP
4328 #: build/C/man1/getent.1:327 build/C/man5/nsswitch.conf.5:99
4329 #, no-wrap
4330 msgid "B<shadow>"
4331 msgstr "B<shadow>"
4332
4333 #. type: Plain text
4334 #: build/C/man1/getent.1:344
4335 msgid "When no I<key> is provided, use B<setspent>(3), B<getspent>(3), and B<endspent>(3)  to enumerate the shadow database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getspnam>(3)  and display the result."
4336 msgstr "I<key> が指定されなかった場合、 B<setspent>(3), B<getspent>(3), B<endspent>(3) を使用して shadow データベースを列挙する。 I<key> 引き数が一つ以上指定された場合は、 それぞれの I<key> について B<getspnam>(3) を呼び出し、 結果を表示する。"
4337
4338 #. type: SH
4339 #: build/C/man1/getent.1:345
4340 #, no-wrap
4341 msgid "EXIT STATUS"
4342 msgstr "終了ステータス"
4343
4344 #. type: Plain text
4345 #: build/C/man1/getent.1:348
4346 msgid "One of the following exit values can be returned by B<getent>:"
4347 msgstr "B<getent> は以下のいずれかの終了ステータスを返す。"
4348
4349 #. type: TP
4350 #: build/C/man1/getent.1:349
4351 #, no-wrap
4352 msgid "B<0>"
4353 msgstr "B<0>"
4354
4355 #. type: Plain text
4356 #: build/C/man1/getent.1:352
4357 msgid "Command completed successfully."
4358 msgstr "コマンドが正常に完了した。"
4359
4360 #. type: TP
4361 #: build/C/man1/getent.1:352
4362 #, no-wrap
4363 msgid "B<1>"
4364 msgstr "B<1>"
4365
4366 #. type: Plain text
4367 #: build/C/man1/getent.1:357
4368 msgid "Missing arguments, or I<database> unknown."
4369 msgstr "引き数が不足しているか、 知らない I<database> が指定された。"
4370
4371 #. type: TP
4372 #: build/C/man1/getent.1:357
4373 #, no-wrap
4374 msgid "B<2>"
4375 msgstr "B<2>"
4376
4377 #. type: Plain text
4378 #: build/C/man1/getent.1:363
4379 msgid "One or more supplied I<key> could not be found in the I<database>."
4380 msgstr "指定された I<key> が I<database> で見つからなかった。"
4381
4382 #. type: TP
4383 #: build/C/man1/getent.1:363
4384 #, no-wrap
4385 msgid "B<3>"
4386 msgstr "B<3>"
4387
4388 #. type: Plain text
4389 #: build/C/man1/getent.1:367
4390 msgid "Enumeration not supported on this I<database>."
4391 msgstr "この I<database> では列挙はサポートされていない。"
4392
4393 #. type: Plain text
4394 #: build/C/man1/getent.1:370
4395 msgid "B<nsswitch.conf>(5)"
4396 msgstr "B<nsswitch.conf>(5)"
4397
4398 #. type: TH
4399 #: build/C/man3/gethostbyname.3:38
4400 #, no-wrap
4401 msgid "GETHOSTBYNAME"
4402 msgstr "GETHOSTBYNAME"
4403
4404 #. type: TH
4405 #: build/C/man3/gethostbyname.3:38
4406 #, no-wrap
4407 msgid "2014-03-11"
4408 msgstr "2014-03-11"
4409
4410 #. type: Plain text
4411 #: build/C/man3/gethostbyname.3:46
4412 msgid "gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno, herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r, gethostbyname_r, gethostent_r - get network host entry"
4413 msgstr "gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno, herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r, gethostbyname_r, gethostent_r - ネットワーク上のホストのエントリを取得する"
4414
4415 #. type: Plain text
4416 #: build/C/man3/gethostbyname.3:50
4417 #, no-wrap
4418 msgid ""
4419 "B<#include E<lt>netdb.hE<gt>>\n"
4420 "B<extern int h_errno;>\n"
4421 msgstr ""
4422 "B<#include E<lt>netdb.hE<gt>>\n"
4423 "B<extern int h_errno;>\n"
4424
4425 #. type: Plain text
4426 #: build/C/man3/gethostbyname.3:52
4427 #, no-wrap
4428 msgid "B<struct hostent *gethostbyname(const char *>I<name>B<);>\n"
4429 msgstr "B<struct hostent *gethostbyname(const char *>I<name>B<);>\n"
4430
4431 #. type: Plain text
4432 #: build/C/man3/gethostbyname.3:56
4433 #, no-wrap
4434 msgid ""
4435 "B<#include E<lt>sys/socket.hE<gt>>       /* for AF_INET */\n"
4436 "B<struct hostent *gethostbyaddr(const void *>I<addr>B<,>\n"
4437 "B<                              socklen_t >I<len>B<, int >I<type>B<);>\n"
4438 msgstr ""
4439 "B<#include E<lt>sys/socket.hE<gt>>       /* AF_INET を使う場合 */\n"
4440 "B<struct hostent *gethostbyaddr(const void *>I<addr>B<,>\n"
4441 "B<                              socklen_t >I<len>B<, int >I<type>B<);>\n"
4442
4443 #. type: Plain text
4444 #: build/C/man3/gethostbyname.3:58
4445 #, no-wrap
4446 msgid "B<void sethostent(int >I<stayopen>B<);>\n"
4447 msgstr "B<void sethostent(int >I<stayopen>B<);>\n"
4448
4449 #. type: Plain text
4450 #: build/C/man3/gethostbyname.3:60
4451 #, no-wrap
4452 msgid "B<void endhostent(void);>\n"
4453 msgstr "B<void endhostent(void);>\n"
4454
4455 #. type: Plain text
4456 #: build/C/man3/gethostbyname.3:62
4457 #, no-wrap
4458 msgid "B<void herror(const char *>I<s>B<);>\n"
4459 msgstr "B<void herror(const char *>I<s>B<);>\n"
4460
4461 #. type: Plain text
4462 #: build/C/man3/gethostbyname.3:64
4463 #, no-wrap
4464 msgid "B<const char *hstrerror(int >I<err>B<);>\n"
4465 msgstr "B<const char *hstrerror(int >I<err>B<);>\n"
4466
4467 #. type: Plain text
4468 #: build/C/man3/gethostbyname.3:66
4469 #, no-wrap
4470 msgid "/* System V/POSIX extension */\n"
4471 msgstr "/* System V/POSIX 拡張 */\n"
4472
4473 #. type: Plain text
4474 #: build/C/man3/gethostbyname.3:68
4475 #, no-wrap
4476 msgid "B<struct hostent *gethostent(void);>\n"
4477 msgstr "B<struct hostent *gethostent(void);>\n"
4478
4479 #. type: Plain text
4480 #: build/C/man3/gethostbyname.3:72
4481 #, no-wrap
4482 msgid "B<struct hostent *gethostbyname2(const char *>I<name>B<, int >I<af>B<);>\n"
4483 msgstr "B<struct hostent *gethostbyname2(const char *>I<name>B<, int >I<af>B<);>\n"
4484
4485 #. type: Plain text
4486 #: build/C/man3/gethostbyname.3:76
4487 #, no-wrap
4488 msgid ""
4489 "B<int gethostent_r(>\n"
4490 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4491 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4492 msgstr ""
4493 "B<int gethostent_r(>\n"
4494 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4495 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4496
4497 #. type: Plain text
4498 #: build/C/man3/gethostbyname.3:80
4499 #, no-wrap
4500 msgid ""
4501 "B<int gethostbyaddr_r(const void *>I<addr>B<, socklen_t >I<len>B<, int >I<type>B<,>\n"
4502 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4503 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4504 msgstr ""
4505 "B<int gethostbyaddr_r(const void *>I<addr>B<, socklen_t >I<len>B<, int >I<type>B<,>\n"
4506 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4507 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4508
4509 #. type: Plain text
4510 #: build/C/man3/gethostbyname.3:84
4511 #, no-wrap
4512 msgid ""
4513 "B<int gethostbyname_r(const char *>I<name>B<,>\n"
4514 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4515 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4516 msgstr ""
4517 "B<int gethostbyname_r(const char *>I<name>B<,>\n"
4518 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4519 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4520
4521 #. type: Plain text
4522 #: build/C/man3/gethostbyname.3:88
4523 #, no-wrap
4524 msgid ""
4525 "B<int gethostbyname2_r(const char *>I<name>B<, int >I<af,>\n"
4526 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4527 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4528 msgstr ""
4529 "B<int gethostbyname2_r(const char *>I<name>B<, int >I<af,>\n"
4530 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t >I<buflen>B<,>\n"
4531 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4532
4533 #. type: Plain text
4534 #: build/C/man3/gethostbyname.3:102
4535 msgid "B<gethostbyname2>(), B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>(), B<gethostbyname2_r>():"
4536 msgstr "B<gethostbyname2>(), B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>(), B<gethostbyname2_r>():"
4537
4538 #. type: Plain text
4539 #: build/C/man3/gethostbyname.3:104 build/C/man3/gethostbyname.3:112
4540 #: build/C/man3/getnetent_r.3:60 build/C/man3/getprotoent_r.3:57
4541 #: build/C/man3/getservent_r.3:57 build/C/man3/inet_net_pton.3:58
4542 msgid "_BSD_SOURCE || _SVID_SOURCE"
4543 msgstr "_BSD_SOURCE || _SVID_SOURCE"
4544
4545 #. type: Plain text
4546 #: build/C/man3/gethostbyname.3:108
4547 msgid "B<herror>(), B<hstrerror>():"
4548 msgstr "B<herror>(), B<hstrerror>():"
4549
4550 #. type: TP
4551 #: build/C/man3/gethostbyname.3:109
4552 #, no-wrap
4553 msgid "Since glibc 2.8:"
4554 msgstr "glibc 2.8 以降:"
4555
4556 #. type: TP
4557 #: build/C/man3/gethostbyname.3:112
4558 #, no-wrap
4559 msgid "Before glibc 2.8:"
4560 msgstr "glibc 2.8 より前:"
4561
4562 #. type: Plain text
4563 #: build/C/man3/gethostbyname.3:115 build/C/man3/gethostbyname.3:126
4564 msgid "none"
4565 msgstr "なし"
4566
4567 #. type: Plain text
4568 #: build/C/man3/gethostbyname.3:118
4569 msgid "B<h_errno>:"
4570 msgstr "B<h_errno>:"
4571
4572 #. type: TP
4573 #: build/C/man3/gethostbyname.3:119
4574 #, no-wrap
4575 msgid "Since glibc 2.12:"
4576 msgstr "glibc 2.12 以降:"
4577
4578 #. type: Plain text
4579 #: build/C/man3/gethostbyname.3:123
4580 #, no-wrap
4581 msgid ""
4582 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4583 "    (_POSIX_C_SOURCE E<lt> 200809L && _XOPEN_SOURCE E<lt> 700)\n"
4584 msgstr ""
4585 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4586 "    (_POSIX_C_SOURCE E<lt> 200809L && _XOPEN_SOURCE E<lt> 700)\n"
4587
4588 #. type: TP
4589 #: build/C/man3/gethostbyname.3:123
4590 #, no-wrap
4591 msgid "Before glibc 2.12:"
4592 msgstr "glibc 2.12 より前:"
4593
4594 #. type: Plain text
4595 #: build/C/man3/gethostbyname.3:143
4596 msgid "The B<gethostbyname*>(), B<gethostbyaddr*>(), B<herror>(), and B<hstrerror>()  functions are obsolete.  Applications should use B<getaddrinfo>(3), B<getnameinfo>(3), and B<gai_strerror>(3)  instead."
4597 msgstr "関数 B<gethostbyname*>(), B<gethostbyaddr*>(), B<herror>(), B<hstrerror> は過去のものである。 アプリケーションは、代わりに B<getaddrinfo>(3), B<getnameinfo>(3), B<gai_strerror>(3) を使用すること。"
4598
4599 #. type: Plain text
4600 #: build/C/man3/gethostbyname.3:184
4601 msgid "The B<gethostbyname>()  function returns a structure of type I<hostent> for the given host I<name>.  Here I<name> is either a hostname, or an IPv4 address in standard dot notation (as for B<inet_addr>(3)), or an IPv6 address in colon (and possibly dot) notation.  (See RFC\\ 1884 for the description of IPv6 addresses.)  If I<name> is an IPv4 or IPv6 address, no lookup is performed and B<gethostbyname>()  simply copies I<name> into the I<h_name> field and its I<struct in_addr> equivalent into the I<h_addr_list[0]> field of the returned I<hostent> structure.  If I<name> doesn't end in a dot and the environment variable B<HOSTALIASES> is set, the alias file pointed to by B<HOSTALIASES> will first be searched for I<name> (see B<hostname>(7)  for the file format).  The current domain and its parents are searched unless I<name> ends in a dot."
4602 msgstr "B<gethostbyname>()  関数は与えられたホスト名 I<name> に対応する構造体 I<hostent> を返す。 I<name> にはホスト名、ドット区切りの IPv4 アドレス (B<inet_addr>(3)  参照)、コロン区切りの IPv6 アドレス (おそらくドット区切りでも大丈夫)  のいずれかを指定する (IPv6 アドレスの記述方法については RFC\\ 1884 を参考にしてほしい)。 I<name> が IPv4 か IPv6 のアドレスだった場合、 名前解決 (lookup) は行われない。その場合には、 B<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> のエントリが検索される (ファイルのフォーマットについては B<hostname>(7)  を参照のこと)。 I<name> がドットで終了していなければ、現在のドメインとその親ドメインが検索される。"
4603
4604 #. type: Plain text
4605 #: build/C/man3/gethostbyname.3:200
4606 msgid "The B<gethostbyaddr>()  function returns a structure of type I<hostent> for the given host address I<addr> of length I<len> and address type I<type>.  Valid address types are B<AF_INET> and B<AF_INET6>.  The host address argument is a pointer to a struct of a type depending on the address type, for example a I<struct in_addr *> (probably obtained via a call to B<inet_addr>(3))  for address type B<AF_INET>."
4607 msgstr "B<gethostbyaddr>()  関数は与えられたホストアドレス I<addr> (長さ I<len>、 タイプ I<type>) に対応する構造体 I<hostent> を返す。 用いることのできるタイプは B<AF_INET> と B<AF_INET6> である。 ホストアドレス引き数はアドレスタイプに依存した 構造体へのポインターである。 例えば、アドレスタイプ B<AF_INET> に対しては (B<inet_addr>(3)  の呼び出しで得られる)  I<struct in_addr *> である。"
4608
4609 #. type: Plain text
4610 #: build/C/man3/gethostbyname.3:207
4611 msgid "The B<sethostent>()  function specifies, if I<stayopen> is true (1), that a connected TCP socket should be used for the name server queries and that the connection should remain open during successive queries.  Otherwise, name server queries will use UDP datagrams."
4612 msgstr "B<sethostent>()  関数は、ネームサーバへの接続形態を指定する。 I<stayopen> が真 (1) ならば、ネームサーバへの問い合わせには、 接続された TCP ソケットを用い、連続した問い合わせの間に接続を維持する。 偽ならばネームサーバへの問い合わせに UDP データグラムを用いる。"
4613
4614 #. type: Plain text
4615 #: build/C/man3/gethostbyname.3:212
4616 msgid "The B<endhostent>()  function ends the use of a TCP connection for name server queries."
4617 msgstr "B<endhostent>()  関数はネームサーバへの問い合わせに用いた TCP 接続の利用を終了する。"
4618
4619 #. type: Plain text
4620 #: build/C/man3/gethostbyname.3:217
4621 msgid "The (obsolete)  B<herror>()  function prints the error message associated with the current value of I<h_errno> on I<stderr>."
4622 msgstr "(廃止予定の)  B<herror>()  関数は現在の I<h_errno> に対応するエラーメッセージを標準エラー I<stderr> に出力する。"
4623
4624 #. type: Plain text
4625 #: build/C/man3/gethostbyname.3:222
4626 msgid "The (obsolete)  B<hstrerror>()  function takes an error number (typically I<h_errno>) and returns the corresponding message string."
4627 msgstr "(廃止予定の)  B<hstrerror>()  関数はエラー番号 (通常は I<h_errno>) を引き数に取り、 対応するエラーメッセージ文字列を返す。"
4628
4629 #.  (See
4630 #.  .BR resolv+ (8)).
4631 #. type: Plain text
4632 #: build/C/man3/gethostbyname.3:239
4633 msgid "The domain name queries carried out by B<gethostbyname>()  and B<gethostbyaddr>()  use a combination of any or all of the name server B<named>(8), a broken out line from I</etc/hosts>, and the Network Information Service (NIS or YP), depending upon the contents of the I<order> line in I</etc/host.conf>.  The default action is to query B<named>(8), followed by I</etc/hosts>."
4634 msgstr "B<gethostbyname>()  と B<gethostbyaddr>()  によって実行されるドメイン名の問い合わせでは、ネームサーバ B<named>(8)、 I</etc/hosts> のデータ行、および Network Information Service (NIS または YP)  が組み合わせて使用される。何が使用されるかは、 I</etc/host.conf> の I<order> 行の内容により決まる。 デフォルトでは、まず B<named>(8)  に問い合わせを行い、次いで I</etc/hosts> を参照する。"
4635
4636 #. type: Plain text
4637 #: build/C/man3/gethostbyname.3:241
4638 msgid "The I<hostent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
4639 msgstr "I<hostent> 構造体は I<E<lt>netdb.hE<gt>> で以下のように定義されている:"
4640
4641 #. type: Plain text
4642 #: build/C/man3/gethostbyname.3:253
4643 #, no-wrap
4644 msgid ""
4645 "struct hostent {\n"
4646 "    char  *h_name;            /* official name of host */\n"
4647 "    char **h_aliases;         /* alias list */\n"
4648 "    int    h_addrtype;        /* host address type */\n"
4649 "    int    h_length;          /* length of address */\n"
4650 "    char **h_addr_list;       /* list of addresses */\n"
4651 "}\n"
4652 "#define h_addr h_addr_list[0] /* for backward compatibility */\n"
4653 msgstr ""
4654 "struct hostent {\n"
4655 "    char  *h_name;            /* official name of host */\n"
4656 "    char **h_aliases;         /* alias list */\n"
4657 "    int    h_addrtype;        /* host address type */\n"
4658 "    int    h_length;          /* length of address */\n"
4659 "    char **h_addr_list;       /* list of addresses */\n"
4660 "}\n"
4661 "#define h_addr h_addr_list[0] /* 過去との互換性のため */\n"
4662
4663 #. type: Plain text
4664 #: build/C/man3/gethostbyname.3:257
4665 msgid "The members of the I<hostent> structure are:"
4666 msgstr "I<hostent> 構造体のメンバは以下の通り。"
4667
4668 #. type: TP
4669 #: build/C/man3/gethostbyname.3:257 build/C/man3/getipnodebyname.3:210
4670 #, no-wrap
4671 msgid "I<h_name>"
4672 msgstr "I<h_name>"
4673
4674 #. type: Plain text
4675 #: build/C/man3/gethostbyname.3:260
4676 msgid "The official name of the host."
4677 msgstr "ホストの正式名 (official name)。"
4678
4679 #. type: TP
4680 #: build/C/man3/gethostbyname.3:260 build/C/man3/getipnodebyname.3:213
4681 #, no-wrap
4682 msgid "I<h_aliases>"
4683 msgstr "I<h_aliases>"
4684
4685 #. type: Plain text
4686 #: build/C/man3/gethostbyname.3:263
4687 msgid "An array of alternative names for the host, terminated by a null pointer."
4688 msgstr "ホストの別名の配列。配列はヌルポインターで終端される。"
4689
4690 #. type: TP
4691 #: build/C/man3/gethostbyname.3:263 build/C/man3/getipnodebyname.3:217
4692 #, no-wrap
4693 msgid "I<h_addrtype>"
4694 msgstr "I<h_addrtype>"
4695
4696 #. type: Plain text
4697 #: build/C/man3/gethostbyname.3:270
4698 msgid "The type of address; always B<AF_INET> or B<AF_INET6> at present."
4699 msgstr "アドレスのタイプ。現在はすべて B<AF_INET> または B<AF_INET6> である。"
4700
4701 #. type: TP
4702 #: build/C/man3/gethostbyname.3:270 build/C/man3/getipnodebyname.3:239
4703 #, no-wrap
4704 msgid "I<h_length>"
4705 msgstr "I<h_length>"
4706
4707 #. type: Plain text
4708 #: build/C/man3/gethostbyname.3:273
4709 msgid "The length of the address in bytes."
4710 msgstr "バイト単位で表したアドレスの長さ。"
4711
4712 #. type: TP
4713 #: build/C/man3/gethostbyname.3:273 build/C/man3/getipnodebyname.3:253
4714 #, no-wrap
4715 msgid "I<h_addr_list>"
4716 msgstr "I<h_addr_list>"
4717
4718 #. type: Plain text
4719 #: build/C/man3/gethostbyname.3:277
4720 msgid "An array of pointers to network addresses for the host (in network byte order), terminated by a null pointer."
4721 msgstr "ホストのネットワークアドレスへのポインターの配列。 配列はヌルポインターで終端される。 ネットワークアドレスはネットワークバイトオーダ形式である。"
4722
4723 #. type: TP
4724 #: build/C/man3/gethostbyname.3:277
4725 #, no-wrap
4726 msgid "I<h_addr>"
4727 msgstr "I<h_addr>"
4728
4729 #. type: Plain text
4730 #: build/C/man3/gethostbyname.3:280
4731 msgid "The first address in I<h_addr_list> for backward compatibility."
4732 msgstr "I<h_addr_list> の最初のアドレス。過去との互換性を保つためのものである。"
4733
4734 #. type: Plain text
4735 #: build/C/man3/gethostbyname.3:292
4736 msgid "The B<gethostbyname>()  and B<gethostbyaddr>()  functions return the I<hostent> structure or a null pointer if an error occurs.  On error, the I<h_errno> variable holds an error number.  When non-NULL, the return value may point at static data, see the notes below."
4737 msgstr "B<gethostbyname>()  および B<gethostbyaddr>()  関数は I<hostent> 構造体を返す。エラーが起こったらヌルポインターを返す。エラーの際には I<h_errno> 変数がエラーの番号を保持する。 返り値が NULL でない場合、静的データをポインターで指していることもある。 以下の「注意」を参照すること。"
4738
4739 #. type: Plain text
4740 #: build/C/man3/gethostbyname.3:294
4741 msgid "The variable I<h_errno> can have the following values:"
4742 msgstr "I<h_errno> 変数は以下の値を取りうる。"
4743
4744 #. type: TP
4745 #: build/C/man3/gethostbyname.3:294 build/C/man3/getipnodebyname.3:190
4746 #, no-wrap
4747 msgid "B<HOST_NOT_FOUND>"
4748 msgstr "B<HOST_NOT_FOUND>"
4749
4750 #. type: Plain text
4751 #: build/C/man3/gethostbyname.3:297
4752 msgid "The specified host is unknown."
4753 msgstr "指定したホストが見つからない。"
4754
4755 #. type: TP
4756 #: build/C/man3/gethostbyname.3:297
4757 #, no-wrap
4758 msgid "B<NO_ADDRESS> or B<NO_DATA>"
4759 msgstr "B<NO_ADDRESS  または  NO_DATA>"
4760
4761 #. type: Plain text
4762 #: build/C/man3/gethostbyname.3:300
4763 msgid "The requested name is valid but does not have an IP address."
4764 msgstr "指定した名前は有効だが IP アドレスを持っていない。"
4765
4766 #. type: TP
4767 #: build/C/man3/gethostbyname.3:300 build/C/man3/getipnodebyname.3:199
4768 #, no-wrap
4769 msgid "B<NO_RECOVERY>"
4770 msgstr "B<NO_RECOVERY>"
4771
4772 #. type: Plain text
4773 #: build/C/man3/gethostbyname.3:303
4774 msgid "A nonrecoverable name server error occurred."
4775 msgstr "ネームサーバの復旧不能なエラーが起こった。"
4776
4777 #. type: TP
4778 #: build/C/man3/gethostbyname.3:303 build/C/man3/getipnodebyname.3:202
4779 #, no-wrap
4780 msgid "B<TRY_AGAIN>"
4781 msgstr "B<TRY_AGAIN>"
4782
4783 #. type: Plain text
4784 #: build/C/man3/gethostbyname.3:307
4785 msgid "A temporary error occurred on an authoritative name server.  Try again later."
4786 msgstr "authoritative なネームサーバで一時的なエラーが起こった。 時間をおいてもう一度試すこと。"
4787
4788 #. type: TP
4789 #: build/C/man3/gethostbyname.3:308 build/C/man5/host.conf.5:181
4790 #, no-wrap
4791 msgid "I</etc/host.conf>"
4792 msgstr "I</etc/host.conf>"
4793
4794 #. type: Plain text
4795 #: build/C/man3/gethostbyname.3:311
4796 msgid "resolver configuration file"
4797 msgstr "名前解決の設定ファイル"
4798
4799 #. type: Plain text
4800 #: build/C/man3/gethostbyname.3:311 build/C/man5/host.conf.5:187
4801 #: build/C/man5/hosts.5:88
4802 #, no-wrap
4803 msgid "I</etc/hosts>"
4804 msgstr "I</etc/hosts>"
4805
4806 #. type: Plain text
4807 #: build/C/man3/gethostbyname.3:314
4808 msgid "host database file"
4809 msgstr "ホストのデータベースファイル"
4810
4811 #. type: Plain text
4812 #: build/C/man3/gethostbyname.3:314 build/C/man5/nsswitch.conf.5:306
4813 #: build/C/man3/setnetgrent.3:92
4814 #, no-wrap
4815 msgid "I</etc/nsswitch.conf>"
4816 msgstr "I</etc/nsswitch.conf>"
4817
4818 #. type: Plain text
4819 #: build/C/man3/gethostbyname.3:317
4820 msgid "name service switch configuration"
4821 msgstr "ネームサービス切替設定"
4822
4823 #. type: Plain text
4824 #: build/C/man3/gethostbyname.3:341
4825 msgid "POSIX.1-2001 specifies B<gethostbyname>(), B<gethostbyaddr>(), B<sethostent>(), B<endhostent>(), B<gethostent>(), and I<h_errno>; B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno> are marked obsolescent in that standard.  POSIX.1-2008 removes the specifications of B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno>, recommending the use of B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead."
4826 msgstr "POSIX.1-2001 では、 B<gethostbyname>(), B<gethostbyaddr>(), B<sethostent>(), B<endhostent>(), B<gethostent>(), I<h_errno> が規定されており、 B<gethostbyaddr>()  と B<gethostbyname>()  は廃止予定であるとされている。 POSIX.1-2008 では B<gethostbyname>(), B<gethostbyaddr>(), I<h_errno> の仕様が削除されている。 代わりに、 B<getaddrinfo>(3)  と B<getnameinfo>(3)  の使用が推奨されている。"
4827
4828 #. type: Plain text
4829 #: build/C/man3/gethostbyname.3:351
4830 msgid "The functions B<gethostbyname>()  and B<gethostbyaddr>()  may return pointers to static data, which may be overwritten by later calls.  Copying the I<struct hostent> does not suffice, since it contains pointers; a deep copy is required."
4831 msgstr "B<gethostbyname>()  および B<gethostbyaddr>()  関数は静的データへのポインターを返す。 このポインターは、その後の呼び出しで上書きされるかもしれない。 I<hostent> 構造体はポインターを含んでいるので、構造体のコピーだけでは不十分である; より深いコピーが必要である。"
4832
4833 #. type: Plain text
4834 #: build/C/man3/gethostbyname.3:375
4835 msgid "In the original BSD implementation the I<len> argument of B<gethostbyname>()  was an I<int>.  The SUSv2 standard is buggy and declares the I<len> argument of B<gethostbyaddr>()  to be of type I<size_t>.  (That is wrong, because it has to be I<int>, and I<size_t> is not.  POSIX.1-2001 makes it I<socklen_t>, which is OK.)  See also B<accept>(2)."
4836 msgstr "オリジナルの BSD の実装では、 B<gethostbyname>()  の I<len> 引き数は I<int> であった。 SUSv2 標準はバグが多く、 B<gethostbyaddr>()  の I<len> パラメーターを I<size_t> 型として宣言している。 (これは誤りで、 I<size_t> 型ではなく I<int> 型でなければならない。 POSIX.1-2001 ではこれを I<socklen_t> としているが、これは OK。)  B<accept>(2)  も参照。"
4837
4838 #. type: Plain text
4839 #: build/C/man3/gethostbyname.3:381
4840 msgid "The BSD prototype for B<gethostbyaddr>()  uses I<const char\\ *> for the first argument."
4841 msgstr "B<gethostbyaddr>()  の BSD のプロトタイプは、最初の引き数として I<const char\\ *> を使う。"
4842
4843 #. type: SS
4844 #: build/C/man3/gethostbyname.3:381
4845 #, no-wrap
4846 msgid "System V/POSIX extension"
4847 msgstr "System V/POSIX 拡張"
4848
4849 #.  e.g., Linux, FreeBSD, UnixWare, HP-UX
4850 #.  e.g., FreeBSD, AIX
4851 #. type: Plain text
4852 #: build/C/man3/gethostbyname.3:398
4853 msgid "POSIX requires the B<gethostent>()  call, that should return the next entry in the host data base.  When using DNS/BIND this does not make much sense, but it may be reasonable if the host data base is a file that can be read line by line.  On many systems a routine of this name reads from the file I</etc/hosts>.  It may be available only when the library was built without DNS support.  The glibc version will ignore ipv6 entries.  This function is not reentrant, and glibc adds a reentrant version B<gethostent_r>()."
4854 msgstr "POSIX では、 B<gethostent>()  が必須とされている。 この関数はホストデータベースの次のエントリを返す。 DNS/BIND を使う場合はあまり意味を持たないが、 ホストデータベースが 1 行ずつ読み込まれるファイルである場合は意味がある。 多くのシステムでは、この名前のルーチンはファイル I</etc/hosts> を読み込む。 DNS サポートなしでライブラリがビルドされた場合にのみ利用可能である。 glibc 版は ipv6 エントリを無視する。 この関数はリエントラント (reentrant) ではなく、 glibc にはリエントラント版の B<gethostent_r>()  が追加された。"
4855
4856 #. type: SS
4857 #: build/C/man3/gethostbyname.3:398
4858 #, no-wrap
4859 msgid "GNU extensions"
4860 msgstr "GNU 拡張"
4861
4862 #. type: Plain text
4863 #: build/C/man3/gethostbyname.3:404
4864 msgid "Glibc2 also has a B<gethostbyname2>()  that works like B<gethostbyname>(), but permits to specify the address family to which the address must belong."
4865 msgstr "glibc2 には B<gethostbyname2>()  もあり、 B<gethostbyname>()  と同じように動作するが、 こちらはアドレスが属するアドレスファミリーを指定することができる。"
4866
4867 #. type: Plain text
4868 #: build/C/man3/gethostbyname.3:438
4869 msgid "Glibc2 also has reentrant versions B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>()  and B<gethostbyname2_r>().  The caller supplies a I<hostent> structure I<ret> which will be filled in on success, and a temporary work buffer I<buf> of size I<buflen>.  After the call, I<result> will point to the result on success.  In case of an error or if no entry is found I<result> will be NULL.  The functions return 0 on success and a nonzero error number on failure.  In addition to the errors returned by the nonreentrant versions of these functions, if I<buf> is too small, the functions will return B<ERANGE>, and the call should be retried with a larger buffer.  The global variable I<h_errno> is not modified, but the address of a variable in which to store error numbers is passed in I<h_errnop>."
4870 msgstr "glibc2 にはリエントラントな B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>()  と B<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> に渡される。"
4871
4872 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973
4873 #. type: Plain text
4874 #: build/C/man3/gethostbyname.3:443
4875 msgid "B<gethostbyname>()  does not recognize components of a dotted IPv4 address string that are expressed in hexadecimal."
4876 msgstr "B<gethostbyname>()  は、16進数表現のドット区切りの IPv4 アドレス文字列の要素を認識しない。"
4877
4878 #.  .BR getipnodebyaddr (3),
4879 #.  .BR getipnodebyname (3),
4880 #.  .BR resolv+ (8)
4881 #. type: Plain text
4882 #: build/C/man3/gethostbyname.3:457
4883 msgid "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet>(3), B<inet_ntop>(3), B<inet_pton>(3), B<resolver>(3), B<hosts>(5), B<nsswitch.conf>(5), B<hostname>(7), B<named>(8)"
4884 msgstr "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet>(3), B<inet_ntop>(3), B<inet_pton>(3), B<resolver>(3), B<hosts>(5), B<nsswitch.conf>(5), B<hostname>(7), B<named>(8)"
4885
4886 #. type: TH
4887 #: build/C/man3/getipnodebyname.3:26
4888 #, no-wrap
4889 msgid "GETIPNODEBYNAME"
4890 msgstr "GETIPNODEBYNAME"
4891
4892 #. type: TH
4893 #: build/C/man3/getipnodebyname.3:26
4894 #, no-wrap
4895 msgid "2010-09-04"
4896 msgstr "2010-09-04"
4897
4898 #. type: Plain text
4899 #: build/C/man3/getipnodebyname.3:30
4900 msgid "getipnodebyname, getipnodebyaddr, freehostent - get network hostnames and addresses"
4901 msgstr "getipnodebyname, getipnodebyaddr, freehostent - ネットワークホストの名前とアドレスの取得"
4902
4903 #. type: Plain text
4904 #: build/C/man3/getipnodebyname.3:38
4905 #, no-wrap
4906 msgid ""
4907 "B<struct hostent *getipnodebyname(const char *>I<name>B<, int >I<af>B<,>\n"
4908 "B<                                int >I<flags>B<, int *>I<error_num>B<);>\n"
4909 msgstr ""
4910 "B<struct hostent *getipnodebyname(const char *>I<name>B<, int >I<af>B<,>\n"
4911 "B<                                int >I<flags>B<, int *>I<error_num>B<);>\n"
4912
4913 #. type: Plain text
4914 #: build/C/man3/getipnodebyname.3:41
4915 #, no-wrap
4916 msgid ""
4917 "B<struct hostent *getipnodebyaddr(const void *>I<addr>B<, size_t >I<len>B<,>\n"
4918 "B<                                int >I<af>B<, int *>I<error_num>B<);>\n"
4919 msgstr ""
4920 "B<struct hostent *getipnodebyaddr(const void *>I<addr>B<, size_t >I<len>B<,>\n"
4921 "B<                                int >I<af>B<, int *>I<error_num>B<);>\n"
4922
4923 #. type: Plain text
4924 #: build/C/man3/getipnodebyname.3:43
4925 #, no-wrap
4926 msgid "B<void freehostent(struct hostent *>I<ip>B<);>\n"
4927 msgstr "B<void freehostent(struct hostent *>I<ip>B<);>\n"
4928
4929 #. type: Plain text
4930 #: build/C/man3/getipnodebyname.3:51
4931 msgid "These functions are deprecated (and unavailable in glibc).  Use B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead."
4932 msgstr "これらの関数は非推奨である (glibc では利用できない)。 代わりに B<getaddrinfo>(3)  と B<getnameinfo>(3)  を使うこと。"
4933
4934 #. type: Plain text
4935 #: build/C/man3/getipnodebyname.3:59
4936 msgid "The B<getipnodebyname>()  and B<getipnodebyaddr>()  functions return the names and addresses of a network host.  These functions return a pointer to the following structure:"
4937 msgstr "B<getipnodebyname>()  と B<getipnodebyaddr>()  は、ネットワークホストの名前とアドレスを返す。 これらの関数は、以下の構造体へのポインターを返す。"
4938
4939 #. type: Plain text
4940 #: build/C/man3/getipnodebyname.3:69
4941 #, no-wrap
4942 msgid ""
4943 "struct hostent {\n"
4944 "    char  *h_name;\n"
4945 "    char **h_aliases;\n"
4946 "    int    h_addrtype;\n"
4947 "    int    h_length;\n"
4948 "    char **h_addr_list;\n"
4949 "};\n"
4950 msgstr ""
4951 "struct hostent {\n"
4952 "    char  *h_name;\n"
4953 "    char **h_aliases;\n"
4954 "    int    h_addrtype;\n"
4955 "    int    h_length;\n"
4956 "    char **h_addr_list;\n"
4957 "};\n"
4958
4959 #. type: Plain text
4960 #: build/C/man3/getipnodebyname.3:82
4961 msgid "These functions replace the B<gethostbyname>(3)  and B<gethostbyaddr>(3)  functions, which could access only the IPv4 network address family.  The B<getipnodebyname>()  and B<getipnodebyaddr>()  functions can access multiple network address families."
4962 msgstr "これらの関数は、 IPv4 ネットワークアドレスファミリにしかアクセスできない B<gethostbyname>(3)  や B<gethostbyaddr>(3)  を置き換えるものである。 B<getipnodebyname>()  関数と B<getipnodebyaddr>()  関数は複数のネットワークアドレスファミリーにアクセス可能になっている。"
4963
4964 #. type: Plain text
4965 #: build/C/man3/getipnodebyname.3:93
4966 msgid "Unlike the B<gethostby> functions, these functions return pointers to dynamically allocated memory.  The B<freehostent>()  function is used to release the dynamically allocated memory after the caller no longer needs the I<hostent> structure."
4967 msgstr "これらの関数は、 B<gethostby> の関数群と異なり、動的に割り当てられたメモリへのポインターを返す。 呼び出し元がこれらの I<hostent> 構造体を必要としなくなった後は、 B<freehostent>()  関数を用いれば動的な割り当てメモリを解放できる。"
4968
4969 #. type: SS
4970 #: build/C/man3/getipnodebyname.3:93
4971 #, no-wrap
4972 msgid "getipnodebyname() arguments"
4973 msgstr "getipnodebyname() の引き数"
4974
4975 #. type: Plain text
4976 #: build/C/man3/getipnodebyname.3:104
4977 msgid "The B<getipnodebyname>()  function looks up network addresses for the host specified by the I<name> argument.  The I<af> argument specifies one of the following values:"
4978 msgstr "B<getipnodebyname>()  関数は I<name> 引き数で指定されたホストのネットワークアドレスを引く。 I<af> 引き数には以下の値のいずれかを指定する。"
4979
4980 #. type: TP
4981 #: build/C/man3/getipnodebyname.3:104 build/C/man3/getipnodebyname.3:166
4982 #: build/C/man3/inet_ntop.3:57 build/C/man3/inet_pton.3:53
4983 #, no-wrap
4984 msgid "B<AF_INET>"
4985 msgstr "B<AF_INET>"
4986
4987 #. type: Plain text
4988 #: build/C/man3/getipnodebyname.3:110
4989 msgid "The I<name> argument points to a dotted-quad IPv4 address or a name of an IPv4 network host."
4990 msgstr "I<name> 引き数は、ドットで 4 つに区切られた IPv4 アドレスか、 IPv4 ネットワークホストの名前へのポインターである。"
4991
4992 #. type: TP
4993 #: build/C/man3/getipnodebyname.3:110 build/C/man3/getipnodebyname.3:176
4994 #: build/C/man3/inet_ntop.3:70 build/C/man3/inet_pton.3:67
4995 #, no-wrap
4996 msgid "B<AF_INET6>"
4997 msgstr "B<AF_INET6>"
4998
4999 #. type: Plain text
5000 #: build/C/man3/getipnodebyname.3:116
5001 msgid "The I<name> argument points to a hexadecimal IPv6 address or a name of an IPv6 network host."
5002 msgstr "I<name> 引き数は、16 進の IPv6 アドレスか、 IPv6 ネットワークホストの名前へのポインターである。"
5003
5004 #. type: Plain text
5005 #: build/C/man3/getipnodebyname.3:125
5006 msgid "The I<flags> argument specifies additional options.  More than one option can be specified by bitwise OR-ing them together.  I<flags> should be set to 0 if no options are desired."
5007 msgstr "I<flags> パラメーターには追加のオプションを指定する。 複数のフラグを指定するには、それらのビット単位の OR をとって指定すればよい。 オプションをひとつも指定したくないときには、 I<flags> に 0 を設定する必要がある。"
5008
5009 #. type: TP
5010 #: build/C/man3/getipnodebyname.3:125
5011 #, no-wrap
5012 msgid "B<AI_V4MAPPED>"
5013 msgstr "B<AI_V4MAPPED>"
5014
5015 #. type: Plain text
5016 #: build/C/man3/getipnodebyname.3:132
5017 msgid "This flag is used with B<AF_INET6> to request a query for IPv4 addresses instead of IPv6 addresses; the IPv4 addresses will be mapped to IPv6 addresses."
5018 msgstr "このフラグは B<AF_INET6> と共に用いられ、IPv6 アドレスの代わりに IPv4 アドレスを問い合わせる。 問い合わせる IPv4 アドレスは IPv6 アドレスにマップされる。"
5019
5020 #. type: TP
5021 #: build/C/man3/getipnodebyname.3:132
5022 #, no-wrap
5023 msgid "B<AI_ALL>"
5024 msgstr "B<AI_ALL>"
5025
5026 #. type: Plain text
5027 #: build/C/man3/getipnodebyname.3:138
5028 msgid "This flag is used with B<AI_V4MAPPED> to request a query for both IPv4 and IPv6 addresses.  Any IPv4 address found will be mapped to an IPv6 address."
5029 msgstr "このフラグは B<AI_V4MAPPED> と共に用いられ、IPv4 アドレスと IPv6 アドレスの両方を問い合わせる。 見つかった IPv4 アドレスは、すべて IPv6 アドレスにマップされる。"
5030
5031 #. type: TP
5032 #: build/C/man3/getipnodebyname.3:138
5033 #, no-wrap
5034 msgid "B<AI_ADDRCONFIG>"
5035 msgstr "B<AI_ADDRCONFIG>"
5036
5037 #. type: Plain text
5038 #: build/C/man3/getipnodebyname.3:150
5039 msgid "This flag is used with B<AF_INET6> to further request that queries for IPv6 addresses should not be made unless the system has at least one IPv6 address assigned to a network interface, and that queries for IPv4 addresses should not be made unless the system has at least one IPv4 address assigned to a network interface.  This flag may be used by itself or with the B<AI_V4MAPPED> flag."
5040 msgstr "このフラグは B<AF_INET6> と共に用いられ、 IPv6 が割り当てられたネットワークインターフェースが システムにひとつもなければ IPv6 アドレスの問い合わせを行わず、 IPv4 が割り当てられたネットワークインターフェースが システムにひとつもなければ IPv4 アドレスの問い合わせを行わないように要求する。 このフラグは単独でも、あるいは B<AI_V4MAPPED> フラグと共にでも用いることができる。"
5041
5042 #. type: TP
5043 #: build/C/man3/getipnodebyname.3:150
5044 #, no-wrap
5045 msgid "B<AI_DEFAULT>"
5046 msgstr "B<AI_DEFAULT>"
5047
5048 #. type: Plain text
5049 #: build/C/man3/getipnodebyname.3:154
5050 msgid "This flag is equivalent to B<(AI_ADDRCONFIG | AI_V4MAPPED)>."
5051 msgstr "このフラグは B<(AI_ADDRCONFIG>|B<AI_V4MAPPED)> と等価である。"
5052
5053 #. type: SS
5054 #: build/C/man3/getipnodebyname.3:154
5055 #, no-wrap
5056 msgid "getipnodebyaddr() arguments"
5057 msgstr "getipnodebyaddr() の引き数"
5058
5059 #. type: Plain text
5060 #: build/C/man3/getipnodebyname.3:166
5061 msgid "The B<getipnodebyaddr>()  function looks up the name of the host whose network address is specified by the I<addr> argument.  The I<af> argument specifies one of the following values:"
5062 msgstr "B<getipnodebyaddr>()  関数は、ネットワークアドレスが I<addr> 引き数で指定されたホストの名前を引く。 I<af> 引き数には以下の値のいずれかを指定する。"
5063
5064 #. type: Plain text
5065 #: build/C/man3/getipnodebyname.3:176
5066 msgid "The I<addr> argument points to a I<struct in_addr> and I<len> must be set to I<sizeof(struct in_addr)>."
5067 msgstr "I<addr> 引き数は I<struct in_addr> へのポインターであり、 I<len> 引き数は I<sizeof(struct in_addr)> に設定しなければならない。"
5068
5069 #. type: Plain text
5070 #: build/C/man3/getipnodebyname.3:186
5071 msgid "The I<addr> argument points to a I<struct in6_addr> and I<len> must be set to I<sizeof(struct in6_addr)>."
5072 msgstr "I<addr> 引き数は I<struct in6_addr> へのポインターであり、 I<len> 引き数は I<sizeof(struct in6_addr)> に設定しなければならない。"
5073
5074 #. type: Plain text
5075 #: build/C/man3/getipnodebyname.3:190
5076 msgid "NULL is returned if an error occurred, and I<error_num> will contain an error code from the following list:"
5077 msgstr "エラーが起こると NULL が返され、 I<error_num> に以下にリストされたエラーコードのいずれかが設定される。"
5078
5079 #. type: Plain text
5080 #: build/C/man3/getipnodebyname.3:193
5081 msgid "The hostname or network address was not found."
5082 msgstr "ホスト名またはネットワークアドレスが見つからなかった。"
5083
5084 #. type: TP
5085 #: build/C/man3/getipnodebyname.3:193
5086 #, no-wrap
5087 msgid "B<NO_ADDRESS>"
5088 msgstr "B<NO_ADDRESS>"
5089
5090 #. type: Plain text
5091 #: build/C/man3/getipnodebyname.3:199
5092 msgid "The domain name server recognized the network address or name, but no answer was returned.  This can happen if the network host has only IPv4 addresses and a request has been made for IPv6 information only, or vice versa."
5093 msgstr "ドメインネームサーバーは そのネットワークアドレスまたはネットワーク名を認識したが、 返事が返ってこなかった。原因としては、 例えば IPv4 アドレスしか持たないネットワークホストに対して IPv6 の情報の問い合わせが行われた (およびその逆) などが考えられる。"
5094
5095 #. type: Plain text
5096 #: build/C/man3/getipnodebyname.3:202
5097 msgid "The domain name server returned a permanent failure response."
5098 msgstr "ドメインネームサーバーから恒久的な失敗 (permanent failure)  を意味する返事が返された。"
5099
5100 #. type: Plain text
5101 #: build/C/man3/getipnodebyname.3:206
5102 msgid "The domain name server returned a temporary failure response.  You might have better luck next time."
5103 msgstr "ネームサーバーから一時的な失敗 (temporary failure)  を意味する返事が返された。次にはもうちょっと運が必要かも。"
5104
5105 #. type: Plain text
5106 #: build/C/man3/getipnodebyname.3:210
5107 msgid "A successful query returns a pointer to a I<hostent> structure that contains the following fields:"
5108 msgstr "問い合わせに成功すると、 I<hostent> 構造体へのポインターが返される。 この構造体は以下のフィールドからなる。"
5109
5110 #. type: Plain text
5111 #: build/C/man3/getipnodebyname.3:213
5112 msgid "This is the official name of this network host."
5113 msgstr "これはこのネットワークホストのオフィシャルな名前である。"
5114
5115 #. type: Plain text
5116 #: build/C/man3/getipnodebyname.3:217
5117 msgid "This is an array of pointers to unofficial aliases for the same host.  The array is terminated by a null pointer."
5118 msgstr "これは、そのホストのオフィシャルでない別名へのポインターの配列である。 配列はヌルポインターで終端する。"
5119
5120 #. type: Plain text
5121 #: build/C/man3/getipnodebyname.3:239
5122 msgid "This is a copy of the I<af> argument to B<getipnodebyname>()  or B<getipnodebyaddr>().  I<h_addrtype> will always be B<AF_INET> if the I<af> argument was B<AF_INET>.  I<h_addrtype> will always be B<AF_INET6> if the I<af> argument was B<AF_INET6>."
5123 msgstr "これは B<getipnodebyname>()  または B<getipnodebyaddr>()  に与えられた I<af> 引き数のコピーである。 I<af> 引き数が B<AF_INET> なら I<h_addrtype> は常に B<AF_INET> になり、 I<af> 引き数が B<AF_INET6> なら I<h_addrtype> も常に B<AF_INET6> になる。"
5124
5125 #. type: Plain text
5126 #: build/C/man3/getipnodebyname.3:253
5127 msgid "This field will be set to I<sizeof(struct in_addr)> if I<h_addrtype> is B<AF_INET>, and to I<sizeof(struct in6_addr)> if I<h_addrtype> is B<AF_INET6>."
5128 msgstr "このフィールドは、 I<h_addrtype> が B<AF_INET> なら I<sizeof(struct in_addr)> に、 I<h_addrtype> が B<AF_INET6> なら I<sizeof(struct in6_addr)> に設定される。"
5129
5130 #. type: Plain text
5131 #: build/C/man3/getipnodebyname.3:258
5132 msgid "This is an array of one or more pointers to network address structures for the network host.  The array is terminated by a null pointer."
5133 msgstr "これはひとつ以上のポインターの配列で、 それぞれのポインターは、 そのネットワークホストに対応するネットワークアドレス構造体を指す。 この配列はヌルポインターで終端する。"
5134
5135 #.  Not in POSIX.1-2001.
5136 #. type: Plain text
5137 #: build/C/man3/getipnodebyname.3:261
5138 msgid "RFC\\ 2553."
5139 msgstr "RFC\\ 2553."
5140
5141 #. type: Plain text
5142 #: build/C/man3/getipnodebyname.3:266
5143 msgid "These functions were present in glibc 2.1.91-95, but were removed again.  Several UNIX-like systems support them, but all call them deprecated."
5144 msgstr "これらの関数は glibc 2.1.91-95 に存在したが、再び削除された。 いくつかの UNIX 風システムはこれらの関数に対応しているが、 これらの関数は全て推奨されない。"
5145
5146 #. type: Plain text
5147 #: build/C/man3/getipnodebyname.3:271
5148 msgid "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet_ntop>(3), B<inet_pton>(3)"
5149 msgstr "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet_ntop>(3), B<inet_pton>(3)"
5150
5151 #. type: TH
5152 #: build/C/man3/getnameinfo.3:10
5153 #, no-wrap
5154 msgid "GETNAMEINFO"
5155 msgstr "GETNAMEINFO"
5156
5157 #. type: Plain text
5158 #: build/C/man3/getnameinfo.3:13
5159 msgid "getnameinfo - address-to-name translation in protocol-independent manner"
5160 msgstr "getnameinfo - アドレスから名前への変換をプロトコルに依存しないかたちで行う"
5161
5162 #. type: Plain text
5163 #: build/C/man3/getnameinfo.3:17
5164 #, no-wrap
5165 msgid ""
5166 "B<#include E<lt>sys/socket.hE<gt>>\n"
5167 "B<#include E<lt>netdb.hE<gt>>\n"
5168 msgstr ""
5169 "B<#include E<lt>sys/socket.hE<gt>>\n"
5170 "B<#include E<lt>netdb.hE<gt>>\n"
5171
5172 #. type: Plain text
5173 #: build/C/man3/getnameinfo.3:21
5174 #, no-wrap
5175 msgid ""
5176 "B<int getnameinfo(const struct sockaddr *>I<sa>B<, socklen_t >I<salen>B<,>\n"
5177 "B<                char *>I<host>B<, socklen_t >I<hostlen>B<,>\n"
5178 "B<                char *>I<serv>B<, socklen_t >I<servlen>B<, int >I<flags>B<);>\n"
5179 msgstr ""
5180 "B<int getnameinfo(const struct sockaddr *>I<sa>B<, socklen_t >I<salen>B<,>\n"
5181 "B<                char *>I<host>B<, socklen_t >I<hostlen>B<,>\n"
5182 "B<                char *>I<serv>B<, socklen_t >I<servlen>B<, int >I<flags>B<);>\n"
5183
5184 #. type: Plain text
5185 #: build/C/man3/getnameinfo.3:31
5186 msgid "B<getnameinfo>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5187 msgstr "B<getnameinfo>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5188
5189 #. type: Plain text
5190 #: build/C/man3/getnameinfo.3:47
5191 msgid "The B<getnameinfo>()  function is the inverse of B<getaddrinfo>(3): it converts a socket address to a corresponding host and service, in a protocol-independent manner.  It combines the functionality of B<gethostbyaddr>(3)  and B<getservbyport>(3), but unlike those functions, B<getnameinfo>()  is reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies."
5192 msgstr "B<getnameinfo>()  関数は、 B<getaddrinfo>(3)  の逆の動作を行う。つまり、プロトコルに依存しないかたちで ソケットアドレスから対応するホスト名とサービスへの変換を行う。 この関数は B<gethostbyaddr>(3)  と B<getservbyport>(3)  の機能を一つにしたものだが、 これらの関数と違い、 B<getnameinfo>(3)  はリエントラントであり、IPv4 と IPv6 の差分に依存しないかたちで プログラムを書くことができる。"
5193
5194 #. type: Plain text
5195 #: build/C/man3/getnameinfo.3:70
5196 msgid "The I<sa> argument is a pointer to a generic socket address structure (of type I<sockaddr_in> or I<sockaddr_in6>)  of size I<salen> that holds the input IP address and port number.  The arguments I<host> and I<serv> are pointers to caller-allocated buffers (of size I<hostlen> and I<servlen> respectively) into which B<getnameinfo>()  places null-terminated strings containing the host and service names respectively."
5197 msgstr "I<sa> 引き数は、 IP アドレスとポート番号の情報を保持している 汎用的なソケットアドレス構造体 (I<sockaddr_in> 型または I<sockaddr_in6> 型) へのポインターである。 I<salen> は I<sa> のサイズである。 I<host> と I<serv> 引き数は、(それぞれサイズが I<hostlen> と I<servlen> の) 呼び出し側で確保されたバッファーへのポインターであり、 ホスト名とサービス名を含むヌル終端された文字列が それぞれのバッファーに格納される。"
5198
5199 #. type: Plain text
5200 #: build/C/man3/getnameinfo.3:83
5201 msgid "The caller can specify that no hostname (or no service name)  is required by providing a NULL I<host> (or I<serv>)  argument or a zero I<hostlen> (or I<servlen>)  argument.  However, at least one of hostname or service name must be requested."
5202 msgstr "ホスト名が不要であることをこの関数に伝えるには、 I<host> に NULL を指定するか、 I<hostlen> に 0 を指定する。同様に、サービス名が不要な場合は、 I<serv> に NULL を指定するか、 I<servlen> に 0 を指定する。 しかし、ホスト名とサービス名の両方を不要だと指定することはできない (いずれか一方は要求すること)。"
5203
5204 #. type: Plain text
5205 #: build/C/man3/getnameinfo.3:89
5206 msgid "The I<flags> argument modifies the behavior of B<getnameinfo>()  as follows:"
5207 msgstr "I<flags> 引き数で B<getnameinfo>()  の動作を変えることができる。指定できる値は以下の通り:"
5208
5209 #. type: TP
5210 #: build/C/man3/getnameinfo.3:89
5211 #, no-wrap
5212 msgid "B<NI_NAMEREQD>"
5213 msgstr "B<NI_NAMEREQD>"
5214
5215 #. type: Plain text
5216 #: build/C/man3/getnameinfo.3:92
5217 msgid "If set, then an error is returned if the hostname cannot be determined."
5218 msgstr "指定すると、ホスト名が決定できなかった場合にエラーを返す。"
5219
5220 #. type: TP
5221 #: build/C/man3/getnameinfo.3:92
5222 #, no-wrap
5223 msgid "B<NI_DGRAM>"
5224 msgstr "B<NI_DGRAM>"
5225
5226 #. type: Plain text
5227 #: build/C/man3/getnameinfo.3:98
5228 msgid "If set, then the service is datagram (UDP) based rather than stream (TCP) based.  This is required for the few ports (512-514)  that have different services for UDP and TCP."
5229 msgstr "指定すると、ストリームベース (TCP) でなくデータグラムベース (UDP)  のサービスを対象にする。数は少ないが、 UDP と TCP で違うサービスを提供しているポート (512-514) に対して必要となる。"
5230
5231 #. type: TP
5232 #: build/C/man3/getnameinfo.3:98
5233 #, no-wrap
5234 msgid "B<NI_NOFQDN>"
5235 msgstr "B<NI_NOFQDN>"
5236
5237 #. type: Plain text
5238 #: build/C/man3/getnameinfo.3:102
5239 msgid "If set, return only the hostname part of the fully qualified domain name for local hosts."
5240 msgstr "指定すると、ローカルなホストには fully qualified domain name (FQDN) の ホスト名の部分のみを返す。"
5241
5242 #. type: TP
5243 #: build/C/man3/getnameinfo.3:102
5244 #, no-wrap
5245 msgid "B<NI_NUMERICHOST>"
5246 msgstr "B<NI_NUMERICHOST>"
5247
5248 #.  For example, by calling
5249 #.  .BR inet_ntop ()
5250 #.  instead of
5251 #.  .BR gethostbyaddr ().
5252 #.  POSIX.1-2003 has NI_NUMERICSCOPE, but glibc doesn't have it.
5253 #. type: Plain text
5254 #: build/C/man3/getnameinfo.3:112
5255 msgid "If set, then the numeric form of the hostname is returned.  (When not set, this will still happen in case the node's name cannot be determined.)"
5256 msgstr "指定すると、数値形式のホスト名が返される。 (指定しなくても、ノードの名前が決定できない場合は数値形式が返ることがある)。"
5257
5258 #. type: TP
5259 #: build/C/man3/getnameinfo.3:112
5260 #, no-wrap
5261 msgid "B<NI_NUMERICSERV>"
5262 msgstr "B<NI_NUMERICSERV>"
5263
5264 #. type: Plain text
5265 #: build/C/man3/getnameinfo.3:117
5266 msgid "If set, then the numeric form of the service address is returned.  (When not set, this will still happen in case the service's name cannot be determined.)"
5267 msgstr "指定すると、数値形式のサービス名 (例えばポート番号) が返される (指定しなくても、サービス名が決定できない場合は数値形式が返ることがある)。"
5268
5269 #. type: SS
5270 #: build/C/man3/getnameinfo.3:117
5271 #, no-wrap
5272 msgid "Extensions to getnameinfo() for Internationalized Domain Names"
5273 msgstr "国際化ドメイン名のための getnameinfo() の拡張"
5274
5275 #. type: Plain text
5276 #: build/C/man3/getnameinfo.3:126
5277 msgid "Starting with glibc 2.3.4, B<getnameinfo>()  has been extended to selectively allow hostnames to be transparently converted to and from the Internationalized Domain Name (IDN) format (see RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>).  Three new flags are defined:"
5278 msgstr "glibc 2.3.4 から、 B<getnameinfo>()  に拡張が行われ、ホスト名と 国際化ドメイン名 (Internationalized Domain Name; IDN) 形式との間で 透過的な変換ができるようになっている (IDN 形式については RFC 3490 の I<Internationalizing Domain Names in Applications (IDNA)> を参照)。3つのフラグが新たに定義されている:"
5279
5280 #. type: TP
5281 #: build/C/man3/getnameinfo.3:126
5282 #, no-wrap
5283 msgid "B<NI_IDN>"
5284 msgstr "B<NI_IDN>"
5285
5286 #. type: Plain text
5287 #: build/C/man3/getnameinfo.3:132
5288 msgid "If this flag is used, then the name found in the lookup process is converted from IDN format to the locale's encoding if necessary.  ASCII-only names are not affected by the conversion, which makes this flag usable in existing programs and environments."
5289 msgstr "このフラグを指定すると、必要であれば、検索処理で見つかった名前は IDN 形式からロケールに応じた符号化形式に変換される。 ASCII 文字だけの名前はこの変換では影響を受けない。このため、 既存のプログラムや環境でこのフラグを使うことができる。"
5290
5291 #. type: TP
5292 #: build/C/man3/getnameinfo.3:132
5293 #, no-wrap
5294 msgid "B<NI_IDN_ALLOW_UNASSIGNED>, B<NI_IDN_USE_STD3_ASCII_RULES>"
5295 msgstr "B<NI_IDN_ALLOW_UNASSIGNED>, B<NI_IDN_USE_STD3_ASCII_RULES>"
5296
5297 #.  FIXME glibc defines the following additional errors, some which
5298 #.  can probably be returned by getnameinfo(); they need to
5299 #.  be documented.
5300 #.  #ifdef __USE_GNU
5301 #.  #define EAI_INPROGRESS  -100  /* Processing request in progress.  */
5302 #.  #define EAI_CANCELED    -101  /* Request canceled.  */
5303 #.  #define EAI_NOTCANCELED -102  /* Request not canceled.  */
5304 #.  #define EAI_ALLDONE     -103  /* All requests done.  */
5305 #.  #define EAI_INTR        -104  /* Interrupted by a signal.  */
5306 #.  #define EAI_IDN_ENCODE  -105  /* IDN encoding failed.  */
5307 #.  #endif
5308 #. type: Plain text
5309 #: build/C/man3/getnameinfo.3:155
5310 msgid "On success 0 is returned, and node and service names, if requested, are filled with null-terminated strings, possibly truncated to fit the specified buffer lengths.  On error, one of the following nonzero error codes is returned:"
5311 msgstr "成功すると 0 が返り、(要求されていれば) ノードとサービスの名前がヌル終端された文字列の形式でそれぞれの指定バッファーに返される (バッファーの長さにあうように縮められるかもしれない)。 エラーの場合は、以下の 0 以外のエラーコードが返される:"
5312
5313 #. type: Plain text
5314 #: build/C/man3/getnameinfo.3:159
5315 msgid "The name could not be resolved at this time.  Try again later."
5316 msgstr "指定された名前が現時点では解決できなかった。 後で再試行してみること。"
5317
5318 #. type: Plain text
5319 #: build/C/man3/getnameinfo.3:164
5320 msgid "The I<flags> argument has an invalid value."
5321 msgstr "I<flags> 引き数に不正な値が与えられた。"
5322
5323 #. type: Plain text
5324 #: build/C/man3/getnameinfo.3:167
5325 msgid "A nonrecoverable error occurred."
5326 msgstr "回復できないエラーが発生した。"
5327
5328 #. type: Plain text
5329 #: build/C/man3/getnameinfo.3:171
5330 msgid "The address family was not recognized, or the address length was invalid for the specified family."
5331 msgstr "指定したアドレスファミリーが認識できなかった。 あるいはアドレスの長さが指定されたファミリーに合うものでなかった。"
5332
5333 #. type: Plain text
5334 #: build/C/man3/getnameinfo.3:180
5335 msgid "The name does not resolve for the supplied arguments.  B<NI_NAMEREQD> is set and the host's name cannot be located, or neither hostname nor service name were requested."
5336 msgstr "与えられたパラメーターでは名前が解決できない。 B<NI_NAMEREQD> が設定されていたがホスト名が決定できなかったか、 ホスト名もサービス名も要求されなかった。"
5337
5338 #. type: TP
5339 #: build/C/man3/getnameinfo.3:180
5340 #, no-wrap
5341 msgid "B<EAI_OVERFLOW>"
5342 msgstr "B<EAI_OVERFLOW>"
5343
5344 #. type: Plain text
5345 #: build/C/man3/getnameinfo.3:187
5346 msgid "The buffer pointed to by I<host> or I<serv> was too small."
5347 msgstr "I<host> または I<serv> が指しているバッファーが小さすぎた。"
5348
5349 #. type: Plain text
5350 #: build/C/man3/getnameinfo.3:192
5351 msgid "A system error occurred.  The error code can be found in I<errno>."
5352 msgstr "システムエラーが起った。 エラーコードは I<errno> に設定される。"
5353
5354 #. type: Plain text
5355 #: build/C/man3/getnameinfo.3:199
5356 msgid "/etc/hosts"
5357 msgstr "/etc/hosts"
5358
5359 #. type: Plain text
5360 #: build/C/man3/getnameinfo.3:201
5361 msgid "/etc/nsswitch.conf"
5362 msgstr "/etc/nsswitch.conf"
5363
5364 #. type: Plain text
5365 #: build/C/man3/getnameinfo.3:203
5366 msgid "/etc/resolv.conf"
5367 msgstr "/etc/resolv.conf"
5368
5369 #. type: Plain text
5370 #: build/C/man3/getnameinfo.3:206
5371 msgid "B<getnameinfo>()  is provided in glibc since version 2.1."
5372 msgstr "B<getnameinfo>()  は、glibc バージョン 2.1 以降で提供されている。"
5373
5374 #. type: Plain text
5375 #: build/C/man3/getnameinfo.3:208
5376 msgid "RFC\\ 2553, POSIX.1-2001."
5377 msgstr "RFC\\ 2553, POSIX.1-2001."
5378
5379 #. type: Plain text
5380 #: build/C/man3/getnameinfo.3:213
5381 msgid "In order to assist the programmer in choosing reasonable sizes for the supplied buffers, I<E<lt>netdb.hE<gt>> defines the constants"
5382 msgstr "適切なバッファーサイズを選択できるように、 I<E<lt>netdb.hE<gt>> に以下の定数が定義されている。"
5383
5384 #. type: Plain text
5385 #: build/C/man3/getnameinfo.3:218
5386 #, no-wrap
5387 msgid ""
5388 "#define NI_MAXHOST      1025\n"
5389 "#define NI_MAXSERV      32\n"
5390 msgstr ""
5391 "#define NI_MAXHOST      1025\n"
5392 "#define NI_MAXSERV      32\n"
5393
5394 #. type: Plain text
5395 #: build/C/man3/getnameinfo.3:228
5396 msgid "Since glibc 2.8, these definitions are exposed only if one of the feature test macros B<_BSD_SOURCE>, B<_SVID_SOURCE>, or B<_GNU_SOURCE> is defined."
5397 msgstr "glibc 2.8 以降では、機能検査マクロ B<_BSD_SOURCE>, B<_SVID_SOURCE>, B<_GNU_SOURCE> のいずれかが定義された場合にのみ、これらの定義が公開される。"
5398
5399 #. type: Plain text
5400 #: build/C/man3/getnameinfo.3:236
5401 msgid "The former is the constant B<MAXDNAME> in recent versions of BIND's I<E<lt>arpa/nameser.hE<gt>> header file.  The latter is a guess based on the services listed in the current Assigned Numbers RFC."
5402 msgstr "前者は、最近のバージョンの BIND のヘッダファイル I<E<lt>arpa/nameser.hE<gt>> 中の定数 B<MAXDNAME> と同じ値である。 後者は、割り当て済の数値について記した現在の RFC に 列挙されてサービスから推量した値である。"
5403
5404 #. type: Plain text
5405 #: build/C/man3/getnameinfo.3:243
5406 msgid "Before glibc version 2.2, the I<hostlen> and I<servlen> arguments were typed as I<size_t>."
5407 msgstr "glibc バージョン 2.2 より前では、 引き数 I<hostlen>, I<servlen> の型は I<size_t> であった。"
5408
5409 #. type: Plain text
5410 #: build/C/man3/getnameinfo.3:248
5411 msgid "The following code tries to get the numeric hostname and service name, for a given socket address.  Note that there is no hardcoded reference to a particular address family."
5412 msgstr "以下のコードは、指定されたソケットアドレスに対する ホストとサービスの数値表式を取得しようと試みる。 特定のアドレスファミリーに対する参照情報は 一切ハードコードされていないことに着目してほしい。"
5413
5414 #. type: Plain text
5415 #: build/C/man3/getnameinfo.3:254
5416 #, no-wrap
5417 msgid ""
5418 "struct sockaddr *sa;    /* input */\n"
5419 "socklen_t len;         /* input */\n"
5420 "char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];\n"
5421 msgstr ""
5422 "struct sockaddr *sa;    /* input */\n"
5423 "socklen_t len;          /* input */\n"
5424 "char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];\n"
5425
5426 #. type: Plain text
5427 #: build/C/man3/getnameinfo.3:258
5428 #, no-wrap
5429 msgid ""
5430 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf), sbuf,\n"
5431 "            sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0)\n"
5432 "    printf(\"host=%s, serv=%s\\en\", hbuf, sbuf);\n"
5433 msgstr ""
5434 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf), sbuf,\n"
5435 "            sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0)\n"
5436 "    printf(\"host=%s, serv=%s\\en\", hbuf, sbuf);\n"
5437
5438 #. type: Plain text
5439 #: build/C/man3/getnameinfo.3:263
5440 msgid "The following version checks if the socket address has a reverse address mapping."
5441 msgstr "以下ではソケットアドレスに 逆向きのアドレスマッピングが存在するかをチェックしている。"
5442
5443 #. type: Plain text
5444 #: build/C/man3/getnameinfo.3:269
5445 #, no-wrap
5446 msgid ""
5447 "struct sockaddr *sa;    /* input */\n"
5448 "socklen_t len;         /* input */\n"
5449 "char hbuf[NI_MAXHOST];\n"
5450 msgstr ""
5451 "struct sockaddr *sa;    /* input */\n"
5452 "socklen_t len;          /* input */\n"
5453 "char hbuf[NI_MAXHOST];\n"
5454
5455 #. type: Plain text
5456 #: build/C/man3/getnameinfo.3:275
5457 #, no-wrap
5458 msgid ""
5459 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf),\n"
5460 "            NULL, 0, NI_NAMEREQD))\n"
5461 "    printf(\"could not resolve hostname\");\n"
5462 "else\n"
5463 "    printf(\"host=%s\\en\", hbuf);\n"
5464 msgstr ""
5465 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf),\n"
5466 "            NULL, 0, NI_NAMEREQD))\n"
5467 "    printf(\"could not resolve hostname\");\n"
5468 "else\n"
5469 "    printf(\"host=%s\\en\", hbuf);\n"
5470
5471 #. type: Plain text
5472 #: build/C/man3/getnameinfo.3:282
5473 msgid "An example program using B<getnameinfo>()  can be found in B<getaddrinfo>(3)."
5474 msgstr "B<getnameinfo>()  を使ったプログラム例が B<getaddrinfo>(3)  に記載されている。"
5475
5476 #. type: Plain text
5477 #: build/C/man3/getnameinfo.3:297
5478 msgid "B<accept>(2), B<getpeername>(2), B<getsockname>(2), B<recvfrom>(2), B<socket>(2), B<getaddrinfo>(3), B<gethostbyaddr>(3), B<getservbyname>(3), B<getservbyport>(3), B<inet_ntop>(3), B<hosts>(5), B<services>(5), B<hostname>(7), B<named>(8)"
5479 msgstr "B<accept>(2), B<getpeername>(2), B<getsockname>(2), B<recvfrom>(2), B<socket>(2), B<getaddrinfo>(3), B<gethostbyaddr>(3), B<getservbyname>(3), B<getservbyport>(3), B<inet_ntop>(3), B<hosts>(5), B<services>(5), B<hostname>(7), B<named>(8)"
5480
5481 #. type: Plain text
5482 #: build/C/man3/getnameinfo.3:301
5483 msgid "R. Gilligan, S. Thomson, J. Bound and W. Stevens, I<Basic Socket Interface Extensions for IPv6>, RFC\\ 2553, March 1999."
5484 msgstr "R. Gilligan, S. Thomson, J. Bound and W. Stevens, I<Basic Socket Interface Extensions for IPv6>, RFC\\ 2553, March 1999."
5485
5486 #. type: Plain text
5487 #: build/C/man3/getnameinfo.3:307
5488 msgid "Tatsuya Jinmei and Atsushi Onoe, I<An Extension of Format for IPv6 Scoped Addresses>, internet draft, work in progress E<.UR ftp://ftp.ietf.org\\:/internet-drafts\\:/draft-ietf-ipngwg-scopedaddr-format-02.txt> E<.UE .>"
5489 msgstr "Tatsuya Jinmei and Atsushi Onoe, I<An Extension of Format for IPv6 Scoped Addresses>, internet draft, work in progress E<.UR ftp://ftp.ietf.org\\:/internet-drafts\\:/draft-ietf-ipngwg-scopedaddr-format-02.txt> E<.UE .>"
5490
5491 #. type: Plain text
5492 #: build/C/man3/getnameinfo.3:312
5493 msgid "Craig Metz, I<Protocol Independence Using the Sockets API>, Proceedings of the freenix track: 2000 USENIX annual technical conference, June 2000"
5494 msgstr "Craig Metz, I<Protocol Independence Using the Sockets API>, Proceedings of the freenix track: 2000 USENIX annual technical conference, June 2000"
5495
5496 #. type: Plain text
5497 #: build/C/man3/getnameinfo.3:315
5498 msgid "E<.UR http://www.usenix.org\\:/publications\\:/library\\:/proceedings\\:/usenix2000\\:/freenix\\:/metzprotocol.html> E<.UE .>"
5499 msgstr "E<.UR http://www.usenix.org\\:/publications\\:/library\\:/proceedings\\:/usenix2000\\:/freenix\\:/metzprotocol.html> E<.UE .>"
5500
5501 #. type: TH
5502 #: build/C/man3/getnetent.3:30
5503 #, no-wrap
5504 msgid "GETNETENT"
5505 msgstr "GETNETENT"
5506
5507 #. type: TH
5508 #: build/C/man3/getnetent.3:30 build/C/man3/getprotoent.3:30
5509 #: build/C/man3/getservent.3:34
5510 #, no-wrap
5511 msgid "2008-08-19"
5512 msgstr "2008-08-19"
5513
5514 #. type: Plain text
5515 #: build/C/man3/getnetent.3:34
5516 msgid "getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - get network entry"
5517 msgstr "getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - ネットワークエントリを取得する"
5518
5519 #. type: Plain text
5520 #: build/C/man3/getnetent.3:37 build/C/man3/getnetent_r.3:33
5521 #: build/C/man3/getprotoent.3:37 build/C/man3/getprotoent_r.3:33
5522 #: build/C/man3/getservent.3:41 build/C/man3/getservent_r.3:33
5523 #: build/C/man3/setnetgrent.3:17
5524 #, no-wrap
5525 msgid "B<#include E<lt>netdb.hE<gt>>\n"
5526 msgstr "B<#include E<lt>netdb.hE<gt>>\n"
5527
5528 #. type: Plain text
5529 #: build/C/man3/getnetent.3:39
5530 #, no-wrap
5531 msgid "B<struct netent *getnetent(void);>\n"
5532 msgstr "B<struct netent *getnetent(void);>\n"
5533
5534 #. type: Plain text
5535 #: build/C/man3/getnetent.3:41
5536 #, no-wrap
5537 msgid "B<struct netent *getnetbyname(const char *>I<name>B<);>\n"
5538 msgstr "B<struct netent *getnetbyname(const char *>I<name>B<);>\n"
5539
5540 #. type: Plain text
5541 #: build/C/man3/getnetent.3:43
5542 #, no-wrap
5543 msgid "B<struct netent *getnetbyaddr(uint32_t >I<net>B<, int >I<type>B<);>\n"
5544 msgstr "B<struct netent *getnetbyaddr(uint32_t >I<net>B<, int >I<type>B<);>\n"
5545
5546 #. type: Plain text
5547 #: build/C/man3/getnetent.3:45
5548 #, no-wrap
5549 msgid "B<void setnetent(int >I<stayopen>B<);>\n"
5550 msgstr "B<void setnetent(int >I<stayopen>B<);>\n"
5551
5552 #. type: Plain text
5553 #: build/C/man3/getnetent.3:47
5554 #, no-wrap
5555 msgid "B<void endnetent(void);>\n"
5556 msgstr "B<void endnetent(void);>\n"
5557
5558 #. type: Plain text
5559 #: build/C/man3/getnetent.3:57
5560 msgid "The B<getnetent>()  function reads the next entry from the networks database and returns a I<netent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary."
5561 msgstr "B<getnetent>()  関数はネットワークデータベースから次のエントリを読み込み、 そのエントリを I<netent> 構造体の要素別のフィールドに格納し、 その構造体を返す。 必要であれば、データベースへの接続がオープンされる。"
5562
5563 #. type: Plain text
5564 #: build/C/man3/getnetent.3:66
5565 msgid "The B<getnetbyname>()  function returns a I<netent> structure for the entry from the database that matches the network I<name>."
5566 msgstr "B<getnetbyname>()  関数は、ネットワーク名 I<name> にマッチするエントリを データベースから探し、そのエントリを収めた I<netent> 構造体を返す。"
5567
5568 #. type: Plain text
5569 #: build/C/man3/getnetent.3:80
5570 msgid "The B<getnetbyaddr>()  function returns a I<netent> structure for the entry from the database that matches the network number I<net> of type I<type>.  The I<net> argument must be in host byte order."
5571 msgstr "B<getnetbyaddr>()  関数は、I<type> 型のネットワーク番号 I<net> にマッチするエントリを データベースから探し、そのエントリを収めた I<netent> 構造体を返す。 I<net> 引き数はホストバイトオーダでなければならない。"
5572
5573 #. type: Plain text
5574 #: build/C/man3/getnetent.3:92
5575 msgid "The B<setnetent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getnet*>()  functions."
5576 msgstr "B<setnetent>()  関数はデータベースへの接続をオープンし、 次の読み込みエントリを先頭のエントリに設定する。 I<stayopen> が 0 でない場合、 一つ一つの B<getnet*>()  関数の呼び出し間でデータベースへの接続をクローズしない。"
5577
5578 #. type: Plain text
5579 #: build/C/man3/getnetent.3:96
5580 msgid "The B<endnetent>()  function closes the connection to the database."
5581 msgstr "B<endnetent>()  関数はデータベースへの接続をクローズする。"
5582
5583 #. type: Plain text
5584 #: build/C/man3/getnetent.3:102
5585 msgid "The I<netent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
5586 msgstr "I<netent> 構造体は I<E<lt>netdb.hE<gt>> で以下のように定義されている。"
5587
5588 #. type: Plain text
5589 #: build/C/man3/getnetent.3:111
5590 #, no-wrap
5591 msgid ""
5592 "struct netent {\n"
5593 "    char      *n_name;     /* official network name */\n"
5594 "    char     **n_aliases;  /* alias list */\n"
5595 "    int        n_addrtype; /* net address type */\n"
5596 "    uint32_t   n_net;      /* network number */\n"
5597 "}\n"
5598 msgstr ""
5599 "struct netent {\n"
5600 "    char      *n_name;     /* official network name */\n"
5601 "    char     **n_aliases;  /* alias list */\n"
5602 "    int        n_addrtype; /* net address type */\n"
5603 "    uint32_t   n_net;      /* network number */\n"
5604 "}\n"
5605
5606 #. type: Plain text
5607 #: build/C/man3/getnetent.3:117
5608 msgid "The members of the I<netent> structure are:"
5609 msgstr "I<netent> 構造体のメンバは以下の通り。"
5610
5611 #. type: TP
5612 #: build/C/man3/getnetent.3:117
5613 #, no-wrap
5614 msgid "I<n_name>"
5615 msgstr "I<n_name>"
5616
5617 #. type: Plain text
5618 #: build/C/man3/getnetent.3:120
5619 msgid "The official name of the network."
5620 msgstr "ネットワークの正式名 (official name)。"
5621
5622 #. type: TP
5623 #: build/C/man3/getnetent.3:120
5624 #, no-wrap
5625 msgid "I<n_aliases>"
5626 msgstr "I<n_aliases>"
5627
5628 #. type: Plain text
5629 #: build/C/man3/getnetent.3:123
5630 msgid "A NULL-terminated list of alternative names for the network."
5631 msgstr "ネットワークの別名からなるリスト。 リストはヌルで終端される。"
5632
5633 #. type: TP
5634 #: build/C/man3/getnetent.3:123
5635 #, no-wrap
5636 msgid "I<n_addrtype>"
5637 msgstr "I<n_addrtype>"
5638
5639 #. type: Plain text
5640 #: build/C/man3/getnetent.3:127
5641 msgid "The type of the network number; always B<AF_INET>."
5642 msgstr "ネットワーク番号の形式。現在は B<AF_INET> のみ。"
5643
5644 #. type: TP
5645 #: build/C/man3/getnetent.3:127
5646 #, no-wrap
5647 msgid "I<n_net>"
5648 msgstr "I<n_net>"
5649
5650 #. type: Plain text
5651 #: build/C/man3/getnetent.3:130
5652 msgid "The network number in host byte order."
5653 msgstr "ホストバイトオーダ形式のネットワーク番号。"
5654
5655 #. type: Plain text
5656 #: build/C/man3/getnetent.3:141
5657 msgid "The B<getnetent>(), B<getnetbyname>()  and B<getnetbyaddr>()  functions return a pointer to a statically allocated I<netent> structure, or a null pointer if an error occurs or the end of the file is reached."
5658 msgstr "B<getnetent>(), B<getnetbyname>(), B<getnetbyaddr>()  関数は、静的に割り当てられた I<netent> 構造体へのポインターを返す。 エラーが起こったり、ファイルの末尾に達した場合はヌルポインターを返す。"
5659
5660 #. type: TP
5661 #: build/C/man3/getnetent.3:142 build/C/man5/networks.5:71
5662 #, no-wrap
5663 msgid "I</etc/networks>"
5664 msgstr "I</etc/networks>"
5665
5666 #. type: Plain text
5667 #: build/C/man3/getnetent.3:145
5668 msgid "networks database file"
5669 msgstr "ネットワークデータベースファイル"
5670
5671 #. type: Plain text
5672 #: build/C/man3/getnetent.3:147 build/C/man3/getprotoent.3:142
5673 #: build/C/man3/getservent.3:159
5674 msgid "4.3BSD, POSIX.1-2001."
5675 msgstr "4.3BSD, POSIX.1-2001."
5676
5677 #. type: Plain text
5678 #: build/C/man3/getnetent.3:154
5679 msgid "In glibc versions before 2.2, the I<net> argument of B<getnetbyaddr>()  was of type I<long>."
5680 msgstr "バージョン 2.2 より前の glibc では、 B<getnetbyaddr>()  の引き数 I<net> は I<long> 型だった。"
5681
5682 #.  .BR networks (5)
5683 #. type: Plain text
5684 #: build/C/man3/getnetent.3:159
5685 msgid "B<getnetent_r>(3), B<getprotoent>(3), B<getservent>(3)"
5686 msgstr "B<getnetent_r>(3), B<getprotoent>(3), B<getservent>(3)"
5687
5688 #. type: Plain text
5689 #: build/C/man3/getnetent.3:161
5690 msgid "RFC\\ 1101"
5691 msgstr "RFC\\ 1101"
5692
5693 #. type: TH
5694 #: build/C/man3/getnetent_r.3:26
5695 #, no-wrap
5696 msgid "GETNETENT_R"
5697 msgstr "GETNETENT_R"
5698
5699 #. type: Plain text
5700 #: build/C/man3/getnetent_r.3:30
5701 msgid "getnetent_r, getnetbyname_r, getnetbyaddr_r - get network entry (reentrant)"
5702 msgstr ""
5703 "getnetent_r, getnetbyname_r, getnetbyaddr_r - ネットワークエントリを\n"
5704 "取得する (リエントラント版)"
5705
5706 #. type: Plain text
5707 #: build/C/man3/getnetent_r.3:37
5708 #, no-wrap
5709 msgid ""
5710 "B<int getnetent_r(struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5711 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5712 "B<                int *>I<h_errnop>B<);>\n"
5713 msgstr ""
5714 "B<int getnetent_r(struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5715 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5716 "B<                int *>I<h_errnop>B<);>\n"
5717
5718 #. type: Plain text
5719 #: build/C/man3/getnetent_r.3:42
5720 #, no-wrap
5721 msgid ""
5722 "B<int getnetbyname_r(const char *>I<name>B<,>\n"
5723 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5724 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5725 "B<                int *>I<h_errnop>B<);>\n"
5726 msgstr ""
5727 "B<int getnetbyname_r(const char *>I<name>B<,>\n"
5728 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5729 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5730 "B<                int *>I<h_errnop>B<);>\n"
5731
5732 #. type: Plain text
5733 #: build/C/man3/getnetent_r.3:47
5734 #, no-wrap
5735 msgid ""
5736 "B<int getnetbyaddr_r(uint32_t >I<net>B<, int >I<type>B<,>\n"
5737 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5738 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5739 "B<                int *>I<h_errnop>B<);>\n"
5740 msgstr ""
5741 "B<int getnetbyaddr_r(uint32_t >I<net>B<, int >I<type>B<,>\n"
5742 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5743 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5744 "B<                int *>I<h_errnop>B<);>\n"
5745
5746 #. type: Plain text
5747 #: build/C/man3/getnetent_r.3:58
5748 msgid "B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>():"
5749 msgstr "B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>():"
5750
5751 #. type: Plain text
5752 #: build/C/man3/getnetent_r.3:79
5753 msgid "The B<getnetent_r>(), B<getnetbyname_r>(), and B<getnetbyaddr_r>()  functions are the reentrant equivalents of, respectively, B<getnetent>(3), B<getnetbyname>(3), and B<getnetbynumber>(3).  They differ in the way that the I<netent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions."
5754 msgstr ""
5755 "関数 B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>() は、\n"
5756 "それぞれ B<getnetent>(3), B<getnetbyname>(3), B<getnetbynumber>(3) の\n"
5757 "リエントラント版である。\n"
5758 "I<netent> 構造体の返し方と、関数呼び出し時の引き数と返り値が異なる。\n"
5759 "このマニュアルページでは、リエントラントでない関数との違いだけを\n"
5760 "説明する。"
5761
5762 #. type: Plain text
5763 #: build/C/man3/getnetent_r.3:85
5764 msgid "Instead of returning a pointer to a statically allocated I<netent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>."
5765 msgstr ""
5766 "これらの関数は、関数の結果として静的に割り当てられた I<netent> 構造体\n"
5767 "へのポインターを返すのではなく、 I<netent> 構造体を I<result_buf> が\n"
5768 "指す場所にコピーする。"
5769
5770 #.  I can find no information on the required/recommended buffer size;
5771 #.  the nonreentrant functions use a 1024 byte buffer -- mtk.
5772 #. type: Plain text
5773 #: build/C/man3/getnetent_r.3:102
5774 msgid "The I<buf> array is used to store the string fields pointed to by the returned I<netent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)"
5775 msgstr ""
5776 "配列 I<buf> は、返される I<netent> 構造体が指す文字列フィールドを格納\n"
5777 "するのに使用される (リエントラントでない関数の場合は、\n"
5778 "これらの文字列は静的な領域に格納される)。\n"
5779 "この配列の大きさは I<buflen> で指定される。\n"
5780 "I<buf> が小さすぎる場合、関数呼び出しはエラー B<ERANGE> で失敗し、\n"
5781 "呼び出し側ではもっと大きなバッファーで再度呼び出す必要がある (ほとんどの\n"
5782 "アプリケーションでは、長さ 1024 バイトのバッファーで十分なはずである)。"
5783
5784 #. type: Plain text
5785 #: build/C/man3/getnetent_r.3:110
5786 msgid "If the function call successfully obtains a network record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
5787 msgstr ""
5788 "関数呼び出しでネットワークレコードの取得に成功すると、\n"
5789 "I<*result> は I<result_buf> を指すように設定される。\n"
5790 "それ以外の場合は I<*result> に NULL が設定される。"
5791
5792 #.  getnetent.3 doesn't document any use of h_errno, but nevertheless
5793 #.  the nonreentrant functions no seem to set h_errno.
5794 #. type: Plain text
5795 #: build/C/man3/getnetent_r.3:118
5796 msgid "The buffer pointed to by I<h_errnop> is used to return the value that would be stored in the global variable I<h_errno> by the nonreentrant versions of these functions."
5797 msgstr ""
5798 "I<h_errnop> が指すバッファーは、リエントラントでない関数では\n"
5799 "グローバル変数 I<h_errno> に格納されていた値を返すのに使用される。"
5800
5801 #. type: Plain text
5802 #: build/C/man3/getnetent_r.3:121 build/C/man3/getprotoent_r.3:111
5803 msgid "On success, these functions return 0.  On error, they return one of the positive error numbers listed in ERRORS."
5804 msgstr ""
5805 "成功すると、これらの関数は 0 を返す。エラーの場合、「エラー」の節の\n"
5806 "リストにある正のエラー番号のいずれかを返す。"
5807
5808 #. type: Plain text
5809 #: build/C/man3/getnetent_r.3:129
5810 msgid "On error, record not found (B<getnetbyname_r>(), B<getnetbyaddr_r>()), or end of input (B<getnetent_r>())  I<result> is set to NULL."
5811 msgstr ""
5812 "エラーの場合、レコードが見つからなかった場合 (B<getnetbyname_r>(),\n"
5813 "B<getnetbyaddr_r>()) やこれ以上レコードがない場合 (B<getnetent_r>())、\n"
5814 "I<result> には NULL が設定される。"
5815
5816 #. type: Plain text
5817 #: build/C/man3/getnetent_r.3:134
5818 msgid "(B<getnetent_r>())  No more records in database."
5819 msgstr "(B<getnetent_r>())  データベースにこれ以上レコードがない。"
5820
5821 #. type: TP
5822 #: build/C/man3/getnetent_r.3:134 build/C/man3/getprotoent_r.3:124
5823 #: build/C/man3/getservent_r.3:123
5824 #, no-wrap
5825 msgid "B<ERANGE>"
5826 msgstr "B<ERANGE>"
5827
5828 #. type: Plain text
5829 #: build/C/man3/getnetent_r.3:141 build/C/man3/getprotoent_r.3:131
5830 #: build/C/man3/getservent_r.3:130
5831 msgid "I<buf> is too small.  Try again with a larger buffer (and increased I<buflen>)."
5832 msgstr ""
5833 "I<buf> が小さすぎる。もっと大きなバッファーにして \n"
5834 "(または I<buflen> を増やして) 再度呼び出すこと。"
5835
5836 #. type: Plain text
5837 #: build/C/man3/getnetent_r.3:145 build/C/man3/getprotoent_r.3:135
5838 #: build/C/man3/getservent_r.3:134
5839 msgid "These functions are GNU extensions.  Functions with similar names exist on some other systems, though typically with different calling signatures."
5840 msgstr ""
5841 "これらの関数は GNU による拡張である。\n"
5842 "他のシステムにも同様の名前の関数が存在する場合があるが、\n"
5843 "通常は関数の引き数が異なる。"
5844
5845 #. type: Plain text
5846 #: build/C/man3/getnetent_r.3:148
5847 msgid "B<getnetent>(3), B<networks>(5)"
5848 msgstr "B<getnetent>(3), B<networks>(5)"
5849
5850 #. type: TH
5851 #: build/C/man2/getpeername.2:42
5852 #, no-wrap
5853 msgid "GETPEERNAME"
5854 msgstr "GETPEERNAME"
5855
5856 #. type: TH
5857 #: build/C/man2/getpeername.2:42 build/C/man5/nsswitch.conf.5:25
5858 #, no-wrap
5859 msgid "2013-02-12"
5860 msgstr "2013-02-12"
5861
5862 #. type: Plain text
5863 #: build/C/man2/getpeername.2:45
5864 msgid "getpeername - get name of connected peer socket"
5865 msgstr "getpeername - 接続している相手ソケットの名前を取得する"
5866
5867 #. type: Plain text
5868 #: build/C/man2/getpeername.2:50
5869 msgid "B<int getpeername(int >I<sockfd>B<, struct sockaddr *>I<addr>B<, socklen_t *>I<addrlen>B<);>"
5870 msgstr "B<int getpeername(int >I<sockfd>B<, struct sockaddr *>I<addr>B<, socklen_t *>I<addrlen>B<);>"
5871
5872 #. type: Plain text
5873 #: build/C/man2/getpeername.2:63
5874 msgid "B<getpeername>()  returns the address of the peer connected to the socket I<sockfd>, in the buffer pointed to by I<addr>.  The I<addrlen> argument should be initialized to indicate the amount of space pointed to by I<addr>.  On return it contains the actual size of the name returned (in bytes).  The name is truncated if the buffer provided is too small."
5875 msgstr "B<getpeername>()  は、ソケット(socket)  I<sockfd> に接続している相手のアドレスを、 I<addr> が指すバッファーに格納して返す。 I<addrlen> 引き数は、 I<addr> が指している領域のサイズに初期化しておかなければならない。 関数が返る時には、 I<addrlen> には実際に返された名前のサイズが (バイト単位で) 格納される。 提供されたバッファーが小さすぎた場合には、名前は切り詰められる。"
5876
5877 #. type: Plain text
5878 #: build/C/man2/getpeername.2:68
5879 msgid "The returned address is truncated if the buffer provided is too small; in this case, I<addrlen> will return a value greater than was supplied to the call."
5880 msgstr "渡されたバッファーが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 I<addrlen> には、呼び出し時に指定された値よりも大きな値が格納される。"
5881
5882 #. type: Plain text
5883 #: build/C/man2/getpeername.2:73 build/C/man2/shutdown.2:74
5884 msgid "On success, zero is returned.  On error, -1 is returned, and I<errno> is set appropriately."
5885 msgstr "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
5886
5887 #. type: TP
5888 #: build/C/man2/getpeername.2:74 build/C/man2/shutdown.2:75
5889 #, no-wrap
5890 msgid "B<EBADF>"
5891 msgstr "B<EBADF>"
5892
5893 #. type: Plain text
5894 #: build/C/man2/getpeername.2:79
5895 msgid "The argument I<sockfd> is not a valid descriptor."
5896 msgstr "引き数 I<sockfd> が有効なディスクリプターでない。"
5897
5898 #. type: TP
5899 #: build/C/man2/getpeername.2:79 build/C/man7/packet.7:500
5900 #: build/C/man7/raw.7:149 build/C/man7/unix.7:419
5901 #, no-wrap
5902 msgid "B<EFAULT>"
5903 msgstr "B<EFAULT>"
5904
5905 #. type: Plain text
5906 #: build/C/man2/getpeername.2:85
5907 msgid "The I<addr> argument points to memory not in a valid part of the process address space."
5908 msgstr "I<addr> 引き数の指しているメモリが有効なプロセスのアドレス空間の 一部でない。"
5909
5910 #. type: Plain text
5911 #: build/C/man2/getpeername.2:89
5912 msgid "I<addrlen> is invalid (e.g., is negative)."
5913 msgstr "I<addrlen> が不正である (例えば、負で場合など)。"
5914
5915 #. type: TP
5916 #: build/C/man2/getpeername.2:89 build/C/man7/packet.7:512
5917 #, no-wrap
5918 msgid "B<ENOBUFS>"
5919 msgstr "B<ENOBUFS>"
5920
5921 #. type: Plain text
5922 #: build/C/man2/getpeername.2:93
5923 msgid "Insufficient resources were available in the system to perform the operation."
5924 msgstr "この操作を行なうのに十分な資源がシステムに存在しない。"
5925
5926 #. type: Plain text
5927 #: build/C/man2/getpeername.2:96
5928 msgid "The socket is not connected."
5929 msgstr "ソケットが接続していない。"
5930
5931 #. type: TP
5932 #: build/C/man2/getpeername.2:96 build/C/man2/shutdown.2:87
5933 #, no-wrap
5934 msgid "B<ENOTSOCK>"
5935 msgstr "B<ENOTSOCK>"
5936
5937 #. type: Plain text
5938 #: build/C/man2/getpeername.2:101
5939 msgid "The argument I<sockfd> is a file, not a socket."
5940 msgstr "引き数 I<sockfd> がソケットでなくてファイルである。"
5941
5942 #. type: Plain text
5943 #: build/C/man2/getpeername.2:105
5944 msgid "SVr4, 4.4BSD (the B<getpeername>()  function call first appeared in 4.2BSD), POSIX.1-2001."
5945 msgstr "SVr4, 4.4BSD (B<getpeername>()  関数は 4.2BSD で登場した), POSIX.1-2001."
5946
5947 #. type: Plain text
5948 #: build/C/man2/getpeername.2:116
5949 msgid "The third argument of B<getpeername>()  is in reality an I<int\\ *> (and this is what 4.x BSD and libc4 and libc5 have).  Some POSIX confusion resulted in the present I<socklen_t>, also used by glibc.  See also B<accept>(2)."
5950 msgstr "B<getpeername>()  の三番目の引き数は実際には I<`int\\ *'> である (4.x BSD, libc4, libc5 では このようになっている)。 POSIX では紆余曲折を経て現在の I<socklen_t> になっており、 glibc でも I<socklen_t> を使っている。 B<accept>(2)  も参照のこと。"
5951
5952 #. type: Plain text
5953 #: build/C/man2/getpeername.2:143
5954 msgid "For stream sockets, once a B<connect>(2)  has been performed, either socket can call B<getpeername>()  to obtain the address of the peer socket.  On the other hand, datagram sockets are connectionless.  Calling B<connect>(2)  on a datagram socket merely sets the peer address for outgoing datagrams sent with B<write>(2)  or B<recv>(2).  The caller of B<connect>(2)  can use B<getpeername>()  to obtain the peer address that it earlier set for the socket.  However, the peer socket is unaware of this information, and calling B<getpeername>()  on the peer socket will return no useful information (unless a B<connect>(2)  call was also executed on the peer).  Note also that the receiver of a datagram can obtain the address of the sender when using B<recvfrom>(2)."
5955 msgstr ""
5956 "ストリームソケットでは、 いったん B<connect>(2) が実行されると、 どのソケットも B<getpeername>() を使って相手ソケットのアドレスを取得できる。 一方、データグラムソケットはコネクションレスである (接続がない)。 データグラムソケットに対する B<connect>(2) の呼び出しは、 B<write>(2) や B<recv>(2) で送信される出力データグラムの相手アドレスを設定するだけである。\n"
5957 "B<connect>(2) の呼び出し元は、 B<getpeername>() を使って、それ以前にそのソケットに設定された相手アドレスを取得することができる。 しかし、相手ソケットはこの情報を知らないので、 相手ソケットで B<getpeername>() を呼び出しても、 役に立つ情報は得られない (相手側でも B<connect>(2) が呼び出されている場合を除く)。 なお、データグラムの受信側では B<recvfrom>(2) を使って送信元アドレスを 取得できることも覚えておいてほしい。"
5958
5959 #. type: Plain text
5960 #: build/C/man2/getpeername.2:150
5961 msgid "B<accept>(2), B<bind>(2), B<getsockname>(2), B<ip>(7), B<socket>(7), B<unix>(7)"
5962 msgstr "B<accept>(2), B<bind>(2), B<getsockname>(2), B<ip>(7), B<socket>(7), B<unix>(7)"
5963
5964 #. type: TH
5965 #: build/C/man3/getprotoent.3:30
5966 #, no-wrap
5967 msgid "GETPROTOENT"
5968 msgstr "GETPROTOENT"
5969
5970 #. type: Plain text
5971 #: build/C/man3/getprotoent.3:34
5972 msgid "getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - get protocol entry"
5973 msgstr "getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - プロトコルのエントリを取得する"
5974
5975 #. type: Plain text
5976 #: build/C/man3/getprotoent.3:39
5977 #, no-wrap
5978 msgid "B<struct protoent *getprotoent(void);>\n"
5979 msgstr "B<struct protoent *getprotoent(void);>\n"
5980
5981 #. type: Plain text
5982 #: build/C/man3/getprotoent.3:41
5983 #, no-wrap
5984 msgid "B<struct protoent *getprotobyname(const char *>I<name>B<);>\n"
5985 msgstr "B<struct protoent *getprotobyname(const char *>I<name>B<);>\n"
5986
5987 #. type: Plain text
5988 #: build/C/man3/getprotoent.3:43
5989 #, no-wrap
5990 msgid "B<struct protoent *getprotobynumber(int >I<proto>B<);>\n"
5991 msgstr "B<struct protoent *getprotobynumber(int >I<proto>B<);>\n"
5992
5993 #. type: Plain text
5994 #: build/C/man3/getprotoent.3:45
5995 #, no-wrap
5996 msgid "B<void setprotoent(int >I<stayopen>B<);>\n"
5997 msgstr "B<void setprotoent(int >I<stayopen>B<);>\n"
5998
5999 #. type: Plain text
6000 #: build/C/man3/getprotoent.3:47
6001 #, no-wrap
6002 msgid "B<void endprotoent(void);>\n"
6003 msgstr "B<void endprotoent(void);>\n"
6004
6005 #. type: Plain text
6006 #: build/C/man3/getprotoent.3:58
6007 msgid "The B<getprotoent>()  function reads the next entry from the protocols database (see B<protocols>(5))  and returns a I<protoent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary."
6008 msgstr "B<getprotoent>()  関数は、プロトコルのデータベース (B<protocols>(5)  参照) から次のエントリを読み込み、 そのエントリを I<protoent> 構造体の要素別のフィールドに格納し、 その構造体を返す。 必要であれば、データベースへの接続がオープンされる。"
6009
6010 #. type: Plain text
6011 #: build/C/man3/getprotoent.3:68
6012 msgid "The B<getprotobyname>()  function returns a I<protoent> structure for the entry from the database that matches the protocol name I<name>.  A connection is opened to the database if necessary."
6013 msgstr "B<getprotobyname>()  関数は、プロトコル名 I<name> にマッチするエントリを データベースから探し、そのエントリを収めた I<protoent> 構造体を返す。 必要であれば、データベースへの接続がオープンされる。"
6014
6015 #. type: Plain text
6016 #: build/C/man3/getprotoent.3:78
6017 msgid "The B<getprotobynumber>()  function returns a I<protoent> structure for the entry from the database that matches the protocol number I<number>.  A connection is opened to the database if necessary."
6018 msgstr "B<getprotobynumber>()  関数は、プロトコル番号 I<number> にマッチするエントリを データベースから探し、そのエントリを収めた I<protoent> 構造体を返す。 必要であれば、データベースへの接続がオープンされる。"
6019
6020 #. type: Plain text
6021 #: build/C/man3/getprotoent.3:90
6022 msgid "The B<setprotoent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getproto*>()  functions."
6023 msgstr "B<setprotoent>()  関数はデータベースへの接続をオープンし、 次の読み込みエントリを先頭のエントリに設定する。 I<stayopen> が 0 でない場合、 一つ一つの B<getproto*>()  関数の呼び出し間でデータベースへの接続をクローズしない。"
6024
6025 #. type: Plain text
6026 #: build/C/man3/getprotoent.3:94
6027 msgid "The B<endprotoent>()  function closes the connection to the database."
6028 msgstr "B<endprotoent>()  関数はデータベースへの接続をクローズする。"
6029
6030 #. type: Plain text
6031 #: build/C/man3/getprotoent.3:100
6032 msgid "The I<protoent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
6033 msgstr "I<protoent> 構造体は I<E<lt>netdb.hE<gt>> で以下のように定義されている。"
6034
6035 #. type: Plain text
6036 #: build/C/man3/getprotoent.3:108
6037 #, no-wrap
6038 msgid ""
6039 "struct protoent {\n"
6040 "    char  *p_name;       /* official protocol name */\n"
6041 "    char **p_aliases;    /* alias list */\n"
6042 "    int    p_proto;      /* protocol number */\n"
6043 "}\n"
6044 msgstr ""
6045 "struct protoent {\n"
6046 "    char  *p_name;       /* official protocol name */\n"
6047 "    char **p_aliases;    /* alias list */\n"
6048 "    int    p_proto;      /* protocol number */\n"
6049 "}\n"
6050
6051 #. type: Plain text
6052 #: build/C/man3/getprotoent.3:114
6053 msgid "The members of the I<protoent> structure are:"
6054 msgstr "I<protoent> 構造体のメンバーは以下の通り。"
6055
6056 #. type: TP
6057 #: build/C/man3/getprotoent.3:114
6058 #, no-wrap
6059 msgid "I<p_name>"
6060 msgstr "I<p_name>"
6061
6062 #. type: Plain text
6063 #: build/C/man3/getprotoent.3:117
6064 msgid "The official name of the protocol."
6065 msgstr "プロトコルの正式名 (official name)。"
6066
6067 #. type: TP
6068 #: build/C/man3/getprotoent.3:117
6069 #, no-wrap
6070 msgid "I<p_aliases>"
6071 msgstr "I<p_aliases>"
6072
6073 #. type: Plain text
6074 #: build/C/man3/getprotoent.3:120
6075 msgid "A NULL-terminated list of alternative names for the protocol."
6076 msgstr "プロトコルの別名のリスト。 リストはヌルで終端される。"
6077
6078 #. type: TP
6079 #: build/C/man3/getprotoent.3:120
6080 #, no-wrap
6081 msgid "I<p_proto>"
6082 msgstr "I<p_proto>"
6083
6084 #. type: Plain text
6085 #: build/C/man3/getprotoent.3:123
6086 msgid "The protocol number."
6087 msgstr "プロトコルの番号"
6088
6089 #. type: Plain text
6090 #: build/C/man3/getprotoent.3:134
6091 msgid "The B<getprotoent>(), B<getprotobyname>()  and B<getprotobynumber>()  functions return a pointer to a statically allocated I<protoent> structure, or a null pointer if an error occurs or the end of the file is reached."
6092 msgstr "B<getprotoent>(), B<getprotobyname>(), B<getprotobynumber>()  関数は、静的に割り当てられた I<protoent> 構造体へのポインターを返す。 エラーが起こったり、ファイルの最後に達した場合は NULL を返す。"
6093
6094 #. type: TP
6095 #: build/C/man3/getprotoent.3:136 build/C/man5/protocols.5:78
6096 #, no-wrap
6097 msgid "I</etc/protocols>"
6098 msgstr "I</etc/protocols>"
6099
6100 #. type: Plain text
6101 #: build/C/man3/getprotoent.3:139
6102 msgid "protocol database file"
6103 msgstr "プロトコルのデータベースファイル"
6104
6105 #. type: Plain text
6106 #: build/C/man3/getprotoent.3:147
6107 msgid "B<getnetent>(3), B<getprotoent_r>(3), B<getservent>(3), B<protocols>(5)"
6108 msgstr "B<getnetent>(3), B<getprotoent_r>(3), B<getservent>(3), B<protocols>(5)"
6109
6110 #. type: TH
6111 #: build/C/man3/getprotoent_r.3:26
6112 #, no-wrap
6113 msgid "GETPROTOENT_R"
6114 msgstr "GETPROTOENT_R"
6115
6116 #. type: Plain text
6117 #: build/C/man3/getprotoent_r.3:30
6118 msgid "getprotoent_r, getprotobyname_r, getprotobynumber_r - get protocol entry (reentrant)"
6119 msgstr ""
6120 "getprotoent_r, getprotobyname_r, getprotobynumber_r - プロトコル\n"
6121 "エントリを取得する (リエントラント版)"
6122
6123 #. type: Plain text
6124 #: build/C/man3/getprotoent_r.3:36
6125 #, no-wrap
6126 msgid ""
6127 "B<int getprotoent_r(struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6128 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6129 msgstr ""
6130 "B<int getprotoent_r(struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6131 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6132
6133 #. type: Plain text
6134 #: build/C/man3/getprotoent_r.3:40
6135 #, no-wrap
6136 msgid ""
6137 "B<int getprotobyname_r(const char *>I<name>B<,>\n"
6138 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6139 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6140 msgstr ""
6141 "B<int getprotobyname_r(const char *>I<name>B<,>\n"
6142 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6143 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6144
6145 #. type: Plain text
6146 #: build/C/man3/getprotoent_r.3:44
6147 #, no-wrap
6148 msgid ""
6149 "B<int getprotobynumber_r(int >I<proto>B<,>\n"
6150 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6151 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6152 msgstr ""
6153 "B<int getprotobynumber_r(int >I<proto>B<,>\n"
6154 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6155 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6156
6157 #. type: Plain text
6158 #: build/C/man3/getprotoent_r.3:55
6159 msgid "B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>():"
6160 msgstr "B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>():"
6161
6162 #. type: Plain text
6163 #: build/C/man3/getprotoent_r.3:76
6164 msgid "The B<getprotoent_r>(), B<getprotobyname_r>(), and B<getprotobynumber_r>()  functions are the reentrant equivalents of, respectively, B<getprotoent>(3), B<getprotobyname>(3), and B<getprotobynumber>(3).  They differ in the way that the I<protoent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions."
6165 msgstr ""
6166 "関数 B<getprotoent_r>(), B<getprotobyname_r>(),\n"
6167 "B<getprotobynumber_r>() は、それぞれ B<getprotoent>(3),\n"
6168 "B<getprotobyname>(3), B<getprotobynumber>(3) のリエントラント版である。\n"
6169 "I<protoent> 構造体の返し方と、関数呼び出し時の引き数と返り値が異なる。\n"
6170 "このマニュアルページでは、リエントラントでない関数との違いだけを\n"
6171 "説明する。"
6172
6173 #. type: Plain text
6174 #: build/C/man3/getprotoent_r.3:82
6175 msgid "Instead of returning a pointer to a statically allocated I<protoent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>."
6176 msgstr ""
6177 "これらの関数は、関数の結果として静的に割り当てられた I<protoent> 構造体\n"
6178 "へのポインターを返すのではなく、 I<protoent> 構造体を I<result_buf> が\n"
6179 "指す場所にコピーする。"
6180
6181 #.  I can find no information on the required/recommended buffer size;
6182 #.  the nonreentrant functions use a 1024 byte buffer.
6183 #.  The 1024 byte value is also what the Solaris man page suggests. -- mtk
6184 #. type: Plain text
6185 #: build/C/man3/getprotoent_r.3:100
6186 msgid "The I<buf> array is used to store the string fields pointed to by the returned I<protoent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)"
6187 msgstr ""
6188 "配列 I<buf> は、返される I<protoent> 構造体が指す文字列フィールドを\n"
6189 "格納するのに使用される (リエントラントでない関数の場合は、\n"
6190 "これらの文字列は静的な領域に格納される)。\n"
6191 "この配列の大きさは I<buflen> で指定される。\n"
6192 "I<buf> が小さすぎる場合、関数呼び出しはエラー B<ERANGE> で失敗し、\n"
6193 "呼び出し側ではもっと大きなバッファーで再度呼び出す必要がある (ほとんどの\n"
6194 "アプリケーションでは、長さ 1024 バイトのバッファーで十分なはずである)。"
6195
6196 #. type: Plain text
6197 #: build/C/man3/getprotoent_r.3:108
6198 msgid "If the function call successfully obtains a protocol record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
6199 msgstr ""
6200 "関数呼び出しでプロトコルレコードの取得に成功すると、\n"
6201 "I<*result> は I<result_buf> を指すように設定される。\n"
6202 "それ以外の場合は I<*result> に NULL が設定される。"
6203
6204 #. type: Plain text
6205 #: build/C/man3/getprotoent_r.3:119
6206 msgid "On error, record not found (B<getprotobyname_r>(), B<getprotobynumber_r>()), or end of input (B<getprotoent_r>())  I<result> is set to NULL."
6207 msgstr ""
6208 "エラーの場合、レコードが見つからなかった場合 (B<getprotobyname_r>(),\n"
6209 "B<getprotobyaddr_r>()) やこれ以上レコードがない場合\n"
6210 "(B<getprotoent_r>())、I<result> には NULL が設定される。"
6211
6212 #. type: Plain text
6213 #: build/C/man3/getprotoent_r.3:124
6214 msgid "(B<getprotoent_r>())  No more records in database."
6215 msgstr "(B<getprotoent_r>())  データベースにこれ以上レコードがない。"
6216
6217 #. type: Plain text
6218 #: build/C/man3/getprotoent_r.3:149
6219 msgid "The program below uses B<getprotobyname_r>()  to retrieve the protocol record for the protocol named in its first command-line argument.  If a second (integer) command-line argument is supplied, it is used as the initial value for I<buflen>; if B<getprotobyname_r>()  fails with the error B<ERANGE>, the program retries with larger buffer sizes.  The following shell session shows a couple of sample runs:"
6220 msgstr ""
6221 "以下のプログラムは、 B<getprotobyname_r>() を使って、最初のコマンド\n"
6222 "ライン引き数で指定された名前のプロトコルのレコードを取得する。\n"
6223 "二番目のコマンドライン引き数 (整数値) が指定された場合は、\n"
6224 "その値が I<buflen> の初期値として使用される。\n"
6225 "B<getprotobyname_r>() がエラー B<ERANGE> で失敗すると、プログラムは\n"
6226 "より大きなバッファーサイズで再度 B<getprotobyname_r> を呼び出す。\n"
6227 "下記のシェルのセッションは、実行例を示している。"
6228
6229 #. type: Plain text
6230 #: build/C/man3/getprotoent_r.3:160
6231 #, no-wrap
6232 msgid ""
6233 "$B< ./a.out tcp 1>\n"
6234 "ERANGE! Retrying with larger buffer\n"
6235 "getprotobyname_r() returned: 0 (success)  (buflen=78)\n"
6236 "p_name=tcp; p_proto=6; aliases=TCP\n"
6237 "$B< ./a.out xxx 1>\n"
6238 "ERANGE! Retrying with larger buffer\n"
6239 "getprotobyname_r() returned: 0 (success)  (buflen=100)\n"
6240 "Call failed/record not found\n"
6241 msgstr ""
6242 "$B< ./a.out tcp 1>\n"
6243 "ERANGE! Retrying with larger buffer\n"
6244 "getprotobyname_r() returned: 0 (success)  (buflen=78)\n"
6245 "p_name=tcp; p_proto=6; aliases=TCP\n"
6246 "$B< ./a.out xxx 1>\n"
6247 "ERANGE! Retrying with larger buffer\n"
6248 "getprotobyname_r() returned: 0 (success)  (buflen=100)\n"
6249 "Call failed/record not found\n"
6250
6251 #. type: Plain text
6252 #: build/C/man3/getprotoent_r.3:172 build/C/man3/getservent_r.3:170
6253 #, no-wrap
6254 msgid ""
6255 "#define _GNU_SOURCE\n"
6256 "#include E<lt>ctype.hE<gt>\n"
6257 "#include E<lt>netdb.hE<gt>\n"
6258 "#include E<lt>stdlib.hE<gt>\n"
6259 "#include E<lt>stdio.hE<gt>\n"
6260 "#include E<lt>errno.hE<gt>\n"
6261 "#include E<lt>string.hE<gt>\n"
6262 msgstr ""
6263 "#define _GNU_SOURCE\n"
6264 "#include E<lt>ctype.hE<gt>\n"
6265 "#include E<lt>netdb.hE<gt>\n"
6266 "#include E<lt>stdlib.hE<gt>\n"
6267 "#include E<lt>stdio.hE<gt>\n"
6268 "#include E<lt>errno.hE<gt>\n"
6269 "#include E<lt>string.hE<gt>\n"
6270
6271 #. type: Plain text
6272 #: build/C/man3/getprotoent_r.3:174 build/C/man3/getservent_r.3:172
6273 #, no-wrap
6274 msgid "#define MAX_BUF 10000\n"
6275 msgstr "#define MAX_BUF 10000\n"
6276
6277 #. type: Plain text
6278 #: build/C/man3/getprotoent_r.3:183
6279 #, no-wrap
6280 msgid ""
6281 "int\n"
6282 "main(int argc, char *argv[])\n"
6283 "{\n"
6284 "    int buflen, erange_cnt, s;\n"
6285 "    struct protoent result_buf;\n"
6286 "    struct protoent *result;\n"
6287 "    char buf[MAX_BUF];\n"
6288 "    char **p;\n"
6289 msgstr ""
6290 "int\n"
6291 "main(int argc, char *argv[])\n"
6292 "{\n"
6293 "    int buflen, erange_cnt, s;\n"
6294 "    struct protoent result_buf;\n"
6295 "    struct protoent *result;\n"
6296 "    char buf[MAX_BUF];\n"
6297 "    char **p;\n"
6298
6299 #. type: Plain text
6300 #: build/C/man3/getprotoent_r.3:188
6301 #, no-wrap
6302 msgid ""
6303 "    if (argc E<lt> 2) {\n"
6304 "        printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n"
6305 "        exit(EXIT_FAILURE);\n"
6306 "    }\n"
6307 msgstr ""
6308 "    if (argc E<lt> 2) {\n"
6309 "        printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n"
6310 "        exit(EXIT_FAILURE);\n"
6311 "    }\n"
6312
6313 #. type: Plain text
6314 #: build/C/man3/getprotoent_r.3:192
6315 #, no-wrap
6316 msgid ""
6317 "    buflen = 1024;\n"
6318 "    if (argc E<gt> 2)\n"
6319 "        buflen = atoi(argv[2]);\n"
6320 msgstr ""
6321 "    buflen = 1024;\n"
6322 "    if (argc E<gt> 2)\n"
6323 "        buflen = atoi(argv[2]);\n"
6324
6325 #. type: Plain text
6326 #: build/C/man3/getprotoent_r.3:197 build/C/man3/getservent_r.3:200
6327 #, no-wrap
6328 msgid ""
6329 "    if (buflen E<gt> MAX_BUF) {\n"
6330 "        printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6331 "        exit(EXIT_FAILURE);\n"
6332 "    }\n"
6333 msgstr ""
6334 "    if (buflen E<gt> MAX_BUF) {\n"
6335 "        printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6336 "        exit(EXIT_FAILURE);\n"
6337 "    }\n"
6338
6339 #. type: Plain text
6340 #: build/C/man3/getprotoent_r.3:206
6341 #, no-wrap
6342 msgid ""
6343 "    erange_cnt = 0;\n"
6344 "    do {\n"
6345 "        s = getprotobyname_r(argv[1], &result_buf,\n"
6346 "                     buf, buflen, &result);\n"
6347 "        if (s == ERANGE) {\n"
6348 "            if (erange_cnt == 0)\n"
6349 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6350 "            erange_cnt++;\n"
6351 msgstr ""
6352 "    erange_cnt = 0;\n"
6353 "    do {\n"
6354 "        s = getprotobyname_r(argv[1], &result_buf,\n"
6355 "                     buf, buflen, &result);\n"
6356 "        if (s == ERANGE) {\n"
6357 "            if (erange_cnt == 0)\n"
6358 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6359 "            erange_cnt++;\n"
6360
6361 #. type: Plain text
6362 #: build/C/man3/getprotoent_r.3:209 build/C/man3/getservent_r.3:212
6363 #, no-wrap
6364 msgid ""
6365 "            /* Increment a byte at a time so we can see exactly\n"
6366 "               what size buffer was required */\n"
6367 msgstr ""
6368 "            /* Increment a byte at a time so we can see exactly\n"
6369 "               what size buffer was required */\n"
6370
6371 #. type: Plain text
6372 #: build/C/man3/getprotoent_r.3:211 build/C/man3/getservent_r.3:214
6373 #, no-wrap
6374 msgid "            buflen++;\n"
6375 msgstr "            buflen++;\n"
6376
6377 #. type: Plain text
6378 #: build/C/man3/getprotoent_r.3:218 build/C/man3/getservent_r.3:221
6379 #, no-wrap
6380 msgid ""
6381 "            if (buflen E<gt> MAX_BUF) {\n"
6382 "                printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6383 "                exit(EXIT_FAILURE);\n"
6384 "            }\n"
6385 "        }\n"
6386 "    } while (s == ERANGE);\n"
6387 msgstr ""
6388 "            if (buflen E<gt> MAX_BUF) {\n"
6389 "                printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6390 "                exit(EXIT_FAILURE);\n"
6391 "            }\n"
6392 "        }\n"
6393 "    } while (s == ERANGE);\n"
6394
6395 #. type: Plain text
6396 #: build/C/man3/getprotoent_r.3:222
6397 #, no-wrap
6398 msgid ""
6399 "    printf(\"getprotobyname_r() returned: %s  (buflen=%d)\\en\",\n"
6400 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6401 "            strerror(s), buflen);\n"
6402 msgstr ""
6403 "    printf(\"getprotobyname_r() returned: %s  (buflen=%d)\\en\",\n"
6404 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6405 "            strerror(s), buflen);\n"
6406
6407 #. type: Plain text
6408 #: build/C/man3/getprotoent_r.3:227 build/C/man3/getservent_r.3:230
6409 #, no-wrap
6410 msgid ""
6411 "    if (s != 0 || result == NULL) {\n"
6412 "        printf(\"Call failed/record not found\\en\");\n"
6413 "        exit(EXIT_FAILURE);\n"
6414 "    }\n"
6415 msgstr ""
6416 "    if (s != 0 || result == NULL) {\n"
6417 "        printf(\"Call failed/record not found\\en\");\n"
6418 "        exit(EXIT_FAILURE);\n"
6419 "    }\n"
6420
6421 #. type: Plain text
6422 #: build/C/man3/getprotoent_r.3:233
6423 #, no-wrap
6424 msgid ""
6425 "    printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
6426 "                result_buf.p_name, result_buf.p_proto);\n"
6427 "    for (p = result_buf.p_aliases; *p != NULL; p++)\n"
6428 "        printf(\"%s \", *p);\n"
6429 "    printf(\"\\en\");\n"
6430 msgstr ""
6431 "    printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
6432 "                result_buf.p_name, result_buf.p_proto);\n"
6433 "    for (p = result_buf.p_aliases; *p != NULL; p++)\n"
6434 "        printf(\"%s \", *p);\n"
6435 "    printf(\"\\en\");\n"
6436
6437 #. type: Plain text
6438 #: build/C/man3/getprotoent_r.3:240
6439 msgid "B<getprotoent>(3), B<protocols>(5)"
6440 msgstr "B<getprotoent>(3), B<protocols>(5)"
6441
6442 #. type: TH
6443 #: build/C/man3/getservent.3:34
6444 #, no-wrap
6445 msgid "GETSERVENT"
6446 msgstr "GETSERVENT"
6447
6448 #. type: Plain text
6449 #: build/C/man3/getservent.3:38
6450 msgid "getservent, getservbyname, getservbyport, setservent, endservent - get service entry"
6451 msgstr "getservent, getservbyname, getservbyport, setservent, endservent - サービスのエントリを取得する"
6452
6453 #. type: Plain text
6454 #: build/C/man3/getservent.3:43
6455 #, no-wrap
6456 msgid "B<struct servent *getservent(void);>\n"
6457 msgstr "B<struct servent *getservent(void);>\n"
6458
6459 #. type: Plain text
6460 #: build/C/man3/getservent.3:45
6461 #, no-wrap
6462 msgid "B<struct servent *getservbyname(const char *>I<name>B<, const char *>I<proto>B<);>\n"
6463 msgstr "B<struct servent *getservbyname(const char *>I<name>B<, const char *>I<proto>B<);>\n"
6464
6465 #. type: Plain text
6466 #: build/C/man3/getservent.3:47
6467 #, no-wrap
6468 msgid "B<struct servent *getservbyport(int >I<port>B<, const char *>I<proto>B<);>\n"
6469 msgstr "B<struct servent *getservbyport(int >I<port>B<, const char *>I<proto>B<);>\n"
6470
6471 #. type: Plain text
6472 #: build/C/man3/getservent.3:49
6473 #, no-wrap
6474 msgid "B<void setservent(int >I<stayopen>B<);>\n"
6475 msgstr "B<void setservent(int >I<stayopen>B<);>\n"
6476
6477 #. type: Plain text
6478 #: build/C/man3/getservent.3:51
6479 #, no-wrap
6480 msgid "B<void endservent(void);>\n"
6481 msgstr "B<void endservent(void);>\n"
6482
6483 #. type: Plain text
6484 #: build/C/man3/getservent.3:62
6485 msgid "The B<getservent>()  function reads the next entry from the services database (see B<services>(5))  and returns a I<servent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary."
6486 msgstr "B<getservent>()  関数はサービスのデータベース (B<services>(5)  参照) から次のエントリを読み込み、 そのエントリを I<servent> 構造体の要素別のフィールドに格納し、 その構造体を返す。 必要であれば、データベースへの接続がオープンされる。"
6487
6488 #. type: Plain text
6489 #: build/C/man3/getservent.3:77
6490 msgid "The B<getservbyname>()  function returns a I<servent> structure for the entry from the database that matches the service I<name> using protocol I<proto>.  If I<proto> is NULL, any protocol will be matched.  A connection is opened to the database if necessary."
6491 msgstr "B<getservbyname>()  関数は、 プロトコル I<proto> を用いるサービスの名前 I<name> にマッチするエントリをデータベースから探し、 そのエントリを収めた I<servent> 構造体を返す。 I<proto> が NULL の場合は、任意のプロトコルにマッチする。 必要であれば、データベースへの接続がオープンされる。"
6492
6493 #. type: Plain text
6494 #: build/C/man3/getservent.3:93
6495 msgid "The B<getservbyport>()  function returns a I<servent> structure for the entry from the database that matches the port I<port> (given in network byte order)  using protocol I<proto>.  If I<proto> is NULL, any protocol will be matched.  A connection is opened to the database if necessary."
6496 msgstr "B<getservbyport>()  関数は、 プロトコル I<proto> を用いるサービスのポート番号 I<port> にマッチするエントリをデータベースから探し、 そのエントリの内容を収めた I<servent> 構造体を返す (ポート番号 I<port> はネットワークバイトオーダで指定する)。 I<proto> が NULL の場合は任意のプロトコルにマッチする。 必要であれば、データベースへの接続がオープンされる。"
6497
6498 #. type: Plain text
6499 #: build/C/man3/getservent.3:105
6500 msgid "The B<setservent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getserv*>()  functions."
6501 msgstr "B<setservent>()  関数はデータベースへの接続をオープンし、 次の読み込みエントリを先頭のエントリに設定する。 I<stayopen> が 0 でない場合、 一つ一つの B<getserv*>()  関数の呼び出し間でデータベースへの接続をクローズしない。"
6502
6503 #. type: Plain text
6504 #: build/C/man3/getservent.3:109
6505 msgid "The B<endservent>()  function closes the connection to the database."
6506 msgstr "B<endservent>()  関数はデータベースへの接続をクローズする。"
6507
6508 #. type: Plain text
6509 #: build/C/man3/getservent.3:115
6510 msgid "The I<servent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
6511 msgstr "I<servent> 構造体は I<E<lt>netdb.hE<gt>> で以下のように定義されている。"
6512
6513 #. type: Plain text
6514 #: build/C/man3/getservent.3:124
6515 #, no-wrap
6516 msgid ""
6517 "struct servent {\n"
6518 "    char  *s_name;       /* official service name */\n"
6519 "    char **s_aliases;    /* alias list */\n"
6520 "    int    s_port;       /* port number */\n"
6521 "    char  *s_proto;      /* protocol to use */\n"
6522 "}\n"
6523 msgstr ""
6524 "struct servent {\n"
6525 "    char  *s_name;       /* official service name */\n"
6526 "    char **s_aliases;    /* alias list */\n"
6527 "    int    s_port;       /* port number */\n"
6528 "    char  *s_proto;      /* protocol to use */\n"
6529 "}\n"
6530
6531 #. type: Plain text
6532 #: build/C/man3/getservent.3:130
6533 msgid "The members of the I<servent> structure are:"
6534 msgstr "I<servent> 構造体のメンバーは以下の通り。"
6535
6536 #. type: TP
6537 #: build/C/man3/getservent.3:130
6538 #, no-wrap
6539 msgid "I<s_name>"
6540 msgstr "I<s_name>"
6541
6542 #. type: Plain text
6543 #: build/C/man3/getservent.3:133
6544 msgid "The official name of the service."
6545 msgstr "サービスの正式名 (official name)。"
6546
6547 #. type: TP
6548 #: build/C/man3/getservent.3:133
6549 #, no-wrap
6550 msgid "I<s_aliases>"
6551 msgstr "I<s_aliases>"
6552
6553 #. type: Plain text
6554 #: build/C/man3/getservent.3:136
6555 msgid "A NULL-terminated list of alternative names for the service."
6556 msgstr "サービスの別名のリスト。 リストはヌルで終端される。"
6557
6558 #. type: TP
6559 #: build/C/man3/getservent.3:136
6560 #, no-wrap
6561 msgid "I<s_port>"
6562 msgstr "I<s_port>"
6563
6564 #. type: Plain text
6565 #: build/C/man3/getservent.3:139
6566 msgid "The port number for the service given in network byte order."
6567 msgstr "サービスのポート番号。ネットワークバイトオーダで指定される。"
6568
6569 #. type: TP
6570 #: build/C/man3/getservent.3:139
6571 #, no-wrap
6572 msgid "I<s_proto>"
6573 msgstr "I<s_proto>"
6574
6575 #. type: Plain text
6576 #: build/C/man3/getservent.3:142
6577 msgid "The name of the protocol to use with this service."
6578 msgstr "このサービスと共に用いるプロトコルの名前。"
6579
6580 #. type: Plain text
6581 #: build/C/man3/getservent.3:153
6582 msgid "The B<getservent>(), B<getservbyname>()  and B<getservbyport>()  functions return a pointer to a statically allocated I<servent> structure, or NULL if an error occurs or the end of the file is reached."
6583 msgstr "B<getservent>(), B<getservbyname>(), B<getservbyport>()  関数は、 静的に割り当てられた I<servent> 構造体へのポインターを返す。 エラーが起こったり、ファイルの末尾に達した場合は NULL を返す。"
6584
6585 #. type: TP
6586 #: build/C/man3/getservent.3:154 build/C/man5/services.5:186
6587 #, no-wrap
6588 msgid "I</etc/services>"
6589 msgstr "I</etc/services>"
6590
6591 #. type: Plain text
6592 #: build/C/man3/getservent.3:157
6593 msgid "services database file"
6594 msgstr "サービスのデータベースファイル"
6595
6596 #. type: Plain text
6597 #: build/C/man3/getservent.3:164
6598 msgid "B<getnetent>(3), B<getprotoent>(3), B<getservent_r>(3), B<services>(5)"
6599 msgstr "B<getnetent>(3), B<getprotoent>(3), B<getservent_r>(3), B<services>(5)"
6600
6601 #. type: TH
6602 #: build/C/man3/getservent_r.3:26
6603 #, no-wrap
6604 msgid "GETSERVENT_R"
6605 msgstr "GETSERVENT_R"
6606
6607 #. type: Plain text
6608 #: build/C/man3/getservent_r.3:30
6609 msgid "getservent_r, getservbyname_r, getservbyport_r - get service entry (reentrant)"
6610 msgstr ""
6611 "getservent_r, getservbyname_r, getservbyport_r - サービスエントリを\n"
6612 "取得する (リエントラント版)"
6613
6614 #. type: Plain text
6615 #: build/C/man3/getservent_r.3:36
6616 #, no-wrap
6617 msgid ""
6618 "B<int getservent_r(struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6619 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6620 msgstr ""
6621 "B<int getservent_r(struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6622 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6623
6624 #. type: Plain text
6625 #: build/C/man3/getservent_r.3:40
6626 #, no-wrap
6627 msgid ""
6628 "B<int getservbyname_r(const char *>I<name>B<, const char *>I<proto>B<,>\n"
6629 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6630 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6631 msgstr ""
6632 "B<int getservbyname_r(const char *>I<name>B<, const char *>I<proto>B<,>\n"
6633 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6634 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6635
6636 #. type: Plain text
6637 #: build/C/man3/getservent_r.3:44
6638 #, no-wrap
6639 msgid ""
6640 "B<int getservbyport_r(int >I<port>B<, const char *>I<proto>B<,>\n"
6641 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6642 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6643 msgstr ""
6644 "B<int getservbyport_r(int >I<port>B<, const char *>I<proto>B<,>\n"
6645 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6646 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6647
6648 #. type: Plain text
6649 #: build/C/man3/getservent_r.3:55
6650 msgid "B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>():"
6651 msgstr "B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>():"
6652
6653 #. type: Plain text
6654 #: build/C/man3/getservent_r.3:76
6655 msgid "The B<getservent_r>(), B<getservbyname_r>(), and B<getservbyport_r>()  functions are the reentrant equivalents of, respectively, B<getservent>(3), B<getservbyname>(3), and B<getservbyport>(3).  They differ in the way that the I<servent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions."
6656 msgstr ""
6657 "関数 B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>() は、\n"
6658 "それぞれ B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3) の\n"
6659 "リエントラント版である。\n"
6660 "I<servent> 構造体の返し方と、関数呼び出し時の引き数と返り値が異なる。\n"
6661 "このマニュアルページでは、リエントラントでない関数との違いだけを\n"
6662 "説明する。"
6663
6664 #. type: Plain text
6665 #: build/C/man3/getservent_r.3:82
6666 msgid "Instead of returning a pointer to a statically allocated I<servent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>."
6667 msgstr ""
6668 "これらの関数は、関数の結果として静的に割り当てられた I<servent> 構造体\n"
6669 "へのポインターを返すのではなく、 I<servent> 構造体を I<result_buf> が\n"
6670 "指す場所にコピーする。"
6671
6672 #.  I can find no information on the required/recommended buffer size;
6673 #.  the nonreentrant functions use a 1024 byte buffer -- mtk.
6674 #. type: Plain text
6675 #: build/C/man3/getservent_r.3:99
6676 msgid "The I<buf> array is used to store the string fields pointed to by the returned I<servent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)"
6677 msgstr ""
6678 "配列 I<buf> は、返される I<servent> 構造体が指す文字列フィールドを\n"
6679 "格納するのに使用される (リエントラントでない関数の場合は、\n"
6680 "これらの文字列は静的な領域に格納される)。\n"
6681 "この配列の大きさは I<buflen> で指定される。\n"
6682 "I<buf> が小さすぎる場合、関数呼び出しはエラー B<ERANGE> で失敗し、\n"
6683 "呼び出し側ではもっと大きなバッファーで再度呼び出す必要がある (ほとんどの\n"
6684 "アプリケーションでは、長さ 1024 バイトのバッファーで十分なはずである)。"
6685
6686 #. type: Plain text
6687 #: build/C/man3/getservent_r.3:107
6688 msgid "If the function call successfully obtains a service record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
6689 msgstr ""
6690 "関数呼び出しでサービスレコードの取得に成功すると、\n"
6691 "I<*result> は I<result_buf> を指すように設定される。\n"
6692 "それ以外の場合は I<*result> に NULL が設定される。"
6693
6694 #. type: Plain text
6695 #: build/C/man3/getservent_r.3:110
6696 msgid "On success, these functions return 0.  On error, they return one of the positive error numbers listed in errors."
6697 msgstr ""
6698 "成功すると、これらの関数は 0 を返す。エラーの場合、「エラー」の節の\n"
6699 "リストにある正のエラー番号のいずれかを返す。"
6700
6701 #. type: Plain text
6702 #: build/C/man3/getservent_r.3:118
6703 msgid "On error, record not found (B<getservbyname_r>(), B<getservbyport_r>()), or end of input (B<getservent_r>())  I<result> is set to NULL."
6704 msgstr ""
6705 "エラーの場合、レコードが見つからなかった場合 (B<getservbyname_r>(),\n"
6706 "B<getservbyaddr_r>()) やこれ以上レコードがない場合 (B<getservent_r>())、\n"
6707 "I<result> には NULL が設定される。"
6708
6709 #. type: Plain text
6710 #: build/C/man3/getservent_r.3:123
6711 msgid "(B<getservent_r>())  No more records in database."
6712 msgstr "(B<getservent_r>())  データベースにこれ以上レコードがない。"
6713
6714 #. type: Plain text
6715 #: build/C/man3/getservent_r.3:148
6716 msgid "The program below uses B<getservbyport_r>()  to retrieve the service record for the port and protocol named in its first command-line argument.  If a third (integer) command-line argument is supplied, it is used as the initial value for I<buflen>; if B<getservbyport_r>()  fails with the error B<ERANGE>, the program retries with larger buffer sizes.  The following shell session shows a couple of sample runs:"
6717 msgstr ""
6718 "以下のプログラムは、 B<getservbyport_r>() を使って、コマンド\n"
6719 "ライン引き数で指定されたポート番号とプロトコル名を持つ\n"
6720 "サービスレコードを取得する。\n"
6721 "三番目のコマンドライン引き数 (整数値) が指定された場合は、\n"
6722 "その値が I<buflen> の初期値として使用される。\n"
6723 "B<getservbyport_r>() がエラー B<ERANGE> で失敗すると、プログラムは\n"
6724 "より大きなバッファーサイズで再度 B<getservbyport_r> を呼び出す。\n"
6725 "下記のシェルのセッションは実行例を示している。"
6726
6727 #. type: Plain text
6728 #: build/C/man3/getservent_r.3:158
6729 #, no-wrap
6730 msgid ""
6731 "$B< ./a.out 7 tcp 1>\n"
6732 "ERANGE! Retrying with larger buffer\n"
6733 "getservbyport_r() returned: 0 (success)  (buflen=87)\n"
6734 "s_name=echo; s_proto=tcp; s_port=7; aliases=\n"
6735 "$B< ./a.out 77777 tcp>\n"
6736 "getservbyport_r() returned: 0 (success)  (buflen=1024)\n"
6737 "Call failed/record not found\n"
6738 msgstr ""
6739 "$B< ./a.out 7 tcp 1>\n"
6740 "ERANGE! Retrying with larger buffer\n"
6741 "getservbyport_r() returned: 0 (success)  (buflen=87)\n"
6742 "s_name=echo; s_proto=tcp; s_port=7; aliases=\n"
6743 "$B< ./a.out 77777 tcp>\n"
6744 "getservbyport_r() returned: 0 (success)  (buflen=1024)\n"
6745 "Call failed/record not found\n"
6746
6747 #. type: Plain text
6748 #: build/C/man3/getservent_r.3:182
6749 #, no-wrap
6750 msgid ""
6751 "int\n"
6752 "main(int argc, char *argv[])\n"
6753 "{\n"
6754 "    int buflen, erange_cnt, port, s;\n"
6755 "    struct servent result_buf;\n"
6756 "    struct servent *result;\n"
6757 "    char buf[MAX_BUF];\n"
6758 "    char *protop;\n"
6759 "    char **p;\n"
6760 msgstr ""
6761 "int\n"
6762 "main(int argc, char *argv[])\n"
6763 "{\n"
6764 "    int buflen, erange_cnt, port, s;\n"
6765 "    struct servent result_buf;\n"
6766 "    struct servent *result;\n"
6767 "    char buf[MAX_BUF];\n"
6768 "    char *protop;\n"
6769 "    char **p;\n"
6770
6771 #. type: Plain text
6772 #: build/C/man3/getservent_r.3:187
6773 #, no-wrap
6774 msgid ""
6775 "    if (argc E<lt> 3) {\n"
6776 "        printf(\"Usage: %s port-num proto-name [buflen]\\en\", argv[0]);\n"
6777 "        exit(EXIT_FAILURE);\n"
6778 "    }\n"
6779 msgstr ""
6780 "    if (argc E<lt> 3) {\n"
6781 "        printf(\"Usage: %s port-num proto-name [buflen]\\en\", argv[0]);\n"
6782 "        exit(EXIT_FAILURE);\n"
6783 "    }\n"
6784
6785 #. type: Plain text
6786 #: build/C/man3/getservent_r.3:191
6787 #, no-wrap
6788 msgid ""
6789 "    port = htons(atoi(argv[1]));\n"
6790 "    protop = (strcmp(argv[2], \"null\") == 0 ||\n"
6791 "              strcmp(argv[2], \"NULL\") == 0) ?  NULL : argv[2];\n"
6792 msgstr ""
6793 "    port = htons(atoi(argv[1]));\n"
6794 "    protop = (strcmp(argv[2], \"null\") == 0 ||\n"
6795 "              strcmp(argv[2], \"NULL\") == 0) ?  NULL : argv[2];\n"
6796
6797 #. type: Plain text
6798 #: build/C/man3/getservent_r.3:195
6799 #, no-wrap
6800 msgid ""
6801 "    buflen = 1024;\n"
6802 "    if (argc E<gt> 3)\n"
6803 "        buflen = atoi(argv[3]);\n"
6804 msgstr ""
6805 "    buflen = 1024;\n"
6806 "    if (argc E<gt> 3)\n"
6807 "        buflen = atoi(argv[3]);\n"
6808
6809 #. type: Plain text
6810 #: build/C/man3/getservent_r.3:209
6811 #, no-wrap
6812 msgid ""
6813 "    erange_cnt = 0;\n"
6814 "    do {\n"
6815 "        s = getservbyport_r(port, protop, &result_buf,\n"
6816 "                     buf, buflen, &result);\n"
6817 "        if (s == ERANGE) {\n"
6818 "            if (erange_cnt == 0)\n"
6819 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6820 "            erange_cnt++;\n"
6821 msgstr ""
6822 "    erange_cnt = 0;\n"
6823 "    do {\n"
6824 "        s = getservbyport_r(port, protop, &result_buf,\n"
6825 "                     buf, buflen, &result);\n"
6826 "        if (s == ERANGE) {\n"
6827 "            if (erange_cnt == 0)\n"
6828 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6829 "            erange_cnt++;\n"
6830
6831 #. type: Plain text
6832 #: build/C/man3/getservent_r.3:225
6833 #, no-wrap
6834 msgid ""
6835 "    printf(\"getservbyport_r() returned: %s  (buflen=%d)\\en\",\n"
6836 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6837 "            strerror(s), buflen);\n"
6838 msgstr ""
6839 "    printf(\"getservbyport_r() returned: %s  (buflen=%d)\\en\",\n"
6840 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6841 "            strerror(s), buflen);\n"
6842
6843 #. type: Plain text
6844 #: build/C/man3/getservent_r.3:237
6845 #, no-wrap
6846 msgid ""
6847 "    printf(\"s_name=%s; s_proto=%s; s_port=%d; aliases=\",\n"
6848 "                result_buf.s_name, result_buf.s_proto,\n"
6849 "                ntohs(result_buf.s_port));\n"
6850 "    for (p = result_buf.s_aliases; *p != NULL; p++)\n"
6851 "        printf(\"%s \", *p);\n"
6852 "    printf(\"\\en\");\n"
6853 msgstr ""
6854 "    printf(\"s_name=%s; s_proto=%s; s_port=%d; aliases=\",\n"
6855 "                result_buf.s_name, result_buf.s_proto,\n"
6856 "                ntohs(result_buf.s_port));\n"
6857 "    for (p = result_buf.s_aliases; *p != NULL; p++)\n"
6858 "        printf(\"%s \", *p);\n"
6859 "    printf(\"\\en\");\n"
6860
6861 #. type: Plain text
6862 #: build/C/man3/getservent_r.3:244
6863 msgid "B<getservent>(3), B<services>(5)"
6864 msgstr "B<getservent>(3), B<services>(5)"
6865
6866 #. type: TH
6867 #: build/C/man5/host.conf.5:26
6868 #, no-wrap
6869 msgid "HOST.CONF"
6870 msgstr "HOST.CONF"
6871
6872 #. type: TH
6873 #: build/C/man5/host.conf.5:26
6874 #, no-wrap
6875 msgid "2003-08-23"
6876 msgstr "2003-08-23"
6877
6878 #. type: TH
6879 #: build/C/man5/host.conf.5:26 build/C/man5/networks.5:26
6880 #, no-wrap
6881 msgid "Linux System Administration"
6882 msgstr "Linux System Administration"
6883
6884 #. type: Plain text
6885 #: build/C/man5/host.conf.5:29
6886 msgid "host.conf - resolver configuration file"
6887 msgstr "host.conf - レゾルバ設定ファイル"
6888
6889 #. type: Plain text
6890 #: build/C/man5/host.conf.5:38
6891 msgid "The file I</etc/host.conf> contains configuration information specific to the resolver library.  It should contain one configuration keyword per line, followed by appropriate configuration information.  The keywords recognized are I<order>, I<trim>, I<multi>, I<nospoof>, I<spoof>, and I<reorder>.  These keywords are described below."
6892 msgstr "ファイル I</etc/host.conf> には、レゾルバライブラリの詳細な設定情報が含まれている。 このファイルには、1 行毎に 1 つの設定キーワードと それに続く適切な設定情報がなければならない。 認識されるキーワードは I<order>, I<trim>, I<multi>, I<nospoof>, I<spoof>, I<reorder> である。 各キーワードを、以下で説明する。"
6893
6894 #. type: TP
6895 #: build/C/man5/host.conf.5:38
6896 #, no-wrap
6897 msgid "I<order>"
6898 msgstr "I<order>"
6899
6900 #. type: Plain text
6901 #: build/C/man5/host.conf.5:44
6902 msgid "This keyword specifies how host lookups are to be performed.  It should be followed by one or more lookup methods, separated by commas.  Valid methods are I<bind>, I<hosts>, and I<nis>."
6903 msgstr "このキーワードは、ホストのルックアップ方式を指定する。 このキーワードの後には、コンマで分けた 1 つ以上のルックアップ方式が続かなくてはならない。 使用可能な方式は I<bind>, I<hosts>, I<nis> である。"
6904
6905 #. type: TP
6906 #: build/C/man5/host.conf.5:44
6907 #, no-wrap
6908 msgid "I<trim>"
6909 msgstr "I<trim>"
6910
6911 #. type: Plain text
6912 #: build/C/man5/host.conf.5:61
6913 msgid "This keyword may be listed more than once.  Each time it should be followed by a list of domains, separated by colons (\\(aq:\\(aq), semicolons (\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot.  When set, the resolv+ library will automatically trim the given domain name from the end of any hostname resolved via DNS.  This is intended for use with local hosts and domains.  (Related note: trim will not affect hostnames gathered via NIS or the hosts file.  Care should be taken to ensure that the first hostname for each entry in the hosts file is fully qualified or unqualified, as appropriate for the local installation.)"
6914 msgstr "このキーワードは、2 回以上リストすることができる。 毎回、このキーワードの後には、 ドットではじまる 1 つ以上のドメイン名のリストを続けなければならない。 ドメイン名はコロン (\\(aq:\\(aq)、セミコロン (\\(aq;\\(aq)、コンマ (\\(aq,\\(aq)  で区切る。 このキーワードが設定されると、resolv+ ライブラリは DNS でレゾルブされた すべてのホスト名の後ろから与えられたドメイン名を自動的に取り去る。 このキーワードはローカルなホストとドメインで使用することを意図している。 (関連した注意 : NIS または hosts ファイルで集められたホスト名に trim は影響しない。 hosts ファイルの各エントリの最初のホスト名を、 完全なドメイン名付きのものにするかしないかは、 ホストごとのインストールポリシーにあわせて 適切に選択する必要がある。注意すること。)"
6915
6916 #. type: TP
6917 #: build/C/man5/host.conf.5:61
6918 #, no-wrap
6919 msgid "I<multi>"
6920 msgstr "I<multi>"
6921
6922 #. type: Plain text
6923 #: build/C/man5/host.conf.5:76
6924 msgid "Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library will return all valid addresses for a host that appears in the I</etc/hosts> file, instead of only the first.  This is I<off> by default, as it may cause a substantial performance loss at sites with large hosts files."
6925 msgstr "有効な値は I<on> と I<off> である。 I<on> に設定された場合、最初のエントリのみを例外として、 resolv+ ライブラリは I</etc/hosts> ファイルに現れるホストに対して全ての有効なアドレスを返そうとする。 大きな hosts ファイルを持つサイトでは、 この設定は非常な性能の低下を招くので、 デフォルトでは I<off> である。"
6926
6927 #. type: TP
6928 #: build/C/man5/host.conf.5:76
6929 #, no-wrap
6930 msgid "I<nospoof>"
6931 msgstr "I<nospoof>"
6932
6933 #. type: Plain text
6934 #: build/C/man5/host.conf.5:91
6935 msgid "Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library will attempt to prevent hostname spoofing to enhance the security of B<rlogin> and B<rsh>.  It works as follows: after performing a host address lookup, resolv+ will perform a hostname lookup for that address.  If the two hostnames do not match, the query will fail.  The default value is I<off>."
6936 msgstr "有効な値は I<on> と I<off> である。 I<on> に設定された場合、resolv+ ライブラリは B<rlogin> と B<rsh> のセキュリティを向上させるためホスト名の偽装を防止しようとする。 これは、「ホストアドレスのルックアップを行った後、 resolv+ はそのアドレスに対してホスト名のルックアップを行い、 もし 2 つのホスト名が一致しなかった場合は、クエリーは失敗する。」 というように動作する。 デフォルトの値は I<off> である。"
6937
6938 #. type: TP
6939 #: build/C/man5/host.conf.5:91
6940 #, no-wrap
6941 msgid "I<spoofalert>"
6942 msgstr "I<spoofalert>"
6943
6944 #. type: Plain text
6945 #: build/C/man5/host.conf.5:103
6946 msgid "Valid values are I<on> and I<off>.  If this option is set to I<on> and the I<nospoof> option is also set, resolv+ will log a warning of the error via the syslog facility.  The default value is I<off>."
6947 msgstr "有効な値は I<on> と I<off> である。 このオプションが I<on> に設定されていて、 I<nospoof> オプションも (on に) 設定されている場合、 resolv+ は syslog 機能を通じてエラーに関する警告のログをとる。 デフォルトの値は I<off> である。"
6948
6949 #. type: TP
6950 #: build/C/man5/host.conf.5:103
6951 #, no-wrap
6952 msgid "I<spoof>"
6953 msgstr "I<spoof>"
6954
6955 #. type: Plain text
6956 #: build/C/man5/host.conf.5:122
6957 msgid "Valid values are I<off>, I<nowarn> and I<warn>.  If this option is set to I<off>, spoofed addresses are permitted and no warnings will be emitted via the syslog facility.  If this option is set to I<warn>, resolv+ will attempt to prevent hostname spoofing to enhance the security and log a warning of the error via the syslog facility.  If this option is set to I<nowarn>, the resolv+ library will attempt to prevent hostname spoofing to enhance the security but not emit warnings via the syslog facility.  Setting this option to anything else is equal to setting it to I<nowarn>."
6958 msgstr "有効な値は I<off>, I<nowarn>, I<warn> である。 このオプションを I<off> に設定すると、偽装されたアドレスを許可して、 syslog 機能を通じた警告を発しない。 このオプションを I<warn> に設定すると、resolv+ はセキュリティを高めるためにホスト名の偽装を防止し、 syslog 機能を通じてエラーに関する警告のログをとる。 このオプションを I<nowarn> に設定すると、resolv+ はセキュリティを高めるためにホスト名の偽装を防止するが、 syslog 機能を通じた警告は発しない。 このオプションを何も設定しない場合は、 I<nowarn> を設定したのと同じになる。"
6959
6960 #. type: TP
6961 #: build/C/man5/host.conf.5:122
6962 #, no-wrap
6963 msgid "I<reorder>"
6964 msgstr "I<reorder>"
6965
6966 #. type: Plain text
6967 #: build/C/man5/host.conf.5:135
6968 msgid "Valid values are I<on> and I<off>.  If set to I<on>, resolv+ will attempt to reorder host addresses so that local addresses (i.e., on the same subnet) are listed first when a B<gethostbyname>(3)  is performed.  Reordering is done for all lookup methods.  The default value is I<off>."
6969 msgstr "有効な値は I<on> と I<off> である。 I<on> に設定されると、 B<gethostbyname (3)> が実行されるとき、resolv+ ライブラリは、ローカルな (つまり、同じサブネットにある) アドレスが最初にリストされるように ホストアドレスを並べ変える。 すべてのルックアップ方式に対して並べ変えが行われる。 デフォルトの値は、 I<off> である。"
6970
6971 #. type: SH
6972 #: build/C/man5/host.conf.5:135
6973 #, no-wrap
6974 msgid "ENVIRONMENT"
6975 msgstr "環境変数"
6976
6977 #. type: Plain text
6978 #: build/C/man5/host.conf.5:139
6979 msgid "There are six environment variables that can be used to allow users to override the behavior which is configured in I</etc/host.conf>."
6980 msgstr "I</etc/host.conf> で設定されている動作を、ユーザーが上書きできる 6 つの環境変数がある。"
6981
6982 #. type: TP
6983 #: build/C/man5/host.conf.5:139
6984 #, no-wrap
6985 msgid "B<RESOLV_HOST_CONF>"
6986 msgstr "B<RESOLV_HOST_CONF>"
6987
6988 #. type: Plain text
6989 #: build/C/man5/host.conf.5:143
6990 msgid "If set, this variable points to a file that should be read instead of I</etc/host.conf>."
6991 msgstr "この変数を設定すると、 I</etc/host.conf> の代りに読み込むファイルを設定できる。"
6992
6993 #. type: TP
6994 #: build/C/man5/host.conf.5:143
6995 #, no-wrap
6996 msgid "B<RESOLV_SERV_ORDER>"
6997 msgstr "B<RESOLV_SERV_ORDER>"
6998
6999 #. type: Plain text
7000 #: build/C/man5/host.conf.5:148
7001 msgid "Overrides the I<order> command."
7002 msgstr "I<order> コマンドを上書きする。"
7003
7004 #. type: TP
7005 #: build/C/man5/host.conf.5:148
7006 #, no-wrap
7007 msgid "B<RESOLV_SPOOF_CHECK>"
7008 msgstr "B<RESOLV_SPOOF_CHECK>"
7009
7010 #. type: Plain text
7011 #: build/C/man5/host.conf.5:157
7012 msgid "Overrides the I<nospoof>, I<spoofalert> and I<spoof> commands in the same way as the I<spoof> command is parsed.  Valid values are I<off>, I<nowarn> and I<warn>."
7013 msgstr "I<spoof> コマンドを解析するのと同じ方式で、 I<nospoof>, I<spoofalert>, I<spoof> コマンドを上書きできる。 有効な値は I<off>, I<nowarn>, I<warn> である。"
7014
7015 #. type: TP
7016 #: build/C/man5/host.conf.5:157
7017 #, no-wrap
7018 msgid "B<RESOLV_MULTI>"
7019 msgstr "B<RESOLV_MULTI>"
7020
7021 #. type: Plain text
7022 #: build/C/man5/host.conf.5:162
7023 msgid "Overrides the I<multi> command."
7024 msgstr "I<multi> コマンドを上書きする。"
7025
7026 #. type: TP
7027 #: build/C/man5/host.conf.5:162
7028 #, no-wrap
7029 msgid "B<RESOLV_REORDER>"
7030 msgstr "B<RESOLV_REORDER>"
7031
7032 #. type: Plain text
7033 #: build/C/man5/host.conf.5:167
7034 msgid "Overrides the I<reorder> command."
7035 msgstr "I<reorder> コマンドを上書きする。"
7036
7037 #. type: TP
7038 #: build/C/man5/host.conf.5:167
7039 #, no-wrap
7040 msgid "B<RESOLV_ADD_TRIM_DOMAINS>"
7041 msgstr "B<RESOLV_ADD_TRIM_DOMAINS>"
7042
7043 #. type: Plain text
7044 #: build/C/man5/host.conf.5:172
7045 msgid "A list of domains, separated by colons (\\(aq:\\(aq), semicolons (\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot, which will be added to the list of domains that should be trimmed."
7046 msgstr "コロン (\\(aq:\\(aq)、セミコロン (\\(aq;\\(aq)、コンマ (\\(aq,\\(aq) で区切った ドット (\\(aq.\\(aq) で始まるドメイン名のリスト。 ホスト名から取り去るドメイン名のリストに追加する。"
7047
7048 #. type: TP
7049 #: build/C/man5/host.conf.5:172
7050 #, no-wrap
7051 msgid "B<RESOLV_OVERRIDE_TRIM_DOMAINS>"
7052 msgstr "B<RESOLV_OVERRIDE_TRIM_DOMAINS>"
7053
7054 #. type: Plain text
7055 #: build/C/man5/host.conf.5:180
7056 msgid "A list of domains, separated by colons (\\(aq:\\(aq), semicolons (\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot, which will replace the list of domains that should be trimmed.  Overrides the I<trim> command."
7057 msgstr "コロン (\\(aq:\\(aq)、セミコロン (\\(aq;\\(aq)、コンマ (\\(aq,\\(aq) で区切った ドット (\\(aq.\\(aq) で始まるドメイン名のリスト。 ホスト名から取り去るドメイン名のリストを上書きする。 I<trim> コマンドを上書きする。"
7058
7059 #. type: Plain text
7060 #: build/C/man5/host.conf.5:184 build/C/man5/host.conf.5:187
7061 msgid "Resolver configuration file"
7062 msgstr "リゾルバ設定ファイル"
7063
7064 #. type: TP
7065 #: build/C/man5/host.conf.5:184
7066 #, no-wrap
7067 msgid "I</etc/resolv.conf>"
7068 msgstr "I</etc/resolv.conf>"
7069
7070 #. type: Plain text
7071 #: build/C/man5/host.conf.5:190
7072 msgid "Local hosts database"
7073 msgstr "ローカルの hosts データベース"
7074
7075 #. type: Plain text
7076 #: build/C/man5/host.conf.5:199
7077 msgid "The following differences exist compared to the original implementation.  A new command I<spoof> and a new environment variable B<RESOLV_SPOOF_CHECK> can take arguments like I<off>, I<nowarn> and I<warn>.  Line comments can appear anywhere and not only at the beginning of a line."
7078 msgstr "元々の実装に比べて以下のような違いがある。 新しいコマンド I<spoof> と新しい環境変数 B<RESOLV_SPOOF_CHECK> は、引き数 I<off>, I<nowarn>, I<warn> をとる。 コメントは行頭だけではなく、どこに書いてもよい。"
7079
7080 #. type: Plain text
7081 #: build/C/man5/host.conf.5:204
7082 msgid "B<gethostbyname>(3), B<hostname>(7), B<named>(8), B<resolv+>(8)"
7083 msgstr "B<gethostbyname>(3), B<hostname>(7), B<named>(8), B<resolv+>(8)"
7084
7085 #. type: TH
7086 #: build/C/man7/hostname.7:39
7087 #, no-wrap
7088 msgid "HOSTNAME"
7089 msgstr "HOSTNAME"
7090
7091 #. type: TH
7092 #: build/C/man7/hostname.7:39
7093 #, no-wrap
7094 msgid "2010-11-07"
7095 msgstr "2010-11-07"
7096
7097 #. type: Plain text
7098 #: build/C/man7/hostname.7:42
7099 msgid "hostname - hostname resolution description"
7100 msgstr "hostname - ホスト名の名前解決の説明"
7101
7102 #. type: Plain text
7103 #: build/C/man7/hostname.7:46
7104 msgid "Hostnames are domains, where a domain is a hierarchical, dot-separated list of subdomains; for example, the machine monet, in the Berkeley subdomain of the EDU domain would be represented as \"monet.Berkeley.EDU\"."
7105 msgstr ""
7106 "ホスト名は、階層構造でドット区切りのサブドメインである。\n"
7107 "例えば、 EDU ドメインの Berkeley サブドメインのマシン monet は、\n"
7108 "\"monet.Berkeley.EDU\" と表現される。"
7109
7110 #. type: Plain text
7111 #: build/C/man7/hostname.7:55
7112 msgid "Hostnames are often used with network client and server programs, which must generally translate the name to an address for use.  (This task is generally performed by either B<getaddrinfo>(3)  or the obsolete B<gethostbyname>(3).)  Hostnames are resolved by the Internet name resolver in the following fashion."
7113 msgstr ""
7114 "ホスト名は、ネットワーククライアントやサーバのプログラムでは一般的に\n"
7115 "使用され、使用する際には名前からアドレスに変換しなければならない (一般\n"
7116 "的にはアドレスへの変換処理は B<getaddrinfo>(3) か (廃止予定の)\n"
7117 "B<gethostbyname>(3) で行われる)。ホスト名の解決は、\n"
7118 "インターネットネームリゾルバによって以下の方法で実行される。"
7119
7120 #. type: Plain text
7121 #: build/C/man7/hostname.7:68
7122 msgid "If the name consists of a single component, that is, contains no dot, and if the environment variable B<HOSTALIASES> is set to the name of a file, that file is searched for any string matching the input hostname.  The file should consist of lines made up of two white-space separated strings, the first of which is the hostname alias, and the second of which is the complete hostname to be substituted for that alias.  If a case-insensitive match is found between the hostname to be resolved and the first field of a line in the file, the substituted name is looked up with no further processing."
7123 msgstr ""
7124 "ホスト名がドットを含まない単一要素で構成されていて、環境変数\n"
7125 "B<HOSTALIASES> にファイル名が設定されている場合、入力されたホスト名に\n"
7126 "マッチする文字列を検索するのに指定されたファイルが使用される。\n"
7127 "そのファイルの各行は、ホワイトスペースで区切られた文字列 2 つで\n"
7128 "構成され、各行の最初の文字列がホスト名のエイリアス (別名) で、\n"
7129 "二番目の文字列がそのエイリアスに対応する完全なホスト名である。\n"
7130 "解決するホスト名と一致するホスト名のエイリアス (ファイルの各行の最初の\n"
7131 "フィールド) が見つかれば、完全なホスト名に置き換えられ、\n"
7132 "それ以上の変換処理は行わずに、そのホスト名で検索処理が行われる\n"
7133 "(ホスト名とエイリアスの照合では大文字、小文字の違いは無視される)。"
7134
7135 #. type: Plain text
7136 #: build/C/man7/hostname.7:72
7137 msgid "If the input name ends with a trailing dot, the trailing dot is removed, and the remaining name is looked up with no further processing."
7138 msgstr ""
7139 "入力されたホスト名の末尾がドットの場合、\n"
7140 "末尾のドットは削除され、それ以上の処理は行われず、\n"
7141 "(末尾のドットを削除した) 残りの名前で検索が行われる。"
7142
7143 #. type: Plain text
7144 #: build/C/man7/hostname.7:85
7145 msgid "If the input name does not end with a trailing dot, it is looked up by searching through a list of domains until a match is found.  The default search list includes first the local domain, then its parent domains with at least 2 name components (longest first).  For example, in the domain CS.Berkeley.EDU, the name lithium.CChem will be checked first as lithium.CChem.CS.Berkeley.EDU and then as lithium.CChem.Berkeley.EDU.  Lithium.CChem.EDU will not be tried, as there is only one component remaining from the local domain.  The search path can be changed from the default by a system-wide configuration file (see B<resolver>(5))."
7146 msgstr ""
7147 "入力された名前の末尾がドットでない場合、\n"
7148 "マッチするものが見つかるまでドメインのリストの検索が行われる。\n"
7149 "デフォルトのドメインの検索リストは、先頭ローカルのドメインで、\n"
7150 "親ドメインが (長いものから順に) 続く (親ドメインはドット区切りで\n"
7151 "少なくとも 2 要素あるものだけが使用される)。\n"
7152 "例えば、 CS.Berkeley.EDU ドメインで、\n"
7153 "lithium.CChem というホスト名の場合には、\n"
7154 "最初に lithium.CChem.CS.Berkeley.EDU が確認され、\n"
7155 "次に lithium.CChem.Berkeley.EDU が確認される。\n"
7156 "Lithium.CChem.EDU はチェックされない。\n"
7157 "なぜなら、ローカルドメイン CS.Berkeley.EDU で残っているドメインは\n"
7158 "EDU で、これは一つしか要素がないからである。\n"
7159 "検索リストはシステム全体で共通の設定ファイルでデフォルト値から\n"
7160 "変更できる (B<resolver>(5) 参照)。"
7161
7162 #.  .SH HISTORY
7163 #.  Hostname appeared in
7164 #.  4.2BSD.
7165 #. type: Plain text
7166 #: build/C/man7/hostname.7:93
7167 msgid "B<gethostbyname>(3), B<resolver>(5), B<mailaddr>(7), B<named>(8)"
7168 msgstr "B<gethostbyname>(3), B<resolver>(5), B<mailaddr>(7), B<named>(8)"
7169
7170 #. type: TH
7171 #: build/C/man5/hosts.5:27
7172 #, no-wrap
7173 msgid "HOSTS"
7174 msgstr "HOSTS"
7175
7176 #. type: TH
7177 #: build/C/man5/hosts.5:27
7178 #, no-wrap
7179 msgid "2002-06-16"
7180 msgstr "2002-06-16"
7181
7182 #. type: Plain text
7183 #: build/C/man5/hosts.5:30
7184 msgid "hosts - static table lookup for hostnames"
7185 msgstr "hosts - ホスト名の静的なルックアップテーブル"
7186
7187 #. type: Plain text
7188 #: build/C/man5/hosts.5:32
7189 msgid "B</etc/hosts>"
7190 msgstr "B</etc/hosts>"
7191
7192 #. type: Plain text
7193 #: build/C/man5/hosts.5:40
7194 msgid "This manual page describes the format of the I</etc/hosts> file.  This file is a simple text file that associates IP addresses with hostnames, one line per IP address.  For each host a single line should be present with the following information:"
7195 msgstr "このマニュアルページは、 I</etc/hosts> ファイルのフォーマットについて記述している。 このファイルは簡単なテキストファイルで、1 行に 1 つの IP アドレスがあり、 IP アドレスとホスト名を関連づけている。 各ホストについて、次のような情報が 1 行で与えられる。"
7196
7197 #. type: Plain text
7198 #: build/C/man5/hosts.5:43
7199 msgid "IP_address canonical_hostname [aliases...]"
7200 msgstr "IPアドレス 正式なホスト名 [エイリアス...]"
7201
7202 #. type: Plain text
7203 #: build/C/man5/hosts.5:56
7204 msgid "Fields of the entry are separated by any number of blanks and/or tab characters.  Text from a \"#\" character until the end of the line is a comment, and is ignored.  Host names may contain only alphanumeric characters, minus signs (\"-\"), and periods (\".\").  They must begin with 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>)."
7205 msgstr "エントリのフィールドは、空白またはタブ (複数でも可) で区切られる。 \"#\" 文字から行末までのテキストはコメントとして無視される。 ホスト名は英数字、 マイナス記号 (\"-\")、 ピリオド (\".\") を含むことができる。 ホスト名は英文字 (alphabetic character) で始まって、 英数字 (alphanumeric characte) で終わらなければならない。 エイリアスはオプションであり、名前の変更、別のスペル、 短いホスト名、一般的に使われるホスト名 (例えば I<localhost>)  などのために用意されている。"
7206
7207 #. type: Plain text
7208 #: build/C/man5/hosts.5:64
7209 msgid "The Berkeley Internet Name Domain (BIND) Server implements the Internet name server for UNIX systems.  It augments or replaces the I</etc/hosts> file or hostname lookup, and frees a host from relying on I</etc/hosts> being up to date and complete."
7210 msgstr "Berkeley Internet Name Domain (BIND) サーバは、 UNIX システムのためのインターネットネームサーバを実装している。 これは、 I</etc/hosts> ファイルやホスト名ルックアップを拡張したり置き換えたりするものである。 これにより各ホストは I</etc/hosts> を最新かつ完全に保たなくてもよくなる。"
7211
7212 #. type: Plain text
7213 #: build/C/man5/hosts.5:67
7214 msgid "In modern systems, even though the host table has been superseded by DNS, it is still widely used for:"
7215 msgstr "ホストテーブルは、DNS にとって代わられたにもかかわらず、 現在のシステムにおいて次のような用途で広く使われている。"
7216
7217 #. type: TP
7218 #: build/C/man5/hosts.5:67
7219 #, no-wrap
7220 msgid "B<bootstrapping>"
7221 msgstr "B<ブート時>"
7222
7223 #. type: Plain text
7224 #: build/C/man5/hosts.5:73
7225 msgid "Most systems have a small host table containing the name and address information for important hosts on the local network.  This is useful when DNS is not running, for example during system bootup."
7226 msgstr "大部分のシステムは、ローカルネットワークにおいて重要なホストの 名前とアドレスが含まれた小さなホストテーブルを持っている。 これは、システムのブート時などの DNS が稼働していないときに役立つ。"
7227
7228 #. type: TP
7229 #: build/C/man5/hosts.5:73
7230 #, no-wrap
7231 msgid "B<NIS>"
7232 msgstr "B<NIS>"
7233
7234 #. type: Plain text
7235 #: build/C/man5/hosts.5:79
7236 msgid "Sites that use NIS use the host table as input to the NIS host database.  Even though NIS can be used with DNS, most NIS sites still use the host table with an entry for all local hosts as a backup."
7237 msgstr "NIS を使用しているサイトは、ホストテーブルを NIS ホストデータベースの入力として用いる。 NIS を DNS と共に使用できるにもかかわらず、 大部分の NIS サイトは未だに、 全てのローカルホストのエントリをもつホストテーブルを バックアップとして使用している。"
7238
7239 #. type: TP
7240 #: build/C/man5/hosts.5:79
7241 #, no-wrap
7242 msgid "B<isolated nodes>"
7243 msgstr "B<隔絶されたノード>"
7244
7245 #. type: Plain text
7246 #: build/C/man5/hosts.5:86
7247 msgid "Very small sites that are isolated from the network use the host table instead of DNS.  If the local information rarely changes, and the network is not connected to the Internet, DNS offers little advantage."
7248 msgstr "ネットワークから隔絶された非常に小さなサイトは、 DNS の代わりにホストテーブルを使用している。 ローカル情報が稀にしか変更されず、 ネットワークがインターネットと接続されていない場合、 DNS にそれほどの利点はない。"
7249
7250 #. type: Plain text
7251 #: build/C/man5/hosts.5:91
7252 msgid "Modifications to this file normally take effect immediately, except in cases where the file is cached by applications."
7253 msgstr "このファイルへの変更は通常すぐに反映される。但し、アプリケーション によりファイルの内容がキャッシュされている場合はこの限りではない。"
7254
7255 #. type: SS
7256 #: build/C/man5/hosts.5:91
7257 #, no-wrap
7258 msgid "Historical notes"
7259 msgstr "歴史的な経緯"
7260
7261 #. type: Plain text
7262 #: build/C/man5/hosts.5:94
7263 msgid "RFC\\ 952 gave the original format for the host table, though it has since changed."
7264 msgstr "ホストテーブルのフォーマットはその後変更されているが、 元々のフォーマットは RFC\\ 952 には記載されている。"
7265
7266 #. type: Plain text
7267 #: build/C/man5/hosts.5:107
7268 msgid "Before the advent of DNS, the host table was the only way of resolving hostnames on the fledgling Internet.  Indeed, this file could be created from the official host data base maintained at the Network Information Control Center (NIC), though local changes were often required to bring it up to date regarding unofficial aliases and/or unknown hosts.  The NIC no longer maintains the hosts.txt files, though looking around at the time of writing (circa 2000), there are historical hosts.txt files on the WWW.  I just found three, from 92, 94, and 95."
7269 msgstr "DNS の登場以前、ホストテーブルは、駆け出したばかりのインターネットにおける ホスト名解決の唯一の方法であった。 実際、このファイルは Network Information Control Center (NIC) によって 管理される公式ホストデータベースから作成することができた。 しかし、非公式なエイリアスや不明なホストを扱えるように、 最新に保つためのローカルな変更が頻繁に必要とされた。 NIC は既に hosts.txt を管理していないが、 これを書いている (2000 年頃の) 時点で調べてみると、 WWW 上に歴史的な hosts.txt が存在する。 92, 94, 95 年のものが見つかった。"
7270
7271 #. type: Plain text
7272 #: build/C/man5/hosts.5:114
7273 #, no-wrap
7274 msgid ""
7275 "127.0.0.1       localhost\n"
7276 "192.168.1.10    foo.mydomain.org       foo\n"
7277 "192.168.1.13    bar.mydomain.org       bar\n"
7278 "146.82.138.7    master.debian.org      master\n"
7279 "209.237.226.90  www.opensource.org\n"
7280 msgstr ""
7281 "127.0.0.1       localhost\n"
7282 "192.168.1.10    foo.mydomain.org       foo\n"
7283 "192.168.1.13    bar.mydomain.org       bar\n"
7284 "146.82.138.7    master.debian.org      master\n"
7285 "209.237.226.90  www.opensource.org\n"
7286
7287 #. type: Plain text
7288 #: build/C/man5/hosts.5:121
7289 msgid "B<hostname>(1), B<resolver>(3), B<resolver>(5), B<hostname>(7), B<named>(8)"
7290 msgstr "B<hostname>(1), B<resolver>(3), B<resolver>(5), B<hostname>(7), B<named>(8)"
7291
7292 #.  .SH AUTHOR
7293 #.  This manual page was written by Manoj Srivastava <srivasta@debian.org>,
7294 #.  for the Debian GNU/Linux system.
7295 #. type: Plain text
7296 #: build/C/man5/hosts.5:126
7297 msgid "Internet RFC\\ 952"
7298 msgstr "Internet RFC\\ 952"
7299
7300 #. type: TH
7301 #: build/C/man5/hosts.equiv.5:6
7302 #, no-wrap
7303 msgid "HOSTS.EQUIV"
7304 msgstr "HOSTS.EQUIV"
7305
7306 #. type: TH
7307 #: build/C/man5/hosts.equiv.5:6
7308 #, no-wrap
7309 msgid "2003-08-24"
7310 msgstr "2003-08-24"
7311
7312 #. type: Plain text
7313 #: build/C/man5/hosts.equiv.5:11
7314 msgid "/etc/hosts.equiv - list of hosts and users that are granted \"trusted\" B<r> command access to your system"
7315 msgstr "/etc/hosts.equiv - 「信頼された」B<r> コマンドによるシステムへの アクセスを許可するホストおよびユーザーのリスト"
7316
7317 #. type: Plain text
7318 #: build/C/man5/hosts.equiv.5:22
7319 msgid "The B<hosts.equiv> file allows or denies hosts and users to use the B<r>-commands (e.g., B<rlogin>, B<rsh>, or B<rcp>)  without supplying a password."
7320 msgstr "B<hosts.equiv> ファイルは B<r>-コマンド (B<rlogin>, B<rsh>, B<rcp> など) によるパスワードなしでの利用を 許可/拒否するホスト/ユーザーを設定する。"
7321
7322 #. type: Plain text
7323 #: build/C/man5/hosts.equiv.5:24
7324 msgid "The file uses the following format:"
7325 msgstr "このファイルでは以下の書式を用いる。"
7326
7327 #. type: TP
7328 #: build/C/man5/hosts.equiv.5:24
7329 #, no-wrap
7330 msgid "I<[ + | - ]> I<[hostname]> I<[username]>"
7331 msgstr "I<[ + | - ]> I<[hostname]> I<[username]>"
7332
7333 #. type: Plain text
7334 #: build/C/man5/hosts.equiv.5:43
7335 msgid "The I<hostname> is the name of a host which is logically equivalent to the local host.  Users logged into that host are allowed to access like-named user accounts on the local host without supplying a password.  The I<hostname> may be (optionally) preceded by a plus (+) sign.  If the plus sign is used alone, it allows any host to access your system.  You can explicitly deny access to a host by preceding the I<hostname> by a minus (-) sign.  Users from that host must always supply a password.  For security reasons you should always use the FQDN of the hostname and not the short hostname."
7336 msgstr "I<hostname> は、ローカルホストと論理的に等価なホストの名前である。 そのホストにログインしているユーザーは、パスワードなしで ローカルホストの同じ名前のユーザーアカウントにアカウントできる。 I<hostname> の前にはプラス記号 (+) を置いてもよい。プラス記号が単独で置かれた場合は、 このシステムへのアクセスをあらゆるホストに対して許可したことになる。 アクセスを明示的に拒否するには、 I<hostname> の前にマイナス記号 (-) を付ける。そのホストからのユーザーは 常にパスワードを要求される。セキュリティ上、ホスト名は 短い名前ではなく常に FQDN を使って指定すべきである。"
7337
7338 #. type: Plain text
7339 #: build/C/man5/hosts.equiv.5:61
7340 msgid "The I<username> entry grants a specific user access to all user accounts (except root) without supplying a password.  That means the user is NOT restricted to like-named accounts.  The I<username> may be (optionally) preceded by a plus (+) sign.  You can also explicitly deny access to a specific user by preceding the I<username> with a minus (-) sign.  This says that the user is not trusted no matter what other entries for that host exist."
7341 msgstr "I<username> エントリは、特定のユーザーに対して、 (root 以外の) あらゆるユーザーアカウント へのアクセスをパスワードなしで許可する。すなわち、そのユーザーは同じ名前の アカウント以外にもアクセスできる。 I<username> の前にはプラス記号 (+) を置いてもよい。 特定のユーザーからのアクセスを明示的に拒否するには、 I<username> の前にマイナス記号 (-) を付ける。こうすると、 ホストのエントリがなんと言おうとも、そのユーザーは信頼されないことになる。"
7342
7343 #. type: Plain text
7344 #: build/C/man5/hosts.equiv.5:63
7345 msgid "Netgroups can be specified by preceding the netgroup by an @ sign."
7346 msgstr "netgroup を指定することもでき、その場合は @ 記号を前につける。"
7347
7348 #. type: Plain text
7349 #: build/C/man5/hosts.equiv.5:69
7350 msgid "Be extremely careful when using the plus (+) sign.  A simple typographical error could result in a standalone plus sign.  A standalone plus sign is a wildcard character that means \"any host\"!"
7351 msgstr "プラス記号 (+) を利用する際にはくれぐれも注意すること。 単純なミスタイプで、単独のプラス記号を置いてしまうことがある。 単独のプラス記号は「すべてのホスト」を表すワイルドカードになってしまう!"
7352
7353 #. type: Plain text
7354 #: build/C/man5/hosts.equiv.5:71
7355 msgid "I</etc/hosts.equiv>"
7356 msgstr "I</etc/hosts.equiv>"
7357
7358 #. type: Plain text
7359 #: build/C/man5/hosts.equiv.5:76
7360 msgid "Some systems will honor the contents of this file only when it has owner root and no write permission for anybody else.  Some exceptionally paranoid systems even require that there be no other hard links to the file."
7361 msgstr "システムによっては、このファイルの内容が効力を持つのは、 このファイルの所有者が root で、 かつそれ以外に書き込み権限がない場合に限定されていることもある。 また、非常に制限がきついシステムでは、このファイルに対する他の ハードリンクがないことが要求される場合もある。"
7362
7363 #. type: Plain text
7364 #: build/C/man5/hosts.equiv.5:84
7365 msgid "Modern systems use the Pluggable Authentication Modules library (PAM).  With PAM a standalone plus sign is considered a wildcard character which means \"any host\" only when the word I<promiscuous> is added to the auth component line in your PAM file for the particular service (e.g., B<rlogin>)."
7366 msgstr "最近のシステムでは Pluggable Authentication Modules library (PAM) が 使われている。PAM では、単独のプラス記号が「すべてのホスト」を表す ワイルドカードとして扱われるのは、特定のサービス (例えば B<rlogin>)  用の PAM ファイルで auth 行にキーワード I<promiscuous> が追加されている場合のみである。"
7367
7368 #. type: Plain text
7369 #: build/C/man5/hosts.equiv.5:88
7370 msgid "B<rhosts>(5), B<rlogind>(8), B<rshd>(8)"
7371 msgstr "B<rhosts>(5), B<rlogind>(8), B<rshd>(8)"
7372
7373 #. type: TH
7374 #: build/C/man7/icmp.7:12
7375 #, no-wrap
7376 msgid "ICMP"
7377 msgstr "ICMP"
7378
7379 #. type: TH
7380 #: build/C/man7/icmp.7:12 build/C/man8/nscd.8:23 build/C/man7/raw.7:13
7381 #, no-wrap
7382 msgid "2012-05-10"
7383 msgstr "2012-05-10"
7384
7385 #. type: Plain text
7386 #: build/C/man7/icmp.7:15
7387 msgid "icmp - Linux IPv4 ICMP kernel module."
7388 msgstr "icmp - Linux IPv4 ICMP カーネルモジュール"
7389
7390 #. type: Plain text
7391 #: build/C/man7/icmp.7:23
7392 msgid "This kernel protocol module implements the Internet Control Message Protocol defined in RFC\\ 792.  It is used to signal error conditions and for diagnosis.  The user doesn't interact directly with this module; instead it communicates with the other protocols in the kernel and these pass the ICMP errors to the application layers.  The kernel ICMP module also answers ICMP requests."
7393 msgstr "このカーネルモジュールは RFC\\ 792 で定義されている Internet Control Message Protocol を実装したものである。 このプロトコルはエラー状況を知らせたり診断を行うために用いられる。 ユーザーはこのモジュールとは直接には通信できない。 このモジュールはカーネルの他のプロトコルと通信し、 それらのプロトコルが ICMP エラーをアプリケーションレイヤに渡す。 カーネルの ICMP モジュールは ICMP リクエストに対する応答も行う。"
7394
7395 #. type: Plain text
7396 #: build/C/man7/icmp.7:35
7397 msgid "A user protocol may receive ICMP packets for all local sockets by opening a raw socket with the protocol B<IPPROTO_ICMP>.  See B<raw>(7)  for more information.  The types of ICMP packets passed to the socket can be filtered using the B<ICMP_FILTER> socket option.  ICMP packets are always processed by the kernel too, even when passed to a user socket."
7398 msgstr "raw ソケットをプロトコル B<IPPROTO_ICMP> でオープンすれば、 ユーザープロトコルはローカルなソケット全てに対する ICMP パケットを受信することができる。 詳細は B<raw>(7)  を参照のこと。 ソケットに渡される ICMP パケットのタイプは B<ICMP_FILTER> オプションによってフィルターできる。 ICMP パケットは (たとえユーザーソケットに渡される場合でも)、 常にカーネルによって (も) 処理される。"
7399
7400 #. type: Plain text
7401 #: build/C/man7/icmp.7:41
7402 msgid "Linux limits the rate of ICMP error packets to each destination.  B<ICMP_REDIRECT> and B<ICMP_DEST_UNREACH> are also limited by the destination route of the incoming packets."
7403 msgstr "Linux では ICMP エラーパケットのレートをそれぞれの送り先に対して 制限している。 B<ICMP_REDIRECT> と B<ICMP_DEST_UNREACH> も到着したパケットの行き先経路 (destination route) を制限する。"
7404
7405 #.  FIXME . better description needed
7406 #. type: Plain text
7407 #: build/C/man7/icmp.7:54
7408 msgid "ICMP supports a set of I</proc> interfaces to configure some global IP parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/ipv4/>.  Most of these parameters are rate limitations for specific ICMP types.  Linux 2.2 uses a token bucket filter to limit ICMPs.  The value is the timeout in jiffies until the token bucket filter is cleared after a burst.  A jiffy is a system dependent unit, usually 10ms on i386 and about 1ms on alpha and ia64."
7409 msgstr "ICMP では、いくつかのグローバルパラメーターを設定するための I</proc> ファイル群が用意されている。 これらのパラメーターには、 I</proc/sys/net/ipv4/> ディレクトリ内のファイルの読み書きでアクセスできる。 これらのパラメーターのほとんどは特定の ICMP タイプに対するレート制限 (rate limitation) である。 Linux 2.2 は ICMP の制限にトークンバケットフィルタ (token bucket filter) を用いる。 それぞれの値は、バーストの後にトークンバケットフィルタがクリア されるまでのタイムアウトを秒単位で表したものである。最小単位(jiffy)は システム依存の単位で i386 システムは通常 10ms、alpha や ia64 では 1ms である。"
7410
7411 #. type: TP
7412 #: build/C/man7/icmp.7:54
7413 #, no-wrap
7414 msgid "I<icmp_destunreach_rate> (Linux 2.2 to 2.4.9)"
7415 msgstr "I<icmp_destunreach_rate> (Linux 2.2 から 2.4.9 まで)"
7416
7417 #.  Precisely: from 2.1.102
7418 #. type: Plain text
7419 #: build/C/man7/icmp.7:63
7420 msgid "Maximum rate to send ICMP Destination Unreachable packets.  This limits the rate at which packets are sent to any individual route or destination.  The limit does not affect sending of B<ICMP_FRAG_NEEDED> packets needed for path MTU discovery."
7421 msgstr "ICMP 不達パケット (Destination Unreachable packet) を送る最大レート。 これは特定のルートまたは行き先にパケットを送信するレートを制限する。 この制限は、 path MTU discovery に必要な B<ICMP_FRAG_NEEDED> パケットの送信には影響しない。"
7422
7423 #. type: TP
7424 #: build/C/man7/icmp.7:63
7425 #, no-wrap
7426 msgid "I<icmp_echo_ignore_all> (since Linux 2.2)"
7427 msgstr "I<icmp_echo_ignore_all> (Linux 2.2 以降)"
7428
7429 #.  Precisely: 2.1.68
7430 #. type: Plain text
7431 #: build/C/man7/icmp.7:69
7432 msgid "If this value is nonzero, Linux will ignore all B<ICMP_ECHO> requests."
7433 msgstr "この値が非ゼロの場合は、 Linux はすべての B<ICMP_ECHO> 要求を無視する。"
7434
7435 #. type: TP
7436 #: build/C/man7/icmp.7:69
7437 #, no-wrap
7438 msgid "I<icmp_echo_ignore_broadcasts> (since Linux 2.2)"
7439 msgstr "I<icmp_echo_ignore_broadcasts> (Linux 2.2 以降)"
7440
7441 #.  Precisely: from 2.1.68
7442 #. type: Plain text
7443 #: build/C/man7/icmp.7:75
7444 msgid "If this value is nonzero, Linux will ignore all B<ICMP_ECHO> packets sent to broadcast addresses."
7445 msgstr "この値が非ゼロの場合は、 Linux はブロードキャストアドレスに送られたすべての B<ICMP_ECHO> 要求を無視する。"
7446
7447 #. type: TP
7448 #: build/C/man7/icmp.7:75
7449 #, no-wrap
7450 msgid "I<icmp_echoreply_rate> (Linux 2.2 to 2.4.9)"
7451 msgstr "I<icmp_echoreply_rate> (Linux 2.2 から 2.4.9 まで)"
7452
7453 #.  Precisely: from 2.1.102
7454 #. type: Plain text
7455 #: build/C/man7/icmp.7:83
7456 msgid "Maximum rate for sending B<ICMP_ECHOREPLY> packets in response to B<ICMP_ECHOREQUEST> packets."
7457 msgstr "B<ICMP_ECHOREQUEST> パケットに応答する B<ICMP_ECHOREPLY> パケットの最大送信レート。"
7458
7459 #. type: TP
7460 #: build/C/man7/icmp.7:83
7461 #, no-wrap
7462 msgid "I<icmp_errors_use_inbound_ifaddr> (Boolean; default: disabled; since Linux 2.6.12)"
7463 msgstr "I<icmp_errors_use_inbound_ifaddr> (ブール値; デフォルト: 無効; Linux 2.6.12 以降)"
7464
7465 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7466 #. type: Plain text
7467 #: build/C/man7/icmp.7:88
7468 msgid "If disabled, ICMP error messages are sent with the primary address of the exiting interface."
7469 msgstr "これを無効にすると、ICMP エラーメッセージは、 出力インタフェースのプライマリアドレスで送信される。"
7470
7471 #. type: Plain text
7472 #: build/C/man7/icmp.7:94
7473 msgid "If enabled, the message will be sent with the primary address of the interface that received the packet that caused the ICMP error.  This is the behavior that many network administrators will expect from a router.  And it can make debugging complicated network layouts much easier."
7474 msgstr "これを有効にすると、エラーメッセージは ICMP エラーの原因となったパケットを 受信したインタフェースのプライマアドレスで送信される。 この動作は、多くのネットワーク管理者がルータに対して期待しているものであり、 これにより複雑なネットワークレイアウトのデバッグがより容易になる。"
7475
7476 #. type: Plain text
7477 #: build/C/man7/icmp.7:98
7478 msgid "Note that if no primary address exists for the interface selected, then the primary address of the first non-loopback interface that has one will be used regardless of this setting."
7479 msgstr "選択されたインタフェースでプライマリアドレスが存在しない場合は、 この設定に関わらず、最初のループバック以外のインタフェースで、 プライマリアドレスを持つインタフェースのプライマリアドレスが使用される点に 注意すること。"
7480
7481 #. type: TP
7482 #: build/C/man7/icmp.7:98
7483 #, no-wrap
7484 msgid "I<icmp_ignore_bogus_error_responses> (Boolean; default: disabled; since Linux 2.2)"
7485 msgstr "I<icmp_ignore_bogus_error_responses> (ブール値; デフォルト: 無効; Linux 2.2 以降)"
7486
7487 #.  precisely: since 2.1.32
7488 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7489 #. type: Plain text
7490 #: build/C/man7/icmp.7:106
7491 msgid "Some routers violate RFC1122 by sending bogus responses to broadcast frames.  Such violations are normally logged via a kernel warning.  If this parameter is enabled, the kernel will not give such warnings, which will avoid log file clutter."
7492 msgstr "ルータの中には、RFC1122 に違反し、ブロードキャストフレームに対して 偽の応答を送信するものがある。 このような違反は通常カーネルの警告としてログに記録される。 このパラメーターを有効にすると、カーネルはこのような警告を出さなくなり、 ログファイルに雑音のような情報が記録されるのを避けることができる。"
7493
7494 #. type: TP
7495 #: build/C/man7/icmp.7:106
7496 #, no-wrap
7497 msgid "I<icmp_paramprob_rate> (Linux 2.2 to 2.4.9)"
7498 msgstr "I<icmp_paramprob_rate> (Linux 2.2 から 2.4.9 まで)"
7499
7500 #.  Precisely: from 2.1.102
7501 #. type: Plain text
7502 #: build/C/man7/icmp.7:113
7503 msgid "Maximum rate for sending B<ICMP_PARAMETERPROB> packets.  These packets are sent when a packet arrives with an invalid IP header."
7504 msgstr "B<ICMP_PARAMETERPROB> パケットの最大送信レート。 これらのパケットは不正な IP ヘッダを持つパケットが到着した場合に 送信される。"
7505
7506 #. type: TP
7507 #: build/C/man7/icmp.7:113
7508 #, no-wrap
7509 msgid "I<icmp_ratelimit> (integer; default: 1000; since Linux 2.4.10)"
7510 msgstr "I<icmp_ratelimit> (integer; default: 1000; Linux 2.4.10 以降)"
7511
7512 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7513 #. type: Plain text
7514 #: build/C/man7/icmp.7:121
7515 msgid "Limit the maximum rates for sending ICMP packets whose type matches I<icmp_ratemask> (see below) to specific targets.  0 to disable any limiting, otherwise the minimum space between responses in milliseconds."
7516 msgstr "種別が I<icmp_ratemask> (下記参照) にマッチした ICMP パケットの、 特定の送信先への送信レートの最大値を制限する。 0 はレート制限を無効にすることを、 0 以外の値は応答間の最小間隔 (ミリ秒単位) を示す。"
7517
7518 #. type: TP
7519 #: build/C/man7/icmp.7:121
7520 #, no-wrap
7521 msgid "I<icmp_ratemask> (integer; default: see below; since Linux 2.4.10)"
7522 msgstr "I<icmp_ratemask> (integer; default: 下記参照; Linux 2.4.10 以降)"
7523
7524 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7525 #. type: Plain text
7526 #: build/C/man7/icmp.7:125
7527 msgid "Mask made of ICMP types for which rates are being limited."
7528 msgstr "レート制限を行う ICMP タイプを決めるマスク。"
7529
7530 #. type: Plain text
7531 #: build/C/man7/icmp.7:127
7532 msgid "Significant bits: IHGFEDCBA9876543210"
7533 msgstr "有効ビット: IHGFEDCBA9876543210"
7534
7535 #. type: Plain text
7536 #: build/C/man7/icmp.7:129
7537 msgid "Default mask: 0000001100000011000 (0x1818)"
7538 msgstr "デフォルトマスク: 0000001100000011000 (0x1818)"
7539
7540 #. type: Plain text
7541 #: build/C/man7/icmp.7:132
7542 msgid "Bit definitions (see the Linux kernel source file I<include/linux/icmp.h>):"
7543 msgstr "ビット定義 (Linux カーネルソースファイル I<include/linux/icmp.h> を参照):"
7544
7545 #. type: tbl table
7546 #: build/C/man7/icmp.7:136
7547 #, no-wrap
7548 msgid "0 Echo Reply\n"
7549 msgstr "0 Echo Reply\n"
7550
7551 #. type: tbl table
7552 #: build/C/man7/icmp.7:137
7553 #, no-wrap
7554 msgid "3 Destination Unreachable *\n"
7555 msgstr "3 Destination Unreachable *\n"
7556
7557 #. type: tbl table
7558 #: build/C/man7/icmp.7:138
7559 #, no-wrap
7560 msgid "4 Source Quench *\n"
7561 msgstr "4 Source Quench *\n"
7562
7563 #. type: tbl table
7564 #: build/C/man7/icmp.7:139
7565 #, no-wrap
7566 msgid "5 Redirect\n"
7567 msgstr "5 Redirect\n"
7568
7569 #. type: tbl table
7570 #: build/C/man7/icmp.7:140
7571 #, no-wrap
7572 msgid "8 Echo Request\n"
7573 msgstr "8 Echo Request\n"
7574
7575 #. type: tbl table
7576 #: build/C/man7/icmp.7:141
7577 #, no-wrap
7578 msgid "B Time Exceeded *\n"
7579 msgstr "B Time Exceeded *\n"
7580
7581 #. type: tbl table
7582 #: build/C/man7/icmp.7:142
7583 #, no-wrap
7584 msgid "C Parameter Problem *\n"
7585 msgstr "C Parameter Problem *\n"
7586
7587 #. type: tbl table
7588 #: build/C/man7/icmp.7:143
7589 #, no-wrap
7590 msgid "D Timestamp Request\n"
7591 msgstr "D Timestamp Request\n"
7592
7593 #. type: tbl table
7594 #: build/C/man7/icmp.7:144
7595 #, no-wrap
7596 msgid "E Timestamp Reply\n"
7597 msgstr "E Timestamp Reply\n"
7598
7599 #. type: tbl table
7600 #: build/C/man7/icmp.7:145
7601 #, no-wrap
7602 msgid "F Info Request\n"
7603 msgstr "F Info Request\n"
7604
7605 #. type: tbl table
7606 #: build/C/man7/icmp.7:146
7607 #, no-wrap
7608 msgid "G Info Reply\n"
7609 msgstr "G Info Reply\n"
7610
7611 #. type: tbl table
7612 #: build/C/man7/icmp.7:147
7613 #, no-wrap
7614 msgid "H Address Mask Request\n"
7615 msgstr "H Address Mask Request\n"
7616
7617 #. type: tbl table
7618 #: build/C/man7/icmp.7:148
7619 #, no-wrap
7620 msgid "I Address Mask Reply\n"
7621 msgstr "I Address Mask Reply\n"
7622
7623 #. type: Plain text
7624 #: build/C/man7/icmp.7:154
7625 msgid "The bits marked with an asterisk are rate limited by default (see the default mask above)."
7626 msgstr "アスタリスク印 (*) が付いたビットは、 デフォルトでレート制限が有効になっている (上記のマスクのデフォルトも参照)。"
7627
7628 #. type: TP
7629 #: build/C/man7/icmp.7:154
7630 #, no-wrap
7631 msgid "I<icmp_timeexceed_rate> (Linux 2.2 to 2.4.9)"
7632 msgstr "I<icmp_timeexceed_rate> (Linux 2.2 から 2.4.9 まで)"
7633
7634 #. type: Plain text
7635 #: build/C/man7/icmp.7:161
7636 msgid "Maximum rate for sending B<ICMP_TIME_EXCEEDED> packets.  These packets are sent to prevent loops when a packet has crossed too many hops."
7637 msgstr "B<ICMP_TIME_EXCEEDED> パケットの最大送信レート。 これらのパケットはパケットがあまりに多くの hop を通過した場合に、 ループを防ぐために送られる。"
7638
7639 #. type: Plain text
7640 #: build/C/man7/icmp.7:165
7641 msgid "Support for the B<ICMP_ADDRESS> request was removed in 2.2."
7642 msgstr "B<ICMP_ADDRESS> 要求に対するサポートは 2.2 で削除された。"
7643
7644 #. type: Plain text
7645 #: build/C/man7/icmp.7:169
7646 msgid "Support for B<ICMP_SOURCE_QUENCH> was removed in Linux 2.2."
7647 msgstr "B<ICMP_SOURCE_QUENCH> は Linux 2.2 で削除された。"
7648
7649 #.  not really true ATM
7650 #.  .PP
7651 #.  Linux ICMP should be compliant to RFC 1122.
7652 #. type: Plain text
7653 #: build/C/man7/icmp.7:177
7654 msgid "As many other implementations don't support B<IPPROTO_ICMP> raw sockets, this feature should not be relied on in portable programs."
7655 msgstr "他の多くの実装では、 B<IPPROTO_ICMP> raw ソケットがサポートされていない。 この機能は移植性が必要なプログラムでは用いるべきでない。"
7656
7657 #. type: Plain text
7658 #: build/C/man7/icmp.7:182
7659 msgid "B<ICMP_REDIRECT> packets are not sent when Linux is not acting as a router.  They are also accepted only from the old gateway defined in the routing table and the redirect routes are expired after some time."
7660 msgstr "Linux がルーターとして動作していないときには、 B<ICMP_REDIRECT> パケットは送信されない。 またこれらが受け取られるのも、発信元がルーティングテーブルに定義されている 古いゲートウェイで、リダイレクトルート (redirect route) が 適当な時間の後に期限切れになっている場合に限られる。"
7661
7662 #. type: Plain text
7663 #: build/C/man7/icmp.7:186
7664 msgid "The 64-bit timestamp returned by B<ICMP_TIMESTAMP> is in milliseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
7665 msgstr "B<ICMP_TIMESTAMP> から返される 64 ビットのタイムスタンプは、 紀元 (Epoch) である 1970-01-01 00:00:00 +0000 (UTC)  からの経過時間をミリ秒単位で表したものである。"
7666
7667 #. type: Plain text
7668 #: build/C/man7/icmp.7:191
7669 msgid "Linux ICMP internally uses a raw socket to send ICMPs.  This raw socket may appear in B<netstat>(8)  output with a zero inode."
7670 msgstr "Linux ICMP は ICMP を送るために内部で raw ソケットを用いる。 raw ソケットは B<netstat>(8)  の出力に 0 inode として出力される。"
7671
7672 #. type: Plain text
7673 #: build/C/man7/icmp.7:193
7674 msgid "B<ip>(7)"
7675 msgstr "B<ip>(7)"
7676
7677 #. type: Plain text
7678 #: build/C/man7/icmp.7:195
7679 msgid "RFC\\ 792 for a description of the ICMP protocol."
7680 msgstr "B<RFC\\ 792>: ICMP プロトコルの説明"
7681
7682 #. type: TH
7683 #: build/C/man3/inet.3:42
7684 #, no-wrap
7685 msgid "INET"
7686 msgstr "INET"
7687
7688 #. type: Plain text
7689 #: build/C/man3/inet.3:46
7690 msgid "inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - Internet address manipulation routines"
7691 msgstr "inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - インターネットアドレス操作ルーチン"
7692
7693 #. type: Plain text
7694 #: build/C/man3/inet.3:51
7695 #, no-wrap
7696 msgid ""
7697 "B<#include E<lt>sys/socket.hE<gt>>\n"
7698 "B<#include E<lt>netinet/in.hE<gt>>\n"
7699 "B<#include E<lt>arpa/inet.hE<gt>>\n"
7700 msgstr ""
7701 "B<#include E<lt>sys/socket.hE<gt>>\n"
7702 "B<#include E<lt>netinet/in.hE<gt>>\n"
7703 "B<#include E<lt>arpa/inet.hE<gt>>\n"
7704
7705 #. type: Plain text
7706 #: build/C/man3/inet.3:53
7707 #, no-wrap
7708 msgid "B<int inet_aton(const char *>I<cp>B<, struct in_addr *>I<inp>B<);>\n"
7709 msgstr "B<int inet_aton(const char *>I<cp>B<, struct in_addr *>I<inp>B<);>\n"
7710
7711 #. type: Plain text
7712 #: build/C/man3/inet.3:55
7713 #, no-wrap
7714 msgid "B<in_addr_t inet_addr(const char *>I<cp>B<);>\n"
7715 msgstr "B<in_addr_t inet_addr(const char *>I<cp>B<);>\n"
7716
7717 #. type: Plain text
7718 #: build/C/man3/inet.3:57
7719 #, no-wrap
7720 msgid "B<in_addr_t inet_network(const char *>I<cp>B<);>\n"
7721 msgstr "B<in_addr_t inet_network(const char *>I<cp>B<);>\n"
7722
7723 #. type: Plain text
7724 #: build/C/man3/inet.3:59
7725 #, no-wrap
7726 msgid "B<char *inet_ntoa(struct in_addr >I<in>B<);>\n"
7727 msgstr "B<char *inet_ntoa(struct in_addr >I<in>B<);>\n"
7728
7729 #. type: Plain text
7730 #: build/C/man3/inet.3:61
7731 #, no-wrap
7732 msgid "B<struct in_addr inet_makeaddr(in_addr_t >I<net>B<, in_addr_t >I<host>B<);>\n"
7733 msgstr "B<struct in_addr inet_makeaddr(in_addr_t >I<net>B<, in_addr_t >I<host>B<);>\n"
7734
7735 #. type: Plain text
7736 #: build/C/man3/inet.3:63
7737 #, no-wrap
7738 msgid "B<in_addr_t inet_lnaof(struct in_addr >I<in>B<);>\n"
7739 msgstr "B<in_addr_t inet_lnaof(struct in_addr >I<in>B<);>\n"
7740
7741 #. type: Plain text
7742 #: build/C/man3/inet.3:65
7743 #, no-wrap
7744 msgid "B<in_addr_t inet_netof(struct in_addr >I<in>B<);>\n"
7745 msgstr "B<in_addr_t inet_netof(struct in_addr >I<in>B<);>\n"
7746
7747 #. type: Plain text
7748 #: build/C/man3/inet.3:75
7749 msgid "B<inet_aton>(), B<inet_ntoa>(): _BSD_SOURCE || _SVID_SOURCE"
7750 msgstr "B<inet_aton>(), B<inet_ntoa>(): _BSD_SOURCE || _SVID_SOURCE"
7751
7752 #. type: Plain text
7753 #: build/C/man3/inet.3:85
7754 msgid "B<inet_aton>()  converts the Internet host address I<cp> from the IPv4 numbers-and-dots notation into binary form (in network byte order)  and stores it in the structure that I<inp> points to.  B<inet_aton>()  returns nonzero if the address is valid, zero if not.  The address supplied in I<cp> can have one of the following forms:"
7755 msgstr "B<inet_aton>()  は、インターネットホストのアドレス I<cp> を、 IPv4 の数値とドットによる表記から (ネットワークバイトオーダの) バイナリ値へ 変換し、変換結果を I<inp> が指している構造体に格納する。 アドレスが有効な場合 0 以外を返し、そうでない場合は 0 を返す。 I<cp> で渡すアドレスとして、以下の形式を用いることができる。"
7756
7757 #. type: TP
7758 #: build/C/man3/inet.3:85
7759 #, no-wrap
7760 msgid "I<a.b.c.d>"
7761 msgstr "I<a.b.c.d>"
7762
7763 #. type: Plain text
7764 #: build/C/man3/inet.3:89
7765 msgid "Each of the four numeric parts specifies a byte of the address; the bytes are assigned in left-to-right order to produce the binary address."
7766 msgstr "4 つの数字のそれぞれはアドレスの各バイトを示す。 これらのバイトは左から右の順序でバイナリアドレスに割り当てられる。"
7767
7768 #. type: TP
7769 #: build/C/man3/inet.3:89
7770 #, no-wrap
7771 msgid "I<a.b.c>"
7772 msgstr "I<a.b.c>"
7773
7774 #. type: Plain text
7775 #: build/C/man3/inet.3:102
7776 msgid "Parts I<a> and I<b> specify the first two bytes of the binary address.  Part I<c> is interpreted as a 16-bit value that defines the rightmost two bytes of the binary address.  This notation is suitable for specifying (outmoded) Class B network addresses."
7777 msgstr "I<a> と I<b> はバイナリアドレスの最初の 2 バイトを示す。 I<c> は 16 ビット値と解釈され、バイナリアドレスの右側の 2 バイトを表す。 この表記は、(過去のものとなった) クラス B ネットワークアドレスを 指定するのに適している。"
7778
7779 #. type: TP
7780 #: build/C/man3/inet.3:102
7781 #, no-wrap
7782 msgid "I<a.b>"
7783 msgstr "I<a.b>"
7784
7785 #. type: Plain text
7786 #: build/C/man3/inet.3:113
7787 msgid "Part I<a> specifies the first byte of the binary address.  Part I<b> is interpreted as a 24-bit value that defines the rightmost three bytes of the binary address.  This notation is suitable for specifying (outmoded) Class A network addresses."
7788 msgstr "I<a> はバイナリアドレスの最初のバイトを示す。 I<b> は 24 ビット値と解釈され、バイナリアドレスの右側の 3 バイトを表す。 この表記は、(過去のものとなった) クラス A ネットワークアドレスを 指定するのに適している。"
7789
7790 #. type: TP
7791 #: build/C/man3/inet.3:113
7792 #, no-wrap
7793 msgid "I<a>"
7794 msgstr "I<a>"
7795
7796 #. type: Plain text
7797 #: build/C/man3/inet.3:119
7798 msgid "The value I<a> is interpreted as a 32-bit value that is stored directly into the binary address without any byte rearrangement."
7799 msgstr "値 I<a> は 32 ビット値と解釈され、バイトの再配置は行われず、 そのままバイナリアドレスとして格納される。"
7800
7801 #. type: Plain text
7802 #: build/C/man3/inet.3:132
7803 msgid "In all of the above forms, components of the dotted address can be specified in decimal, octal (with a leading I<0>), or hexadecimal, with a leading I<0X>).  Addresses in any of these forms are collectively termed I<IPV4 numbers-and-dots notation>.  The form that uses exactly four decimal numbers is referred to as I<IPv4 dotted-decimal notation> (or sometimes: I<IPv4 dotted-quad notation>)."
7804 msgstr "上記の全ての形式で、ドット区切りのアドレスの各要素は、10 進数、 8 進数 (先頭に I<0> を付ける)、 16 進数 (先頭に I<0X> を付ける) で指定できる。 これらの形式のアドレスをまとめて I<IPv4 の数値とドットによる表記 (IPv4 numbers-and-dots notation)> と呼ぶ。 また、10 進数 4 つだけを使った形式を I<IPv4 のドット区切りの 10 進数表記 (IPv4 dotted-decimal notation)> と呼ぶ (I<IPv4 のドット区切り 4 分割表記 (IPv4 dotted-decimal notation)> と呼ぶこともある)。"
7805
7806 #. type: Plain text
7807 #: build/C/man3/inet.3:140
7808 msgid "B<inet_aton>()  returns 1 if the supplied string was successfully interpreted, or 0 if the string is invalid (B<errno> is I<not> set on error)."
7809 msgstr "B<inet_aton>() は渡された文字列が正常に解釈できた場合 1 を返し、 文字列が不正な場合 0 を返す (エラーの場合に B<errno> はセットI<されない>)。"
7810
7811 #. type: Plain text
7812 #: build/C/man3/inet.3:157
7813 msgid "The B<inet_addr>()  function converts the Internet host address I<cp> from IPv4 numbers-and-dots notation into binary data in network byte order.  If the input is invalid, B<INADDR_NONE> (usually -1) is returned.  Use of this function is problematic because -1 is a valid address (255.255.255.255).  Avoid its use in favor of B<inet_aton>(), B<inet_pton>(3), or B<getaddrinfo>(3), which provide a cleaner way to indicate error return."
7814 msgstr "B<inet_addr>()  関数は、インターネットホストのアドレス I<cp> を、 IPv4 の数値とドットによる表記からネットワークバイトオーダでの バイナリ値へ変換して返す。 入力が不正な場合、 B<INADDR_NONE> (普通は -1) を返す。 -1 は有効なアドレス (255.255.255.255) なので、この関数を使うと 問題になるかもしれない。 この関数を使うのは避け、代わりに B<inet_aton>(), B<inet_pton>(3), B<getaddrinfo>(3)  を使うのがよい。 これらの関数の方が、エラーの通知がよりきれいな方法で行われる。"
7815
7816 #. type: Plain text
7817 #: build/C/man3/inet.3:167
7818 msgid "The B<inet_network>()  function converts I<cp>, a string in IPv4 numbers-and-dots notation, into a number in host byte order suitable for use as an Internet network address.  On success, the converted address is returned.  If the input is invalid, -1 is returned."
7819 msgstr "B<inet_network>()  関数は、 IPv4 の数値とドットによる表記の文字列 I<cp> を、 インターネットアドレスとしての使用に適した ホストバイトオーダの数値に変換する。 成功すると、変換されたアドレスを返す。 入力が不正な場合は -1 を返す。"
7820
7821 #. type: Plain text
7822 #: build/C/man3/inet.3:175
7823 msgid "The B<inet_ntoa>()  function converts the Internet host address I<in>, given in network byte order, to a string in IPv4 dotted-decimal notation.  The string is returned in a statically allocated buffer, which subsequent calls will overwrite."
7824 msgstr "B<inet_ntoa>()  関数は、ネットワークバイトオーダで渡されたインターネットホストアドレス I<in> を、 IPv4 のドット区切りの 10 進数表記の文字列に変換する。 文字列は静的に割当てられたバッファーに格納されて返されるので、 この後でこの関数を再度呼び出すと文字列は上書きされる。"
7825
7826 #. type: Plain text
7827 #: build/C/man3/inet.3:181
7828 msgid "The B<inet_lnaof>()  function returns the local network address part of the Internet address I<in>.  The returned value is in host byte order."
7829 msgstr "B<inet_lnaof>()  関数は、インターネットアドレス I<in> のローカルネットワーク部分を返す。 この返り値はホストバイトオーダである。"
7830
7831 #. type: Plain text
7832 #: build/C/man3/inet.3:187
7833 msgid "The B<inet_netof>()  function returns the network number part of the Internet address I<in>.  The returned value is in host byte order."
7834 msgstr "B<inet_netof>()  関数は、インターネットアドレス I<in> のネットワーク部分を返す。 この返り値はホストバイトオーダである。"
7835
7836 #. type: Plain text
7837 #: build/C/man3/inet.3:198
7838 msgid "The B<inet_makeaddr>()  function is the converse of B<inet_netof>()  and B<inet_lnaof>().  It returns an Internet host address in network byte order, created by combining the network number I<net> with the local address I<host>, both in host byte order."
7839 msgstr "B<inet_makeaddr>()  関数は B<inet_netof>()  と B<inet_lnaof>()  の逆の機能を持つ。 ネットワーク番号 I<net> と、ローカルアドレス I<host> を 組み合わせて生成した、インターネットホストアドレスを ネットワークバイトオーダで返す。 I<host>, I<net> はともにホストバイトオーダである。"
7840
7841 #. type: Plain text
7842 #: build/C/man3/inet.3:208
7843 msgid "The structure I<in_addr> as used in B<inet_ntoa>(), B<inet_makeaddr>(), B<inet_lnaof>()  and B<inet_netof>()  is defined in I<E<lt>netinet/in.hE<gt>> as:"
7844 msgstr "B<inet_ntoa>(), B<inet_makeaddr>(), B<inet_lnaof>(), B<inet_netof>()  で使用する構造体 I<in_addr> は I<E<lt>netinet/in.hE<gt>> で次のように定義されている:"
7845
7846 #. type: Plain text
7847 #: build/C/man3/inet.3:212
7848 #, no-wrap
7849 msgid "typedef uint32_t in_addr_t;\n"
7850 msgstr "typedef uint32_t in_addr_t;\n"
7851
7852 #. type: Plain text
7853 #: build/C/man3/inet.3:216
7854 #, no-wrap
7855 msgid ""
7856 "struct in_addr {\n"
7857 "    in_addr_t s_addr;\n"
7858 "};\n"
7859 msgstr ""
7860 "struct in_addr {\n"
7861 "    in_addr_t s_addr;\n"
7862 "};\n"
7863
7864 #. type: Plain text
7865 #: build/C/man3/inet.3:226
7866 msgid "4.3BSD.  B<inet_addr>()  and B<inet_ntoa>()  are specified in POSIX.1-2001.  B<inet_aton>()  is not specified in POSIX.1-2001, but is available on most systems."
7867 msgstr "4.3BSD.  B<inet_addr>(), B<inet_ntoa>()  は POSIX.1-2001 で規定されている。 B<inet_aton>()  は POSIX.1-2001 で規定されていないが、ほとんどのシステムで利用可能である。"
7868
7869 #. type: Plain text
7870 #: build/C/man3/inet.3:230
7871 msgid "On the i386 the host byte order is Least Significant Byte first (little endian), whereas the network byte order, as used on the Internet, is Most Significant Byte first (big endian)."
7872 msgstr "i386 ではホストバイトオーダは Least Significant Byte (LSB) first (リトルエンディアン) だが、 インターネットで使われるネットワークバイトオーダは Most Significant Byte (MSB) first (ビッグエンディアン)  である点に注意すること。"
7873
7874 #. type: Plain text
7875 #: build/C/man3/inet.3:239
7876 msgid "B<inet_lnaof>(), B<inet_netof>(), and B<inet_makeaddr>()  are legacy functions that assume they are dealing with I<classful network addresses>.  Classful networking divides IPv4 network addresses into host and network components at byte boundaries, as follows:"
7877 msgstr "B<inet_lnaof>(), B<inet_netof>(), B<inet_makeaddr>()  は過去の名残であり、渡されたアドレスが I<クラスフルネットワークアドレス (classful network addresses)> であると仮定して処理を行う。 クラスフルネットワークアドレスでは、以下にあるように、 IPv4 ネットワークアドレスをバイト境界でネットワーク部とホスト部に分割する。"
7878
7879 #. type: TP
7880 #: build/C/man3/inet.3:239
7881 #, no-wrap
7882 msgid "Class A"
7883 msgstr "Class A"
7884
7885 #. type: Plain text
7886 #: build/C/man3/inet.3:245
7887 msgid "This address type is indicated by the value 0 in the most significant bit of the (network byte ordered) address.  The network address is contained in the most significant byte, and the host address occupies the remaining three bytes."
7888 msgstr "(ネットワークバイトオーダの) アドレスの最上位ビットが 0 の場合、 このアドレス種別となる。このアドレス種別では、 最上位バイトがネットワークアドレスを表し、 残りの 3 バイトがホストアドレスを表す。"
7889
7890 #. type: TP
7891 #: build/C/man3/inet.3:245
7892 #, no-wrap
7893 msgid "Class B"
7894 msgstr "Class B"
7895
7896 #. type: Plain text
7897 #: build/C/man3/inet.3:251
7898 msgid "This address type is indicated by the binary value 10 in the most significant two bits of the address.  The network address is contained in the two most significant bytes, and the host address occupies the remaining two bytes."
7899 msgstr "(ネットワークバイトオーダの) アドレスの上位側 2 ビットがバイナリ値で 10 の場合、このアドレス種別となる。このアドレス種別では、 上位 2 バイトがネットワークアドレスを表し、 残りの 2 バイトがホストアドレスを表す。"
7900
7901 #. type: TP
7902 #: build/C/man3/inet.3:251
7903 #, no-wrap
7904 msgid "Class C"
7905 msgstr "Class C"
7906
7907 #. type: Plain text
7908 #: build/C/man3/inet.3:257
7909 msgid "This address type is indicated by the binary value 110 in the most significant three bits of the address.  The network address is contained in the three most significant bytes, and the host address occupies the remaining byte."
7910 msgstr "(ネットワークバイトオーダの) アドレスの上位側 3 ビットがバイナリ値で 110 の場合、このアドレス種別となる。このアドレス種別では、 上位 3 バイトがネットワークアドレスを表し、 残りの 1 バイトがホストアドレスを表す。"
7911
7912 #. type: Plain text
7913 #: build/C/man3/inet.3:262
7914 msgid "Classful network addresses are now obsolete, having been superseded by Classless Inter-Domain Routing (CIDR), which divides addresses into network and host components at arbitrary bit (rather than byte) boundaries."
7915 msgstr "クラスフルネットワークアドレスは現在では廃止され、 クラスレスドメイン間ルーチン (CIDR) に取って代わられた。 CIDR では、アドレスを任意のビット境界 (バイト境界ではない) で ネットワーク部とホスト部に分割する。"
7916
7917 #. type: Plain text
7918 #: build/C/man3/inet.3:269
7919 msgid "An example of the use of B<inet_aton>()  and B<inet_ntoa>()  is shown below.  Here are some example runs:"
7920 msgstr "以下は B<inet_aton>()  と B<inet_ntoa>()  の使用例である。このように実行する。"
7921
7922 #. type: Plain text
7923 #: build/C/man3/inet.3:276
7924 #, no-wrap
7925 msgid ""
7926 "$B< ./a.out 226.000.000.037>      # Last byte is in octal\n"
7927 "226.0.0.31\n"
7928 "$B< ./a.out 0x7f.1         >      # First byte is in hex\n"
7929 "127.0.0.1\n"
7930 msgstr ""
7931 "$B< ./a.out 226.000.000.037>      # Last byte is in octal\n"
7932 "226.0.0.31\n"
7933 "$B< ./a.out 0x7f.1         >      # First byte is in hex\n"
7934 "127.0.0.1\n"
7935
7936 #. type: Plain text
7937 #: build/C/man3/inet.3:285
7938 #, no-wrap
7939 msgid ""
7940 "#define _BSD_SOURCE\n"
7941 "#include E<lt>arpa/inet.hE<gt>\n"
7942 "#include E<lt>stdio.hE<gt>\n"
7943 "#include E<lt>stdlib.hE<gt>\n"
7944 msgstr ""
7945 "#define _BSD_SOURCE\n"
7946 "#include E<lt>arpa/inet.hE<gt>\n"
7947 "#include E<lt>stdio.hE<gt>\n"
7948 "#include E<lt>stdlib.hE<gt>\n"
7949
7950 #. type: Plain text
7951 #: build/C/man3/inet.3:290
7952 #, no-wrap
7953 msgid ""
7954 "int\n"
7955 "main(int argc, char *argv[])\n"
7956 "{\n"
7957 "    struct in_addr addr;\n"
7958 msgstr ""
7959 "int\n"
7960 "main(int argc, char *argv[])\n"
7961 "{\n"
7962 "    struct in_addr addr;\n"
7963
7964 #. type: Plain text
7965 #: build/C/man3/inet.3:295
7966 #, no-wrap
7967 msgid ""
7968 "    if (argc != 2) {\n"
7969 "        fprintf(stderr, \"%s E<lt>dotted-addressE<gt>\\en\", argv[0]);\n"
7970 "        exit(EXIT_FAILURE);\n"
7971 "    }\n"
7972 msgstr ""
7973 "    if (argc != 2) {\n"
7974 "        fprintf(stderr, \"%s E<lt>dotted-addressE<gt>\\en\", argv[0]);\n"
7975 "        exit(EXIT_FAILURE);\n"
7976 "    }\n"
7977
7978 #. type: Plain text
7979 #: build/C/man3/inet.3:300
7980 #, no-wrap
7981 msgid ""
7982 "    if (inet_aton(argv[1], &addr) == 0) {\n"
7983 "        fprintf(stderr, \"Invalid address\\en\");\n"
7984 "        exit(EXIT_FAILURE);\n"
7985 "    }\n"
7986 msgstr ""
7987 "    if (inet_aton(argv[1], &addr) == 0) {\n"
7988 "        fprintf(stderr, \"Invalid address\\en\");\n"
7989 "        exit(EXIT_FAILURE);\n"
7990 "    }\n"
7991
7992 #. type: Plain text
7993 #: build/C/man3/inet.3:304
7994 #, no-wrap
7995 msgid ""
7996 "    printf(\"%s\\en\", inet_ntoa(addr));\n"
7997 "    exit(EXIT_SUCCESS);\n"
7998 "}\n"
7999 msgstr ""
8000 "    printf(\"%s\\en\", inet_ntoa(addr));\n"
8001 "    exit(EXIT_SUCCESS);\n"
8002 "}\n"
8003
8004 #. type: Plain text
8005 #: build/C/man3/inet.3:316
8006 msgid "B<byteorder>(3), B<getaddrinfo>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<getnetent>(3), B<inet_net_pton>(3), B<inet_ntop>(3), B<inet_pton>(3), B<hosts>(5), B<networks>(5)"
8007 msgstr "B<byteorder>(3), B<getaddrinfo>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<getnetent>(3), B<inet_net_pton>(3), B<inet_ntop>(3), B<inet_pton>(3), B<hosts>(5), B<networks>(5)"
8008
8009 #. type: TH
8010 #: build/C/man3/inet_net_pton.3:26
8011 #, no-wrap
8012 msgid "INET_NET_PTON"
8013 msgstr "INET_NET_PTON"
8014
8015 #. type: Plain text
8016 #: build/C/man3/inet_net_pton.3:29
8017 msgid "inet_net_pton, inet_net_ntop - Internet network number conversion"
8018 msgstr "inet_net_pton, inet_net_ntop - インターネットのネットワーク番号の変換"
8019
8020 #. type: Plain text
8021 #: build/C/man3/inet_net_pton.3:35
8022 #, no-wrap
8023 msgid ""
8024 "B<int inet_net_pton(int >I<af>B<, const char *>I<pres>B<,>\n"
8025 "B<                  void *>I<netp>B<, size_t >I<nsize>B<);>\n"
8026 msgstr ""
8027 "B<int inet_net_pton(int >I<af>B<, const char *>I<pres>B<,>\n"
8028 "B<                  void *>I<netp>B<, size_t >I<nsize>B<);>\n"
8029
8030 #. type: Plain text
8031 #: build/C/man3/inet_net_pton.3:38
8032 #, no-wrap
8033 msgid ""
8034 "B<char *inet_net_ntop(int >I<af>B<, const void *>I<netp>B<, int >I<bits>B<,>\n"
8035 "B<                    char *>I<pres>B<, size_t >I<psize>B<);>\n"
8036 msgstr ""
8037 "B<char *inet_net_ntop(int >I<af>B<, const void *>I<netp>B<, int >I<bits>B<,>\n"
8038 "B<                    char *>I<pres>B<, size_t >I<psize>B<);>\n"
8039
8040 #. type: Plain text
8041 #: build/C/man3/inet_net_pton.3:41 build/C/man3/resolver.3:85
8042 msgid "Link with I<-lresolv>."
8043 msgstr "I<-lresolv> でリンクする。"
8044
8045 #. type: Plain text
8046 #: build/C/man3/inet_net_pton.3:49
8047 msgid "B<inet_net_pton>(), B<inet_net_ntop>():"
8048 msgstr "B<inet_net_pton>(), B<inet_net_ntop>():"
8049
8050 #. type: TP
8051 #: build/C/man3/inet_net_pton.3:52
8052 #, no-wrap
8053 msgid "Since glibc 2.20:"
8054 msgstr "glibc 2.20 以降:"
8055
8056 #. type: Plain text
8057 #: build/C/man3/inet_net_pton.3:55
8058 msgid "_DEFAULT_SOURCE"
8059 msgstr "_DEFAULT_SOURCE"
8060
8061 #. type: TP
8062 #: build/C/man3/inet_net_pton.3:55
8063 #, no-wrap
8064 msgid "Before glibc 2.20:"
8065 msgstr "glibc 2.20 より前:"
8066
8067 #. type: Plain text
8068 #: build/C/man3/inet_net_pton.3:64
8069 msgid "These functions convert network numbers between presentation (i.e., printable) format and network (i.e., binary) format."
8070 msgstr "これらの関数は (印字可能な) 表記形式とネットワーク形式 (バイナリー形式) 間の変換を行う。"
8071
8072 #. type: Plain text
8073 #: build/C/man3/inet_net_pton.3:70
8074 msgid "For both functions, I<af> specifies the address family for the conversion; the only supported value is B<AF_INET>."
8075 msgstr "どちらの関数でも I<af> は変換を行うアドレスファミリーを指定する。 サポートされている値は B<AF_INET> だけである。"
8076
8077 #. type: SS
8078 #: build/C/man3/inet_net_pton.3:70
8079 #, no-wrap
8080 msgid "inet_net_pton()"
8081 msgstr "inet_net_pton()"
8082
8083 #. type: Plain text
8084 #: build/C/man3/inet_net_pton.3:89
8085 msgid "The B<inet_net_pton>()  function converts I<pres>, a null-terminated string containing an Internet network number in presentation format to network format.  The result of the conversion, which is in network byte order, is 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>."
8086 msgstr "B<inet_net_pton>() 関数は、 表記形式でインターネットネットワーク番号を格納した NULL 終端された文字列である I<pres> をネットワーク形式に変換する。 ネットワークバイトオーダーの変換結果は I<netp> が指すバッファーに格納される (I<netp> 引き数は通常 I<in_addr> 構造体を指している)。 I<nsize> 引き数は I<netp> で利用可能なバイト数を示す。"
8087
8088 #. type: Plain text
8089 #: build/C/man3/inet_net_pton.3:97
8090 msgid "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."
8091 msgstr "成功すると B<inet_net_pton>() は I<netp> に格納した結果のネットワーク番号フィールドのビット数を返す。 入力の表記形式と返り値に関する議論は「注意」の節を参照。"
8092
8093 #. type: Plain text
8094 #: build/C/man3/inet_net_pton.3:107
8095 msgid "I<Note>: the buffer pointed to by I<netp> should be zeroed out before 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."
8096 msgstr "I<注意>: I<netp> が指すバッファーは B<inet_net_pton>() の呼び出し前に 0 で埋めるべきである。 呼び出しではネットワーク番号で必要なバイトだけが書き込まれ、 そのバイト数は完全なネットワークアドレスのバイト数よりも少ないこともある。"
8097
8098 #. type: SS
8099 #: build/C/man3/inet_net_pton.3:107
8100 #, no-wrap
8101 msgid "inet_net_ntop()"
8102 msgstr "inet_net_ntop()"
8103
8104 #. type: Plain text
8105 #: build/C/man3/inet_net_pton.3:119
8106 msgid "The B<inet_net_ntop>()  function converts the network number in the buffer 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>."
8107 msgstr "B<inet_net_ntop>() 関数は I<netp> が指すバッファーのネットワーク番号を表記形式に変換する。 I<*netp> はネットワークバイトオーダーでの値として解釈される。 I<bits> 引き数は I<*netp> のネットワーク番号のビット数を指定する。"
8108
8109 #. type: Plain text
8110 #: build/C/man3/inet_net_pton.3:130
8111 msgid "The null-terminated presentation-format string is placed in the buffer pointed to by I<pres>.  The I<psize> argument specifies the number of bytes 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."
8112 msgstr "NULL 終端された表記形式の文字列は I<pres> が指すバッファーに格納される。 I<psize> 引き数は I<pres> で利用可能なバイト数を指定する。 表記形式は CIDR 形式、 つまり、 ネットワークアドレスを表すドット区切りの 10 進数に、 スラッシュとネットワーク番号のビットサイズが続く形式である。"
8113
8114 #. type: Plain text
8115 #: build/C/man3/inet_net_pton.3:137
8116 msgid "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."
8117 msgstr "成功すると B<inet_net_pton>() はネットワーク番号のビット数を返す。 エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
8118
8119 #. type: Plain text
8120 #: build/C/man3/inet_net_pton.3:145
8121 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."
8122 msgstr "成功すると B<inet_net_ntop>() は I<pres> を返す。 エラーの場合、 NULL を返し、 I<errno> にエラーを示す値がセットされる。"
8123
8124 #. type: TP
8125 #: build/C/man3/inet_net_pton.3:146 build/C/man3/inet_ntop.3:92
8126 #, no-wrap
8127 msgid "B<EAFNOSUPPORT>"
8128 msgstr "B<EAFNOSUPPORT>"
8129
8130 #. type: Plain text
8131 #: build/C/man3/inet_net_pton.3:151
8132 msgid "I<af> specified a value other than B<AF_INET>."
8133 msgstr "I<af> に B<AF_INET> 以外の値が指定された。"
8134
8135 #. type: Plain text
8136 #: build/C/man3/inet_net_pton.3:154
8137 msgid "The size of the output buffer was insufficient."
8138 msgstr "出力バッファーのサイズが十分でなかった。"
8139
8140 #. type: Plain text
8141 #: build/C/man3/inet_net_pton.3:159
8142 msgid "(B<inet_net_pton>())  I<pres> was not in correct presentation format."
8143 msgstr "(B<inet_net_pton>() の場合) I<pres> が正しい表記形式ではなかった。"
8144
8145 #. type: Plain text
8146 #: build/C/man3/inet_net_pton.3:165
8147 msgid "The B<inet_net_pton>()  and B<inet_net_ntop>()  functions are nonstandard, but widely available."
8148 msgstr "関数 B<inet_net_pton>() と B<inet_net_ntop>() は非標準だが、多くのシステムで利用可能である。"
8149
8150 #. type: SS
8151 #: build/C/man3/inet_net_pton.3:166
8152 #, no-wrap
8153 msgid "Input presentation format for inet_net_pton()"
8154 msgstr "inet_net_pton() の入力の表記形式"
8155
8156 #. type: Plain text
8157 #: build/C/man3/inet_net_pton.3:170
8158 msgid "The network number may be specified either as a hexadecimal value or in dotted-decimal notation."
8159 msgstr "ネットワーク番号は、 16 進数値、またはドット区切りの 10 進数表記で指定できる。"
8160
8161 #.  If the hexadecimal string is short, the remaining nibbles are zeroed.
8162 #. type: Plain text
8163 #: build/C/man3/inet_net_pton.3:175
8164 msgid "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."
8165 msgstr "先頭に \"0x\" か \"0X\" がある場合 16 進数値となる。 16 進数はネットワークバイトオーダーの左から右へ半オクテット (4 ビット) ずつ順番に埋められる。"
8166
8167 #. type: Plain text
8168 #: build/C/man3/inet_net_pton.3:179
8169 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:"
8170 msgstr "ドット区切りの 10 進数表記では、 最大 4 つのオクテットをドット区切りの 10 進数で指定する。 したがって、 以下の形式を指定できる。"
8171
8172 #. type: Plain text
8173 #: build/C/man3/inet_net_pton.3:184
8174 #, no-wrap
8175 msgid ""
8176 "    a.b.c.d\n"
8177 "    a.b.c\n"
8178 "    a.b\n"
8179 "    a\n"
8180 msgstr ""
8181 "    a.b.c.d\n"
8182 "    a.b.c\n"
8183 "    a.b\n"
8184 "    a\n"
8185
8186 #.  Reading other man pages, some other implementations treat
8187 #.      'c' in a.b.c as a 16-bit number that populates right-most two bytes
8188 #.      'b' in a.b as a 24-bit number that populates right-most three bytes
8189 #. type: Plain text
8190 #: build/C/man3/inet_net_pton.3:192
8191 msgid "Each part is a number in the range 0 to 255 that populates one byte of the 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."
8192 msgstr "各部分は 0 から 255 の範囲の数字で、ネットワーク番号の各バイトに左から右にネットワークバイトオーダー (ビッグエンディアン) で順番に埋められる。 省略された部分があれば、 対応するネットワーク番号のバイトは 0 となる。"
8193
8194 #. type: Plain text
8195 #: build/C/man3/inet_net_pton.3:197
8196 msgid "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."
8197 msgstr "16 進数とドット区切りの 10 進数形式のどちらの場合も、 ネットワーク番号の後ろにスラッシュと 0 から 32 の範囲の数字をオプションで付けることができる。 この数字はネットワーク番号のビット単位のサイズを示すものである。"
8198
8199 #. type: SS
8200 #: build/C/man3/inet_net_pton.3:197
8201 #, no-wrap
8202 msgid "Return value of inet_net_pton()"
8203 msgstr "inet_net_pton() の返り値"
8204
8205 #. type: Plain text
8206 #: build/C/man3/inet_net_pton.3:207
8207 msgid "The return value of B<inet_net_pton>()  is the number of bits in the network number field.  If the input presentation string terminates with a slash and 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:"
8208 msgstr "B<inet_net_pton>() の返り値はネットワーク番号フィールドのビット数である。 入力の表記形式の文字列がスラッシュとサイズの明示的な値で終わっている場合、 指定されたサイズが B<inet_net_pton>() の返り値となる。 そうでない場合は、 返り値 I<bits> が以下のようにして推測される。"
8209
8210 #. type: Plain text
8211 #: build/C/man3/inet_net_pton.3:213
8212 msgid "If the most significant byte of the network number is greater than or equal to 240, then I<bits> is 32."
8213 msgstr "ネットワーク番号の最上位バイトが 240 以上の場合、 I<bits> は 32 となる。"
8214
8215 #. type: Plain text
8216 #: build/C/man3/inet_net_pton.3:220
8217 msgid "Otherwise, if the most significant byte of the network number is greater than or equal to 224, then I<bits> is 4."
8218 msgstr "それ以外で、 ネットワーク番号の最上位バイトが 224 以上の場合、 I<bits> は 4 となる。"
8219
8220 #. type: Plain text
8221 #: build/C/man3/inet_net_pton.3:227
8222 msgid "Otherwise, if the most significant byte of the network number is greater than or equal to 192, then I<bits> is 24."
8223 msgstr "それ以外で、 ネットワーク番号の最上位バイトが 192 以上の場合、 I<bits> は 24 となる。"
8224
8225 #. type: Plain text
8226 #: build/C/man3/inet_net_pton.3:234
8227 msgid "Otherwise, if the most significant byte of the network number is greater than or equal to 128, then I<bits> is 16."
8228 msgstr "それ以外で、 ネットワーク番号の最上位バイトが 128 以上の場合、 I<bits> は 16 となる。"
8229
8230 #. type: Plain text
8231 #: build/C/man3/inet_net_pton.3:238
8232 msgid "Otherwise, I<bits> is 8."
8233 msgstr "それ以外の場合、 I<bits> は 8 となる。"
8234
8235 #. type: Plain text
8236 #: build/C/man3/inet_net_pton.3:247
8237 msgid "If the resulting I<bits> value from the above steps is greater than or equal 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."
8238 msgstr "上記の手順から得られる I<bits> の値が 8 以上だが、 ネットワーク番号で指定されたオクテット数が I<bits/8> より大きい場合、 I<bits> には実際に指定されたオクテット数を 8 倍した値が設定される。"
8239
8240 #. type: Plain text
8241 #: build/C/man3/inet_net_pton.3:261
8242 msgid "The program below demonstrates the use of B<inet_net_pton>()  and B<inet_net_ntop>().  It uses B<inet_net_pton>()  to convert the presentation format network address provided in its first command-line argument to binary 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."
8243 msgstr "以下のプログラムは B<inet_net_pton>() と B<inet_net_ntop>() の使用例を示すものである。 B<inet_net_pton>() を使って、 コマンドラインの最初の引き数で渡された表記形式のネットワークアドレスをバイナリー形式に変換し、 I<inet_net_pton>() の返り値を出力する。 それから B<inet_net_ntop>() を使ってバイナリー形式を表記形式に再度戻して、結果の文字列を出力する。"
8244
8245 #. type: Plain text
8246 #: build/C/man3/inet_net_pton.3:275
8247 msgid "In order to demonstrate that B<inet_net_pton>()  may not write to all bytes of its I<netp> argument, the program allows an optional second command-line argument, a number used to initialize the buffer before B<inet_net_pton>()  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>()."
8248 msgstr "B<inet_net_pton>() が I<netp> 引き数のすべてのバイトに書き込むわけではないことを示すため、 プログラムにはオプションで 2 番目のコマンドライン引き数を指定することができ、 その引き数の数字を使って B<inet_net_pton>() を呼び出す前にバッファーを初期化する。 出力の最終行として、 ユーザーがどのバイトが B<inet_net_pton>() によって変更されなかったかを確認できるように、 プログラムは B<inet_net_pton>() が返したバッファーの全バイトを表示する。"
8249
8250 #. type: Plain text
8251 #: build/C/man3/inet_net_pton.3:279
8252 msgid "An example run, showing that B<inet_net_pton>()  infers the number of bits in the network number:"
8253 msgstr "この実行例では、 B<inet_net_pton>() が推測したネットワーク番号のビット数を表示する。"
8254
8255 #. type: Plain text
8256 #: build/C/man3/inet_net_pton.3:286
8257 #, no-wrap
8258 msgid ""
8259 "$ B<./a.out 193.168>\n"
8260 "inet_net_pton() returned: 24\n"
8261 "inet_net_ntop() yielded:  193.168.0/24\n"
8262 "Raw address:              c1a80000\n"
8263 msgstr ""
8264 "$ B<./a.out 193.168>\n"
8265 "inet_net_pton() returned: 24\n"
8266 "inet_net_ntop() yielded:  193.168.0/24\n"
8267 "Raw address:              c1a80000\n"
8268
8269 #. type: Plain text
8270 #: build/C/man3/inet_net_pton.3:292
8271 msgid "Demonstrate that B<inet_net_pton>()  does not zero out unused bytes in its result buffer:"
8272 msgstr "B<inet_net_pton>() が結果のバッファーの未使用バイトを 0 埋めしないことを確認する。"
8273
8274 #. type: Plain text
8275 #: build/C/man3/inet_net_pton.3:299
8276 #, no-wrap
8277 msgid ""
8278 "$ B<./a.out 193.168 0xffffffff>\n"
8279 "inet_net_pton() returned: 24\n"
8280 "inet_net_ntop() yielded:  193.168.0/24\n"
8281 "Raw address:              c1a800ff\n"
8282 msgstr ""
8283 "$ B<./a.out 193.168 0xffffffff>\n"
8284 "inet_net_pton() returned: 24\n"
8285 "inet_net_ntop() yielded:  193.168.0/24\n"
8286 "Raw address:              c1a800ff\n"
8287
8288 #. type: Plain text
8289 #: build/C/man3/inet_net_pton.3:307
8290 msgid "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:"
8291 msgstr "表記形式の文字列で渡されたバイト数が推測した値より大きい場合、 B<inet_net_pton>() が推測するネットワーク番号のサイズを広げることを確認する。"
8292
8293 #. type: Plain text
8294 #: build/C/man3/inet_net_pton.3:314
8295 #, no-wrap
8296 msgid ""
8297 "$ B<./a.out 193.168.1.128>\n"
8298 "inet_net_pton() returned: 32\n"
8299 "inet_net_ntop() yielded:  193.168.1.128/32\n"
8300 "Raw address:              c1a80180\n"
8301 msgstr ""
8302 "$ B<./a.out 193.168.1.128>\n"
8303 "inet_net_pton() returned: 32\n"
8304 "inet_net_ntop() yielded:  193.168.1.128/32\n"
8305 "Raw address:              c1a80180\n"
8306
8307 #. type: Plain text
8308 #: build/C/man3/inet_net_pton.3:322
8309 msgid "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):"
8310 msgstr "ネットワーク番号のサイズが明示的に指定すると、推測されるネットワーク番号のサイズが上書きされる (ただし、 明示的に指定された残りのバイトは B<inet_net_pton>() で使用され、結果のバッファーに書き込まれる)。"
8311
8312 #. type: Plain text
8313 #: build/C/man3/inet_net_pton.3:329
8314 #, no-wrap
8315 msgid ""
8316 "$ B<./a.out 193.168.1.128/24>\n"
8317 "inet_net_pton() returned: 24\n"
8318 "inet_net_ntop() yielded:  193.168.1/24\n"
8319 "Raw address:              c1a80180\n"
8320 msgstr ""
8321 "$ B<./a.out 193.168.1.128/24>\n"
8322 "inet_net_pton() returned: 24\n"
8323 "inet_net_ntop() yielded:  193.168.1/24\n"
8324 "Raw address:              c1a80180\n"
8325
8326 #. type: Plain text
8327 #: build/C/man3/inet_net_pton.3:334
8328 #, no-wrap
8329 msgid "/* Link with \"-lresolv\" */\n"
8330 msgstr "/* \"-lresolv\" でリンクする */\n"
8331
8332 #. type: Plain text
8333 #: build/C/man3/inet_net_pton.3:338
8334 #, no-wrap
8335 msgid ""
8336 "#include E<lt>arpa/inet.hE<gt>\n"
8337 "#include E<lt>stdio.hE<gt>\n"
8338 "#include E<lt>stdlib.hE<gt>\n"
8339 msgstr ""
8340 "#include E<lt>arpa/inet.hE<gt>\n"
8341 "#include E<lt>stdio.hE<gt>\n"
8342 "#include E<lt>stdlib.hE<gt>\n"
8343
8344 #. type: Plain text
8345 #: build/C/man3/inet_net_pton.3:341
8346 #, no-wrap
8347 msgid ""
8348 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
8349 "                        } while (0)\n"
8350 msgstr ""
8351 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
8352 "                        } while (0)\n"
8353
8354 #. type: Plain text
8355 #: build/C/man3/inet_net_pton.3:348
8356 #, no-wrap
8357 msgid ""
8358 "int\n"
8359 "main(int argc, char *argv[])\n"
8360 "{\n"
8361 "    char buf[100];\n"
8362 "    struct in_addr addr;\n"
8363 "    int bits;\n"
8364 msgstr ""
8365 "int\n"
8366 "main(int argc, char *argv[])\n"
8367 "{\n"
8368 "    char buf[100];\n"
8369 "    struct in_addr addr;\n"
8370 "    int bits;\n"
8371
8372 #. type: Plain text
8373 #: build/C/man3/inet_net_pton.3:355
8374 #, no-wrap
8375 msgid ""
8376 "    if (argc E<lt> 2) {\n"
8377 "        fprintf(stderr,\n"
8378 "                \"Usage: %s presentation-form [addr-init-value]\\en\",\n"
8379 "                argv[0]);\n"
8380 "        exit(EXIT_FAILURE);\n"
8381 "    }\n"
8382 msgstr ""
8383 "    if (argc E<lt> 2) {\n"
8384 "        fprintf(stderr,\n"
8385 "                \"Usage: %s presentation-form [addr-init-value]\\en\",\n"
8386 "                argv[0]);\n"
8387 "        exit(EXIT_FAILURE);\n"
8388 "    }\n"
8389
8390 #. type: Plain text
8391 #: build/C/man3/inet_net_pton.3:361
8392 #, no-wrap
8393 msgid ""
8394 "    /* If argv[2] is supplied (a numeric value), use it to initialize\n"
8395 "       the output buffer given to inet_net_pton(), so that we can see\n"
8396 "       that inet_net_pton() initializes only those bytes needed for\n"
8397 "       the network number. If argv[2] is not supplied, then initialize\n"
8398 "       the buffer to zero (as is recommended practice). */\n"
8399 msgstr ""
8400 "    /* argv[2] (数値) が指定されると、その数字を使って inet_net_pton()\n"
8401 "       に渡す出力バッファーを初期化する。これにより inet_net_pton() が\n"
8402 "       ネットワーク番号に必要なバイトだけを書き込むことを確認できるよう\n"
8403 "       にする。 argv[2] が指定されなかった場合、バッファーは 0 で初期化\n"
8404 "       する (これが推奨される方法である)。 */\n"
8405
8406 #. type: Plain text
8407 #: build/C/man3/inet_net_pton.3:363
8408 #, no-wrap
8409 msgid "    addr.s_addr = (argc E<gt> 2) ? strtod(argv[2], NULL) : 0;\n"
8410 msgstr "    addr.s_addr = (argc E<gt> 2) ? strtod(argv[2], NULL) : 0;\n"
8411
8412 #. type: Plain text
8413 #: build/C/man3/inet_net_pton.3:365
8414 #, no-wrap
8415 msgid "    /* Convert presentation network number in argv[1] to binary */\n"
8416 msgstr "    /* argv[1] の表記形式のネットワーク番号をバイナリー形式に変換する */\n"
8417
8418 #. type: Plain text
8419 #: build/C/man3/inet_net_pton.3:369
8420 #, no-wrap
8421 msgid ""
8422 "    bits = inet_net_pton(AF_INET, argv[1], &addr, sizeof(addr));\n"
8423 "    if (bits == -1)\n"
8424 "        errExit(\"inet_net_ntop\");\n"
8425 msgstr ""
8426 "    bits = inet_net_pton(AF_INET, argv[1], &addr, sizeof(addr));\n"
8427 "    if (bits == -1)\n"
8428 "        errExit(\"inet_net_ntop\");\n"
8429
8430 #. type: Plain text
8431 #: build/C/man3/inet_net_pton.3:371
8432 #, no-wrap
8433 msgid "    printf(\"inet_net_pton() returned: %d\\en\", bits);\n"
8434 msgstr "    printf(\"inet_net_pton() returned: %d\\en\", bits);\n"
8435
8436 #. type: Plain text
8437 #: build/C/man3/inet_net_pton.3:374
8438 #, no-wrap
8439 msgid ""
8440 "    /* Convert binary format back to presentation, using \\(aqbits\\(aq\n"
8441 "       returned by inet_net_pton() */\n"
8442 msgstr ""
8443 "    /* inet_net_pton() が返した \\(aqbits\\(aq を使って、\n"
8444 "       バイナリー形式を表記形式に変換する */\n"
8445
8446 #. type: Plain text
8447 #: build/C/man3/inet_net_pton.3:377
8448 #, no-wrap
8449 msgid ""
8450 "    if (inet_net_ntop(AF_INET, &addr, bits, buf, sizeof(buf)) == NULL)\n"
8451 "        errExit(\"inet_net_ntop\");\n"
8452 msgstr ""
8453 "    if (inet_net_ntop(AF_INET, &addr, bits, buf, sizeof(buf)) == NULL)\n"
8454 "        errExit(\"inet_net_ntop\");\n"
8455
8456 #. type: Plain text
8457 #: build/C/man3/inet_net_pton.3:379
8458 #, no-wrap
8459 msgid "    printf(\"inet_net_ntop() yielded:  %s\\en\", buf);\n"
8460 msgstr "    printf(\"inet_net_ntop() yielded:  %s\\en\", buf);\n"
8461
8462 #. type: Plain text
8463 #: build/C/man3/inet_net_pton.3:384
8464 #, no-wrap
8465 msgid ""
8466 "    /* Display \\(aqaddr\\(aq in raw form (in network byte order), so we can\n"
8467 "       see bytes not displayed by inet_net_ntop(); some of those bytes\n"
8468 "       may not have been touched by inet_net_ntop(), and so will still\n"
8469 "       have any initial value that was specified in argv[2]. */\n"
8470 msgstr ""
8471 "    /* \\(aqaddr\\(aq を名前の形で (ネットワークバイトオーダーで) 表示する。\n"
8472 "       これにより inet_net_ntop() が表示しないバイトを確認できる。\n"
8473 "       これらのバイトの一部は inet_net_ntop() では変更されない場合があり、\n"
8474 "       その場合 argv[2] で指定された初期値のままになる。 */\n"
8475
8476 #. type: Plain text
8477 #: build/C/man3/inet_net_pton.3:386
8478 #, no-wrap
8479 msgid "    printf(\"Raw address:              %x\\en\", htonl(addr.s_addr));\n"
8480 msgstr "    printf(\"Raw address:              %x\\en\", htonl(addr.s_addr));\n"
8481
8482 #. type: Plain text
8483 #: build/C/man3/inet_net_pton.3:393
8484 msgid "B<inet>(3), B<networks>(5)"
8485 msgstr "B<inet>(3), B<networks>(5)"
8486
8487 #. type: TH
8488 #: build/C/man3/inet_ntop.3:26
8489 #, no-wrap
8490 msgid "INET_NTOP"
8491 msgstr "INET_NTOP"
8492
8493 #. type: TH
8494 #: build/C/man3/inet_ntop.3:26
8495 #, no-wrap
8496 msgid "2008-11-11"
8497 msgstr "2008-11-11"
8498
8499 #. type: Plain text
8500 #: build/C/man3/inet_ntop.3:29
8501 msgid "inet_ntop - convert IPv4 and IPv6 addresses from binary to text form"
8502 msgstr "inet_ntop - IPv4/IPv6 アドレスをバイナリ形式からテキスト形式に変換する"
8503
8504 #. type: Plain text
8505 #: build/C/man3/inet_ntop.3:35
8506 #, no-wrap
8507 msgid ""
8508 "B<const char *inet_ntop(int >I<af>B<, const void *>I<src>B<,>\n"
8509 "B<                      char *>I<dst>B<, socklen_t >I<size>B<);>\n"
8510 msgstr ""
8511 "B<const char *inet_ntop(int >I<af>B<, const void *>I<src>B<,>\n"
8512 "B<                      char *>I<dst>B<, socklen_t >I<size>B<);>\n"
8513
8514 #. type: Plain text
8515 #: build/C/man3/inet_ntop.3:48
8516 msgid "This function converts the network address structure I<src> in the I<af> address family into a character string.  The resulting string is copied to the buffer pointed to by I<dst>, which must be a non-null pointer.  The caller specifies the number of bytes available in this buffer in the argument I<size>."
8517 msgstr "この関数は、 I<af> アドレスファミリーのネットワークアドレス構造体 I<src> を文字列に変換する。 変換結果の文字列は、 I<dst> が指すバッファーにコピーされる。 I<dst> は NULL でないポインターでなければならない。 呼び出し時に、このバッファーで利用できるバイト数を 引き数 I<size> に指定する。"
8518
8519 #. type: Plain text
8520 #: build/C/man3/inet_ntop.3:57
8521 msgid "B<inet_ntop>()  extends the B<inet_ntoa>(3)  function to support multiple address families, B<inet_ntoa>(3)  is now considered to be deprecated in favor of B<inet_ntop>().  The following address families are currently supported:"
8522 msgstr "B<inet_ntop>()  は B<inet_ntoa>(3)  関数を拡張して複数のアドレスファミリーを扱えるようにしたものである。 今後は B<inet_ntoa>(3)  は使わず、 B<inet_ntop>()  を使うようにすると良いだろう。 現在サポートされているアドレスファミリーは以下の通り:"
8523
8524 #. type: Plain text
8525 #: build/C/man3/inet_ntop.3:70
8526 msgid "I<src> points to a I<struct in_addr> (in network byte order)  which is converted to an IPv4 network address in the dotted-decimal format, \"I<ddd.ddd.ddd.ddd>\".  The buffer I<dst> must be at least B<INET_ADDRSTRLEN> bytes long."
8527 msgstr "この場合 I<src> は (ネットワークバイトオーダーの)  I<struct in_addr> へのポインターとみなされ、この構造体の内容が ドット区切りの 10 進数形式 \"I<ddd.ddd.ddd.ddd>\" の IPv4 ネットワークアドレスに変換される。 バッファー I<dst> は少なくとも B<INET_ADDRSTRLEN> バイトの長さを持たなければならない。"
8528
8529 #. type: Plain text
8530 #: build/C/man3/inet_ntop.3:83
8531 msgid "I<src> points to a I<struct in6_addr> (in network byte order)  which is converted to a representation of this address in the most appropriate IPv6 network address format for this address.  The buffer I<dst> must be at least B<INET6_ADDRSTRLEN> bytes long."
8532 msgstr "この場合 I<src> は (ネットワークバイトオーダーの)  I<struct in6_addr> へのポインターとみなされ、この構造体の内容が、 (このアドレスに対してもっとも適切な)  IPv6 ネットワークアドレスの表示形式に変換される。 バッファー I<dst> は少なくとも B<INET6_ADDRSTRLEN> バイトの長さを持たなければならない。"
8533
8534 #. type: Plain text
8535 #: build/C/man3/inet_ntop.3:91
8536 msgid "On success, B<inet_ntop>()  returns a non-null pointer to I<dst>.  NULL is returned if there was an error, with I<errno> set to indicate the error."
8537 msgstr "成功すると、 B<inet_ntop>()  は I<dst> への (NULL でない) ポインターを返す。 エラーがあった場合は NULL を返し、 I<errno> をエラーを示す値に適切に設定する。"
8538
8539 #. type: Plain text
8540 #: build/C/man3/inet_ntop.3:96
8541 msgid "I<af> was not a valid address family."
8542 msgstr "I<af> がサポートされているアドレスファミリーでなかった。"
8543
8544 #. type: TP
8545 #: build/C/man3/inet_ntop.3:96
8546 #, no-wrap
8547 msgid "B<ENOSPC>"
8548 msgstr "B<ENOSPC>"
8549
8550 #. type: Plain text
8551 #: build/C/man3/inet_ntop.3:100
8552 msgid "The converted address string would exceed the size given by I<size>."
8553 msgstr "変換されたアドレス文字列の長さが I<size> で指定されたサイズを超過してしまう。"
8554
8555 #.  2.1.3: size_t, 2.1.91: socklen_t
8556 #. type: Plain text
8557 #: build/C/man3/inet_ntop.3:112
8558 msgid "POSIX.1-2001.  Note that RFC\\ 2553 defines a prototype where the last argument I<size> is of type I<size_t>.  Many systems follow RFC\\ 2553.  Glibc 2.0 and 2.1 have I<size_t>, but 2.2 and later have I<socklen_t>."
8559 msgstr "POSIX.1-2001.  RFC\\ 2553 では最後の引き数 I<size> のプロトタイプを I<size_t> 型と定義している。多くのシステムでは RFC\\ 2553 にしたがっている。 glibc 2.0 と 2.1 では I<size_t> だが、 glibc 2.2 以降では I<socklen_t> となっている。"
8560
8561 #. type: Plain text
8562 #: build/C/man3/inet_ntop.3:115
8563 msgid "B<AF_INET6> converts IPv4-mapped IPv6 addresses into an IPv6 format."
8564 msgstr "B<AF_INET6> は IPv4 がマップされた IPv6 アドレスを IPv6 形式に変換してしまう。"
8565
8566 #. type: Plain text
8567 #: build/C/man3/inet_ntop.3:118
8568 msgid "See B<inet_pton>(3)."
8569 msgstr "B<inet_pton>(3)  を参照。"
8570
8571 #. type: Plain text
8572 #: build/C/man3/inet_ntop.3:122
8573 msgid "B<getnameinfo>(3), B<inet>(3), B<inet_pton>(3)"
8574 msgstr "B<getnameinfo>(3), B<inet>(3), B<inet_pton>(3)"
8575
8576 #. type: TH
8577 #: build/C/man3/inet_pton.3:27
8578 #, no-wrap
8579 msgid "INET_PTON"
8580 msgstr "INET_PTON"
8581
8582 #. type: TH
8583 #: build/C/man3/inet_pton.3:27
8584 #, no-wrap
8585 msgid "2008-06-18"
8586 msgstr "2008-06-18"
8587
8588 #. type: Plain text
8589 #: build/C/man3/inet_pton.3:30
8590 msgid "inet_pton - convert IPv4 and IPv6 addresses from text to binary form"
8591 msgstr "inet_pton - IPv4/IPv6 アドレスをテキスト形式からバイナリ形式に変換する"
8592
8593 #. type: Plain text
8594 #: build/C/man3/inet_pton.3:35
8595 #, no-wrap
8596 msgid "B<int inet_pton(int >I<af>B<, const char *>I<src>B<, void *>I<dst>B<);>\n"
8597 msgstr "B<int inet_pton(int >I<af>B<, const char *>I<src>B<, void *>I<dst>B<);>\n"
8598
8599 #. type: Plain text
8600 #: build/C/man3/inet_pton.3:51
8601 msgid "This function converts the character string I<src> into a network address structure in the I<af> address family, then copies the network address structure to I<dst>.  The I<af> argument must be either B<AF_INET> or B<AF_INET6>."
8602 msgstr "この関数は文字列 I<src> を、アドレスファミリー I<af> のネットワークアドレス構造体に変換し、 I<dst> にコピーする。 I<af> 引き数は B<AF_INET> か B<AF_INET6> のどちらかでなければならない。"
8603
8604 #. type: Plain text
8605 #: build/C/man3/inet_pton.3:53
8606 msgid "The following address families are currently supported:"
8607 msgstr "現在サポートされているアドレスファミリーは以下の通りである。"
8608
8609 #. type: Plain text
8610 #: build/C/man3/inet_pton.3:67
8611 msgid "I<src> points to a character string containing an IPv4 network address in dotted-decimal format, \"I<ddd.ddd.ddd.ddd>\", where I<ddd> is a decimal number of up to three digits in the range 0 to 255.  The address is converted to a I<struct in_addr> and copied to I<dst>, which must be I<sizeof(struct in_addr)> (4) bytes (32 bits) long."
8612 msgstr "I<src> はドット区切りの 10 進数形式 \"I<ddd.ddd.ddd.ddd>\" の IPv4 ネットワークアドレス文字列へのポインターである。 I<ddd> は 0 から 255 までの範囲の最大 3 桁の 10 進数である。 このアドレスは I<struct in_addr> に変換されて I<dst> にコピーされる。 I<dst> の長さは I<sizeof(struct in_addr)> (4) バイト (32ビット) でなければならない。"
8613
8614 #. type: Plain text
8615 #: build/C/man3/inet_pton.3:79
8616 msgid "I<src> points to a character string containing an IPv6 network address.  The address is converted to a I<struct in6_addr> and copied to I<dst>, which must be I<sizeof(struct in6_addr)> (16) bytes (128 bits) long.  The allowed formats for IPv6 addresses follow these rules:"
8617 msgstr "I<src> は IPv6 ネットワークアドレスが格納された文字列へのポインターである。 このアドレスは I<struct in6_addr> に変換されて I<dst> にコピーされる。 I<dst> の長さは I<sizeof(struct in6_addr)> (16) バイト (128 ビット) でなければならない。 以下の 3 つのルールにしたがった形式が IPv6 アドレスとして入力できる。"
8618
8619 #. type: IP
8620 #: build/C/man3/inet_pton.3:80
8621 #, no-wrap
8622 msgid "1."
8623 msgstr "1."
8624
8625 #. type: Plain text
8626 #: build/C/man3/inet_pton.3:87
8627 msgid "The preferred format is I<x:x:x:x:x:x:x:x>.  This form consists of eight hexadecimal numbers, each of which expresses a 16-bit value (i.e., each I<x> can be up to 4 hex digits)."
8628 msgstr "推奨形式は I<x:x:x:x:x:x:x:x> である。この形式は 8 個の 16 進数から構成され、 各々の 16 進数は 16 ビット値を表す (I<x> は最大 4 桁の 16 進数である)。"
8629
8630 #. type: IP
8631 #: build/C/man3/inet_pton.3:87
8632 #, no-wrap
8633 msgid "2."
8634 msgstr "2."
8635
8636 #. type: Plain text
8637 #: build/C/man3/inet_pton.3:100
8638 msgid "A series of contiguous zero values in the preferred format can be abbreviated to I<::>.  Only one instance of I<::> can occur in an address.  For example, the loopback address I<0:0:0:0:0:0:0:1> can be abbreviated as I<::1>.  The wildcard address, consisting of all zeros, can be written as I<::>."
8639 msgstr "推奨形式の中の連続する 0 の列は I<::> に短縮できる。アドレス中で使用できる I<::> は 1 個だけである。 例えば、ループバックアドレス I<0:0:0:0:0:0:0:1> は I<::1> と短縮できる。 全ビットが 0 で構成されるワイルドカードアドレスは I<::> と記載できる。"
8640
8641 #. type: IP
8642 #: build/C/man3/inet_pton.3:100
8643 #, no-wrap
8644 msgid "3."
8645 msgstr "3."
8646
8647 #. type: Plain text
8648 #: build/C/man3/inet_pton.3:113
8649 msgid "An alternate format is useful for expressing IPv4-mapped IPv6 addresses.  This form is written as I<x:x:x:x:x:x:d.d.d.d>, where the six leading I<x>s are hexadecimal values that define the six most-significant 16-bit pieces of the address (i.e., 96 bits), and the I<d>s express a value in dotted-decimal notation that defines the least significant 32 bits of the address.  An example of such an address is I<::FFFF:204.152.189.116>."
8650 msgstr "IPv4 をマッピングした IPv6 アドレスを表記するには別の形式が便利である。 この別の形式は I<x:x:x:x:x:x:d.d.d.d> と書くことができる。 最初の 6 個の I<x> はアドレスを 16 ビット単位に区切ったときの上位側 6 個分 (つまり 96 ビット分)  を定義する 16 進数であり、 I<d> の部分はアドレスの下位 32 ビットをドット区切りの 10 進数表記で表したものである。 I<::FFFF:204.152.189.116> はこの形式の例である。"
8651
8652 #. type: Plain text
8653 #: build/C/man3/inet_pton.3:116
8654 msgid "See RFC 2373 for further details on the representation of IPv6 addresses."
8655 msgstr "IPv6 アドレスの表現方法の詳細については RFC 2373 を参照のこと。"
8656
8657 #. type: Plain text
8658 #: build/C/man3/inet_pton.3:129
8659 msgid "B<inet_pton>()  returns 1 on success (network address was successfully converted).  0 is returned if I<src> does not contain a character string representing a valid network address in the specified address family.  If I<af> does not contain a valid address family, -1 is returned and I<errno> is set to B<EAFNOSUPPORT>."
8660 msgstr "成功する (ネットワークアドレスが正常に変換される) と、 B<inet_pton>()  は 1 を返す。 I<src> が指定されたアドレスファミリーに対する 正しいネットワークアドレス表記でない場合には、 0 を返す。 I<af> がサポートされているアドレスファミリーでない場合には、 -1 を返し、 I<errno> に B<EAFNOSUPPORT> を設定する。"
8661
8662 #. type: Plain text
8663 #: build/C/man3/inet_pton.3:150
8664 msgid "Unlike B<inet_aton>(3)  and B<inet_addr>(3), B<inet_pton>()  supports IPv6 addresses.  On the other hand, B<inet_pton>()  accepts only IPv4 addresses in dotted-decimal notation, whereas B<inet_aton>(3)  and B<inet_addr>(3)  allow the more general numbers-and-dots notation (hexadecimal and octal number formats, and formats that don't require all four bytes to be explicitly written).  For an interface that handles both IPv6 addresses, and IPv4 addresses in numbers-and-dots notation, see B<getaddrinfo>(3)."
8665 msgstr "B<inet_aton>(3)  や B<inet_addr>(3)  と異なり、 B<inet_pton>()  は IPv6 アドレスに対応している。 一方で、 B<inet_pton>()  が受け付ける IPv4 アドレスはドット区切りの 10 進数表記だけである。 これに対し、 B<inet_aton>(3)  や B<inet_addr>(3)  ではもっと一般的なドット区切りの数字表記 (16 進数や 8 進数の形式や、 4 バイト全てを明示的に書かなくてもよい形式) が使用できる。 ドット区切りの数字表記で IPv6 アドレスと IPv4 アドレスの両方を扱える インターフェイスについては、 B<getaddrinfo>(3)  を参照のこと。"
8666
8667 #. type: Plain text
8668 #: build/C/man3/inet_pton.3:156
8669 msgid "B<AF_INET6> does not recognize IPv4 addresses.  An explicit IPv4-mapped IPv6 address must be supplied in I<src> instead."
8670 msgstr "B<AF_INET6> は IPv4 アドレスを認識しない。 代わりに IPv4 アドレスをマッピングした IPv6 アドレスを I<src> に与えなければならない。"
8671
8672 #. type: Plain text
8673 #: build/C/man3/inet_pton.3:162
8674 msgid "The program below demonstrates the use of B<inet_pton>()  and B<inet_ntop>(3).  Here are some example runs:"
8675 msgstr "以下のプログラムは B<inet_pton>()  と B<inet_ntop>(3)  の使用例を示すものである。 実行すると以下のようになる。"
8676
8677 #. type: Plain text
8678 #: build/C/man3/inet_pton.3:171
8679 #, no-wrap
8680 msgid ""
8681 "$B< ./a.out i6 0:0:0:0:0:0:0:0>\n"
8682 "::\n"
8683 "$B< ./a.out i6 1:0:0:0:0:0:0:8>\n"
8684 "1::8\n"
8685 "$B< ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116>\n"
8686 "::ffff:204.152.189.116\n"
8687 msgstr ""
8688 "$B< ./a.out i6 0:0:0:0:0:0:0:0>\n"
8689 "::\n"
8690 "$B< ./a.out i6 1:0:0:0:0:0:0:8>\n"
8691 "1::8\n"
8692 "$B< ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116>\n"
8693 "::ffff:204.152.189.116\n"
8694
8695 #. type: Plain text
8696 #: build/C/man3/inet_pton.3:180
8697 #, no-wrap
8698 msgid ""
8699 "#include E<lt>arpa/inet.hE<gt>\n"
8700 "#include E<lt>stdio.hE<gt>\n"
8701 "#include E<lt>stdlib.hE<gt>\n"
8702 "#include E<lt>string.hE<gt>\n"
8703 msgstr ""
8704 "#include E<lt>arpa/inet.hE<gt>\n"
8705 "#include E<lt>stdio.hE<gt>\n"
8706 "#include E<lt>stdlib.hE<gt>\n"
8707 "#include E<lt>string.hE<gt>\n"
8708
8709 #. type: Plain text
8710 #: build/C/man3/inet_pton.3:187
8711 #, no-wrap
8712 msgid ""
8713 "int\n"
8714 "main(int argc, char *argv[])\n"
8715 "{\n"
8716 "    unsigned char buf[sizeof(struct in6_addr)];\n"
8717 "    int domain, s;\n"
8718 "    char str[INET6_ADDRSTRLEN];\n"
8719 msgstr ""
8720 "int\n"
8721 "main(int argc, char *argv[])\n"
8722 "{\n"
8723 "    unsigned char buf[sizeof(struct in6_addr)];\n"
8724 "    int domain, s;\n"
8725 "    char str[INET6_ADDRSTRLEN];\n"
8726
8727 #. type: Plain text
8728 #: build/C/man3/inet_pton.3:192
8729 #, no-wrap
8730 msgid ""
8731 "    if (argc != 3) {\n"
8732 "        fprintf(stderr, \"Usage: %s {i4|i6|E<lt>numE<gt>} string\\en\", argv[0]);\n"
8733 "        exit(EXIT_FAILURE);\n"
8734 "    }\n"
8735 msgstr ""
8736 "    if (argc != 3) {\n"
8737 "        fprintf(stderr, \"Usage: %s {i4|i6|E<lt>numE<gt>} string\\en\", argv[0]);\n"
8738 "        exit(EXIT_FAILURE);\n"
8739 "    }\n"
8740
8741 #. type: Plain text
8742 #: build/C/man3/inet_pton.3:195
8743 #, no-wrap
8744 msgid ""
8745 "    domain = (strcmp(argv[1], \"i4\") == 0) ? AF_INET :\n"
8746 "             (strcmp(argv[1], \"i6\") == 0) ? AF_INET6 : atoi(argv[1]);\n"
8747 msgstr ""
8748 "    domain = (strcmp(argv[1], \"i4\") == 0) ? AF_INET :\n"
8749 "             (strcmp(argv[1], \"i6\") == 0) ? AF_INET6 : atoi(argv[1]);\n"
8750
8751 #. type: Plain text
8752 #: build/C/man3/inet_pton.3:204
8753 #, no-wrap
8754 msgid ""
8755 "    s = inet_pton(domain, argv[2], buf);\n"
8756 "    if (s E<lt>= 0) {\n"
8757 "        if (s == 0)\n"
8758 "            fprintf(stderr, \"Not in presentation format\");\n"
8759 "        else\n"
8760 "            perror(\"inet_pton\");\n"
8761 "        exit(EXIT_FAILURE);\n"
8762 "    }\n"
8763 msgstr ""
8764 "    s = inet_pton(domain, argv[2], buf);\n"
8765 "    if (s E<lt>= 0) {\n"
8766 "        if (s == 0)\n"
8767 "            fprintf(stderr, \"Not in presentation format\");\n"
8768 "        else\n"
8769 "            perror(\"inet_pton\");\n"
8770 "        exit(EXIT_FAILURE);\n"
8771 "    }\n"
8772
8773 #. type: Plain text
8774 #: build/C/man3/inet_pton.3:209
8775 #, no-wrap
8776 msgid ""
8777 "    if (inet_ntop(domain, buf, str, INET6_ADDRSTRLEN) == NULL) {\n"
8778 "        perror(\"inet_ntop\");\n"
8779 "        exit(EXIT_FAILURE);\n"
8780 "    }\n"
8781 msgstr ""
8782 "    if (inet_ntop(domain, buf, str, INET6_ADDRSTRLEN) == NULL) {\n"
8783 "        perror(\"inet_ntop\");\n"
8784 "        exit(EXIT_FAILURE);\n"
8785 "    }\n"
8786
8787 #. type: Plain text
8788 #: build/C/man3/inet_pton.3:211
8789 #, no-wrap
8790 msgid "    printf(\"%s\\en\", str);\n"
8791 msgstr "    printf(\"%s\\en\", str);\n"
8792
8793 #. type: Plain text
8794 #: build/C/man3/inet_pton.3:219
8795 msgid "B<getaddrinfo>(3), B<inet>(3), B<inet_ntop>(3)"
8796 msgstr "B<getaddrinfo>(3), B<inet>(3), B<inet_ntop>(3)"
8797
8798 #. type: TH
8799 #: build/C/man7/ip.7:36
8800 #, no-wrap
8801 msgid "IP"
8802 msgstr "IP"
8803
8804 #. type: TH
8805 #: build/C/man7/ip.7:36
8806 #, no-wrap
8807 msgid "2014-05-10"
8808 msgstr "2014-05-10"
8809
8810 #. type: Plain text
8811 #: build/C/man7/ip.7:39
8812 msgid "ip - Linux IPv4 protocol implementation"
8813 msgstr "ip - Linux IPv4 プロトコルの実装"
8814
8815 #. type: Plain text
8816 #: build/C/man7/ip.7:45 build/C/man7/ipv6.7:93 build/C/man7/raw.7:20
8817 #: build/C/man7/tcp.7:83 build/C/man7/udp.7:19
8818 msgid "B<#include E<lt>netinet/in.hE<gt>>"
8819 msgstr "B<#include E<lt>netinet/in.hE<gt>>"
8820
8821 #. type: Plain text
8822 #: build/C/man7/ip.7:47
8823 msgid "B<#include E<lt>netinet/ip.hE<gt> >/* superset of previous */"
8824 msgstr "B<#include E<lt>netinet/ip.hE<gt> >/* 上記のスーパーセット */"
8825
8826 #. type: Plain text
8827 #: build/C/man7/ip.7:49
8828 msgid "I<tcp_socket>B< = socket(AF_INET, SOCK_STREAM, 0);>"
8829 msgstr "I<tcp_socket>B< = socket(AF_INET, SOCK_STREAM, 0);>"
8830
8831 #. type: Plain text
8832 #: build/C/man7/ip.7:51
8833 msgid "I<udp_socket>B< = socket(AF_INET, SOCK_DGRAM, 0);>"
8834 msgstr "I<udp_socket>B< = socket(AF_INET, SOCK_DGRAM, 0);>"
8835
8836 #. type: Plain text
8837 #: build/C/man7/ip.7:53
8838 msgid "I<raw_socket>B< = socket(AF_INET, SOCK_RAW, >I<protocol>B<);>"
8839 msgstr "I<raw_socket>B< = socket(AF_INET, SOCK_RAW, >I<protocol>B<);>"
8840
8841 #.  FIXME . has someone verified that 2.1 is really 1812 compliant?
8842 #. type: Plain text
8843 #: build/C/man7/ip.7:60
8844 msgid "Linux implements the Internet Protocol, version 4, described in RFC\\ 791 and RFC\\ 1122.  B<ip> contains a level 2 multicasting implementation conforming to RFC\\ 1112.  It also contains an IP router including a packet filter."
8845 msgstr "Linux は RFC\\ 791 と RFC\\ 1122 で記述されている Internet Protocol, version 4 を実装している。 B<ip> には RFC\\ 1112 に準拠した level 2 マルチキャストの実装が含まれている。 またパケットフィルタ機能を含む IP ルーターも実装されている。"
8846
8847 #. type: Plain text
8848 #: build/C/man7/ip.7:64
8849 msgid "The programming interface is BSD-sockets compatible.  For more information on sockets, see B<socket>(7)."
8850 msgstr "プログラミングインターフェースは BSD ソケットと互換である。 ソケットに関するより詳細な情報は B<socket>(7)  を参照のこと。"
8851
8852 #. type: Plain text
8853 #: build/C/man7/ip.7:95
8854 msgid "An IP socket is created by calling the B<socket>(2)  function as B<socket(AF_INET, >I<socket_type>B<, >I<protocol>B<)>.  Valid socket types are B<SOCK_STREAM> to open a B<tcp>(7)  socket, B<SOCK_DGRAM> to open a B<udp>(7)  socket, or B<SOCK_RAW> to open a B<raw>(7)  socket to access the IP protocol directly.  I<protocol> is the IP protocol in the IP header to be received or sent.  The only valid values for I<protocol> are 0 and B<IPPROTO_TCP> for TCP sockets, and 0 and B<IPPROTO_UDP> for UDP sockets.  For B<SOCK_RAW> you may specify a valid IANA IP protocol defined in RFC\\ 1700 assigned numbers."
8855 msgstr ""
8856 "IP ソケットは、 B<socket>(2) 関数を B<socket(AF_INET, >I<socket_type>B<, >\n"
8857 "I<protocol>B<)> のように呼び出すことで生成される。指定できるソケットタイプは\n"
8858 "3 つあり、 B<tcp>(7) ソケットをオープンする場合 B<SOCK_STREAM>、 B<udp>(7)\n"
8859 "ソケットをオープンする場合 B<SOCK_DGRAM>、 IP プロトコルに直接アクセスする\n"
8860 "ために B<raw>(7) ソケットをオープンする場合には B<SOCK_RAW> である。 \n"
8861 "I<protocol> は送受信される IP ヘッダに書かれる IP プロトコルである。\n"
8862 "指定できる値は、 TCP ソケットには 0 か B<IPPROTO_TCP>、 UDP ソケットには \n"
8863 "0 か B<IPPROTO_UDP> に限られる。 B<SOCK_RAW> に対しては、 RFC\\ 1700 で定義\n"
8864 "されている有効な IANA IP プロトコルを、 割り当てられている番号で指定する\n"
8865 "ことができる。"
8866
8867 #. type: Plain text
8868 #: build/C/man7/ip.7:117
8869 msgid "When a process wants to receive new incoming packets or connections, it should bind a socket to a local interface address using B<bind>(2).  In this case, only one IP socket may be bound to any given local (address, port) pair.  When B<INADDR_ANY> is specified in the bind call, the socket will be bound to I<all> local interfaces.  When B<listen>(2)  is called on an unbound socket, the socket is automatically bound to a random free port with the local address set to B<INADDR_ANY>.  When B<connect>(2)  is called on an unbound socket, the socket is automatically bound to a random free port or to a usable shared port with the local address set to B<INADDR_ANY>."
8870 msgstr "あるプロセスで、やってくるパケットを受信したり 接続要求を受けたりしたい場合には、 そのプロセスはローカルなインターフェースアドレスに、 B<bind>(2) を用いてソケットをバインドしなければならない。 この場合、 ローカルの「アドレスとポート」のペアに対してバインドできる IP ソケットは一つだけである。 B<bind>(2) の呼び出しで B<INADDR_ANY> が指定されていた場合は、 ソケットは I<すべて> のローカルインターフェースにバインドされる。 B<listen>(2) がバインドされていないソケットに対してコールされると、 そのソケットは、 ローカルポートはランダムに選択された空いているポートで、 ローカルアドレスは B<INADDR_ANY> で自動的にバインドされる。 B<connect>(2) がバインドされていないソケットに対してコールされると、 そのソケットは、 ローカルポートはランダムに選択された空いているポートか未使用の共有ポートで、 ローカルアドレスは B<INADDR_ANY> で自動的にバインドされる。"
8871
8872 #. type: Plain text
8873 #: build/C/man7/ip.7:123
8874 msgid "A TCP local socket address that has been bound is unavailable for some time after closing, unless the B<SO_REUSEADDR> flag has been set.  Care should be taken when using this flag as it makes TCP less reliable."
8875 msgstr "B<SO_REUSEADDR> フラグがセットされていない場合には、 バインドされていた TCP ローカルソケットアドレスは クローズされた後しばらくの間使えなくなる。 B<SO_REUSEADDR> フラグを使うと TCP の信頼性を低下させるので、 使うときには注意が必要である。"
8876
8877 #. type: Plain text
8878 #: build/C/man7/ip.7:134
8879 msgid "An IP socket address is defined as a combination of an IP interface address and a 16-bit port number.  The basic IP protocol does not supply port numbers, they are implemented by higher level protocols like B<udp>(7)  and B<tcp>(7).  On raw sockets I<sin_port> is set to the IP protocol."
8880 msgstr "IP ソケットアドレスは、 IP インターフェースアドレスと 16ビットのポート番号の組み合わせで定義される。 IP プロトコルそのものはポート番号を扱わない。 ポート番号は、 B<udp>(7)  や B<tcp>(7)  といった、上位のプロトコルで実装される。 raw ソケットでは、 I<sin_port> が IP プロトコルにセットされる。"
8881
8882 #. type: Plain text
8883 #: build/C/man7/ip.7:142
8884 #, no-wrap
8885 msgid ""
8886 "struct sockaddr_in {\n"
8887 "    sa_family_t    sin_family; /* address family: AF_INET */\n"
8888 "    in_port_t      sin_port;   /* port in network byte order */\n"
8889 "    struct in_addr sin_addr;   /* internet address */\n"
8890 "};\n"
8891 msgstr ""
8892 "struct sockaddr_in {\n"
8893 "    sa_family_t    sin_family; /* address family: AF_INET */\n"
8894 "    in_port_t      sin_port;   /* port in network byte order */\n"
8895 "    struct in_addr sin_addr;   /* internet address */\n"
8896 "};\n"
8897
8898 #. type: Plain text
8899 #: build/C/man7/ip.7:147
8900 #, no-wrap
8901 msgid ""
8902 "/* Internet address. */\n"
8903 "struct in_addr {\n"
8904 "    uint32_t       s_addr;     /* address in network byte order */\n"
8905 "};\n"
8906 msgstr ""
8907 "/* Internet address. */\n"
8908 "struct in_addr {\n"
8909 "    uint32_t       s_addr;     /* address in network byte order */\n"
8910 "};\n"
8911
8912 #. type: Plain text
8913 #: build/C/man7/ip.7:172
8914 msgid "I<sin_family> is always set to B<AF_INET>.  This is required; in Linux 2.2 most networking functions return B<EINVAL> when this setting is missing.  I<sin_port> contains the port in network byte order.  The port numbers below 1024 are called I<privileged ports> (or sometimes: I<reserved ports>).  Only privileged processes (i.e., those having the B<CAP_NET_BIND_SERVICE> capability) may B<bind>(2)  to these sockets.  Note that the raw IPv4 protocol as such has no concept of a port, they are implemented only by higher protocols like B<tcp>(7)  and B<udp>(7)."
8915 msgstr "I<sin_familiy> には常に B<AF_INET> をセットする。これは必須である。 Linux 2.2 では、このセットを忘れると ほとんどのネットワーク関数は B<EINVAL> を返すようになっている。 I<sin_port> にはポート番号をネットワークバイトオーダーで指定する。 1024 未満のポート番号は I<特権ポート (privileged ports)> と呼ばれる (I<予約ポート (reserved ports)> とも時々呼ばれる)。 特権プロセス (B<CAP_NET_BIND_SERVICE> ケーパビリティを持つプロセス) 以外のプロセスは、これらのポートには B<bind>(2)  できない。 IPv4 プロトコルそのものにはポートに関する概念がない。ポートが実装されるのは、 B<tcp>(7)  や B<udp>(7) といった、上位のプロトコルにおいてのみである。"
8916
8917 #. type: Plain text
8918 #: build/C/man7/ip.7:191
8919 msgid "I<sin_addr> is the IP host address.  The I<s_addr> member of I<struct in_addr> contains the host interface address in network byte order.  I<in_addr> should be assigned one of the B<INADDR_*> values (e.g., B<INADDR_ANY>)  or set using the B<inet_aton>(3), B<inet_addr>(3), B<inet_makeaddr>(3)  library functions or directly with the name resolver (see B<gethostbyname>(3))."
8920 msgstr ""
8921 "I<sin_addr> は IP ホストアドレスである。 I<struct in_addr> の I<s_addr> \n"
8922 "メンバには、ホストのインターフェースアドレスを ネットワークバイトオーダーで\n"
8923 "指定する。 I<in_addr> は、B<INADDR_*> の一つ (例えば B<INADDR_ANY>) を代入する、\n"
8924 "ライブラリ関数 B<inet_aton>(3), B<inet_addr>(3), B<inet_makeaddr>(3) を用いる、\n"
8925 "あるいは名前解決機構 (name resolver) を直接用いる、のどれかで設定すべきである。\n"
8926 "(B<gethostbyname>(3) を見よ)。"
8927
8928 #.  Leave a loophole for XTP @)
8929 #. type: Plain text
8930 #: build/C/man7/ip.7:203
8931 msgid "IPv4 addresses are divided into unicast, broadcast and multicast addresses.  Unicast addresses specify a single interface of a host, broadcast addresses specify all hosts on a network and multicast addresses address all hosts in a multicast group.  Datagrams to broadcast addresses can be sent or received only when the B<SO_BROADCAST> socket flag is set.  In the current implementation, connection-oriented sockets are allowed to use only unicast addresses."
8932 msgstr "IPv4 アドレスには、ユニキャストアドレス、 ブロードキャストアドレス、マルチキャストアドレスがある。 ユニキャストアドレスは、あるホストの一つのアドレスを指定する。 ブロードキャストアドレスは、あるネットワーク上の全てのホストを指定する。 マルチキャストアドレスは、マルチキャストグループに所属する 全てのホストを指定する。ブロードキャストアドレスへのデータグラムは、 B<SO_BROADCAST> ソケットフラグがセットされていないと送信・受信できない。 現在の実装では、接続指向のソケットにはユニキャストアドレスしか使えない。"
8933
8934 #. type: Plain text
8935 #: build/C/man7/ip.7:211
8936 msgid "Note that the address and the port are always stored in network byte order.  In particular, this means that you need to call B<htons>(3)  on the number that is assigned to a port.  All address/port manipulation functions in the standard library work in network byte order."
8937 msgstr "アドレスとポートは常にネットワークバイトオーダーで格納されることに注意せよ。 具体的には、ポートを指定する数値には B<htons>(3)  を呼び出す必要がある。 標準ライブラリにあるアドレス/ポート操作関数は すべてネットワークバイトオーダーで動作する。"
8938
8939 #. type: Plain text
8940 #: build/C/man7/ip.7:224
8941 msgid "There are several special addresses: B<INADDR_LOOPBACK> (127.0.0.1)  always refers to the local host via the loopback device; B<INADDR_ANY> (0.0.0.0)  means any address for binding; B<INADDR_BROADCAST> (255.255.255.255)  means any host and has the same effect on bind as B<INADDR_ANY> for historical reasons."
8942 msgstr "特別なアドレスがいくつか存在する: B<INADDR_LOOPBACK>(127.0.0.1)  は loopback デバイスを通して常にローカルなホストを参照する。 B<INADDR_ANY>(0.0.0.0)  は任意のアドレスを意味し、バインド用である。 B<INADDR_BROADCAST>(255.255.255.255)  は任意のホストを意味し、歴史的理由から、バインドの際には B<INADDR_ANY> と同じ効果になる。"
8943
8944 #.  or SOL_IP on Linux
8945 #. type: Plain text
8946 #: build/C/man7/ip.7:233
8947 msgid "IP supports some protocol-specific socket options that can be set with B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level for IP is B<IPPROTO_IP>.  A boolean integer flag is zero when it is false, otherwise true."
8948 msgstr "IP にはプロトコル固有のソケットオプションがいくつか存在し、 B<setsockopt>(2)  で設定が、 B<getsockopt>(2)  で取得ができる。 IP のソケットオプションレベルは B<IPPROTO_IP> である。 ブール整数値のフラグでは、 0 は偽、それ以外は真を意味する。"
8949
8950 #. type: TP
8951 #: build/C/man7/ip.7:233
8952 #, no-wrap
8953 msgid "B<IP_ADD_MEMBERSHIP> (since Linux 1.2)"
8954 msgstr "B<IP_ADD_MEMBERSHIP> (Linux 1.2 以降)"
8955
8956 #. type: Plain text
8957 #: build/C/man7/ip.7:239
8958 msgid "Join a multicast group.  Argument is an I<ip_mreqn> structure."
8959 msgstr "マルチキャストグループに参加する。 引き数は I<ip_mreqn> 構造体である。"
8960
8961 #. type: Plain text
8962 #: build/C/man7/ip.7:249
8963 #, no-wrap
8964 msgid ""
8965 "struct ip_mreqn {\n"
8966 "    struct in_addr imr_multiaddr; /* IP multicast group\n"
8967 "                                     address */\n"
8968 "    struct in_addr imr_address;   /* IP address of local\n"
8969 "                                     interface */\n"
8970 "    int            imr_ifindex;   /* interface index */\n"
8971 "};\n"
8972 msgstr ""
8973 "struct ip_mreqn {\n"
8974 "    struct in_addr imr_multiaddr; /* IP multicast group\n"
8975 "                                     address */\n"
8976 "    struct in_addr imr_address;   /* IP address of local\n"
8977 "                                     interface */\n"
8978 "    int            imr_ifindex;   /* interface index */\n"
8979 "};\n"
8980
8981 #.  (i.e., within the 224.0.0.0-239.255.255.255 range)
8982 #. type: Plain text
8983 #: build/C/man7/ip.7:270
8984 msgid "I<imr_multiaddr> contains the address of the multicast group the application wants to join or leave.  It must be a valid multicast address (or B<setsockopt>(2)  fails with the error B<EINVAL>).  I<imr_address> is the address of the local interface with which the system should join the multicast group; if it is equal to B<INADDR_ANY>, an appropriate interface is chosen by the system.  I<imr_ifindex> is the interface index of the interface that should join/leave the I<imr_multiaddr> group, or 0 to indicate any interface."
8985 msgstr "I<imr_multiaddr> には、アプリケーションが参加または脱退したい マルチキャストグループのアドレスが入る。 指定するアドレスは有効なマルチキャストアドレスでなければならない (さもなければ B<setsockopt>(2)  がエラー B<EINVAL> で失敗する)。 I<imr_address> はシステムがマルチキャストグループに参加する際に用いる ローカルなインターフェースのアドレスである。 これが B<INADDR_ANY> であった場合には、適切なインターフェースがシステムによって選択される。 I<imr_ifindex> は I<imr_multiaddr> グループに参加/脱退するインターフェースの interface index である。 どのインターフェースでもよい場合は 0 にする。"
8986
8987 #. type: Plain text
8988 #: build/C/man7/ip.7:285
8989 msgid "The I<ip_mreqn> structure is available only since Linux 2.2.  For compatibility, the old I<ip_mreq> structure (present since Linux 1.2) is still supported; it differs from I<ip_mreqn> only by not including the I<imr_ifindex> field.  Only valid as a B<setsockopt>(2)."
8990 msgstr "I<ip_mreqn> 構造体は Linux 2.2 以降でのみ利用可能である。互換性のため、 古い I<ip_mreq> 構造体 (Linux 1.2 以降で存在する) もまだサポートされている。 I<ip_mreqn> との違いは、 I<imr_ifindex> フィールドを含まないことだけである。 B<setsockopt>(2) でのみ使える。"
8991
8992 #. type: TP
8993 #: build/C/man7/ip.7:285
8994 #, no-wrap
8995 msgid "B<IP_ADD_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)"
8996 msgstr "B<IP_ADD_SOURCE_MEMBERSHIP> (Linux 2.4.22 以降 / 2.5.68 以降)"
8997
8998 #. type: Plain text
8999 #: build/C/man7/ip.7:292
9000 msgid "Join a multicast group and allow receiving data only from a specified source.  Argument is an I<ip_mreq_source> structure."
9001 msgstr "マルチキャストグループに参加、指定された送信元からのデータの受信のみを許可する。 引き数は I<ip_mreq_source> 構造体である。"
9002
9003 #. type: Plain text
9004 #: build/C/man7/ip.7:303
9005 #, no-wrap
9006 msgid ""
9007 "struct ip_mreq_source {\n"
9008 "    struct in_addr imr_multiaddr;  /* IP multicast group\n"
9009 "                                      address */\n"
9010 "    struct in_addr imr_interface;  /* IP address of local\n"
9011 "                                      interface */\n"
9012 "    struct in_addr imr_sourceaddr; /* IP address of\n"
9013 "                                      multicast source */\n"
9014 "};\n"
9015 msgstr ""
9016 "struct ip_mreq_source {\n"
9017 "    struct in_addr imr_multiaddr;  /* IP multicast group\n"
9018 "                                      address */\n"
9019 "    struct in_addr imr_interface;  /* IP address of local\n"
9020 "                                      interface */\n"
9021 "    struct in_addr imr_sourceaddr; /* IP address of\n"
9022 "                                      multicast source */\n"
9023 "};\n"
9024
9025 #. type: Plain text
9026 #: build/C/man7/ip.7:324
9027 msgid "The I<ip_mreq_source> structure is similar to I<ip_mreqn> described under B<IP_ADD_MEMBERSIP>.  The I<imr_multiaddr> field contains the address of the multicast group the application wants to join or leave.  The I<imr_interface> field is the address of the local interface with which the system should join the multicast group.  Finally, the I<imr_sourceaddr> field contains the address of the source the application wants to receive data from."
9028 msgstr "I<ip_mreq_source> 構造体は B<IP_ADD_MEMBERSIP> の項で説明した I<ip_mreqn> に似ている。 I<imr_multiaddr> フィールドには、アプリケーションが参加または脱退したいマルチキャストグループのアドレスが入る。 I<imr_interface> フィールドは、 マルチキャストグループに参加する際に システムが使用すべきローカルインターフェースのアドレスである。 I<imr_sourceaddr> フィールドには、アプリケーションがデータを受信したい送信元のアドレスが入る。"
9029
9030 #. type: Plain text
9031 #: build/C/man7/ip.7:327
9032 msgid "This option can be used multiple times to allow receiving data from more than one source."
9033 msgstr "このオプションを複数回使うことで、 複数の送信元からのデータ受信を許可することができる。"
9034
9035 #. type: TP
9036 #: build/C/man7/ip.7:327
9037 #, no-wrap
9038 msgid "B<IP_BLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)"
9039 msgstr "B<IP_BLOCK_SOURCE> (since Linux 2.4.22 以降 / 2.5.68 以降)"
9040
9041 #. type: Plain text
9042 #: build/C/man7/ip.7:335
9043 msgid "Stop receiving multicast data from a specific source in a given group.  This is valid only after the application has subscribed to the multicast group using either B<IP_ADD_MEMBERSHIP> or B<IP_ADD_SOURCE_MEMBERSHIP>."
9044 msgstr "指定したグループで、指定した送信元からのマルチキャストデータの受信を停止する。 このオプションは、アプリケーションが  B<IP_ADD_MEMBERSHIP> か B<IP_ADD_SOURCE_MEMBERSHIP> のいずれかを使ってマルチキャストグループに参加した後でのみ有効である。"
9045
9046 #. type: Plain text
9047 #: build/C/man7/ip.7:340 build/C/man7/ip.7:362 build/C/man7/ip.7:926
9048 msgid "Argument is an I<ip_mreq_source> structure as described under B<IP_ADD_SOURCE_MEMBERSHIP>."
9049 msgstr "引き数は I<ip_mreq_source> 構造体である。 B<IP_ADD_SOURCE_MEMBERSHIP> の項に説明がある。"
9050
9051 #. type: TP
9052 #: build/C/man7/ip.7:340
9053 #, no-wrap
9054 msgid "B<IP_DROP_MEMBERSHIP> (since Linux 1.2)"
9055 msgstr "B<IP_DROP_MEMBERSHIP> (Linux 1.2 以降)"
9056
9057 #. type: Plain text
9058 #: build/C/man7/ip.7:349
9059 msgid "Leave a multicast group.  Argument is an I<ip_mreqn> or I<ip_mreq> structure similar to B<IP_ADD_MEMBERSHIP>."
9060 msgstr "マルチキャストグループから抜ける。引き数は B<IP_ADD_MEMBERSHIP> と同様に I<ip_mreqn> または I<ip_mreq> 構造体である。"
9061
9062 #. type: TP
9063 #: build/C/man7/ip.7:349
9064 #, no-wrap
9065 msgid "B<IP_DROP_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)"
9066 msgstr "B<IP_DROP_SOURCE_MEMBERSHIP> (Linux 2.4.22 以降 / 2.5.68 以降)"
9067
9068 #. type: Plain text
9069 #: build/C/man7/ip.7:357
9070 msgid "Leave a source-specific group\\(emthat is, stop receiving data from a given multicast group that come from a given source.  If the application has subscribed to multiple sources within the same group, data from the remaining sources will still be delivered.  To stop receiving data from all sources at once, use B<IP_LEAVE_GROUP>."
9071 msgstr "送信元を指定してグループから抜ける。 つまり、 指定したマルチキャストグループの指定された送信元からのデータ受信を停止する。 アプリケーションは同じマルチキャストグループで複数の送信元を購読 (subscribe) している場合には、 残りの送信元からのデータの受信は引き続き配信される。 すべての送信元からのデータ受信を一度で停止するには B<IP_LEAVE_GROUP> を使うこと。"
9072
9073 #. type: TP
9074 #: build/C/man7/ip.7:362
9075 #, no-wrap
9076 msgid "B<IP_FREEBIND> (since Linux 2.4)"
9077 msgstr "B<IP_FREEBIND> (Linux 2.4 以降)"
9078
9079 #.  Precisely: 2.4.0-test10
9080 #. type: Plain text
9081 #: build/C/man7/ip.7:375
9082 msgid "If enabled, this boolean option allows binding to an IP address that is nonlocal or does not (yet) exist.  This permits listening on a socket, without requiring the underlying network interface or the specified dynamic IP address to be up at the time that the application is trying to bind to it.  This option is the per-socket equivalent of the I<ip_nonlocal_bind> I</proc> interface described below."
9083 msgstr ""
9084 "このブール値のオプションを有効にすると、ローカルではない IP アドレスや存在\n"
9085 "しない IP アドレスをバインドできるようになる。これを使うと、対応するネット\n"
9086 "ワークインターフェイスがなかったり、アプリケーションがソケットをバインドしようと\n"
9087 "する時点で特定の動的 IP アドレスが有効になっていなかったりしても、ソケットを\n"
9088 "接続待ち状態 (listening) にできるようになる。\n"
9089 "このオプションは、下記に説明がある I<ip_nonlocal_bind> I</proc> インターフェイス\n"
9090 "のソケット単位の設定である。"
9091
9092 #. type: TP
9093 #: build/C/man7/ip.7:375
9094 #, no-wrap
9095 msgid "B<IP_HDRINCL> (since Linux 2.0)"
9096 msgstr "B<IP_HDRINCL> (Linux 2.0 以降)"
9097
9098 #. type: Plain text
9099 #: build/C/man7/ip.7:391
9100 msgid "If enabled, the user supplies an IP header in front of the user data.  Only valid for B<SOCK_RAW> sockets.  See B<raw>(7)  for more information.  When this flag is enabled the values set by B<IP_OPTIONS>, B<IP_TTL> and B<IP_TOS> are ignored."
9101 msgstr "有効になっていると、ユーザーは IP ヘッダをユーザーデータの前に与える。 B<SOCK_RAW> ソケットでのみ有効である。詳細は B<raw>(7)  を見よ。このフラグが有効になっていると、 B<IP_OPTIONS>, B<IP_TTL>, B<IP_TOS> は無視される。"
9102
9103 #. type: TP
9104 #: build/C/man7/ip.7:391
9105 #, no-wrap
9106 msgid "B<IP_MSFILTER> (since Linux 2.4.22 / 2.5.68)"
9107 msgstr "B<IP_MSFILTER> (since Linux 2.4.22 以降 / 2.5.68 以降)"
9108
9109 #. type: Plain text
9110 #: build/C/man7/ip.7:397
9111 msgid "This option provides access to the advanced full-state filtering API.  Argument is an I<ip_msfilter> structure."
9112 msgstr "このオプションを使うと、 高度なフィルタリング API へアクセスできる。 この API ではすべての状態にアクセスできる。 引き数は I<ip_msfilter> 構造体である。"
9113
9114 #. type: Plain text
9115 #: build/C/man7/ip.7:406
9116 #, no-wrap
9117 msgid ""
9118 "struct ip_msfilter {\n"
9119 "    struct in_addr imsf_multiaddr; /* IP multicast group\n"
9120 "                                      address */\n"
9121 "    struct in_addr imsf_interface; /* IP address of local\n"
9122 "                                      interface */\n"
9123 "    uint32_t       imsf_fmode;     /* Filter-mode */\n"
9124 msgstr ""
9125 "struct ip_msfilter {\n"
9126 "    struct in_addr imsf_multiaddr; /* IP multicast group\n"
9127 "                                      address */\n"
9128 "    struct in_addr imsf_interface; /* IP address of local\n"
9129 "                                      interface */\n"
9130 "    uint32_t       imsf_fmode;     /* Filter-mode */\n"
9131
9132 #. type: Plain text
9133 #: build/C/man7/ip.7:412
9134 #, no-wrap
9135 msgid ""
9136 "    uint32_t       imsf_numsrc;    /* Number of sources in\n"
9137 "                                      the following array */\n"
9138 "    struct in_addr imsf_slist[1];  /* Array of source\n"
9139 "                                      addresses */\n"
9140 "};\n"
9141 msgstr ""
9142 "    uint32_t       imsf_numsrc;    /* Number of sources in\n"
9143 "                                      the following array */\n"
9144 "    struct in_addr imsf_slist[1];  /* Array of source\n"
9145 "                                      addresses */\n"
9146 "};\n"
9147
9148 #. type: Plain text
9149 #: build/C/man7/ip.7:427
9150 msgid "There are two macros, B<MCAST_INCLUDE> and B<MCAST_EXCLUDE>, which can be used to specify the filtering mode.  Additionally, the B<IP_MSFILTER_SIZE>(n)  macro exists to determine how much memory is needed to store I<ip_msfilter> structure with I<n> sources in the source list."
9151 msgstr "B<MCAST_INCLUDE> と B<MCAST_EXCLUDE> の 2 つのマクロがあり、 フィルタリングモードを指定するのに使用できる。 また、 B<IP_MSFILTER_SIZE>(n) マクロがあり、 送信元リストに I<n> 個の送信元が入った I<ip_msfilter> 構造体を格納するのに必要なメモリ量を判定することができる。"
9152
9153 #. type: Plain text
9154 #: build/C/man7/ip.7:430
9155 msgid "For the full description of multicast source filtering refer to RFC 3376."
9156 msgstr "マルチキャスト送信元フィルタリングの全容は RFC\\ 3376 を参照のこと。"
9157
9158 #. type: TP
9159 #: build/C/man7/ip.7:430
9160 #, no-wrap
9161 msgid "B<IP_MTU> (since Linux 2.2)"
9162 msgstr "B<IP_MTU> (Linux 2.2 以降)"
9163
9164 #.  Precisely: 2.1.124
9165 #. type: Plain text
9166 #: build/C/man7/ip.7:438
9167 msgid "Retrieve the current known path MTU of the current socket.  Valid only when the socket has been connected.  Returns an integer.  Only valid as a B<getsockopt>(2)."
9168 msgstr "ソケットの、既知の path MTU を取得する。 ソケットが接続している場合のみ有効である。 B<getsockopt>(2)  でのみ使える。"
9169
9170 #. type: TP
9171 #: build/C/man7/ip.7:438
9172 #, no-wrap
9173 msgid "B<IP_MTU_DISCOVER> (since Linux 2.2)"
9174 msgstr "B<IP_MTU_DISCOVER> (Linux 2.2 以降)"
9175
9176 #.  Precisely: 2.1.124
9177 #. type: Plain text
9178 #: build/C/man7/ip.7:459
9179 msgid "Set or receive the Path MTU Discovery setting for a socket.  When enabled, Linux will perform Path MTU Discovery as defined in RFC\\ 1191 on B<SOCK_STREAM> sockets.  For non-B<SOCK_STREAM> sockets, B<IP_PMTUDISC_DO> forces the don't-fragment flag to be set on all outgoing packets.  It is the user's responsibility to packetize the data in MTU-sized chunks and to do the retransmits if necessary.  The kernel will reject (with B<EMSGSIZE>)  datagrams that are bigger than the known path MTU.  B<IP_PMTUDISC_WANT> will fragment a datagram if needed according to the path MTU, or will set the don't-fragment flag otherwise."
9180 msgstr ""
9181 "ソケットの Path MTU Discovery の設定をセット・取得する。\n"
9182 "有効になっていると、Linux は B<SOCK_STREAM> ソケットに対して\n"
9183 "RFC\\ 1191 で定義されている Path MTU Discovery を行う。\n"
9184 "B<SOCK_STREAM> でないソケットについては、 B<IP_PMTUDISC_DO> をセットすると、\n"
9185 "全ての送信パケットでフラグメント不許可フラグ (don't-fragment flag) が必ず\n"
9186 "セットされるようになる。 B<SOCK_STREAM> でないソケットでは、\n"
9187 "パケットを MTU のサイズの塊に分割したり、必要に応じて再送したりするのは、\n"
9188 "ユーザーが責任を持って行う必要がある。\n"
9189 "既知の Path MTU よりも大きなデータグラムの送信が要求されると、\n"
9190 "カーネルは (B<EMSGSIZE> で) 送信を拒否する。\n"
9191 "B<IP_PMTUDISC_WANT> の場合は、 Path MTU に基づいて必要であればデータグラム\n"
9192 "の分割が行われ、それ以外の場合はフラグメント不許可フラグがセットされる。"
9193
9194 #. type: Plain text
9195 #: build/C/man7/ip.7:467
9196 msgid "The system-wide default can be toggled between B<IP_PMTUDISC_WANT> and B<IP_PMTUDISC_DONT> by writing (respectively, zero and nonzero values) to the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file."
9197 msgstr ""
9198 "システム全体のデフォルトは B<IP_PMTUDISC_WANT> と B<IP_PMTUDISC_DONT> の\n"
9199 "どちらかに設定することができる。設定の変更は、\n"
9200 "I</proc/sys/net/ipv4/ip_no_pmtu_disc> ファイルに、0 (B<IP_PMTUDISC_WANT>) か\n"
9201 "0 以外 (B<IP_PMTUDISC_DONT>) を書き込むことで行う。"
9202
9203 #. type: tbl table
9204 #: build/C/man7/ip.7:471
9205 #, no-wrap
9206 msgid "Path MTU discovery value:Meaning\n"
9207 msgstr "Path MTU discovery 値:意味\n"
9208
9209 #. type: tbl table
9210 #: build/C/man7/ip.7:472
9211 #, no-wrap
9212 msgid "IP_PMTUDISC_WANT:Use per-route settings.\n"
9213 msgstr "IP_PMTUDISC_WANT:ルートごとの設定を用いる。\n"
9214
9215 #. type: tbl table
9216 #: build/C/man7/ip.7:473
9217 #, no-wrap
9218 msgid "IP_PMTUDISC_DONT:Never do Path MTU Discovery.\n"
9219 msgstr "IP_PMTUDISC_DONT:Path MTU Discovery を行わない。\n"
9220
9221 #. type: tbl table
9222 #: build/C/man7/ip.7:474
9223 #, no-wrap
9224 msgid "IP_PMTUDISC_DO:Always do Path MTU Discovery.\n"
9225 msgstr "IP_PMTUDISC_DO:常に Path MTU Discovery を行う。\n"
9226
9227 #. type: tbl table
9228 #: build/C/man7/ip.7:475
9229 #, no-wrap
9230 msgid "IP_PMTUDISC_PROBE:Set DF but ignore Path MTU.\n"
9231 msgstr "IP_PMTUDISC_PROBE:DFビットをセットするが、Path MTU を無視する。\n"
9232
9233 #. type: Plain text
9234 #: build/C/man7/ip.7:493
9235 msgid "When PMTU discovery is enabled, the kernel automatically keeps track of the path MTU per destination host.  When it is connected to a specific peer with B<connect>(2), the currently known path MTU can be retrieved conveniently using the B<IP_MTU> socket option (e.g., after an B<EMSGSIZE> error occurred).  The path MTU may change over time.  For connectionless sockets with many destinations, the new MTU for a given destination can also be accessed using the error queue (see B<IP_RECVERR>).  A new error will be queued for every incoming MTU update."
9236 msgstr ""
9237 "path MTU discovery が有効になっていると、カーネルは宛先ホストごとに 自動的に\n"
9238 "path MTU を処理する。特定の相手に B<connect>(2) で接続した場合には、\n"
9239 "B<IP_MTU> ソケットオプションを用いれば、既知の path MTU の取得に便利である\n"
9240 "(たとえば B<EMSGSIZE> エラーが起きた後など)。 path MTU は時間とともに変化する\n"
9241 "かもしれない。 宛先がたくさんあるコネクションレスなソケットでは、 与えられた\n"
9242 "宛先に対する新しい MTU にも、 エラーキューを用いてアクセスすることができる\n"
9243 "(B<IP_RECVERR> を見よ)。 MTU 更新が到着するごとに、新たなエラーがキューイング\n"
9244 "される。"
9245
9246 #. type: Plain text
9247 #: build/C/man7/ip.7:498
9248 msgid "While MTU discovery is in progress, initial packets from datagram sockets may be dropped.  Applications using UDP should be aware of this and not take it into account for their packet retransmit strategy."
9249 msgstr "MTU discovery の進行中には、データグラムソケットからの初期パケットは 到着しないかもしれない。 UDP を用いるアプリケーションでは、 このことを気にかけておき、 パケットの再送アルゴリズムにこの分を除外させるべきである。"
9250
9251 #.  FIXME . this is an ugly hack
9252 #. type: Plain text
9253 #: build/C/man7/ip.7:503
9254 msgid "To bootstrap the path MTU discovery process on unconnected sockets, it is possible to start with a big datagram size (up to 64K-headers bytes long) and let it shrink by updates of the path MTU."
9255 msgstr "接続していないソケットに対して path MTU discovery プロセスを立ち上げるには、 大きなデータグラムサイズ (最大 64K ヘッダバイト長) からはじめて、 path MTU が更新されるまでサイズを縮めていくことも可能である。"
9256
9257 #. type: Plain text
9258 #: build/C/man7/ip.7:512
9259 msgid "To get an initial estimate of the path MTU, connect a datagram socket to the destination address using B<connect>(2)  and retrieve the MTU by calling B<getsockopt>(2)  with the B<IP_MTU> option."
9260 msgstr "path MTU の値をまず見積もってみるには、宛先アドレスに B<connect>(2)  を使ってデータグラムソケットを接続し、 B<getsockopt>(2)  を B<IP_MTU> オプションとともに呼び、 MTU を取得することである。"
9261
9262 #. type: Plain text
9263 #: build/C/man7/ip.7:524
9264 msgid "It is possible to implement RFC 4821 MTU probing with B<SOCK_DGRAM> or B<SOCK_RAW> sockets by setting a value of B<IP_PMTUDISC_PROBE> (available since Linux 2.6.22).  This is also particularly useful for diagnostic tools such as B<tracepath>(8)  that wish to deliberately send probe packets larger than the observed Path MTU."
9265 msgstr "B<IP_PMTUDISC_PROBE> (Linux 2.6.22 以降で利用可能) を設定することで、 B<SOCK_DGRAM> や B<SOCK_RAW> のソケットで RFC 4821 の MTU 探索を実装することが可能である。 また、この機能は、 B<tracepath>(8)  のような診断ツールで特に有用である。これらのツールでは、 観測された Path MTU よりも大きな探索パケットを意図的に 送信しようとする。"
9266
9267 #. type: TP
9268 #: build/C/man7/ip.7:524
9269 #, no-wrap
9270 msgid "B<IP_MULTICAST_ALL> (since Linux 2.6.31)"
9271 msgstr "B<IP_MULTICAST_ALL> (Linux 2.6.31 以降)"
9272
9273 #. type: Plain text
9274 #: build/C/man7/ip.7:538
9275 msgid "This option can be used to modify the delivery policy of multicast messages to sockets bound to the wildcard B<INADDR_ANY> address.  The argument is a boolean integer (defaults to 1).  If set to 1, the socket will receive messages from all the groups that have been joined globally on the whole system.  Otherwise, it will deliver messages only from the groups that have been explicitly joined (for example via the B<IP_ADD_MEMBERSHIP> option) on this particular socket."
9276 msgstr "このオプションを使って、 マルチキャストメッセージの、 ワイルドカードの B<INADDR_ANY> アドレスにバインドされているソケットへの 配送ポリシーを変更することができる。 引き数はブート値の整数で、 デフォルト値は 1 である。 このオプションを 1 に設定されている場合、そのソケットでは、このシステムで参加しているすべてのグループからのメッセージが受信される。 それ以外の場合は、そのソケットでは、 そのソケットに対して (B<IP_ADD_MEMBERSHIP> などを使って) 明示的に参加が指定されたグループからのメッセージだけが受信される。"
9277
9278 #. type: TP
9279 #: build/C/man7/ip.7:538
9280 #, no-wrap
9281 msgid "B<IP_MULTICAST_IF> (since Linux 1.2)"
9282 msgstr "B<IP_MULTICAST_IF> (Linux 1.2 以降)"
9283
9284 #.  net: IP_MULTICAST_IF setsockopt now recognizes struct mreq
9285 #.  Commit: 3a084ddb4bf299a6e898a9a07c89f3917f0713f7
9286 #. type: Plain text
9287 #: build/C/man7/ip.7:550
9288 msgid "Set the local device for a multicast socket.  Argument is an I<ip_mreqn> or I<ip_mreq> (since Linux 3.5)  structure similar to B<IP_ADD_MEMBERSHIP>."
9289 msgstr "ローカルデバイスをマルチキャストソケットとして設定する。引き数は B<IP_ADD_MEMBERSHIP> と同様に I<ip_mreqn> 構造体か I<ip_mreq> 構造体 (Linux 3.5 以降) である。"
9290
9291 #. type: Plain text
9292 #: build/C/man7/ip.7:554
9293 msgid "When an invalid socket option is passed, B<ENOPROTOOPT> is returned."
9294 msgstr "不正なソケットオプションが渡されると、 B<ENOPROTOOPT> が返される。"
9295
9296 #. type: TP
9297 #: build/C/man7/ip.7:554
9298 #, no-wrap
9299 msgid "B<IP_MULTICAST_LOOP> (since Linux 1.2)"
9300 msgstr "B<IP_MULTICAST_LOOP> (Linux 1.2 以降)"
9301
9302 #. type: Plain text
9303 #: build/C/man7/ip.7:558
9304 msgid "Set or read a boolean integer argument that determines whether sent multicast packets should be looped back to the local sockets."
9305 msgstr "マルチキャストパケットをローカルなソケットにループバックするかどうかを 定めるブール値の整数引き数を設定・取得する。"
9306
9307 #. type: TP
9308 #: build/C/man7/ip.7:558
9309 #, no-wrap
9310 msgid "B<IP_MULTICAST_TTL> (since Linux 1.2)"
9311 msgstr "B<IP_MULTICAST_TTL> (Linux 1.2 以降)"
9312
9313 #. type: Plain text
9314 #: build/C/man7/ip.7:566
9315 msgid "Set or read the time-to-live value of outgoing multicast packets for this socket.  It is very important for multicast packets to set the smallest TTL possible.  The default is 1 which means that multicast packets don't leave the local network unless the user program explicitly requests it.  Argument is an integer."
9316 msgstr "このソケットから発信されるマルチキャストパケットの time-to-live 値を設定・取得する。 マルチキャストパケットに対しては、できるだけ小さな TTL に設定することがとても重要である。デフォルトは 1 で、 ユーザープログラムが明示的に要求しない限り マルチキャストパケットはローカルなネットワークから出ないことになる。 引き数に整数を取る。"
9317
9318 #. type: TP
9319 #: build/C/man7/ip.7:566
9320 #, no-wrap
9321 msgid "B<IP_NODEFRAG> (since Linux 2.6.36)"
9322 msgstr "B<IP_NODEFRAG> (Linux 2.6.36 以降)"
9323
9324 #. type: Plain text
9325 #: build/C/man7/ip.7:574
9326 msgid "If enabled (argument is nonzero), the reassembly of outgoing packets is disabled in the netfilter layer.  This option is valid only for B<SOCK_RAW> sockets.  The argument is an integer."
9327 msgstr ""
9328 "有効 (引き数が 0 以外の場合) になっていると、netfilter 層での出力パケットの\n"
9329 "再構築 (reassembly) が行われなくなる。このオプションは B<SOCK_RAW> ソケット\n"
9330 "においてのみ有効である。引き数は整数である。"
9331
9332 #. type: TP
9333 #: build/C/man7/ip.7:574
9334 #, no-wrap
9335 msgid "B<IP_OPTIONS> (since Linux 2.0)"
9336 msgstr "B<IP_OPTIONS> (Linux 2.0 以降)"
9337
9338 #.  Precisely: 1.3.30
9339 #. type: Plain text
9340 #: build/C/man7/ip.7:603
9341 msgid "Set or get the IP options to be sent with every packet from this socket.  The arguments are a pointer to a memory buffer containing the options and the option length.  The B<setsockopt>(2)  call sets the IP options associated with a socket.  The maximum option size for IPv4 is 40 bytes.  See RFC\\ 791 for the allowed options.  When the initial connection request packet for a B<SOCK_STREAM> socket contains IP options, the IP options will be set automatically to the options from the initial packet with routing headers reversed.  Incoming packets are not allowed to change options after the connection is established.  The processing of all incoming source routing options is disabled by default and can be enabled by using the I<accept_source_route> I</proc> interface.  Other options like timestamps are still handled.  For datagram sockets, IP options can be only set by the local user.  Calling B<getsockopt>(2)  with B<IP_OPTIONS> puts the current IP options used for sending into the supplied buffer."
9342 msgstr "このソケットから送られるパケット全てに付随する IP オプションを 設定・取得する。オプションを保存しているメモリバッファーへのポインターと オプションの長さとを引き数に取る。 B<setsockopt>(2)  を呼び出すと、ソケットに関連づけられる IP オプションを設定できる。 IPv4 におけるオプションのサイズの最大値は 40 バイトである。 用いることのできるオプションについては RFC\\ 791 を見よ。 B<SOCK_STREAM> ソケットに対する初期接続要求パケットに IP オプションが含まれていると、 ルーティングヘッダを付けて戻されてくる初期パケットの IP オプションに同じオプションがセットされる。接続が確立された後、 やってきたパケットのオプションを変更することはできない。 デフォルトでは。外部から受信したパケットの全ての source routing オプション の処理は無効となっており、 I</proc> インタフェースの I<accept_source_route> を使うとこれを有効にできる。これを無効にしていても timestamps など の他のオプションの処理は行われる。データグラムソケットでは、 IP オプションはローカルユーザーしか設定できない。 B<getsockopt>(2)  を B<IP_OPTIONS> をつけて呼ぶと、現在送信に用いられている IP オプションを 引き数に与えたバッファーに取得できる。"
9343
9344 #. type: TP
9345 #: build/C/man7/ip.7:603
9346 #, no-wrap
9347 msgid "B<IP_PKTINFO> (since Linux 2.2)"
9348 msgstr "B<IP_PKTINFO> (Linux 2.2 以降)"
9349
9350 #.  Precisely: 2.1.68
9351 #. type: Plain text
9352 #: build/C/man7/ip.7:620
9353 msgid "Pass an B<IP_PKTINFO> ancillary message that contains a I<pktinfo> structure that supplies some information about the incoming packet.  This only works for datagram oriented sockets.  The argument is a flag that tells the socket whether the B<IP_PKTINFO> message should be passed or not.  The message itself can only be sent/retrieved as control message with a packet using B<recvmsg>(2)  or B<sendmsg>(2)."
9354 msgstr "B<IP_PKTINFO> 補助メッセージを渡す。これには到着パケットに関する情報を提供する I<pktinfo> 構造体が含まれている。 データグラム指向のソケットでしか動作しない。 引き数は B<IP_PKTINFO> メッセージを通過させるかどうかをソケットに知らせるフラグである。 メッセージ自身は B<recvmsg>(2)  または B<sendmsg>(2)  を用いたパケットの制御メッセージとしてのみ送受信できる。"
9355
9356 #. type: Plain text
9357 #: build/C/man7/ip.7:629
9358 #, no-wrap
9359 msgid ""
9360 "struct in_pktinfo {\n"
9361 "    unsigned int   ipi_ifindex;  /* Interface index */\n"
9362 "    struct in_addr ipi_spec_dst; /* Local address */\n"
9363 "    struct in_addr ipi_addr;     /* Header Destination\n"
9364 "                                    address */\n"
9365 "};\n"
9366 msgstr ""
9367 "struct in_pktinfo {\n"
9368 "    unsigned int   ipi_ifindex;  /* Interface index */\n"
9369 "    struct in_addr ipi_spec_dst; /* Local address */\n"
9370 "    struct in_addr ipi_addr;     /* Header Destination\n"
9371 "                                    address */\n"
9372 "};\n"
9373
9374 #.  FIXME . elaborate on that.
9375 #.  This field is grossly misnamed
9376 #. type: Plain text
9377 #: build/C/man7/ip.7:654
9378 msgid "I<ipi_ifindex> is the unique index of the interface the packet was received on.  I<ipi_spec_dst> is the local address of the packet and I<ipi_addr> is the destination address in the packet header.  If B<IP_PKTINFO> is passed to B<sendmsg>(2)  and I<ipi_spec_dst> is not zero, then it is used as the local source address for the routing table lookup and for setting up IP source route options.  When I<ipi_ifindex> is not zero, the primary local address of the interface specified by the index overwrites I<ipi_spec_dst> for the routing table lookup."
9379 msgstr "I<ipi_ifindex> はパケットが受信されたインターフェースの、他と重ならないインデックスである。 I<ipi_spec_dst> はパケットのローカルアドレスである。 I<ipi_addr> はパケットヘッダにある宛先アドレスである。 B<IP_PKTINFO> が B<sendmsg>(2)  に渡されて、かつ I<ipi_spec_dst> が 0 以外の場合、 I<ipi_spec_dst> はルーティングテーブルを検索する際にローカルな送信元アドレスとして使用され、 IP source route オプションを設定するのにも使用される。 I<ipi_ifindex> が 0 以外の場合、このインデックスによって指定されるインターフェースの プライマリローカルアドレスで I<ipi_spec_dst> を上書きし、ルーティングテーブルを検索する。"
9380
9381 #. type: TP
9382 #: build/C/man7/ip.7:654
9383 #, no-wrap
9384 msgid "B<IP_RECVERR> (since Linux 2.2)"
9385 msgstr "B<IP_RECVERR> (Linux 2.2 以降)"
9386
9387 #.  Precisely: 2.1.15
9388 #.  or SOL_IP on Linux
9389 #. type: Plain text
9390 #: build/C/man7/ip.7:676
9391 msgid "Enable extended reliable error message passing.  When enabled on a datagram socket, all generated errors will be queued in a per-socket error queue.  When the user receives an error from a socket operation, the errors can be received by calling B<recvmsg>(2)  with the B<MSG_ERRQUEUE> flag set.  The I<sock_extended_err> structure describing the error will be passed in an ancillary message with the type B<IP_RECVERR> and the level B<IPPROTO_IP>.  This is useful for reliable error handling on unconnected sockets.  The received data portion of the error queue contains the error packet."
9392 msgstr "エラーメッセージの受け渡しに、信頼性の高い拡張された方法を有効にする。 データグラムソケットに対して有効になっていると、 発生したエラーは全てソケットごとのエラーキューに保存される。 ユーザーはソケット操作からエラーを受け取ったとき、 B<recvmsg>(2)  を B<MSG_ERRQUEUE> フラグとともに呼べばそのエラーを取得できる。 そのエラーを記述する I<sock_extended_err> 構造体が、タイプ B<IP_RECVERR>・ レベル B<IPPROTO_IP> の補助メッセージとして渡される。 これは接続志向でないソケットで信頼性の高いエラー処理を行いたい場合に 有用である。エラーキューの受信データフラグメントには エラーパケットが含まれる。"
9393
9394 #. type: Plain text
9395 #: build/C/man7/ip.7:682
9396 msgid "The B<IP_RECVERR> control message contains a I<sock_extended_err> structure:"
9397 msgstr "B<IP_RECVERR> 制御メッセージには I<sock_extended_err> 構造体が含まれる:"
9398
9399 #. type: Plain text
9400 #: build/C/man7/ip.7:690
9401 #, no-wrap
9402 msgid ""
9403 "#define SO_EE_ORIGIN_NONE    0\n"
9404 "#define SO_EE_ORIGIN_LOCAL   1\n"
9405 "#define SO_EE_ORIGIN_ICMP    2\n"
9406 "#define SO_EE_ORIGIN_ICMP6   3\n"
9407 msgstr ""
9408 "#define SO_EE_ORIGIN_NONE    0\n"
9409 "#define SO_EE_ORIGIN_LOCAL   1\n"
9410 "#define SO_EE_ORIGIN_ICMP    2\n"
9411 "#define SO_EE_ORIGIN_ICMP6   3\n"
9412
9413 #. type: Plain text
9414 #: build/C/man7/ip.7:701
9415 #, no-wrap
9416 msgid ""
9417 "struct sock_extended_err {\n"
9418 "    uint32_t ee_errno;   /* error number */\n"
9419 "    uint8_t  ee_origin;  /* where the error originated */\n"
9420 "    uint8_t  ee_type;    /* type */\n"
9421 "    uint8_t  ee_code;    /* code */\n"
9422 "    uint8_t  ee_pad;\n"
9423 "    uint32_t ee_info;    /* additional information */\n"
9424 "    uint32_t ee_data;    /* other data */\n"
9425 "    /* More data may follow */\n"
9426 "};\n"
9427 msgstr ""
9428 "struct sock_extended_err {\n"
9429 "    uint32_t ee_errno;   /* error number */\n"
9430 "    uint8_t  ee_origin;  /* where the error originated */\n"
9431 "    uint8_t  ee_type;    /* type */\n"
9432 "    uint8_t  ee_code;    /* code */\n"
9433 "    uint8_t  ee_pad;\n"
9434 "    uint32_t ee_info;    /* additional information */\n"
9435 "    uint32_t ee_data;    /* other data */\n"
9436 "    /* More data may follow */\n"
9437 "};\n"
9438
9439 #. type: Plain text
9440 #: build/C/man7/ip.7:703
9441 #, no-wrap
9442 msgid "struct sockaddr *SO_EE_OFFENDER(struct sock_extended_err *);\n"
9443 msgstr "struct sockaddr *SO_EE_OFFENDER(struct sock_extended_err *);\n"
9444
9445 #. type: Plain text
9446 #: build/C/man7/ip.7:726
9447 msgid "I<ee_errno> contains the I<errno> number of the queued error.  I<ee_origin> is the origin code of where the error originated.  The other fields are protocol-specific.  The macro B<SO_EE_OFFENDER> returns a pointer to the address of the network object where the error originated from given a pointer to the ancillary message.  If this address is not known, the I<sa_family> member of the I<sockaddr> contains B<AF_UNSPEC> and the other fields of the I<sockaddr> are undefined."
9448 msgstr "I<ee_errno> にはキューに入っているエラーの I<errno> 番号が入る。 I<ee_origin> にはエラーが発生した場所を示すコードが入る。 その他のフィールドはプロトコル依存である。 B<SO_EE_OFFENDER> マクロは与えられた補助メッセージへのポインターから エラーの発生したネットワークオブジェクトのアドレスへのポインターを返す。 アドレスが不明な場合、 I<sockaddr> 構造体の I<sa_family> フィールドは B<AF_UNSPEC> となり、その他のフィールド値は不定である。"
9449
9450 #.  FIXME . Is it a good idea to document that? It is a dubious feature.
9451 #.  On
9452 #.  .B SOCK_STREAM
9453 #.  sockets,
9454 #.  .B IP_RECVERR
9455 #.  has slightly different semantics. Instead of
9456 #.  saving the errors for the next timeout, it passes all incoming
9457 #.  errors immediately to the user.
9458 #.  This might be useful for very short-lived TCP connections which
9459 #.  need fast error handling. Use this option with care:
9460 #.  it makes TCP unreliable
9461 #.  by not allowing it to recover properly from routing
9462 #.  shifts and other normal
9463 #.  conditions and breaks the protocol specification.
9464 #. type: Plain text
9465 #: build/C/man7/ip.7:785
9466 msgid "IP uses the I<sock_extended_err> structure as follows: I<ee_origin> is set to B<SO_EE_ORIGIN_ICMP> for errors received as an ICMP packet, or B<SO_EE_ORIGIN_LOCAL> for locally generated errors.  Unknown values should be ignored.  I<ee_type> and I<ee_code> are set from the type and code fields of the ICMP header.  I<ee_info> contains the discovered MTU for B<EMSGSIZE> errors.  The message also contains the I<sockaddr_in of the node> caused the error, which can be accessed with the B<SO_EE_OFFENDER> macro.  The I<sin_family> field of the B<SO_EE_OFFENDER> address is B<AF_UNSPEC> when the source was unknown.  When the error originated from the network, all IP options (B<IP_OPTIONS>, B<IP_TTL>, etc.) enabled on the socket and contained in the error packet are passed as control messages.  The payload of the packet causing the error is returned as normal payload.  Note that TCP has no error queue; B<MSG_ERRQUEUE> is not permitted on B<SOCK_STREAM> sockets.  B<IP_RECVERR> is valid for TCP, but all errors are returned by socket function return or B<SO_ERROR> only."
9467 msgstr ""
9468 "IP は以下のような I<sock_extended_err> 構造体を用いる: I<ee_origin> は、エラー\n"
9469 "が ICMP パケットとして受信された場合には B<SO_EE_ORIGIN_ICMP> にセットされ、\n"
9470 "ローカルで起こった場合には B<SO_EE_ORIGIN_LOCAL> にセットされる。 不明な値は\n"
9471 "無視される。 I<ee_type> と I<ee_code> は ICMP ヘッダの type フィールドと\n"
9472 "code フィールドの値にセットされる。 I<ee_info> には B<EMSGSIZE> エラーに対す\n"
9473 "る discover された MTU が入る。 メッセージにはエラーを引き起こしたノードの\n"
9474 "I<sockaddr_in> 構造体も含まれる。 これには B<SO_EE_OFFENDER> マクロを使ってア\n"
9475 "クセスできる。 ソースが不明の場合、 B<SO_EE_OFFENDER> アドレスの\n"
9476 "I<sin_family> フィールドは B<AF_UNSPEC> となる。 エラーがネットワークで起きた\n"
9477 "場合には、 ソケットで有効になっていたすべての IP オプション (B<IP_OPTIONS>,\n"
9478 "B<IP_TTL> など) とエラーパケットに含まれていたすべての IP オプションとが、 制\n"
9479 "御メッセージとして渡される。 エラーを起こしたパケットのペイロード (payload)\n"
9480 "は 普通のペイロードとして返される。 TCP にはエラーキューがないことに注意して\n"
9481 "ほしい。 B<MSG_ERRQUEUE> は B<SOCK_STREAM> ソケットに対しては使えない。 TCP\n"
9482 "では B<IP_RECVERR> だけが有効だが、ソケット関数から返されるエラーは\n"
9483 "B<SO_ERROR> だけになる。"
9484
9485 #. type: Plain text
9486 #: build/C/man7/ip.7:790
9487 msgid "For raw sockets, B<IP_RECVERR> enables passing of all received ICMP errors to the application, otherwise errors are only reported on connected sockets"
9488 msgstr "raw ソケットに対して B<IP_RECVERR> を指定すると、受信したすべての ICMP エラーをアプリケーションに 渡すようになる。指定しないと、 接続済みのソケットに対するエラーだけを報告する。"
9489
9490 #. type: Plain text
9491 #: build/C/man7/ip.7:794
9492 msgid "It sets or retrieves an integer boolean flag.  B<IP_RECVERR> defaults to off."
9493 msgstr "このオプションはブール値のフラグを設定・取得する。 B<IP_RECVERR> はデフォルトではオフになっている。"
9494
9495 #. type: TP
9496 #: build/C/man7/ip.7:794
9497 #, no-wrap
9498 msgid "B<IP_RECVOPTS> (since Linux 2.2)"
9499 msgstr "B<IP_RECVOPTS> (Linux 2.2 以降)"
9500
9501 #.  Precisely: 2.1.15
9502 #. type: Plain text
9503 #: build/C/man7/ip.7:805
9504 msgid "Pass all incoming IP options to the user in a B<IP_OPTIONS> control message.  The routing header and other options are already filled in for the local host.  Not supported for B<SOCK_STREAM> sockets."
9505 msgstr "到着した全ての IP オプションを B<IP_OPTION> コントロールメッセージに入れてユーザーに渡す。 ルーティングヘッダとその他のオプションとは、 ローカルホストに対してはあらかじめ記入されている。 B<SOCK_STREAM> ソケットではサポートされていない。"
9506
9507 #. type: TP
9508 #: build/C/man7/ip.7:805
9509 #, no-wrap
9510 msgid "B<IP_RECVORIGDSTADDR> (since Linux 2.6.29)"
9511 msgstr "B<IP_RECVORIGDSTADDR> (Linux 2.6.29 以降)"
9512
9513 #.  commit e8b2dfe9b4501ed0047459b2756ba26e5a940a69
9514 #. type: Plain text
9515 #: build/C/man7/ip.7:816
9516 msgid "This boolean option enables the B<IP_ORIGDSTADDR> ancillary message in B<recvmsg>(2), in which the kernel returns the original destination address of the datagram being received.  The ancillary message contains a I<struct sockaddr_in>."
9517 msgstr ""
9518 "このブール値のオプションがセットされると、\n"
9519 "B<recvmsg>(2) で B<IP_ORIGDSTADDR> 補助メッセージが有効になる。\n"
9520 "カーネルはデータグラムを受信した元の宛先アドレスをこの補助メッセージで返す。\n"
9521 "この補助メッセージには I<struct sockaddr_in> が格納される。"
9522
9523 #. type: TP
9524 #: build/C/man7/ip.7:816
9525 #, no-wrap
9526 msgid "B<IP_RECVTOS> (since Linux 2.2)"
9527 msgstr "B<IP_RECVTOS> (Linux 2.2 以降)"
9528
9529 #.  Precisely: 2.1.68
9530 #. type: Plain text
9531 #: build/C/man7/ip.7:825
9532 msgid "If enabled, the B<IP_TOS> ancillary message is passed with incoming packets.  It contains a byte which specifies the Type of Service/Precedence field of the packet header.  Expects a boolean integer flag."
9533 msgstr "有効になっていると、 B<IP_TOS> 補助メッセージが到着パケットとともに渡される。 これにはパケットヘッダの Service/Precedence フィールドのタイプを指定するバイトデータが含まれている。 ブール整数値のフラグをとる。"
9534
9535 #. type: TP
9536 #: build/C/man7/ip.7:825
9537 #, no-wrap
9538 msgid "B<IP_RECVTTL> (since Linux 2.2)"
9539 msgstr "B<IP_RECVTTL> (Linux 2.2 以降)"
9540
9541 #.  Precisely: 2.1.68
9542 #. type: Plain text
9543 #: build/C/man7/ip.7:835
9544 msgid "When this flag is set, pass a B<IP_TTL> control message with the time to live field of the received packet as a byte.  Not supported for B<SOCK_STREAM> sockets."
9545 msgstr "このフラグがセットされていると、 B<IP_TTL> コントロールメッセージが受信パケットの time-to-live フィールドのバイトデータとともに渡される。 B<SOCK_STREAM> ソケットではサポートされていない。"
9546
9547 #. type: TP
9548 #: build/C/man7/ip.7:835
9549 #, no-wrap
9550 msgid "B<IP_RETOPTS> (since Linux 2.2)"
9551 msgstr "B<IP_RETOPTS>"
9552
9553 #.  Precisely: 2.1.15
9554 #. type: Plain text
9555 #: build/C/man7/ip.7:842
9556 msgid "Identical to B<IP_RECVOPTS>, but returns raw unprocessed options with timestamp and route record options not filled in for this hop."
9557 msgstr "B<IP_RETOPTS> (Linux 2.2 以降)  B<IP_RECVOPTS> と等価だが、未処理の生のオプションを、 この hop では記入されない timestamp レコードと route レコードとともに返す。"
9558
9559 #. type: TP
9560 #: build/C/man7/ip.7:842
9561 #, no-wrap
9562 msgid "B<IP_ROUTER_ALERT> (since Linux 2.2)"
9563 msgstr "B<IP_ROUTER_ALERT> (Linux 2.2 以降)"
9564
9565 #.  Precisely: 2.1.68
9566 #. type: Plain text
9567 #: build/C/man7/ip.7:854
9568 msgid "Pass all to-be forwarded packets with the IP Router Alert option set to this socket.  Only valid for raw sockets.  This is useful, for instance, for user-space RSVP daemons.  The tapped packets are not forwarded by the kernel; it is the user's responsibility to send them out again.  Socket binding is ignored, such packets are only filtered by protocol.  Expects an integer flag."
9569 msgstr "フォワードすべきパケットを IP Router Alert オプションをつけて このソケットに渡す。 raw ソケットに対してのみ有効である。これはたとえばユーザー空間の RSVP デーモンに対して便利である。タップされたパケットは カーネルによってはフォワードされないので、これらを再送するのは ユーザーの責任となる。ソケットのバインドは無視され、 このようなパケットはプロトコルによってのみフィルタリングされる。 整数値のフラグを取る。"
9570
9571 #. type: TP
9572 #: build/C/man7/ip.7:854
9573 #, no-wrap
9574 msgid "B<IP_TOS> (since Linux 1.0)"
9575 msgstr "B<IP_TOS> (Linux 1.0 以降)"
9576
9577 #.  FIXME elaborate on this
9578 #.  Needs CAP_NET_ADMIN
9579 #.  Boolean
9580 #.  Since Linux 2.6.27
9581 #.  Author: KOVACS Krisztian <hidden@sch.bme.hu>
9582 #.  http://lwn.net/Articles/252545/
9583 #. type: Plain text
9584 #: build/C/man7/ip.7:888
9585 msgid "Set or receive the Type-Of-Service (TOS) field that is sent with every IP packet originating from this socket.  It is used to prioritize packets on the network.  TOS is a byte.  There are some standard TOS flags defined: B<IPTOS_LOWDELAY> to minimize delays for interactive traffic, B<IPTOS_THROUGHPUT> to optimize throughput, B<IPTOS_RELIABILITY> to optimize for reliability, B<IPTOS_MINCOST> should be used for \"filler data\" where slow transmission doesn't matter.  At most one of these TOS values can be specified.  Other bits are invalid and shall be cleared.  Linux sends B<IPTOS_LOWDELAY> datagrams first by default, but the exact behavior depends on the configured queueing discipline.  Some high priority levels may require superuser privileges (the B<CAP_NET_ADMIN> capability).  The priority can also be set in a protocol independent way by the (B<SOL_SOCKET>, B<SO_PRIORITY>)  socket option (see B<socket>(7))."
9586 msgstr "このソケットから送信されるすべての IP パケットに適用される Type-Of-Service (TOS) フィールドを設定・取得する。 これはネットワーク上でのパケットの優先度を決めるために用いられる。 TOS はバイトデータである。標準の TOS フラグがいくつか定義されている。 B<IPTOS_LOWDELAY> はインタラクティブなトラフィックの遅延を最小にする。 B<IPTOS_THROUGHPUT> はスループットを最大にする。 B<IPTOS_RELIABILITY> は信頼性を最高にする。 B<IPTOS_MINCOST> は転送速度が遅くてもかまわないとき、「データを詰め込む」のに用いられる。 これらのうち、 1 つまでだけを設定できる。 他のビットは無効で、クリアされる。 Linux はデフォルトでは B<IPTOS_LOWDELAY> データグラムを最初に送信する。 しかし、正確な振る舞いはキュー処理の設定に依存する。 高い優先度にするにはスーパーユーザー権限 (B<CAP_NET_ADMIN> ケーパビリティ) が必要となるかもしれない。 優先度は (B<SOL_SOCKET>, B<SO_PRIORITY>)  ソケットオプションを用いれば、 プロトコルに依存しない形でも設定できる (B<socket>(7)  を見よ)。"
9587
9588 #. type: TP
9589 #: build/C/man7/ip.7:888
9590 #, no-wrap
9591 msgid "B<IP_TRANSPARENT> (since Linux 2.6.24)"
9592 msgstr "B<IP_TRANSPARENT> (Linux 2.6.24 以降)"
9593
9594 #.  commit f5715aea4564f233767ea1d944b2637a5fd7cd2e
9595 #.      This patch introduces the IP_TRANSPARENT socket option: enabling that
9596 #.      will make the IPv4 routing omit the non-local source address check on
9597 #.      output. Setting IP_TRANSPARENT requires NET_ADMIN capability.
9598 #.  http://lwn.net/Articles/252545/
9599 #. type: Plain text
9600 #: build/C/man7/ip.7:908
9601 msgid "Setting this boolean option enables transparent proxying on this socket.  This socket option allows the calling application to bind to a nonlocal IP address and operate both as a client and a server with the foreign address as the local endpoint.  NOTE: this requires that routing be set up in a way that packets going to the foreign address are routed through the TProxy box (i.e., the system hosting the application that employs the B<IP_TRANSPARENT> socket option).  Enabling this socket option requires superuser privileges (the B<CAP_NET_ADMIN> capability)."
9602 msgstr "このブール値のオプションを有効にすると、 このソケットで透過プロキシ (transparent proxy) ができるようになる。 このソケットオプションを使うと、呼び出したアプリケーションは、 ローカルではない IP アドレスをバインドして、ローカルの端点として自分以外のアドレス (foreign address) を持つクライアントやサーバの両方として動作できるようになる。 B<注意>: この機能が動作するためには、自分以外のアドレス宛のパケットが透過プロキシが動作するマシン (すなわちソケットオプション B<IP_TRANSPARENT> を利用するアプリケーションが動作しているシステム) 経由で転送されるように、 ルーティングが設定される必要がある。 このソケットオプションを有効にするには、スーパーユーザー特権 (B<CAP_NET_ADMIN> ケーパビリティ) が必要である。"
9603
9604 #. type: Plain text
9605 #: build/C/man7/ip.7:911
9606 msgid "TProxy redirection with the iptables TPROXY target also requires that this option be set on the redirected socket."
9607 msgstr ""
9608 "iptables の TPROXY ターゲットで透過プロキシリダイレクション \n"
9609 "(TProxy redirection) を行うには、リダイレクトされるソケットに対して\n"
9610 "このオプションを設定する必要がある。"
9611
9612 #. type: TP
9613 #: build/C/man7/ip.7:911
9614 #, no-wrap
9615 msgid "B<IP_TTL> (since Linux 1.0)"
9616 msgstr "B<IP_TTL> (Linux 1.0 以降)"
9617
9618 #. type: Plain text
9619 #: build/C/man7/ip.7:915
9620 msgid "Set or retrieve the current time-to-live field that is used in every packet sent from this socket."
9621 msgstr "time-to-live フィールドの値を設定または取得する。 この値はこのソケットから送信されるすべてのパケットに用いられる。"
9622
9623 #. type: TP
9624 #: build/C/man7/ip.7:915
9625 #, no-wrap
9626 msgid "B<IP_UNBLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)"
9627 msgstr "B<IP_UNBLOCK_SOURCE> (Linux 2.4.22 以降 / 2.5.68 以降)"
9628
9629 #. type: Plain text
9630 #: build/C/man7/ip.7:921
9631 msgid "Unblock previously blocked multicast source.  Returns B<EADDRNOTAVAIL> when given source is not being blocked."
9632 msgstr "それ以前はブロックされていたマルチキャストの送信元のブロックを解除する。 指定した送信元がブロックされていない場合は B<EADDRNOTAVAIL> を返す。"
9633
9634 #.  FIXME As at 2.6.12, 14 Jun 2005, the following are undocumented:
9635 #.      ip_queue_maxlen
9636 #.      ip_conntrack_max
9637 #. type: Plain text
9638 #: build/C/man7/ip.7:942
9639 msgid "The IP protocol supports a set of I</proc> interfaces to configure some global parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/ipv4/>.  Interfaces described as I<Boolean> take an integer value, with a nonzero value (\"true\") meaning that the corresponding option is enabled, and a zero value (\"false\")  meaning that the option is disabled."
9640 msgstr "IP プロトコルでは、いくつかのグローバルパラメーターを設定するための I</proc> ファイル群が用意されている。 これらのパラメーターには、 I</proc/sys/net/ipv4/> ディレクトリ内のファイルの読み書きでアクセスできる。 I<Boolean> と書かれたインタフェースは整数値をとり、 0 以外の値 (\"true\") は対応するオプションが有効、 0 値 (\"false\") は無効、であることを意味する。"
9641
9642 #. type: TP
9643 #: build/C/man7/ip.7:942
9644 #, no-wrap
9645 msgid "I<ip_always_defrag> (Boolean; since Linux 2.2.13)"
9646 msgstr "I<ip_always_defrag> (Boolean; Linux 2.2.13 以降)"
9647
9648 #. type: Plain text
9649 #: build/C/man7/ip.7:948
9650 msgid "[New with kernel 2.2.13; in earlier kernel versions this feature was controlled at compile time by the B<CONFIG_IP_ALWAYS_DEFRAG> option; this option is not present in 2.4.x and later]"
9651 msgstr "[2.2.13 で新規登場。以前のバージョンのカーネルでは、この機能は コンパイル時に B<CONFIG_IP_ALWAYS_DEFRAG> オプションによって制御されていた; このファイルは 2.4.x 以降では存在しない]"
9652
9653 #. type: Plain text
9654 #: build/C/man7/ip.7:955
9655 msgid "When this boolean flag is enabled (not equal 0), incoming fragments (parts of IP packets that arose when some host between origin and destination decided that the packets were too large and cut them into pieces) will be reassembled (defragmented) before being processed, even if they are about to be forwarded."
9656 msgstr "このブール値のフラグが有効になっている (0 以外になっている) と、 到着したフラグメント (IP パケットの一部で、 発信元と発信先の間のどこかのホストで、そのパケットが 大きすぎると判断され、分割された場合に生じる)  は、たとえフォワードされる場合であっても 処理前に再構築 (デフラグメント) される。"
9657
9658 #. type: Plain text
9659 #: build/C/man7/ip.7:962
9660 msgid "Only enable if running either a firewall that is the sole link to your network or a transparent proxy; never ever use it for a normal router or host.  Otherwise, fragmented communication can be disturbed if the fragments travel over different links.  Defragmentation also has a large memory and CPU time cost."
9661 msgstr "ファイアウォールがローカル側のネットワークに唯一のリンクを持っている 場合や、透過プロクシの場合に限って有効にすべきである。 通常のルーターやホストでは決して使用することのないように。 さもないとフラグメントが別のリンクを経由して伝わる場合に、 通信のフラグメント化ができなくなってしまう。 またフラグメント再構築処理はメモリと CPU 時間のコストが非常に大きい。"
9662
9663 #. type: Plain text
9664 #: build/C/man7/ip.7:966
9665 msgid "This is automagically turned on when masquerading or transparent proxying are configured."
9666 msgstr "これはマスカレードや透過プロクシが設定されると、 不思議な仕組みによって自動的に有効になる。"
9667
9668 #. type: TP
9669 #: build/C/man7/ip.7:966
9670 #, no-wrap
9671 msgid "I<ip_autoconfig> (since Linux 2.2 to 2.6.17)"
9672 msgstr "I<ip_autoconfig> (Linux 2.2 以降 2.6.17 まで)"
9673
9674 #.  Precisely: since 2.1.68
9675 #.  FIXME document ip_autoconfig
9676 #. type: Plain text
9677 #: build/C/man7/ip.7:972
9678 msgid "Not documented."
9679 msgstr "まだ記述していない。"
9680
9681 #. type: TP
9682 #: build/C/man7/ip.7:972
9683 #, no-wrap
9684 msgid "I<ip_default_ttl> (integer; default: 64; since Linux 2.2)"
9685 msgstr "I<ip_default_ttl> (integer; default: 64; Linux 2.2 以降)"
9686
9687 #.  Precisely: 2.1.15
9688 #. type: Plain text
9689 #: build/C/man7/ip.7:980
9690 msgid "Set the default time-to-live value of outgoing packets.  This can be changed per socket with the B<IP_TTL> option."
9691 msgstr "送出されるパケットの time-to-live 値のデフォルトをセットする。 これは B<IP_TTL> オプションを用いれば、パケットごとに変えることもできる。"
9692
9693 #. type: TP
9694 #: build/C/man7/ip.7:980
9695 #, no-wrap
9696 msgid "I<ip_dynaddr> (Boolean; default: disabled; since Linux 2.0.31)"
9697 msgstr "I<ip_dynaddr> (ブール値; デフォルト: 無効; Linux 2.0.31 以降)"
9698
9699 #. type: Plain text
9700 #: build/C/man7/ip.7:987
9701 msgid "Enable dynamic socket address and masquerading entry rewriting on interface address change.  This is useful for dialup interface with changing IP addresses.  0 means no rewriting, 1 turns it on and 2 enables verbose mode."
9702 msgstr "動的ソケットアドレスと、インターフェースアドレスが変更された際の マスカレードエントリの再書き込みを有効にする。 ダイアルアップインターフェースで、 IP アドレスが変更される場合に便利である。"
9703
9704 #. type: TP
9705 #: build/C/man7/ip.7:987
9706 #, no-wrap
9707 msgid "I<ip_forward> (Boolean; default: disabled; since Linux 1.2)"
9708 msgstr "I<ip_forward> (ブール値; デフォルト: 無効; Linux 1.2 以降)"
9709
9710 #. type: Plain text
9711 #: build/C/man7/ip.7:992
9712 msgid "Enable IP forwarding with a boolean flag.  IP forwarding can be also set on a per-interface basis."
9713 msgstr "IP forwarding を有効にするかどうかのブール値フラグ。 IP forwarding するかどうかはインターフェースごとにも設定できる。"
9714
9715 #. type: TP
9716 #: build/C/man7/ip.7:992
9717 #, no-wrap
9718 msgid "I<ip_local_port_range> (since Linux 2.2)"
9719 msgstr "I<ip_local_port_range> (Linux 2.2 以降)"
9720
9721 #.  Precisely: since 2.1.68
9722 #. type: Plain text
9723 #: build/C/man7/ip.7:1000
9724 msgid "This file contains two integers that define the default local port range allocated to sockets that are not explicitly bound to a port number\\(emthat is, the range used for I<ephemeral ports>.  An ephemeral port is allocated to a socket in the following circumstances:"
9725 msgstr "このファイルには、 ポート番号に明示的にバインドされないソケットに割り当てられるデフォルトのローカルポートの範囲 \\(em つまり「一時ポート (I<ephemeral ports>)」に使用される範囲 \\(em を定める 2 つの整数が入っている。 一時ポートは以下の場合にソケットに割り当てられる。"
9726
9727 #. type: Plain text
9728 #: build/C/man7/ip.7:1004
9729 msgid "the port number in a socket address is specified as 0 when calling B<bind>(2);"
9730 msgstr "B<bind>(2) の呼び出し時にソケットアドレスのポート番号に 0 が指定されている。"
9731
9732 #. type: Plain text
9733 #: build/C/man7/ip.7:1007
9734 msgid "B<listen>(2)  is called on a stream socket that was not previously bound;"
9735 msgstr "バインドされていないストリームソケットに対して B<listen>(2) が呼び出された。"
9736
9737 #. type: Plain text
9738 #: build/C/man7/ip.7:1010
9739 msgid "B<connect>(2)  was called on a socket that was not previously bound;"
9740 msgstr "バインドされていないソケットに対して B<connect>(2)  が呼ばれた。"
9741
9742 #. type: Plain text
9743 #: build/C/man7/ip.7:1013
9744 msgid "B<sendto>(2)  is called on a datagram socket that was not previously bound."
9745 msgstr "バインドされていないデータグラムソケットに対して B<sendto>(2)  が呼ばれた。"
9746
9747 #. type: Plain text
9748 #: build/C/man7/ip.7:1020
9749 msgid "Allocation of ephemeral ports starts with the first number in I<ip_local_port_range> and ends with the second number.  If the range of ephemeral ports is exhausted, then the relevant system call returns an error (but see BUGS)."
9750 msgstr "一時ポートに割り当てられるポート番号の範囲は、 I<ip_local_port_range> の最初の数字から始まり、 2 番目の数字で終わる。 一時ポートの範囲を使い切った場合、 関連するシステムコールはエラーを返す (バグの節を参照)。"
9751
9752 #. type: Plain text
9753 #: build/C/man7/ip.7:1031
9754 msgid "Note that the port range in I<ip_local_port_range> should not conflict with the ports used by masquerading (although the case is handled).  Also, arbitrary choices may cause problems with some firewall packet filters that make assumptions about the local ports in use.  The first number should be at least greater than 1024, or better, greater than 4096, to avoid clashes with well known ports and to minimize firewall problems."
9755 msgstr "I<ip_local_port_range> で指定するポート番号の範囲は、 マスカレードで用いられているポートと重なってはならない (その場合も取り扱われるが)。 ファイアウォールのパケットフィルターが「利用中のローカルポート」 について何らかの仮定をしている場合には、 番号を勝手に決めてしまうと問題が起きるかもしれない。 1 番目の番号は少なくとも 1024 より大きくすべきである。 良く使われるポートとの衝突を避けたり、ファイアウォールの問題を 回避したければ、 4096 よりも大きくするほうが良いだろう。"
9756
9757 #. type: TP
9758 #: build/C/man7/ip.7:1031
9759 #, no-wrap
9760 msgid "I<ip_no_pmtu_disc> (Boolean; default: disabled; since Linux 2.2)"
9761 msgstr "I<ip_no_pmtu_disc> (ブール値; デフォルト: 無効; Linux 2.2 以降)"
9762
9763 #.  Precisely: 2.1.15
9764 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9765 #. type: Plain text
9766 #: build/C/man7/ip.7:1043
9767 msgid "If enabled, don't do Path MTU Discovery for TCP sockets by default.  Path MTU discovery may fail if misconfigured firewalls (that drop all ICMP packets) or misconfigured interfaces (e.g., a point-to-point link where the both ends don't agree on the MTU) are on the path.  It is better to fix the broken routers on the path than to turn off Path MTU Discovery globally, because not doing it incurs a high cost to the network."
9768 msgstr "有効になっていると、デフォルトで TCP ソケットに対する Path MTU Discoverty を行わない。 Path MTU Discovery は、 正しく設定されていない (ICMP パケットを全てドロップする) ファイアウォールや、 (point-to-point リンクで双方の MTU が一致していない場合など)  正しく設定されていないインターフェースが経路上に存在すると失敗してしまう。 Path MTU Discovery をグローバルに無効にするよりは、 壊れているルータを直すほうが良い。 Path MTU Discovery を無効にするとネットワークのコストが 大きくなってしまうからである。"
9769
9770 #. type: TP
9771 #: build/C/man7/ip.7:1043
9772 #, no-wrap
9773 msgid "I<ip_nonlocal_bind> (Boolean; default: disabled; since Linux 2.4)"
9774 msgstr "I<ip_nonlocal_bind> (ブール値; デフォルト: 無効; Linux 2.4 以降)"
9775
9776 #.  Precisely: patch-2.4.0-test10
9777 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9778 #. type: Plain text
9779 #: build/C/man7/ip.7:1052
9780 msgid "If set, allows processes to B<bind>(2)  to nonlocal IP addresses, which can be quite useful, but may break some applications."
9781 msgstr "セットされていれば、プロセスが自分以外の IP アドレスを B<bind>(2)  できるようになる。これはかなり便利だが、うまく動かないアプリケーションもある。"
9782
9783 #. type: TP
9784 #: build/C/man7/ip.7:1052
9785 #, no-wrap
9786 msgid "I<ip6frag_time> (integer; default: 30)"
9787 msgstr "I<ip6frag_time> (integer; default: 30)"
9788
9789 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9790 #. type: Plain text
9791 #: build/C/man7/ip.7:1057
9792 msgid "Time in seconds to keep an IPv6 fragment in memory."
9793 msgstr "IPv6 フラグメントをメモリに保持しておく時間 (秒単位)。"
9794
9795 #. type: TP
9796 #: build/C/man7/ip.7:1057
9797 #, no-wrap
9798 msgid "I<ip6frag_secret_interval> (integer; default: 600)"
9799 msgstr "I<ip6frag_secret_interval> (integer; default: 600)"
9800
9801 #. type: Plain text
9802 #: build/C/man7/ip.7:1061
9803 msgid "Regeneration interval (in seconds) of the hash secret (or lifetime for the hash secret) for IPv6 fragments."
9804 msgstr "IPv6 フラグメントの hash secret の生成間隔 (hash secret の寿命)  (秒単位)。"
9805
9806 #. type: TP
9807 #: build/C/man7/ip.7:1061
9808 #, no-wrap
9809 msgid "I<ipfrag_high_thresh> (integer), I<ipfrag_low_thresh> (integer)"
9810 msgstr "I<ipfrag_high_thresh> (integer), I<ipfrag_low_thresh> (integer)"
9811
9812 #. type: Plain text
9813 #: build/C/man7/ip.7:1068
9814 msgid "If the amount of queued IP fragments reaches I<ipfrag_high_thresh>, the queue is pruned down to I<ipfrag_low_thresh>.  Contains an integer with the number of bytes."
9815 msgstr "キューイングされている IP フラグメントの量が I<ipfrag_high_thresh> に達すると、キューの内容は I<ipfrag_low_thresh> にまで切り捨てられる。それぞれの大きさを バイト単位で表す整数値が入っている。"
9816
9817 #. type: TP
9818 #: build/C/man7/ip.7:1068
9819 #, no-wrap
9820 msgid "I<neigh/*>"
9821 msgstr "I<neigh/*>"
9822
9823 #.  FIXME Document the conf/*/* interfaces
9824 #.  FIXME Document the route/* interfaces
9825 #. type: Plain text
9826 #: build/C/man7/ip.7:1075
9827 msgid "See B<arp>(7)."
9828 msgstr "B<arp>(7)  を見よ。"
9829
9830 #.  2006-04-02, mtk
9831 #.  commented out the following because ipchains is obsolete
9832 #.  .PP
9833 #.  The ioctls to configure firewalling are documented in
9834 #.  .BR ipfw (4)
9835 #.  from the
9836 #.  .B ipchains
9837 #.  package.
9838 #. type: Plain text
9839 #: build/C/man7/ip.7:1088
9840 msgid "All ioctls described in B<socket>(7)  apply to B<ip>."
9841 msgstr "B<socket>(7)  に記述されている ioctl は、すべて B<ip> にも適用される。"
9842
9843 #.  FIXME Add a discussion of multicasting
9844 #. type: Plain text
9845 #: build/C/man7/ip.7:1092
9846 msgid "Ioctls to configure generic device parameters are described in B<netdevice>(7)."
9847 msgstr "ジェネリックデバイスのパラメーターを設定する ioctl については B<netdevice>(7)  に記述されている。"
9848
9849 #. type: Plain text
9850 #: build/C/man7/ip.7:1112
9851 msgid "The user tried to execute an operation without the necessary permissions.  These include: sending a packet to a broadcast address without having the B<SO_BROADCAST> flag set; sending a packet via a I<prohibit> route; modifying firewall settings without superuser privileges (the B<CAP_NET_ADMIN> capability); binding to a privileged port without superuser privileges (the B<CAP_NET_BIND_SERVICE> capability)."
9852 msgstr "必要な権限のないユーザーが操作を実行しようとした。 以下のような場合が考えられる: B<SO_BROADCAST> フラグを設定していない状態でブロードキャストアドレスに パケットを送ろうとした。 I<prohibit> なルートを通してパケットを送ろうとした。 スーパーユーザー権限 (B<CAP_NET_ADMIN> ケーパビリティ) なしでファイアウォールの設定を変更しようとした。 スーパーユーザー権限 (B<CAP_NET_BIND_SERVICE> ケーパビリティ) なしで特権ポートにバインドしようとした。"
9853
9854 #. type: Plain text
9855 #: build/C/man7/ip.7:1125
9856 msgid "An connection operation on a nonblocking socket is already in progress."
9857 msgstr "非ブロッキングソケットに対する接続操作が既に実行中である。"
9858
9859 #. type: Plain text
9860 #: build/C/man7/ip.7:1134
9861 msgid "No valid routing table entry matches the destination address.  This error can be caused by a ICMP message from a remote router or for the local routing table."
9862 msgstr "宛先アドレスにマッチする有効なエントリがルーティングテーブルに 存在しない。このエラーはリモートルータからの、 あるいはローカルルーティングテーブルへの ICMP メッセージによって引き起こされることがある。"
9863
9864 #. type: Plain text
9865 #: build/C/man7/ip.7:1140
9866 msgid "Invalid argument passed.  For send operations this can be caused by sending to a I<blackhole> route."
9867 msgstr "不正な引き数が渡された。送信操作において、 I<blackhole> ルートに送信しようとするとこのエラーが起こることがある。"
9868
9869 #. type: Plain text
9870 #: build/C/man7/ip.7:1147
9871 msgid "Datagram is bigger than an MTU on the path and it cannot be fragmented."
9872 msgstr "データグラムが path MTU よりも大きく、フラグメント化もできない。"
9873
9874 #. type: TP
9875 #: build/C/man7/ip.7:1147
9876 #, no-wrap
9877 msgid "B<ENOBUFS>, B<ENOMEM>"
9878 msgstr "B<ENOBUFS>, B<ENOMEM>"
9879
9880 #. type: Plain text
9881 #: build/C/man7/ip.7:1152
9882 msgid "Not enough free memory.  This often means that the memory allocation is limited by the socket buffer limits, not by the system memory, but this is not 100% consistent."
9883 msgstr "空きメモリが足りない。 このエラーは、メモリアロケーションがソケットバッファーの 大きさによって制限されていることを意味しているのが通常であるが、 100% そうだというわけではない。"
9884
9885 #. type: Plain text
9886 #: build/C/man7/ip.7:1170
9887 msgid "User doesn't have permission to set high priority, change configuration, or send signals to the requested process or group."
9888 msgstr "高い優先度を設定したり、設定を変更したり、要求されたプロセスや プロセスグループにシグナルを送ったりするのに必要な権限を、 ユーザーが持っていない。"
9889
9890 #. type: Plain text
9891 #: build/C/man7/ip.7:1176
9892 msgid "The socket is not configured or an unknown socket type was requested."
9893 msgstr "ソケットが未設定であるか、知らないソケットタイプが要求された。"
9894
9895 #. type: Plain text
9896 #: build/C/man7/ip.7:1183
9897 msgid "Other errors may be generated by the overlaying protocols; see B<tcp>(7), B<raw>(7), B<udp>(7), and B<socket>(7)."
9898 msgstr "他のエラーが上層のプロトコルによって生じるかもしれない。 B<tcp>(7), B<raw>(7), B<udp>(7), B<socket>(7)  などを参照のこと。"
9899
9900 #.  IP_PASSSEC is Linux-specific
9901 #.  IP_XFRM_POLICY is Linux-specific
9902 #.  IP_IPSEC_POLICY is a nonstandard extension, also present on some BSDs
9903 #. type: Plain text
9904 #: build/C/man7/ip.7:1198
9905 msgid "B<IP_FREEBIND>, B<IP_MSFILTER>, B<IP_MTU>, B<IP_MTU_DISCOVER>, B<IP_RECVORIGDSTADDR>, B<IP_PKTINFO>, B<IP_RECVERR>, B<IP_ROUTER_ALERT>, and B<IP_TRANSPARENT> are Linux-specific."
9906 msgstr ""
9907 "B<IP_FREEBIND>, B<IP_MSFILTER>, B<IP_MTU>, B<IP_MTU_DISCOVER>, B<IP_RECVORIGDSTADDR>,\n"
9908 "B<IP_PKTINFO>, B<IP_RECVERR>, B<IP_ROUTER_ALERT>, and B<IP_TRANSPARENT> \n"
9909 "は Linux 固有である。"
9910
9911 #. type: Plain text
9912 #: build/C/man7/ip.7:1207
9913 msgid "Be very careful with the B<SO_BROADCAST> option - it is not privileged in Linux.  It is easy to overload the network with careless broadcasts.  For new application protocols it is better to use a multicast group instead of broadcasting.  Broadcasting is discouraged."
9914 msgstr ""
9915 "B<SO_BROADCAST> オプションの利用には、くれぐれも注意すること。\n"
9916 "これは Linux では特権操作ではない。\n"
9917 "不注意なブロードキャストを行うと、ネットワークは簡単に過負荷状態になる。\n"
9918 "新しいアプリケーションプロトコルには、ブロードキャストではなく\n"
9919 "マルチキャストグループを用いるほうがよい。 ブロードキャストは推奨されない。"
9920
9921 #. type: Plain text
9922 #: build/C/man7/ip.7:1217
9923 msgid "Some other BSD sockets implementations provide B<IP_RCVDSTADDR> and B<IP_RECVIF> socket options to get the destination address and the interface of received datagrams.  Linux has the more general B<IP_PKTINFO> for the same task."
9924 msgstr "他の BSD のソケット実装では、 B<IP_RCVDSTADDR> と B<IP_RECVIF> といったソケットオプションがサポートされており、 宛先アドレスや受信データグラムのインターフェースが取得できるように なっていることもある。 Linux で同じことをやらせるには、より一般的な B<IP_PKTINFO> が使える。"
9925
9926 #. type: Plain text
9927 #: build/C/man7/ip.7:1226
9928 msgid "Some BSD sockets implementations also provide an B<IP_RECVTTL> option, but an ancillary message with type B<IP_RECVTTL> is passed with the incoming packet.  This is different from the B<IP_TTL> option used in Linux."
9929 msgstr "いくつかの BSD のソケット実装では B<IP_RECVTTL> オプションも提供されているが、タイプ B<IP_RECVTTL> の補助メッセージは受信パケットとともに渡される。 これは Linux で使われている B<IP_TTL> オプションとは異なる動作である。"
9930
9931 #. type: Plain text
9932 #: build/C/man7/ip.7:1232
9933 msgid "Using B<SOL_IP> socket options level isn't portable, BSD-based stacks use B<IPPROTO_IP> level."
9934 msgstr "B<SOL_IP> ソケットオプションレベルは移植性がない。 BSD ベースのプロトコルスタックでは B<IPPROTO_IP> レベルが使用されている。"
9935
9936 #. type: Plain text
9937 #: build/C/man7/ip.7:1245
9938 msgid "For compatibility with Linux 2.0, the obsolete B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)> syntax is still supported to open a B<packet>(7)  socket.  This is deprecated and should be replaced by B<socket(AF_PACKET, SOCK_RAW, >I<protocol>B<)> instead.  The main difference is the new I<sockaddr_ll> address structure for generic link layer information instead of the old B<sockaddr_pkt>."
9939 msgstr "Linux 2.0 との互換性のために、 obsolete な B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)> という書式でも B<packet>(7)  をオープンできるようになっているが、これはお勧めできない。今後は B<socket(AF_PACKET, SOCK_RAW, >I<protocol>B<)> を代わりに用いるべきである。主な違いは、ジェネリックなリンク層用の I<sockaddr_ll> アドレス構造体が、古い B<sockaddr_pkt> に変わって用いられるようになったことである。"
9940
9941 #. type: Plain text
9942 #: build/C/man7/ip.7:1255
9943 msgid "The error used to diagnose exhaustion of the ephemeral port range differs across the various system calls (B<connect>(2), B<bind>(2), B<listen>(2), B<sendto>(2))  that can assign ephemeral ports."
9944 msgstr "一時ポートの範囲の枯渇を示すのに使われるエラーは、 一時ポートの割り当てを行えるシステムコール (B<connect>(2), B<bind>(2), B<listen>(2), B<sendto>(2)) により異なる。"
9945
9946 #.  .PP
9947 #.  Some versions of glibc forget to declare
9948 #.  .IR in_pktinfo .
9949 #.  Workaround currently is to copy it into your program from this man page.
9950 #. type: Plain text
9951 #: build/C/man7/ip.7:1262
9952 msgid "The ioctls to configure IP-specific interface options and ARP tables are not described."
9953 msgstr "IP 固有のインターフェースオプションを指定するための ioctl と ARP テーブルのことが記述されていない。"
9954
9955 #.  .SH AUTHORS
9956 #.  This man page was written by Andi Kleen.
9957 #. type: Plain text
9958 #: build/C/man7/ip.7:1272
9959 msgid "Receiving the original destination address with B<MSG_ERRQUEUE> in I<msg_name> by B<recvmsg>(2)  does not work in some 2.2 kernels."
9960 msgstr "B<recvmsg>(2)  で I<msg_name> に B<MSG_ERRQUEUE> を指定して、受信パケットに入っていた宛先アドレスを取得する方法は 2.2 カーネルの一部でうまく動かない。"
9961
9962 #. type: Plain text
9963 #: build/C/man7/ip.7:1285
9964 msgid "B<recvmsg>(2), B<sendmsg>(2), B<byteorder>(3), B<ipfw>(4), B<capabilities>(7), B<icmp>(7), B<ipv6>(7), B<netlink>(7), B<raw>(7), B<socket>(7), B<tcp>(7), B<udp>(7)"
9965 msgstr "B<recvmsg>(2), B<sendmsg>(2), B<byteorder>(3), B<ipfw>(4), B<capabilities>(7), B<icmp>(7), B<ipv6>(7), B<netlink>(7), B<raw>(7), B<socket>(7), B<tcp>(7), B<udp>(7)"
9966
9967 #. type: Plain text
9968 #: build/C/man7/ip.7:1289
9969 msgid "RFC\\ 791 for the original IP specification.  RFC\\ 1122 for the IPv4 host requirements.  RFC\\ 1812 for the IPv4 router requirements."
9970 msgstr "RFC\\ 791: 元々の IP 仕様。 RFC\\ 1122: IPv4 ホストの要件。 RFC\\ 1812: IPv4 ルータの要件。"
9971
9972 #. type: TH
9973 #: build/C/man7/ipv6.7:86
9974 #, no-wrap
9975 msgid "IPV6"
9976 msgstr "IPV6"
9977
9978 #. type: TH
9979 #: build/C/man7/ipv6.7:86 build/C/man7/packet.7:12
9980 #, no-wrap
9981 msgid "2014-08-19"
9982 msgstr "2014-08-19"
9983
9984 #. type: Plain text
9985 #: build/C/man7/ipv6.7:89
9986 msgid "ipv6 - Linux IPv6 protocol implementation"
9987 msgstr "ipv6 - Linux IPv6 プロトコルの実装"
9988
9989 #. type: Plain text
9990 #: build/C/man7/ipv6.7:95
9991 msgid "I<tcp6_socket>B< = socket(AF_INET6, SOCK_STREAM, 0);>"
9992 msgstr "I<tcp6_socket>B< = socket(AF_INET6, SOCK_STREAM, 0);>"
9993
9994 #. type: Plain text
9995 #: build/C/man7/ipv6.7:97
9996 msgid "I<raw6_socket>B< = socket(AF_INET6, SOCK_RAW, >I<protocol>B<);>"
9997 msgstr "I<raw6_socket>B< = socket(AF_INET6, SOCK_RAW, >I<protocol>B<);>"
9998
9999 #. type: Plain text
10000 #: build/C/man7/ipv6.7:99
10001 msgid "I<udp6_socket>B< = socket(AF_INET6, SOCK_DGRAM, >I<protocol>B<);>"
10002 msgstr "I<udp6_socket>B< = socket(AF_INET6, SOCK_DGRAM, >I<protocol>B<);>"
10003
10004 #. type: Plain text
10005 #: build/C/man7/ipv6.7:106
10006 msgid "Linux 2.2 optionally implements the Internet Protocol, version 6.  This man page contains a description of the IPv6 basic API as implemented by the Linux kernel and glibc 2.1.  The interface is based on the BSD sockets interface; see B<socket>(7)."
10007 msgstr "Linux 2.2 では、Internet Protocol, version 6 を オプションとして実装している。 この man ページでは、Linux カーネルと glibc 2.1 での実装に基づいて、 IPv6 の基本的な API を解説する。 インターフェースは BSD ソケットインターフェースをもとにしている。 B<socket>(7)  を参照。"
10008
10009 #. type: Plain text
10010 #: build/C/man7/ipv6.7:111
10011 msgid "The IPv6 API aims to be mostly compatible with the IPv4 API (see B<ip>(7)).  Only differences are described in this man page."
10012 msgstr "IPv6 API は、 IPv4 API (B<ip>(7)  参照) とほぼ互換になることを目指している。 この man ページでは相違点のみを解説する。"
10013
10014 #. type: Plain text
10015 #: build/C/man7/ipv6.7:123
10016 msgid "To bind an B<AF_INET6> socket to any process, the local address should be copied from the I<in6addr_any> variable which has I<in6_addr> type.  In static initializations, B<IN6ADDR_ANY_INIT> may also be used, which expands to a constant expression.  Both of them are in network byte order."
10017 msgstr "B<AF_INET6> ソケットを何らかのプロセスにバインドするには、 ローカルアドレスを I<in6_addr> 型の変数 I<in6addr_any> からコピーしてくる必要がある。 static な初期値 B<IN6ADDR_ANY_INIT> も用いることができ、これは定数式に展開される。 これらの両者はネットワークバイトオーダーである。"
10018
10019 #. type: Plain text
10020 #: build/C/man7/ipv6.7:130
10021 msgid "The IPv6 loopback address (::1) is available in the global I<in6addr_loopback> variable.  For initializations, B<IN6ADDR_LOOPBACK_INIT> should be used."
10022 msgstr "IPv6 のループバックアドレス (::1) は global 変数 I<in6addr_loopback> から取得できる。初期化には B<IN6ADDR_LOOPBACK_INIT> を用いるべきである。"
10023
10024 #. type: Plain text
10025 #: build/C/man7/ipv6.7:137
10026 msgid "IPv4 connections can be handled with the v6 API by using the v4-mapped-on-v6 address type; thus a program only needs to support this API type to support both protocols.  This is handled transparently by the address handling functions in the C library."
10027 msgstr "v4-mapped-on-v6 アドレス型を用いることで、 IPv4 接続も v6 API で扱うことができる。 こうすれば、プログラムは v6 の API をサポートするだけで、 両方のプロトコルをサポートできる。 v4-mapped-on-v6 アドレス型は C ライブラリ内部のアドレスを 扱う関数によって透過的に処理される。"
10028
10029 #. type: Plain text
10030 #: build/C/man7/ipv6.7:142
10031 msgid "IPv4 and IPv6 share the local port space.  When you get an IPv4 connection or packet to a IPv6 socket, its source address will be mapped to v6 and it will be mapped to v6."
10032 msgstr "IPv4 と IPv6 はローカルポート空間を共有する。 IPv4 の接続 (またはパケット) を IPv6 ソケットが取得すると、 発信元アドレスが v6 にマップされ、その接続 (パケット) も v6 にマップされる。"
10033
10034 #. type: Plain text
10035 #: build/C/man7/ipv6.7:152
10036 #, no-wrap
10037 msgid ""
10038 "struct sockaddr_in6 {\n"
10039 "    sa_family_t     sin6_family;   /* AF_INET6 */\n"
10040 "    in_port_t       sin6_port;     /* port number */\n"
10041 "    uint32_t        sin6_flowinfo; /* IPv6 flow information */\n"
10042 "    struct in6_addr sin6_addr;     /* IPv6 address */\n"
10043 "    uint32_t        sin6_scope_id; /* Scope ID (new in 2.4) */\n"
10044 "};\n"
10045 msgstr ""
10046 "struct sockaddr_in6 {\n"
10047 "    sa_family_t     sin6_family;   /* AF_INET6 */\n"
10048 "    in_port_t       sin6_port;     /* port number */\n"
10049 "    uint32_t        sin6_flowinfo; /* IPv6 flow information */\n"
10050 "    struct in6_addr sin6_addr;     /* IPv6 address */\n"
10051 "    uint32_t        sin6_scope_id; /* Scope ID (new in 2.4) */\n"
10052 "};\n"
10053
10054 #. type: Plain text
10055 #: build/C/man7/ipv6.7:156
10056 #, no-wrap
10057 msgid ""
10058 "struct in6_addr {\n"
10059 "    unsigned char   s6_addr[16];   /* IPv6 address */\n"
10060 "};\n"
10061 msgstr ""
10062 "struct in6_addr {\n"
10063 "    unsigned char   s6_addr[16];   /* IPv6 address */\n"
10064 "};\n"
10065
10066 #. type: Plain text
10067 #: build/C/man7/ipv6.7:178
10068 msgid "I<sin6_family> is always set to B<AF_INET6>; I<sin6_port> is the protocol port (see I<sin_port> in B<ip>(7)); I<sin6_flowinfo> is the IPv6 flow identifier; I<sin6_addr> is the 128-bit IPv6 address.  I<sin6_scope_id> is an ID depending on the scope of the address.  It is new in Linux 2.4.  Linux supports it only for link-local addresses, in that case I<sin6_scope_id> contains the interface index (see B<netdevice>(7))"
10069 msgstr ""
10070 "I<sin6_family> は常に B<AF_INET6> に設定される。\n"
10071 "I<sin6_port> はプロトコルポートである (B<ip>(7) の I<sin_port> を参照)。\n"
10072 "I<sin6_flowinfo> は IPv6 のフロー指定子 (flow identifier) である。\n"
10073 "I<sin6_addr> は 128 ビットの IPv6 アドレスである。 I<sin6_scope_id> は\n"
10074 "アドレスのスコープに依存した ID である (これは Linux 2.4 で導入された)。\n"
10075 "Linux の場合は、これはリンクローカルアドレスでのみサポートされている。\n"
10076 "この場合 I<sin6_scope_id> にはインターフェースのインデックスが含まれる\n"
10077 "ことになる (B<netdevice>(7) を参照)。"
10078
10079 #. type: Plain text
10080 #: build/C/man7/ipv6.7:184
10081 msgid "IPv6 supports several address types: unicast to address a single host, multicast to address a group of hosts, anycast to address the nearest member of a group of hosts (not implemented in Linux), IPv4-on-IPv6 to address a IPv4 host, and other reserved address types."
10082 msgstr "IPv6 は何種類かのアドレスタイプをサポートしている。 単一のホストをアドレスするための unicast、 ホストのグループをアドレスするための multicast、 ホストのグループ中で最も近くにいるものをアドレスするための anycast (これは Linux では実装されていない)、 IPv4 ホストをアドレスするための IPv4-on-IPv6。 他にも予約済みのアドレスタイプがある。"
10083
10084 #. type: Plain text
10085 #: build/C/man7/ipv6.7:190
10086 msgid "The address notation for IPv6 is a group of 8 4-digit hexadecimal numbers, separated with a \\(aq:\\(aq.  \\&\"::\" stands for a string of 0 bits.  Special addresses are ::1 for loopback and ::FFFF:E<lt>IPv4 addressE<gt> for IPv4-mapped-on-IPv6."
10087 msgstr "IPv6 でのアドレス表記は 4 桁の 16 進数 8 個からなり、 \\(aq:\\(aq は区切り文字はで、\"::\" は 0 ビットの文字列を表す。 特殊なアドレスとして、ループバックを表す ::1、 IPv4-mapped-on-IPv6 を表す ::FFFF::E<lt>IPv4 アドレスE<gt> がある。"
10088
10089 #. type: Plain text
10090 #: build/C/man7/ipv6.7:192
10091 msgid "The port space of IPv6 is shared with IPv4."
10092 msgstr "IPv6 のポート空間は IPv4 と共有されている。"
10093
10094 #. type: Plain text
10095 #: build/C/man7/ipv6.7:200
10096 msgid "IPv6 supports some protocol-specific socket options that can be set with B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level for IPv6 is B<IPPROTO_IPV6>.  A boolean integer flag is zero when it is false, otherwise true."
10097 msgstr "IPv6 はプロトコル固有のソケットオプションをいくつかサポートしている。 これらは B<setsockopt>(2)  で設定でき、 B<getsockopt>(2)  で取得できる。 IPv6 のソケットオプションレベルは B<IPPROTO_IPV6> である。 ブール整数のフラグは、0 が偽であり、それ以外は真である。"
10098
10099 #. type: TP
10100 #: build/C/man7/ipv6.7:200
10101 #, no-wrap
10102 msgid "B<IPV6_ADDRFORM>"
10103 msgstr "B<IPV6_ADDRFORM>"
10104
10105 #. type: Plain text
10106 #: build/C/man7/ipv6.7:214
10107 msgid "Turn an B<AF_INET6> socket into a socket of a different address family.  Only B<AF_INET> is currently supported for that.  It is allowed only for IPv6 sockets that are connected and bound to a v4-mapped-on-v6 address.  The argument is a pointer to an integer containing B<AF_INET>.  This is useful to pass v4-mapped sockets as file descriptors to programs that don't know how to deal with the IPv6 API."
10108 msgstr "B<AF_INET6> ソケットを別のアドレスファミリーのソケットに変える。 現在は B<AF_INET> のみが変更先のアドレスファミリーとしてサポートされている。 これが許可されるのは、IPv6 が接続され、 v4-mapped-on-v6 アドレスにバインドされた場合に限られる。 引き数は B<AF_INET> が入っている整数へのポインターである。 v4-mapped ソケットを、IPv6 API を扱えないプログラムに対して ファイルディスクリプターとして渡す場合に便利。"
10109
10110 #. type: TP
10111 #: build/C/man7/ipv6.7:214
10112 #, no-wrap
10113 msgid "B<IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP>"
10114 msgstr "B<IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP>"
10115
10116 #. type: Plain text
10117 #: build/C/man7/ipv6.7:219
10118 msgid "Control membership in multicast groups.  Argument is a pointer to a I<struct ipv6_mreq>."
10119 msgstr "multicast グループのメンバーを制御する。 引き数は I<struct ipv6_mreq> 構造体へのポインター。"
10120
10121 #. type: TP
10122 #: build/C/man7/ipv6.7:219
10123 #, no-wrap
10124 msgid "B<IPV6_MTU>"
10125 msgstr "B<IPV6_MTU>"
10126
10127 #. type: Plain text
10128 #: build/C/man7/ipv6.7:225
10129 msgid "B<getsockopt>(): Retrieve the current known path MTU of the current socket.  Only valid when the socket has been connected.  Returns an integer."
10130 msgstr "B<getsockopt>(): ソケットの、既知の path MTU を取得する。ソケットが接続している場合のみ有効である。整数を返す。"
10131
10132 #. type: Plain text
10133 #: build/C/man7/ipv6.7:231
10134 msgid "B<setsockopt>(): Set the MTU to be used for the socket.  The MTU is limited by the device MTU or the path MTU when path MTU discovery is enabled.  Argument is a pointer to integer."
10135 msgstr "B<setsockopt>(): そのソケットに対して用いる MTU の値を設定する。 MTU の大きさは、 そのデバイスの MTU または (Path MTU Discovery が可能なら) その経路の MTU の大きさ以下でなければならない。 引き数は整数へのポインター。"
10136
10137 #. type: TP
10138 #: build/C/man7/ipv6.7:231
10139 #, no-wrap
10140 msgid "B<IPV6_MTU_DISCOVER>"
10141 msgstr "B<IPV6_MTU_DISCOVER>"
10142
10143 #. type: Plain text
10144 #: build/C/man7/ipv6.7:239
10145 msgid "Control path-MTU discovery on the socket.  See B<IP_MTU_DISCOVER> in B<ip>(7)  for details."
10146 msgstr "そのソケットでの Path MTU Discovery を制御する。 詳細は B<ip>(7)  の B<IP_MTU_DISCOVER> を参照。"
10147
10148 #. type: TP
10149 #: build/C/man7/ipv6.7:239
10150 #, no-wrap
10151 msgid "B<IPV6_MULTICAST_HOPS>"
10152 msgstr "B<IPV6_MULTICAST_HOPS>"
10153
10154 #. type: Plain text
10155 #: build/C/man7/ipv6.7:246
10156 msgid "Set the multicast hop limit for the socket.  Argument is a pointer to an integer.  -1 in the value means use the route default, otherwise it should be between 0 and 255."
10157 msgstr "そのソケットでの multicast の hop 数の上限値を設定する。 引き数は整数へのポインターである。 -1 を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。"
10158
10159 #. type: TP
10160 #: build/C/man7/ipv6.7:246
10161 #, no-wrap
10162 msgid "B<IPV6_MULTICAST_IF>"
10163 msgstr "B<IPV6_MULTICAST_IF>"
10164
10165 #. type: Plain text
10166 #: build/C/man7/ipv6.7:257
10167 msgid "Set the device for outgoing multicast packets on the socket.  This is allowed only for B<SOCK_DGRAM> and B<SOCK_RAW> socket.  The argument is a pointer to an interface index (see B<netdevice>(7))  in an integer."
10168 msgstr "そのソケットでの、送信 multicast パケットに用いるデバイスを設定する。 これは B<SOCK_DGRAM> および B<SOCK_RAW> 各ソケットでのみ許される。 引き数はインターフェースのインデックスの整数値 (B<netdevice>(7)  を参照) へのポインターである。"
10169
10170 #. type: TP
10171 #: build/C/man7/ipv6.7:257
10172 #, no-wrap
10173 msgid "B<IPV6_MULTICAST_LOOP>"
10174 msgstr "B<IPV6_MULTICAST_LOOP>"
10175
10176 #. type: Plain text
10177 #: build/C/man7/ipv6.7:261
10178 msgid "Control whether the socket sees multicast packets that it has send itself.  Argument is a pointer to boolean."
10179 msgstr "ソケットが、自分自身の送信した multicast パケットを監視するかどうかを制御する。 引き数はブール値へのポインター。"
10180
10181 #. type: TP
10182 #: build/C/man7/ipv6.7:261
10183 #, no-wrap
10184 msgid "B<IPV6_RECVPKTINFO> (since Linux 2.6.14)"
10185 msgstr "B<IPV6_RECVPKTINFO> (Linux 2.6.14 以降)"
10186
10187 #. type: Plain text
10188 #: build/C/man7/ipv6.7:275
10189 msgid "Set delivery of the B<IPV6_PKTINFO> control message on incoming datagrams.  Such control messages contain a I<struct in6_pktinfo>, as per RFC 3542.  Only allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a pointer to a boolean value in an integer."
10190 msgstr "データグラムの到着時における B<IPV6_PKTINFO> 制御メッセージを配送するかどうかを設定する。 制御メッセージは RFC 3542 に基づき I<struct in6_pktinfo> に格納される。 B<SOCK_DGRAM> ソケットまたは B<SOCK_RAW> ソケットに対してのみ許可される。 引き数はブール値の入った整数。"
10191
10192 #. type: Plain text
10193 #: build/C/man7/ipv6.7:278
10194 #, no-wrap
10195 msgid "B<IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT>\n"
10196 msgstr "B<IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT>\n"
10197
10198 #. type: Plain text
10199 #: build/C/man7/ipv6.7:303
10200 msgid "Set delivery of control messages for incoming datagrams containing extension headers from the received packet.  B<IPV6_RTHDR> delivers the routing header, B<IPV6_AUTHHDR> delivers the authentication header, B<IPV6_DSTOPTS> delivers the destination options, B<IPV6_HOPOPTS> delivers the hop options, B<IPV6_FLOWINFO> delivers an integer containing the flow ID, B<IPV6_HOPLIMIT> delivers an integer containing the hop count of the packet.  The control messages have the same type as the socket option.  All these header options can also be set for outgoing packets by putting the appropriate control message into the control buffer of B<sendmsg>(2).  Only allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a pointer to a boolean value."
10201 msgstr "受信パケットのデータグラムに拡張ヘッダが含まれている場合の、 制御メッセージの配送を設定する。 B<IPV6_RTHDR>: routing ヘッダを配送するかどうか。 B<IPV6_AUTHHDR>: authentication ヘッダを配送するかどうか。 B<IPV6_DSTOPTS>: destination オプションを配送するかどうか。 B<IPV6_HOPOPTS>: hop オプションを配送するかどうか。 B<IPV6_FLOWINFO>: flow ID を含む整数を配送するかどうか。 B<IPV6_HOPLIMIT>: パケットの hop カウントを含む整数を配送するかどうか。 制御メッセージはソケットオプションのものと同じタイプを持つ。 これらのすべてのヘッダオプションは、 適切な制御メッセージを B<sendmsg>(2)  の制御バッファーに書きこめば、 送信パケットにでも設定できる。 B<SOCK_DGRAM> ソケットまたは B<SOCK_RAW> ソケットでのみ許される。引き数はブール値へのポインター。"
10202
10203 #. type: TP
10204 #: build/C/man7/ipv6.7:303
10205 #, no-wrap
10206 msgid "B<IPV6_RECVERR>"
10207 msgstr "B<IPV6_RECVERR>"
10208
10209 #. type: Plain text
10210 #: build/C/man7/ipv6.7:312
10211 msgid "Control receiving of asynchronous error options.  See B<IP_RECVERR> in B<ip>(7)  for details.  Argument is a pointer to boolean."
10212 msgstr "非同期エラー (asynchronous error) オプションの受信を制御する。 詳細は B<ip>(7)  の B<IP_RECVERR> を参照。 引き数はブール値へのポインター。"
10213
10214 #. type: TP
10215 #: build/C/man7/ipv6.7:312
10216 #, no-wrap
10217 msgid "B<IPV6_ROUTER_ALERT>"
10218 msgstr "B<IPV6_ROUTER_ALERT>"
10219
10220 #. type: Plain text
10221 #: build/C/man7/ipv6.7:327
10222 msgid "Pass forwarded packets containing a router alert hop-by-hop option to this socket.  Only allowed for B<SOCK_RAW> sockets.  The tapped packets are not forwarded by the kernel, it is the user's responsibility to send them out again.  Argument is a pointer to an integer.  A positive integer indicates a router alert option value to intercept.  Packets carrying a router alert option with a value field containing this integer will be delivered to the socket.  A negative integer disables delivery of packets with router alert options to this socket."
10223 msgstr "このソケットで、router alert hop-by-hop オプションの付いた転送パケットを 通すかどうかを制御する。 B<SOCK_RAW> ソケットでのみ許可される。 tap されたパケットはカーネルによっては転送されない。そうしたパケットを 再度送信するのはユーザーの責任である。 引き数は整数 (integer) へのポインター。 正の整数は傍受を行う router alert オプション値を示す。 オプション値がこの整数である router alert オプションの付いたパケットは ソケットに配送される。負の整数を指定すると、このソケットへの router alert オプションの付いたパケットの配送が行われない。"
10224
10225 #. type: TP
10226 #: build/C/man7/ipv6.7:327
10227 #, no-wrap
10228 msgid "B<IPV6_UNICAST_HOPS>"
10229 msgstr "B<IPV6_UNICAST_HOPS>"
10230
10231 #. type: Plain text
10232 #: build/C/man7/ipv6.7:333
10233 msgid "Set the unicast hop limit for the socket.  Argument is a pointer to an integer.  -1 in the value means use the route default, otherwise it should be between 0 and 255."
10234 msgstr "そのソケットでの unicast の hop 数の上限値を設定する。 引き数は整数へのポインターである。 -1 を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。"
10235
10236 #. type: TP
10237 #: build/C/man7/ipv6.7:333
10238 #, no-wrap
10239 msgid "B<IPV6_V6ONLY> (since Linux 2.4.21 and 2.6)"
10240 msgstr "B<IPV6_V6ONLY> (Linux 2.4.21 以降および 2.6 以降)"
10241
10242 #.  See RFC 3493
10243 #. type: Plain text
10244 #: build/C/man7/ipv6.7:340
10245 msgid "If this flag is set to true (nonzero), then the socket is restricted to sending and receiving IPv6 packets only.  In this case, an IPv4 and an IPv6 application can bind to a single port at the same time."
10246 msgstr "このフラグを真 (0 以外) に設定すると、そのソケットは IPv6 パケットだけを 送受信するように制限される。 この場合、IPv4 アプリケーションと IPv6 アプリケーションが同時に 一つのポートをバインドできる。"
10247
10248 #. type: Plain text
10249 #: build/C/man7/ipv6.7:344
10250 msgid "If this flag is set to false (zero), then the socket can be used to send and receive packets to and from an IPv6 address or an IPv4-mapped IPv6 address."
10251 msgstr "このフラグを偽 (0) に設定すると、そのソケットはパケットの送受信に IPv6 アドレスと IPv4-mapped IPv6 アドレスの両方を使用できる。"
10252
10253 #. type: Plain text
10254 #: build/C/man7/ipv6.7:346
10255 msgid "The argument is a pointer to a boolean value in an integer."
10256 msgstr "引き数はブール値の入った整数へのポインターである。"
10257
10258 #.  FLOWLABEL_MGR, FLOWINFO_SEND
10259 #. type: Plain text
10260 #: build/C/man7/ipv6.7:351
10261 msgid "The default value for this flag is defined by the contents of the file I</proc/sys/net/ipv6/bindv6only>.  The default value for that file is 0 (false)."
10262 msgstr "このフラグのデフォルト値はファイル I</proc/sys/net/ipv6/bindv6only> の内容により定義される。 このファイルのデフォルト値は 0 (偽) である。"
10263
10264 #. type: Plain text
10265 #: build/C/man7/ipv6.7:362
10266 msgid "The user tried to B<bind>(2)  to a link-local IPv6 address, but the I<sin6_scope_id> in the supplied I<sockaddr_in6> structure is not a valid interface index."
10267 msgstr ""
10268 "ユーザーがリンクローカルの IPv6 アドレスを B<bind>(2) しようとしたが、\n"
10269 "指定された I<sockaddr_in6> 構造体の I<sin6_scope_id> が\n"
10270 "有効なインターフェースのインデックスでなかった。"
10271
10272 #. type: Plain text
10273 #: build/C/man7/ipv6.7:378
10274 msgid "Linux 2.4 will break binary compatibility for the I<sockaddr_in6> for 64-bit hosts by changing the alignment of I<in6_addr> and adding an additional I<sin6_scope_id> field.  The kernel interfaces stay compatible, but a program including I<sockaddr_in6> or I<in6_addr> into other structures may not be.  This is not a problem for 32-bit hosts like i386."
10275 msgstr "Linux 2.4 では 64 ビットのホストに対して I<sockaddr_in6> のバイナリ互換性が保たれていない。 I<in6_addr> のアラインメントが変更され、また I<sin6_scope_id> フィールドが新たに追加されたからである。 カーネルインターフェースの互換性は保たれているが、 I<sockaddr_in6> や I<in6_addr> を他の構造体に含んでいるようなプログラムでは 保たれないかもしれない。 これは i386 のような 32 ビットのホストでは問題にならない。"
10276
10277 #. type: Plain text
10278 #: build/C/man7/ipv6.7:386
10279 msgid "The I<sin6_flowinfo> field is new in Linux 2.4.  It is transparently passed/read by the kernel when the passed address length contains it.  Some programs that pass a longer address buffer and then check the outgoing address length may break."
10280 msgstr "I<sin6_flowinfo> フィールドは Linux 2.4 で登場した。 これが渡されたアドレス長に含まれていると、 カーネルに透過的に渡され、読まれる。 より長いアドレスバッファーを渡し、 そして送信アドレスの長さをチェックするようなプログラムは うまく動かないかもしれない。"
10281
10282 #. type: Plain text
10283 #: build/C/man7/ipv6.7:396
10284 msgid "The I<sockaddr_in6> structure is bigger than the generic I<sockaddr>.  Programs that assume that all address types can be stored safely in a I<struct sockaddr> need to be changed to use I<struct sockaddr_storage> for that instead."
10285 msgstr "I<sockaddr_in6> 構造体はジェネリックな I<sockaddr> よりも大きい。 すべてのアドレスタイプが I<struct sockaddr> の中に安全に納められると仮定しているプログラムは、代わりに I<struct sockaddr_storage> を用いるように変更する必要がある。"
10286
10287 #. type: Plain text
10288 #: build/C/man7/ipv6.7:401
10289 msgid "The IPv6 extended API as in RFC\\ 2292 is currently only partly implemented; although the 2.2 kernel has near complete support for receiving options, the macros for generating IPv6 options are missing in glibc 2.1."
10290 msgstr "IPv6 拡張 API は、現在まだ RFC\\ 2292 を完全には実装していない。 2.2 カーネルは受信オプションをほぼ完全にサポートサポートしているが、 glibc2.1 には IPv6 オプションを生成するマクロが存在していない。"
10291
10292 #. type: Plain text
10293 #: build/C/man7/ipv6.7:403
10294 msgid "IPSec support for EH and AH headers is missing."
10295 msgstr "EH および AH ヘッダ での IPSec のサポートは存在しない。"
10296
10297 #. type: Plain text
10298 #: build/C/man7/ipv6.7:405
10299 msgid "Flow label management is not complete and not documented here."
10300 msgstr "フローラベル管理はまだ完全でなく、ここにも記述されていない。"
10301
10302 #. type: Plain text
10303 #: build/C/man7/ipv6.7:407
10304 msgid "This man page is not complete."
10305 msgstr "この man ページはまだ完成していない。"
10306
10307 #. type: Plain text
10308 #: build/C/man7/ipv6.7:410
10309 msgid "B<cmsg>(3), B<ip>(7)"
10310 msgstr "B<cmsg>(3), B<ip>(7)"
10311
10312 #. type: Plain text
10313 #: build/C/man7/ipv6.7:414
10314 msgid "RFC\\ 2553: IPv6 BASIC API; Linux tries to be compliant to this.  RFC\\ 2460: IPv6 specification."
10315 msgstr "RFC\\ 2553: IPv6 BASIC API; Linux はこの RFC に準拠するようにしている。 RFC\\ 2460: IPv6 specification."
10316
10317 #. type: TH
10318 #: build/C/man7/netdevice.7:18
10319 #, no-wrap
10320 msgid "NETDEVICE"
10321 msgstr "NETDEVICE"
10322
10323 #. type: TH
10324 #: build/C/man7/netdevice.7:18
10325 #, no-wrap
10326 msgid "2014-01-24"
10327 msgstr "2014-01-24"
10328
10329 #. type: Plain text
10330 #: build/C/man7/netdevice.7:21
10331 msgid "netdevice - low-level access to Linux network devices"
10332 msgstr "netdevice - Linux ネットワークデバイスへの低レベルアクセス"
10333
10334 #. type: Plain text
10335 #: build/C/man7/netdevice.7:23
10336 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
10337 msgstr "B<#include E<lt>sys/ioctl.hE<gt>>"
10338
10339 #. type: Plain text
10340 #: build/C/man7/netdevice.7:25
10341 msgid "B<#include E<lt>net/if.hE<gt>>"
10342 msgstr "B<#include E<lt>net/if.hE<gt>>"
10343
10344 #. type: Plain text
10345 #: build/C/man7/netdevice.7:28
10346 msgid "This man page describes the sockets interface which is used to configure network devices."
10347 msgstr "この man ページでは、ネットワークデバイスを設定するために 用いるソケットインターフェースについて解説する。"
10348
10349 #. type: Plain text
10350 #: build/C/man7/netdevice.7:35
10351 msgid "Linux supports some standard ioctls to configure network devices.  They can be used on any socket's file descriptor regardless of the family or type.  Most of them pass an I<ifreq> structure:"
10352 msgstr "Linux はネットワークデバイスを設定するための標準的な ioctl を いくつか備えている。これらはどんなソケットのファイルディスクリプターにも 用いることができる。ファミリーやタイプは何でもよい。 これらの ioctl のほとんどは I<ifreq> 構造体を渡す。"
10353
10354 #. type: Plain text
10355 #: build/C/man7/netdevice.7:56
10356 #, no-wrap
10357 msgid ""
10358 "struct ifreq {\n"
10359 "    char ifr_name[IFNAMSIZ]; /* Interface name */\n"
10360 "    union {\n"
10361 "        struct sockaddr ifr_addr;\n"
10362 "        struct sockaddr ifr_dstaddr;\n"
10363 "        struct sockaddr ifr_broadaddr;\n"
10364 "        struct sockaddr ifr_netmask;\n"
10365 "        struct sockaddr ifr_hwaddr;\n"
10366 "        short           ifr_flags;\n"
10367 "        int             ifr_ifindex;\n"
10368 "        int             ifr_metric;\n"
10369 "        int             ifr_mtu;\n"
10370 "        struct ifmap    ifr_map;\n"
10371 "        char            ifr_slave[IFNAMSIZ];\n"
10372 "        char            ifr_newname[IFNAMSIZ];\n"
10373 "        char           *ifr_data;\n"
10374 "    };\n"
10375 "};\n"
10376 msgstr ""
10377 "struct ifreq {\n"
10378 "    char ifr_name[IFNAMSIZ]; /* Interface name */\n"
10379 "    union {\n"
10380 "        struct sockaddr ifr_addr;\n"
10381 "        struct sockaddr ifr_dstaddr;\n"
10382 "        struct sockaddr ifr_broadaddr;\n"
10383 "        struct sockaddr ifr_netmask;\n"
10384 "        struct sockaddr ifr_hwaddr;\n"
10385 "        short           ifr_flags;\n"
10386 "        int             ifr_ifindex;\n"
10387 "        int             ifr_metric;\n"
10388 "        int             ifr_mtu;\n"
10389 "        struct ifmap    ifr_map;\n"
10390 "        char            ifr_slave[IFNAMSIZ];\n"
10391 "        char            ifr_newname[IFNAMSIZ];\n"
10392 "        char           *ifr_data;\n"
10393 "    };\n"
10394 "};\n"
10395
10396 #. type: Plain text
10397 #: build/C/man7/netdevice.7:64
10398 msgid "Normally, the user specifies which device to affect by setting I<ifr_name> to the name of the interface.  All other members of the structure may share memory."
10399 msgstr "通常、ユーザーによる設定対象デバイスの指定は、 I<ifr_name> にインターフェースの名前をセットすることによって行う。 他の構造体の全てのメンバは、メモリを共有する。"
10400
10401 #. type: Plain text
10402 #: build/C/man7/netdevice.7:72
10403 msgid "If an ioctl is marked as privileged, then using it requires an effective user ID of 0 or the B<CAP_NET_ADMIN> capability.  If this is not the case, B<EPERM> will be returned."
10404 msgstr "「特権が必要」と記述されている ioctl を実行するには、 実効ユーザー ID が 0 か、 B<CAP_NET_ADMIN> 権限が必要である。これが満たされていない場合は B<EPERM> が返される。"
10405
10406 #. type: TP
10407 #: build/C/man7/netdevice.7:72
10408 #, no-wrap
10409 msgid "B<SIOCGIFNAME>"
10410 msgstr "B<SIOCGIFNAME>"
10411
10412 #. type: Plain text
10413 #: build/C/man7/netdevice.7:80
10414 msgid "Given the I<ifr_ifindex>, return the name of the interface in I<ifr_name>.  This is the only ioctl which returns its result in I<ifr_name>."
10415 msgstr "I<ifr_ifindex> を受け取り、インターフェースの名前を I<ifr_name> に入れて返す。これは結果を I<ifr_name> として返す唯一の ioctl である。"
10416
10417 #. type: TP
10418 #: build/C/man7/netdevice.7:80
10419 #, no-wrap
10420 msgid "B<SIOCGIFINDEX>"
10421 msgstr "B<SIOCGIFINDEX>"
10422
10423 #. type: Plain text
10424 #: build/C/man7/netdevice.7:84
10425 msgid "Retrieve the interface index of the interface into I<ifr_ifindex>."
10426 msgstr "インターフェースの interface index を取得し、 I<ifr_ifindex> に入れて返す。"
10427
10428 #. type: TP
10429 #: build/C/man7/netdevice.7:84
10430 #, no-wrap
10431 msgid "B<SIOCGIFFLAGS>, B<SIOCSIFFLAGS>"
10432 msgstr "B<SIOCGIFFLAGS>, B<SIOCSIFFLAGS>"
10433
10434 #.  Do not right adjust text blocks in tables
10435 #. type: Plain text
10436 #: build/C/man7/netdevice.7:90
10437 msgid "Get or set the active flag word of the device.  I<ifr_flags> contains a bit mask of the following values:"
10438 msgstr "デバイスの active フラグワードを取得または設定する。 I<ifr_flags> には以下の値のビットマスクが入る。"
10439
10440 #. type: tbl table
10441 #: build/C/man7/netdevice.7:95
10442 #, no-wrap
10443 msgid "Device flags\n"
10444 msgstr "デバイスフラグ\n"
10445
10446 #. type: tbl table
10447 #: build/C/man7/netdevice.7:96
10448 #, no-wrap
10449 msgid "IFF_UP:Interface is running.\n"
10450 msgstr "IFF_UP:インターフェースは動作中。\n"
10451
10452 #. type: tbl table
10453 #: build/C/man7/netdevice.7:97
10454 #, no-wrap
10455 msgid "IFF_BROADCAST:Valid broadcast address set.\n"
10456 msgstr "IFF_BROADCAST:有効なブロードキャストアドレスがセットされている。\n"
10457
10458 #. type: tbl table
10459 #: build/C/man7/netdevice.7:98
10460 #, no-wrap
10461 msgid "IFF_DEBUG:Internal debugging flag.\n"
10462 msgstr "IFF_DEBUG:内部のデバッグフラグ。\n"
10463
10464 #. type: tbl table
10465 #: build/C/man7/netdevice.7:99
10466 #, no-wrap
10467 msgid "IFF_LOOPBACK:Interface is a loopback interface.\n"
10468 msgstr "IFF_LOOPBACK:インターフェースはループバックである。\n"
10469
10470 #. type: tbl table
10471 #: build/C/man7/netdevice.7:100
10472 #, no-wrap
10473 msgid "IFF_POINTOPOINT:Interface is a point-to-point link.\n"
10474 msgstr "IFF_POINTOPOINT:インターフェースは point-to-point リンクである。\n"
10475
10476 #. type: tbl table
10477 #: build/C/man7/netdevice.7:101
10478 #, no-wrap
10479 msgid "IFF_RUNNING:Resources allocated.\n"
10480 msgstr "IFF_RUNNING:リソースが割り当て済み。\n"
10481
10482 #. type: tbl table
10483 #: build/C/man7/netdevice.7:102
10484 #, no-wrap
10485 msgid "IFF_NOARP:T{\n"
10486 msgstr "IFF_NOARP:T{\n"
10487
10488 #. type: tbl table
10489 #: build/C/man7/netdevice.7:103
10490 #, no-wrap
10491 msgid "No arp protocol, L2 destination address not set.\n"
10492 msgstr "arp プロトコルがない。 L2 宛先アドレスが設定されていない。\n"
10493
10494 #. type: tbl table
10495 #: build/C/man7/netdevice.7:104 build/C/man7/netdevice.7:115
10496 #, no-wrap
10497 msgid "T}\n"
10498 msgstr "T}\n"
10499
10500 #. type: tbl table
10501 #: build/C/man7/netdevice.7:105
10502 #, no-wrap
10503 msgid "IFF_PROMISC:Interface is in promiscuous mode.\n"
10504 msgstr "IFF_PROMISC:インターフェースは promiscuous モードである。\n"
10505
10506 #. type: tbl table
10507 #: build/C/man7/netdevice.7:106
10508 #, no-wrap
10509 msgid "IFF_NOTRAILERS:Avoid use of trailers.\n"
10510 msgstr "IFF_NOTRAILERS:trailer の利用を避ける。\n"
10511
10512 #. type: tbl table
10513 #: build/C/man7/netdevice.7:107
10514 #, no-wrap
10515 msgid "IFF_ALLMULTI:Receive all multicast packets.\n"
10516 msgstr "IFF_ALLMULTI:全てのマルチキャストパケットを受信する。\n"
10517
10518 #. type: tbl table
10519 #: build/C/man7/netdevice.7:108
10520 #, no-wrap
10521 msgid "IFF_MASTER:Master of a load balancing bundle.\n"
10522 msgstr "IFF_MASTER:負荷分散グループのマスターである。\n"
10523
10524 #. type: tbl table
10525 #: build/C/man7/netdevice.7:109
10526 #, no-wrap
10527 msgid "IFF_SLAVE:Slave of a load balancing bundle.\n"
10528 msgstr "IFF_SLAVE:負荷分散グループのスレーブである。\n"
10529
10530 #. type: tbl table
10531 #: build/C/man7/netdevice.7:110
10532 #, no-wrap
10533 msgid "IFF_MULTICAST:Supports multicast\n"
10534 msgstr "IFF_MULTICAST:マルチキャストをサポートしている。\n"
10535
10536 #. type: tbl table
10537 #: build/C/man7/netdevice.7:111
10538 #, no-wrap
10539 msgid "IFF_PORTSEL:Is able to select media type via ifmap.\n"
10540 msgstr "IFF_PORTSEL:ifmap によってメディアタイプを選択できる。\n"
10541
10542 #. type: tbl table
10543 #: build/C/man7/netdevice.7:112
10544 #, no-wrap
10545 msgid "IFF_AUTOMEDIA:Auto media selection active.\n"
10546 msgstr "IFF_AUTOMEDIA:自動メディア選択が有効になっている。\n"
10547
10548 #. type: tbl table
10549 #: build/C/man7/netdevice.7:113
10550 #, no-wrap
10551 msgid "IFF_DYNAMIC:T{\n"
10552 msgstr "IFF_DYNAMIC:T{\n"
10553
10554 #. type: tbl table
10555 #: build/C/man7/netdevice.7:114
10556 #, no-wrap
10557 msgid "The addresses are lost when the interface goes down.\n"
10558 msgstr "このインターフェースが閉じると、アドレスは失われる。\n"
10559
10560 #. type: tbl table
10561 #: build/C/man7/netdevice.7:116
10562 #, no-wrap
10563 msgid "IFF_LOWER_UP:Driver signals L1 up (since Linux 2.6.17)\n"
10564 msgstr "IFF_LOWER_UP:ドライバからの L1 アップの通知 (Linux 2.6.17 以降)\n"
10565
10566 #. type: tbl table
10567 #: build/C/man7/netdevice.7:117
10568 #, no-wrap
10569 msgid "IFF_DORMANT:Driver signals dormant (since Linux 2.6.17)\n"
10570 msgstr "IFF_DORMANT:ドライバからの休止状態の通知 (Linux 2.6.17 以降)\n"
10571
10572 #. type: tbl table
10573 #: build/C/man7/netdevice.7:118
10574 #, no-wrap
10575 msgid "IFF_ECHO:Echo sent packets (since Linux 2.6.25)\n"
10576 msgstr "IFF_ECHO:送られたパケットをエコーする (Linux 2.6.25 以降)\n"
10577
10578 #. type: Plain text
10579 #: build/C/man7/netdevice.7:124
10580 msgid "Setting the active flag word is a privileged operation, but any process may read it."
10581 msgstr ""
10582 "active フラグワードの設定は特権が必要な操作である。\n"
10583 "読み出しはどんなプロセスからも可能である。"
10584
10585 #. type: TP
10586 #: build/C/man7/netdevice.7:124
10587 #, no-wrap
10588 msgid "B<SIOCGIFPFLAGS>, B<SIOCSIFPFLAGS>"
10589 msgstr "B<SIOCGIFPFLAGS>, B<SIOCSIFPFLAGS>"
10590
10591 #. type: Plain text
10592 #: build/C/man7/netdevice.7:129
10593 msgid "Get or set extended (private) flags for the device.  I<ifr_flags> contains a bit mask of the following values:"
10594 msgstr ""
10595 "デバイスの拡張 (プライベート) フラグを取得または設定する。\n"
10596 "I<ifr_flags> には以下の値のビットマスクが入る。"
10597
10598 #. type: tbl table
10599 #: build/C/man7/netdevice.7:133
10600 #, no-wrap
10601 msgid "Private flags\n"
10602 msgstr "プライベートフラグ\n"
10603
10604 #. type: tbl table
10605 #: build/C/man7/netdevice.7:134
10606 #, no-wrap
10607 msgid "IFF_802_1Q_VLAN:Interface is 802.1Q VLAN device.\n"
10608 msgstr "IFF_802_1Q_VLAN:インターフェースは 802.1Q VLAN デバイスである。\n"
10609
10610 #. type: tbl table
10611 #: build/C/man7/netdevice.7:135
10612 #, no-wrap
10613 msgid "IFF_EBRIDGE:Interface is Ethernet bridging device.\n"
10614 msgstr "IFF_EBRIDGE:インターフェースは Ethernet ブリッジデバイスである。\n"
10615
10616 #. type: tbl table
10617 #: build/C/man7/netdevice.7:136
10618 #, no-wrap
10619 msgid "IFF_SLAVE_INACTIVE:Interface is inactive bonding slave.\n"
10620 msgstr "IFF_SLAVE_INACTIVE:インターフェースは非アクティブな bonding のスレーブである。\n"
10621
10622 #. type: tbl table
10623 #: build/C/man7/netdevice.7:137
10624 #, no-wrap
10625 msgid "IFF_MASTER_8023AD:Interface is 802.3ad bonding master.\n"
10626 msgstr "IFF_MASTER_8023AD:インターフェースは 802.3ad bonding のマスターである。\n"
10627
10628 #. type: tbl table
10629 #: build/C/man7/netdevice.7:138
10630 #, no-wrap
10631 msgid "IFF_MASTER_ALB:Interface is balanced-alb bonding master.\n"
10632 msgstr "IFF_MASTER_ALB:インターフェースは balanced-alb bonding のマスターである。\n"
10633
10634 #. type: tbl table
10635 #: build/C/man7/netdevice.7:139
10636 #, no-wrap
10637 msgid "IFF_BONDING:Interface is a bonding master or slave.\n"
10638 msgstr "IFF_BONDING:インターフェースは bonding のマスターかスレーブである。\n"
10639
10640 #. type: tbl table
10641 #: build/C/man7/netdevice.7:140
10642 #, no-wrap
10643 msgid "IFF_SLAVE_NEEDARP:Interface needs ARPs for validation.\n"
10644 msgstr "IFF_SLAVE_NEEDARP:インターフェースは検証に APR が必要である。\n"
10645
10646 #. type: tbl table
10647 #: build/C/man7/netdevice.7:141
10648 #, no-wrap
10649 msgid "IFF_ISATAP:Interface is RFC4214 ISATAP interface.\n"
10650 msgstr "IFF_ISATAP:インターフェースは RFC4214 ISATAP インターフェースである。\n"
10651
10652 #. type: Plain text
10653 #: build/C/man7/netdevice.7:145
10654 msgid "Setting the extended (private) interface flags is a privileged operation."
10655 msgstr "拡張 (プライベート) インターフェースフラグの設定には特権が必要である。"
10656
10657 #. type: TP
10658 #: build/C/man7/netdevice.7:145
10659 #, no-wrap
10660 msgid "B<SIOCGIFADDR>, B<SIOCSIFADDR>"
10661 msgstr "B<SIOCGIFADDR>, B<SIOCSIFADDR>"
10662
10663 #. type: Plain text
10664 #: build/C/man7/netdevice.7:153
10665 msgid "Get or set the address of the device using I<ifr_addr>.  Setting the interface address is a privileged operation.  For compatibility, only B<AF_INET> addresses are accepted or returned."
10666 msgstr ""
10667 "I<ifr_addr> を用いてデバイスのアドレスの設定/取得を行う。\n"
10668 "インターフェースのアドレスの設定は特権が必要な操作である。\n"
10669 "互換性確保のため、設定/取得ができるのは B<AF_INET> アドレスだけである。"
10670
10671 #. type: TP
10672 #: build/C/man7/netdevice.7:153
10673 #, no-wrap
10674 msgid "B<SIOCGIFDSTADDR>, B<SIOCSIFDSTADDR>"
10675 msgstr "B<SIOCGIFDSTADDR>, B<SIOCSIFDSTADDR>"
10676
10677 #. type: Plain text
10678 #: build/C/man7/netdevice.7:161
10679 msgid "Get or set the destination address of a point-to-point device using I<ifr_dstaddr>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the destination address is a privileged operation."
10680 msgstr ""
10681 "point-to-point デバイスの宛先アドレスを I<ifr_dstaddr> を用いて\n"
10682 "設定/取得する。互換性確保のため、\n"
10683 "設定/取得ができるのは B<AF_INET> アドレスだけである。\n"
10684 "宛先アドレスの設定は特権が必要な操作である。"
10685
10686 #. type: TP
10687 #: build/C/man7/netdevice.7:161
10688 #, no-wrap
10689 msgid "B<SIOCGIFBRDADDR>, B<SIOCSIFBRDADDR>"
10690 msgstr "B<SIOCGIFBRDADDR>, B<SIOCSIFBRDADDR>"
10691
10692 #. type: Plain text
10693 #: build/C/man7/netdevice.7:169
10694 msgid "Get or set the broadcast address for a device using I<ifr_brdaddr>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the broadcast address is a privileged operation."
10695 msgstr ""
10696 "デバイスのブロードキャストアドレスを I<ifr_brdaddr> を用いて\n"
10697 "設定/取得する。互換性確保のため、\n"
10698 "設定/取得ができるのは B<AF_INET> アドレスだけである。\n"
10699 "ブロードキャストアドレスの設定は特権が必要な操作である。"
10700
10701 #. type: TP
10702 #: build/C/man7/netdevice.7:169
10703 #, no-wrap
10704 msgid "B<SIOCGIFNETMASK>, B<SIOCSIFNETMASK>"
10705 msgstr "B<SIOCGIFNETMASK>, B<SIOCSIFNETMASK>"
10706
10707 #. type: Plain text
10708 #: build/C/man7/netdevice.7:177
10709 msgid "Get or set the network mask for a device using I<ifr_netmask>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the network mask is a privileged operation."
10710 msgstr ""
10711 "デバイスのネットワークマスクを I<ifr_netmask> を用いて\n"
10712 "設定/取得する。互換性確保のため、\n"
10713 "設定/取得ができるのは B<AF_INET> アドレスだけである。\n"
10714 "ネットワークマスクの設定は特権が必要な操作である。"
10715
10716 #. type: TP
10717 #: build/C/man7/netdevice.7:177
10718 #, no-wrap
10719 msgid "B<SIOCGIFMETRIC>, B<SIOCSIFMETRIC>"
10720 msgstr "B<SIOCGIFMETRIC>, B<SIOCSIFMETRIC>"
10721
10722 #. type: Plain text
10723 #: build/C/man7/netdevice.7:186
10724 msgid "Get or set the metric of the device using I<ifr_metric>.  This is currently not implemented; it sets I<ifr_metric> to 0 if you attempt to read it and returns B<EOPNOTSUPP> if you attempt to set it."
10725 msgstr "デバイスのメトリックを I<ifr_metric> を用いて取得・設定する。 これはまだ実装されていない。読み出そうとすると I<ifr_metric> に 0 をセットして返り、設定しようとすると B<EOPNOTSUPP> が返る。"
10726
10727 #. type: TP
10728 #: build/C/man7/netdevice.7:186
10729 #, no-wrap
10730 msgid "B<SIOCGIFMTU>, B<SIOCSIFMTU>"
10731 msgstr "B<SIOCGIFMTU>, B<SIOCSIFMTU>"
10732
10733 #. type: Plain text
10734 #: build/C/man7/netdevice.7:193
10735 msgid "Get or set the MTU (Maximum Transfer Unit) of a device using I<ifr_mtu>.  Setting the MTU is a privileged operation.  Setting the MTU to too small values may cause kernel crashes."
10736 msgstr "デバイスの MTU (Maximum Transfer Unit) を I<ifr_mtu> を用いて取得・設定する。 MTU の設定は特権が必要な操作である。 MTU の値を小さくしすぎるとカーネルがクラッシュするかもしれない。"
10737
10738 #. type: TP
10739 #: build/C/man7/netdevice.7:193
10740 #, no-wrap
10741 msgid "B<SIOCGIFHWADDR>, B<SIOCSIFHWADDR>"
10742 msgstr "B<SIOCGIFHWADDR>, B<SIOCSIFHWADDR>"
10743
10744 #. type: Plain text
10745 #: build/C/man7/netdevice.7:204
10746 msgid "Get or set the hardware address of a device using I<ifr_hwaddr>.  The hardware address is specified in a struct I<sockaddr>.  I<sa_family> contains the ARPHRD_* device type, I<sa_data> the L2 hardware address starting from byte 0.  Setting the hardware address is a privileged operation."
10747 msgstr "デバイスのハードウェアアドレスを I<ifr_hwaddr> を用いて取得・設定する。 ハードウェアアドレスは I<sockaddr> 構造体に設定される。 I<sa_family> には ARPHRD_* デバイスタイプが入り、 I<sa_data> にはバイト 0 から始まる L2 ハードウェアアドレスが入る。 ハードウェアアドレスの設定は特権が必要な操作である。"
10748
10749 #. type: TP
10750 #: build/C/man7/netdevice.7:204
10751 #, no-wrap
10752 msgid "B<SIOCSIFHWBROADCAST>"
10753 msgstr "B<SIOCSIFHWBROADCAST>"
10754
10755 #. type: Plain text
10756 #: build/C/man7/netdevice.7:209
10757 msgid "Set the hardware broadcast address of a device from I<ifr_hwaddr>.  This is a privileged operation."
10758 msgstr "デバイスのハードウェアブロードキャストアドレスを I<ifr_hwaddr> の値に設定する。この操作には特権が必要である。"
10759
10760 #. type: TP
10761 #: build/C/man7/netdevice.7:209
10762 #, no-wrap
10763 msgid "B<SIOCGIFMAP>, B<SIOCSIFMAP>"
10764 msgstr "B<SIOCGIFMAP>, B<SIOCSIFMAP>"
10765
10766 #. type: Plain text
10767 #: build/C/man7/netdevice.7:214
10768 msgid "Get or set the interface's hardware parameters using I<ifr_map>.  Setting the parameters is a privileged operation."
10769 msgstr "インターフェースのハードウェアのパラメーターを I<ifr_map> を用いて取得・設定する。 パラメーターの設定は特権が必要な操作である。"
10770
10771 #. type: Plain text
10772 #: build/C/man7/netdevice.7:225
10773 #, no-wrap
10774 msgid ""
10775 "struct ifmap {\n"
10776 "    unsigned long   mem_start;\n"
10777 "    unsigned long   mem_end;\n"
10778 "    unsigned short  base_addr;\n"
10779 "    unsigned char   irq;\n"
10780 "    unsigned char   dma;\n"
10781 "    unsigned char   port;\n"
10782 "};\n"
10783 msgstr ""
10784 "struct ifmap {\n"
10785 "    unsigned long   mem_start;\n"
10786 "    unsigned long   mem_end;\n"
10787 "    unsigned short  base_addr;\n"
10788 "    unsigned char   irq;\n"
10789 "    unsigned char   dma;\n"
10790 "    unsigned char   port;\n"
10791 "};\n"
10792
10793 #. type: Plain text
10794 #: build/C/man7/netdevice.7:230
10795 msgid "The interpretation of the ifmap structure depends on the device driver and the architecture."
10796 msgstr "ifmap 構造体の解釈はデバイスドライバとアーキテクチャに依存する。"
10797
10798 #. type: TP
10799 #: build/C/man7/netdevice.7:230
10800 #, no-wrap
10801 msgid "B<SIOCADDMULTI>, B<SIOCDELMULTI>"
10802 msgstr "B<SIOCADDMULTI>, B<SIOCDELMULTI>"
10803
10804 #. type: Plain text
10805 #: build/C/man7/netdevice.7:239
10806 msgid "Add an address to or delete an address from the device's link layer multicast filters using I<ifr_hwaddr>.  These are privileged operations.  See also B<packet>(7)  for an alternative."
10807 msgstr "デバイスのリンク層のマルチキャストフィルターから、 I<ifr_hwaddr> のアドレスを追加・削除する。これらの操作には特権が必要である。 別の方法が B<packet>(7)  で解説されている。"
10808
10809 #. type: TP
10810 #: build/C/man7/netdevice.7:239
10811 #, no-wrap
10812 msgid "B<SIOCGIFTXQLEN>, B<SIOCSIFTXQLEN>"
10813 msgstr "B<SIOCGIFTXQLEN>, B<SIOCSIFTXQLEN>"
10814
10815 #. type: Plain text
10816 #: build/C/man7/netdevice.7:244
10817 msgid "Get or set the transmit queue length of a device using I<ifr_qlen>.  Setting the transmit queue length is a privileged operation."
10818 msgstr "デバイスの送信キューの長さを I<ifr_qlen> に取得・設定する。送信キューの長さの設定には特権が必要である。"
10819
10820 #. type: TP
10821 #: build/C/man7/netdevice.7:244
10822 #, no-wrap
10823 msgid "B<SIOCSIFNAME>"
10824 msgstr "B<SIOCSIFNAME>"
10825
10826 #. type: Plain text
10827 #: build/C/man7/netdevice.7:253
10828 msgid "Changes the name of the interface specified in I<ifr_name> to I<ifr_newname>.  This is a privileged operation.  It is allowed only when the interface is not up."
10829 msgstr "I<ifr_name> で指定したインターフェースの名前を I<ifr_newname> に変更する。この操作には特権が必要である。インターフェースが up していない 時にのみ使用できる。"
10830
10831 #. type: TP
10832 #: build/C/man7/netdevice.7:253
10833 #, no-wrap
10834 msgid "B<SIOCGIFCONF>"
10835 msgstr "B<SIOCGIFCONF>"
10836
10837 #. type: Plain text
10838 #: build/C/man7/netdevice.7:263
10839 msgid "Return a list of interface (transport layer) addresses.  This currently means only addresses of the B<AF_INET> (IPv4) family for compatibility.  Unlike the others, this ioctl passes an I<ifconf> structure:"
10840 msgstr "インターフェースの (トランスポート層の) アドレスのリストを返す。 現在のところ、互換性のため返されるのは B<AF_INET> (IPv4) 系のアドレスだけである。 他の操作と違い、この ioctl では I<ifconf> 構造体を渡す。"
10841
10842 #. type: Plain text
10843 #: build/C/man7/netdevice.7:273
10844 #, no-wrap
10845 msgid ""
10846 "struct ifconf {\n"
10847 "    int                 ifc_len; /* size of buffer */\n"
10848 "    union {\n"
10849 "        char           *ifc_buf; /* buffer address */\n"
10850 "        struct ifreq   *ifc_req; /* array of structures */\n"
10851 "    };\n"
10852 "};\n"
10853 msgstr ""
10854 "struct ifconf {\n"
10855 "    int                 ifc_len; /* バッファーサイズ */\n"
10856 "    union {\n"
10857 "        char           *ifc_buf; /* バッファーアドレス */\n"
10858 "        struct ifreq   *ifc_req; /* 構造体の配列 */\n"
10859 "    };\n"
10860 "};\n"
10861
10862 #. type: Plain text
10863 #: build/C/man7/netdevice.7:299
10864 msgid "If I<ifc_req> is NULL, B<SIOCGIFCONF> returns the necessary buffer size in bytes for receiving all available addresses in I<ifc_len>.  Otherwise, I<ifc_req> contains a pointer to an array of I<ifreq> structures to be filled with all currently active L3 interface addresses.  I<ifc_len> contains the size of the array in bytes.  Within each I<ifreq> structure, I<ifr_name> will receive the interface name, and I<ifr_addr> the address.  The actual number of bytes transferred is returned in I<ifc_len>."
10865 msgstr "I<ifc_req> が NULL の場合、 B<SIOCGIFCONF> はすべての取得できるアドレスを受け取るのに必要なバッファーサイズ (バイト数) を I<ifc_len> に格納して返す。 それ以外の場合は、I<ifc_req> には I<ifreq> 構造体の配列へのポインターを渡す。 この構造体の配列には現在アクティブな L3 インターフェースアドレスがすべて格納される。 I<ifc_len> はバイト単位の配列のサイズを渡す。 I<ifreq> 構造体内では、 I<ifr_name> にインターフェース名が、 I<ifr_addr> にそのアドレスが入る。 実際に格納されたバイト数は I<ifc_len> で返される。"
10866
10867 #. type: Plain text
10868 #: build/C/man7/netdevice.7:315
10869 msgid "If the size specified by I<ifc_len> is insufficient to store all the addresses, the kernel will skip the exceeding ones and return success.  There is no reliable way of detecting this condition once it has occurred.  It is therefore recommended to either determine the necessary buffer size beforehand by calling B<SIOCGIFCONF> with I<ifc_req> set to NULL, or to retry the call with a bigger buffer whenever I<ifc_len> upon return differs by less than I<sizeof(struct ifreq)> from its original value."
10870 msgstr "I<ifc_len> で指定されたサイズがすべてのアドレスを格納するのに不十分な場合、 カーネルは超過分をスキップし、成功を返す。 この状況になった場合、それを検出する信頼できる方法はない。 したがって、 前もって I<ifc_req> を NULL に設定して B<SIOCGIFCONF> を呼び出して必要なバッファーサイズを決定するか、 返された I<ifc_len> と元の値の差分が I<sizeof(struct ifreq)> よりも小さい場合は必ずバッファーを大きくして再度呼び出すか、 のいずれかを行うことが推奨される。 "
10871
10872 #.  Slaving isn't supported in 2.2
10873 #.  .
10874 #.  .TP
10875 #.  .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
10876 #.  Get or set the slave device using
10877 #.  .IR ifr_slave .
10878 #.  Setting the slave device is a privileged operation.
10879 #.  .PP
10880 #.  FIXME . add amateur radio stuff.
10881 #. type: Plain text
10882 #: build/C/man7/netdevice.7:332
10883 msgid "If an error occurs accessing the I<ifconf> or I<ifreq> structures, B<EFAULT> will be returned."
10884 msgstr "I<ifconf> か I<ifreq> 構造体へのアクセスでエラーが置こった場合には B<EFAULT> が返される。"
10885
10886 #. type: Plain text
10887 #: build/C/man7/netdevice.7:338
10888 msgid "Most protocols support their own ioctls to configure protocol-specific interface options.  See the protocol man pages for a description.  For configuring IP addresses, see B<ip>(7)."
10889 msgstr "ほとんどのプロトコルには、専用のインターフェースオプションを 設定するための独自の ioctl が存在する。 説明は各プロトコルの man ページを見よ。 IP アドレスの設定に関しては B<ip>(7) を参照。"
10890
10891 #. type: Plain text
10892 #: build/C/man7/netdevice.7:341
10893 msgid "In addition, some devices support private ioctls.  These are not described here."
10894 msgstr "さらに、デバイスによってはプライベートな ioctl がある。 これらはここでは説明しない。"
10895
10896 #. type: Plain text
10897 #: build/C/man7/netdevice.7:349
10898 msgid "Strictly speaking, B<SIOCGIFCONF> and the other ioctls that accept or return only B<AF_INET> socket addresses, are IP-specific and belong in B<ip>(7)."
10899 msgstr ""
10900 "厳密にいうと、 B<SIOCGIFCONF> や、 B<AF_INET> ソケットアドレスだけを\n"
10901 "引き数に取ったり返したりする他の ioctl は IP 固有であり、 B<ip>(7) \n"
10902 "に属する。"
10903
10904 #. type: Plain text
10905 #: build/C/man7/netdevice.7:354
10906 msgid "The names of interfaces with no addresses or that don't have the B<IFF_RUNNING> flag set can be found via I</proc/net/dev>."
10907 msgstr "アドレスがなかったり、 B<IFF_RUNNING> フラグがセットされていないインターフェースの名前は I</proc/net/dev> で知ることができる。"
10908
10909 #. type: Plain text
10910 #: build/C/man7/netdevice.7:359
10911 msgid "Local IPv6 IP addresses can be found via I</proc/net> or via B<rtnetlink>(7)."
10912 msgstr "ローカル IPV6 IP アドレスは I</proc/net> か B<rtnetlink>(7)  で知ることができる。"
10913
10914 #. type: Plain text
10915 #: build/C/man7/netdevice.7:365
10916 msgid "glibc 2.1 is missing the I<ifr_newname> macro in I<E<lt>net/if.hE<gt>>.  Add the following to your program as a workaround:"
10917 msgstr "glibc 2.1 では I<E<lt>net/if.hE<gt>> に I<ifr_newname> マクロがない。 とりあえずの対応策として、以下のコードを追加しておくこと。"
10918
10919 #. type: Plain text
10920 #: build/C/man7/netdevice.7:371
10921 #, no-wrap
10922 msgid ""
10923 "#ifndef ifr_newname\n"
10924 "#define ifr_newname     ifr_ifru.ifru_slave\n"
10925 "#endif\n"
10926 msgstr ""
10927 "#ifndef ifr_newname\n"
10928 "#define ifr_newname     ifr_ifru.ifru_slave\n"
10929 "#endif\n"
10930
10931 #. type: Plain text
10932 #: build/C/man7/netdevice.7:378
10933 msgid "B<proc>(5), B<capabilities>(7), B<ip>(7), B<rtnetlink>(7)"
10934 msgstr "B<proc>(5), B<capabilities>(7), B<ip>(7), B<rtnetlink>(7)"
10935
10936 #. type: TH
10937 #: build/C/man5/networks.5:26
10938 #, no-wrap
10939 msgid "NETWORKS"
10940 msgstr "NETWORKS"
10941
10942 #. type: TH
10943 #: build/C/man5/networks.5:26
10944 #, no-wrap
10945 msgid "2008-09-04"
10946 msgstr "2008-09-04"
10947
10948 #. type: TH
10949 #: build/C/man5/networks.5:26
10950 #, no-wrap
10951 msgid "GNU/Linux"
10952 msgstr "GNU/Linux"
10953
10954 #. type: Plain text
10955 #: build/C/man5/networks.5:29
10956 msgid "networks - network name information"
10957 msgstr "networks - ネットワーク名の情報"
10958
10959 #. type: Plain text
10960 #: build/C/man5/networks.5:35
10961 msgid "The file I</etc/networks> is a plain ASCII file that describes known DARPA networks and symbolic names for these networks.  Each line represents a network and has the following structure:"
10962 msgstr ""
10963 "I</etc/networks> ファイルは、通常の ASCII ファイルで、よく使われる\n"
10964 "DARPA ネットワークとその分かりやすい名前を記載したファイルである。\n"
10965 "各行が一つのネットワークを表し、以下の構造となっている。"
10966
10967 #. type: Plain text
10968 #: build/C/man5/networks.5:38
10969 msgid "I<name number aliases ...>"
10970 msgstr "I<name number aliases ...>"
10971
10972 #. type: Plain text
10973 #: build/C/man5/networks.5:46
10974 msgid "where the fields are delimited by spaces or tabs.  Empty lines are ignored.  The hash character (B<#>) indicates the start of a comment: this character, and the remaining characters up to the end of the current line, are ignored by library functions that process the file."
10975 msgstr ""
10976 "フィールドはスペースかタブで区切られる。空行は無視される。\n"
10977 "ハッシュ文字 (B<#>) はコメントの開始を示し、このファイルを処理する\n"
10978 "ライブラリ関数はこの文字とその行のそれ以降の文字を無視する。"
10979
10980 #. type: Plain text
10981 #: build/C/man5/networks.5:48 build/C/man5/protocols.5:59
10982 msgid "The field descriptions are:"
10983 msgstr "フィールドの説明は以下のとおり。"
10984
10985 #. type: TP
10986 #: build/C/man5/networks.5:48
10987 #, no-wrap
10988 msgid "I<name>"
10989 msgstr "I<name>"
10990
10991 #. type: Plain text
10992 #: build/C/man5/networks.5:53
10993 msgid "The symbolic name for the network.  Network names can contain any printable characters except white-space characters or the comment character."
10994 msgstr "ネットワークの分かりやすい名前 (symbolic name)。 ネットワーク名には、ホワイトスペースとコメント文字以外の印字可能な文字を使うことができる。"
10995
10996 #. type: TP
10997 #: build/C/man5/networks.5:53 build/C/man5/protocols.5:67
10998 #, no-wrap
10999 msgid "I<number>"
11000 msgstr "I<number>"
11001
11002 #. type: Plain text
11003 #: build/C/man5/networks.5:58
11004 msgid "The official number for this network in numbers-and-dots notation (see B<inet>(3)).  The trailing \".0\" (for the host component of the network address) may be omitted."
11005 msgstr ""
11006 "このネットワークの正式な数字での値。\n"
11007 "ドット区切りの数字表記 (B<inet>(3) 参照) で記載する。\n"
11008 "末尾の \".0\" (ネットワークアドレスのホスト部分) は省略してもよい。"
11009
11010 #. type: TP
11011 #: build/C/man5/networks.5:58 build/C/man5/protocols.5:71
11012 #: build/C/man5/services.5:120
11013 #, no-wrap
11014 msgid "I<aliases>"
11015 msgstr "I<aliases>"
11016
11017 #. type: Plain text
11018 #: build/C/man5/networks.5:61
11019 msgid "Optional aliases for the network."
11020 msgstr "そのネットワークの別名 (省略可能)。"
11021
11022 #. type: Plain text
11023 #: build/C/man5/networks.5:70
11024 msgid "This file is read by the B<route>(8)  and B<netstat>(8)  utilities.  Only Class A, B or C networks are supported, partitioned networks (i.e., network/26 or network/28) are not supported by this facility."
11025 msgstr ""
11026 "このファイルは、 B<route>(8) と B<netstat>(8) ユーティリティにより\n"
11027 "利用される。クラス A, B, C のネットワークだけがサポートされており、\n"
11028 "(network/26 や network/28 といった) 分割されたネットワークは\n"
11029 "このファイルではサポートされていない。"
11030
11031 #. type: Plain text
11032 #: build/C/man5/networks.5:74
11033 msgid "The networks definition file."
11034 msgstr "ネットワーク定義ファイル。"
11035
11036 #. type: Plain text
11037 #: build/C/man5/networks.5:80
11038 msgid "B<getnetbyaddr>(3), B<getnetbyname>(3), B<getnetent>(3), B<netstat>(8), B<route>(8)"
11039 msgstr "B<getnetbyaddr>(3), B<getnetbyname>(3), B<getnetent>(3), B<netstat>(8), B<route>(8)"
11040
11041 #. type: TH
11042 #: build/C/man8/nscd.8:23
11043 #, no-wrap
11044 msgid "NSCD"
11045 msgstr "NSCD"
11046
11047 #. type: Plain text
11048 #: build/C/man8/nscd.8:26
11049 msgid "nscd - name service cache daemon"
11050 msgstr "nscd - ネームサービスキャッシュデーモン"
11051
11052 #. type: Plain text
11053 #: build/C/man8/nscd.8:34
11054 msgid "Nscd is a daemon that provides a cache for the most common name service requests.  The default configuration file, I</etc/nscd.conf>, determines the behavior of the cache daemon.  See B<nscd.conf>(5)."
11055 msgstr "nscd は一般的なネームサービスに必要な多くのものを キャッシュとして提供するデーモンである。 デフォルトの設定ファイル I</etc/nscd.conf> でキャッシュデーモンの動作を決定する。 B<nscd.conf>(5)  を見よ。"
11056
11057 #. type: Plain text
11058 #: build/C/man8/nscd.8:47
11059 msgid "Nscd provides caching for accesses of the B<passwd>(5), B<group>(5), and B<hosts>(5)  databases through standard libc interfaces, such as B<getpwnam>(3), B<getpwuid>(3), B<getgrnam>(3), B<getgrgid>(3), B<gethostbyname>(3), and others."
11060 msgstr "nscd は B<passwd>(5), B<group>(5), B<hosts>(5)  データベースへのアクセスのキャッシュを B<getpwnam>(3), B<getpwuid>(3), B<getgrnam>(3), B<getgrgid>(3), B<gethostbyname>(3)  などの標準 libc インターフェースを通して提供する。"
11061
11062 #. type: Plain text
11063 #: build/C/man8/nscd.8:56
11064 msgid "There are two caches for each database: a positive one for items found, and a negative one for items not found.  Each cache has a separate TTL (time-to-live)  period for its data.  Note that the shadow file is specifically not cached.  B<getspnam>(3)  calls remain uncached as a result."
11065 msgstr "各データベースには 2 つのキャッシュがある。 肯定的 (positive) なキャッシュは見つかったアイテムをキャッシュし、 否定的 (negative) なキャッシュは見つからなかったアイテムをキャッシュする。 各キャッシュはデータの TTL (time-to-live, 生存時間) を個別に持っている。 特例として shadow ファイルはキャッシュされない点に注意すること。 B<getspnam>(3)  を呼び出しても結果としてキャッシュされないままになる。"
11066
11067 #. type: SH
11068 #: build/C/man8/nscd.8:56
11069 #, no-wrap
11070 msgid "OPTIONS"
11071 msgstr "オプション"
11072
11073 #. type: TP
11074 #: build/C/man8/nscd.8:57
11075 #, no-wrap
11076 msgid "B<--help>"
11077 msgstr "B<--help>"
11078
11079 #. type: Plain text
11080 #: build/C/man8/nscd.8:60
11081 msgid "will give you a list with all options and what they do."
11082 msgstr "全てのオプションとその動作をリストして表示する。"
11083
11084 #. type: Plain text
11085 #: build/C/man8/nscd.8:83
11086 msgid "The daemon will try to watch for changes in configuration files appropriate for each database (e.g., I</etc/passwd> for the I<passwd> database or I</etc/hosts> and I</etc/resolv.conf> for the I<hosts> database), and flush the cache when these are changed.  However, this will happen only after a short delay (unless the B<inotify>(7)  mechanism is available and glibc 2.9 or later is available), and this auto-detection does not cover configuration files required by nonstandard NSS modules, if any are specified in I</etc/nsswitch.conf>.  In that case, you need to run the following command after changing the configuration file of the database so that B<nscd> invalidates its cache:"
11087 msgstr "デーモンは( I<passwd> データベースについては I</etc/passwd>、 I<hosts> データベースについては I</etc/hosts> と I</etc/resolv.conf> というような)それぞれのデータベースのための設定ファイルを見張って、 これらが変更されるとキャッシュをフラッシュする。 しかし、これは( B<inotify>(7)  が利用可能で、glibc 2.9 以降が利用可能な場合を除いて)  短い遅延の後に起こり、またこの自動検出は非標準 NSS モジュールが I</etc/nsswitch.conf> で指定されている場合はその設定ファイルには対応しない。 この場合、データベースの設定ファイルを変更した後、 B<nscd> のキャッシュを無効にするために以下のコマンドを実行する必要がある:"
11088
11089 #. type: Plain text
11090 #: build/C/man8/nscd.8:85
11091 #, no-wrap
11092 msgid "    $ B<nscd -i> I<E<lt>databaseE<gt>>\n"
11093 msgstr "    $ B<nscd -i> I<E<lt>databaseE<gt>>\n"
11094
11095 #.  .SH AUTHOR
11096 #.  .B nscd
11097 #.  was written by Thorsten Kukuk and Ulrich Drepper.
11098 #. type: Plain text
11099 #: build/C/man8/nscd.8:91
11100 msgid "B<nscd.conf>(5), B<nsswitch.conf>(5)"
11101 msgstr "B<nscd.conf>(5), B<nsswitch.conf>(5)"
11102
11103 #. type: TH
11104 #: build/C/man5/nscd.conf.5:20
11105 #, no-wrap
11106 msgid "NSCD.CONF"
11107 msgstr "NSCD.CONF"
11108
11109 #. type: TH
11110 #: build/C/man5/nscd.conf.5:20
11111 #, no-wrap
11112 msgid "2014-02-07"
11113 msgstr "2014-02-07"
11114
11115 #. type: Plain text
11116 #: build/C/man5/nscd.conf.5:23
11117 msgid "/etc/nscd.conf - name service cache daemon configuration file"
11118 msgstr "/etc/nscd.conf - ネームサービスキャッシュデーモンの設定ファイル"
11119
11120 #. type: Plain text
11121 #: build/C/man5/nscd.conf.5:36
11122 msgid "The file I</etc/nscd.conf> is read from B<nscd>(8)  at startup.  Each line specifies either an attribute and a value, or an attribute, service, and a value.  Fields are separated either by SPACE or TAB characters.  A \\(aq#\\(aq (number sign) indicates the beginning of a comment; following characters, up to the end of the line, are not interpreted by nscd."
11123 msgstr "B<nscd>(8)  は起動時にファイル I</etc/nscd.conf> を読み込む。 各行には「属性・値」または「属性・サービス・値」を指定する。 フィールドはスペース文字またはタブ文字で区切られる。 \\(aq#\\(aq (ナンバー記号) はコメントの始まりを表す。 この記号から行末までは nscd によって解釈されない。"
11124
11125 #. type: Plain text
11126 #: build/C/man5/nscd.conf.5:39
11127 msgid "Valid services are I<passwd>, I<group>, I<hosts>, I<services>, or I<netgroup>."
11128 msgstr "指定可能なサービスは I<passwd>, I<group>, I<hosts>, I<services>, I<netgroup> である。"
11129
11130 #. type: Plain text
11131 #: build/C/man5/nscd.conf.5:42
11132 msgid "B<logfile> I<debug-file-name>"
11133 msgstr "B<logfile> I<debug-file-name>"
11134
11135 #. type: Plain text
11136 #: build/C/man5/nscd.conf.5:44
11137 msgid "Specifies name of the file to which debug info should be written."
11138 msgstr "デバッグ情報が書き込まれるファイルの名前を指定する。"
11139
11140 #. type: Plain text
11141 #: build/C/man5/nscd.conf.5:48
11142 msgid "B<debug-level> I<value>"
11143 msgstr "B<debug-level> I<value>"
11144
11145 #. type: Plain text
11146 #: build/C/man5/nscd.conf.5:51
11147 msgid "Sets the desired debug level.  The default is 0."
11148 msgstr "希望するデバッグレベルを設定する。デフォルトは 0。"
11149
11150 #. type: Plain text
11151 #: build/C/man5/nscd.conf.5:55
11152 msgid "B<threads> I<number>"
11153 msgstr "B<threads> I<number>"
11154
11155 #. type: Plain text
11156 #: build/C/man5/nscd.conf.5:59
11157 msgid "This is the number of threads that are started to wait for requests.  At least five threads will always be created."
11158 msgstr "スレッドをいくつ起動してリクエストを待つのかを指定する。 少なくとも 5 つのスレッドが常に作成される。"
11159
11160 #. type: Plain text
11161 #: build/C/man5/nscd.conf.5:63
11162 msgid "B<max-threads> I<number>"
11163 msgstr "B<max-threads> I<number>"
11164
11165 #. type: Plain text
11166 #: build/C/man5/nscd.conf.5:66
11167 msgid "Specifies the maximum number of threads.  The default is 32."
11168 msgstr "スレッドの最大数を指定する。デフォルトは 32。"
11169
11170 #. type: Plain text
11171 #: build/C/man5/nscd.conf.5:70
11172 msgid "B<server-user> I<user>"
11173 msgstr "B<server-user> I<user>"
11174
11175 #. type: Plain text
11176 #: build/C/man5/nscd.conf.5:74
11177 msgid "If this option is set, nscd will run as this user and not as root.  If a separate cache for every user is used (-S parameter), this option is ignored."
11178 msgstr "このオプションが設定されると、 nscd は root ではなく、この user として実行される。 (-S パラメーターにより) 各ユーザー毎に別々のキャッシュが使われる場合、 このオプションは無視される。"
11179
11180 #. type: Plain text
11181 #: build/C/man5/nscd.conf.5:78
11182 msgid "B<stat-user> I<user>"
11183 msgstr "B<stat-user> I<user>"
11184
11185 #. type: Plain text
11186 #: build/C/man5/nscd.conf.5:80
11187 msgid "Specifies the user who is allowed to request statistics."
11188 msgstr "統計情報の参照を許可するユーザーを指定する。"
11189
11190 #. type: Plain text
11191 #: build/C/man5/nscd.conf.5:85
11192 msgid "B<reload-count> unlimited | I<number>"
11193 msgstr "B<reload-count> unlimited | I<number>"
11194
11195 #. type: Plain text
11196 #: build/C/man5/nscd.conf.5:89
11197 msgid "Limit on the number of times a cached entry gets reloaded without being used before it gets removed.  The default is 5."
11198 msgstr "キャッシュされたエントリが使用されなかったときに、 削除される前に何回リロードされるかを設定する。デフォルトは 5。"
11199
11200 #. type: Plain text
11201 #: build/C/man5/nscd.conf.5:93
11202 msgid "B<paranoia> I<E<lt>yes|noE<gt>>"
11203 msgstr "B<paranoia> I<E<lt>yes|noE<gt>>"
11204
11205 #. type: Plain text
11206 #: build/C/man5/nscd.conf.5:96
11207 msgid "Enabling paranoia mode causes nscd to restart itself periodically.  The default is no."
11208 msgstr "パラノイアモードを有効にする。 パラノイアモードでは nscd を定期的に再起動する。デフォルトは無効。"
11209
11210 #. type: Plain text
11211 #: build/C/man5/nscd.conf.5:100
11212 msgid "B<restart-interval> I<time>"
11213 msgstr "B<restart-interval> I<time>"
11214
11215 #. type: Plain text
11216 #: build/C/man5/nscd.conf.5:108
11217 msgid "Sets the restart interval to I<time> seconds if periodic restart is enabled by enabling B<paranoia> mode.  The default is 3600."
11218 msgstr "パラノイアモードが有効で定期的に再起動する場合の、 再起動間隔を I<time> 秒に設定する。デフォルトは 3600。"
11219
11220 #. type: Plain text
11221 #: build/C/man5/nscd.conf.5:113
11222 msgid "B<enable-cache> I<service> I<E<lt>yes|noE<gt>>"
11223 msgstr "B<enable-cache> I<service> I<E<lt>yes|noE<gt>>"
11224
11225 #. type: Plain text
11226 #: build/C/man5/nscd.conf.5:118
11227 msgid "Enables or disables the specified I<service> cache.  The default is no."
11228 msgstr "指定した I<service> のキャッシュを有効または無効にする。デフォルトは無効。"
11229
11230 #. type: Plain text
11231 #: build/C/man5/nscd.conf.5:123
11232 msgid "B<positive-time-to-live> I<service> I<value>"
11233 msgstr "B<positive-time-to-live> I<service> I<value>"
11234
11235 #. type: Plain text
11236 #: build/C/man5/nscd.conf.5:131
11237 msgid "Sets the TTL (time-to-live) for positive entries (successful queries)  in the specified cache for I<service>.  I<Value> is in seconds.  Larger values increase cache hit rates and reduce mean response times, but increase problems with cache coherence."
11238 msgstr "指定した I<service> のキャッシュにあるポジティブエントリ (成功した問い合わせ) の TTL (time-to-live) を設定する。 I<value> の単位は秒である。 値を大きくすると、ヒット率が高くなり平均応答時間を短くできるが、 キャッシュのコヒーレンス (coherence, キャッシュが実際のデータと一致していること) に問題が生じる。"
11239
11240 #. type: Plain text
11241 #: build/C/man5/nscd.conf.5:136
11242 msgid "B<negative-time-to-live> I<service> I<value>"
11243 msgstr "B<negative-time-to-live> I<service> I<value>"
11244
11245 #. type: Plain text
11246 #: build/C/man5/nscd.conf.5:146
11247 msgid "Sets the TTL (time-to-live) for negative entries (unsuccessful queries)  in the specified cache for I<service>.  I<Value> is in seconds.  Can result in significant performance improvements if there are several files owned by UIDs (user IDs) not in system databases (for example untarring the Linux kernel sources as root); should be kept small to reduce cache coherency problems."
11248 msgstr "指定した I<service> のキャッシュにあるネガティブエントリ (失敗した問い合わせ) の TTL (time-to-live) を設定する。 I<value> の単位は秒である。 システムデータベースにない UID (ユーザーID) で所有されるファイル (たとえば root で tar を展開した Linux カーネルのソース) が少ないと、 顕著な性能の向上が見られる。 キャッシュのコヒーレンス問題を少なくするために小さな値にすべきである。"
11249
11250 #. type: Plain text
11251 #: build/C/man5/nscd.conf.5:151
11252 msgid "B<suggested-size> I<service> I<value>"
11253 msgstr "B<suggested-size> I<service> I<value>"
11254
11255 #. type: Plain text
11256 #: build/C/man5/nscd.conf.5:156
11257 msgid "This is the internal hash table size, I<value> should remain a prime number for optimum efficiency.  The default is 211."
11258 msgstr "内部ハッシュテーブルの大きさを指定する。 効率を最適にするために I<value> は素数にしておくべきである。デフォルトは 211 である。"
11259
11260 #. type: Plain text
11261 #: build/C/man5/nscd.conf.5:161
11262 msgid "B<check-files> I<service> I<E<lt>yes|noE<gt>>"
11263 msgstr "B<check-files> I<service> I<E<lt>yes|noE<gt>>"
11264
11265 #. type: Plain text
11266 #: build/C/man5/nscd.conf.5:173
11267 msgid "Enables or disables checking the file belonging to the specified I<service> for changes.  The files are I</etc/passwd>, I</etc/group>, I</etc/hosts>, I</etc/services> and I</etc/netgroup>.  The default is yes."
11268 msgstr "指定した I<service> に関連するファイルの変更のチェックを有効または無効にする。 ファイルは I</etc/passwd>, I</etc/group>, I</etc/hosts> である。デフォルトは有効。"
11269
11270 #. type: Plain text
11271 #: build/C/man5/nscd.conf.5:178
11272 msgid "B<persistent> I<service> I<E<lt>yes|noE<gt>>"
11273 msgstr "B<persistent> I<service> I<E<lt>yes|noE<gt>>"
11274
11275 #. type: Plain text
11276 #: build/C/man5/nscd.conf.5:185
11277 msgid "Keep the content of the cache for I<service> over server restarts; useful when B<paranoia> mode is set.  The default is no."
11278 msgstr "サーバの再起動の前後で I<service> のキャッシュ内容を保持する。 B<paranoia> モードが有効の場合に便利である。デフォルトは保持しない。"
11279
11280 #. type: Plain text
11281 #: build/C/man5/nscd.conf.5:190
11282 msgid "B<shared> I<service> I<E<lt>yes|noE<gt>>"
11283 msgstr "B<shared> I<service> I<E<lt>yes|noE<gt>>"
11284
11285 #. type: Plain text
11286 #: build/C/man5/nscd.conf.5:197
11287 msgid "The memory mapping of the nscd databases for I<service> is shared with the clients so that they can directly search in them instead of having to ask the daemon over the socket each time a lookup is performed.  The default is no."
11288 msgstr "I<service> の nscd データベースのメモリマッピングをクライアント間で共有する。 これにより、検索を実行する度にソケット経由でデーモンに問い合わせを 行わずに、直接データベースを検索できるようになる。デフォルトは共有しない。"
11289
11290 #. type: Plain text
11291 #: build/C/man5/nscd.conf.5:202
11292 msgid "B<max-db-size> I<service> I<bytes>"
11293 msgstr "B<max-db-size> I<service> I<bytes>"
11294
11295 #. type: Plain text
11296 #: build/C/man5/nscd.conf.5:206
11297 msgid "The maximum allowable size, in bytes, of the database files for the I<service>.  The default is 33554432."
11298 msgstr "I<service> のデータベースファイルの最大許容サイズ (バイト単位)。 デフォルト値は 33554432 である。"
11299
11300 #. type: Plain text
11301 #: build/C/man5/nscd.conf.5:211
11302 msgid "B<auto-propagate> I<service> I<E<lt>yes|noE<gt>>"
11303 msgstr "B<auto-propagate> I<service> I<E<lt>yes|noE<gt>>"
11304
11305 #. type: Plain text
11306 #: build/C/man5/nscd.conf.5:231
11307 msgid "When set to I<no> for I<passwd> or I<group> service, then the I<.byname> requests are not added to I<passwd.byuid> or I<group.bygid> cache.  This can help with tables containing multiple records for the same ID.  The default is yes.  This option is valid only for services I<passwd> and I<group>."
11308 msgstr "サービス I<passwd> か I<group> で I<no> に設定すると、 I<.byname> 要求は I<passwd.byuid> や I<group.bygid> のキャッシュに追加されない。 このオプションは、 同じ ID を持つレコードが複数あるテーブルの場合に役に立つ。 デフォルトは yes である。 このオプションはサービス I<passwd> と I<group> でのみ有効である。"
11309
11310 #. type: Plain text
11311 #: build/C/man5/nscd.conf.5:239
11312 msgid "The default values stated in this manual page originate from the source code of B<nscd>(8)  and are used if not overridden in the configuration file.  The default values used in the configuration file of your distribution might differ."
11313 msgstr "このマニュアルページに書かれているデフォルト値は B<nscd>(8) のソースコードに書かれている値で、 設定ファイルで上書きされなかった場合に使用される。 あなたが利用しているディストリビューションの設定ファイルのデフォルト値は違っているかもしれない。"
11314
11315 #.  .SH AUTHOR
11316 #.  .B nscd
11317 #.  was written by Thorsten Kukuk and Ulrich Drepper.
11318 #. type: Plain text
11319 #: build/C/man5/nscd.conf.5:244
11320 msgid "B<nscd>(8)"
11321 msgstr "B<nscd>(8)"
11322
11323 #. type: TH
11324 #: build/C/man5/nss.5:19
11325 #, no-wrap
11326 msgid "NSS"
11327 msgstr "NSS"
11328
11329 #. type: Plain text
11330 #: build/C/man5/nss.5:22
11331 msgid "nss - Name Service Switch configuration file"
11332 msgstr "nss - 名前サービス切り替え (Name Service Switch) の設定ファイル"
11333
11334 #. type: Plain text
11335 #: build/C/man5/nss.5:29
11336 msgid "Each call to a function which retrieves data from a system database like the password or group database is handled by the Name Service Switch implementation in the GNU C library.  The various services provided are implemented by independent modules, each of which naturally varies widely from the other."
11337 msgstr "パスワードやグループのデータベースなどのシステムデータベースからのデータ取得の関数の呼び出しは、 GNU C ライブラリの名前サービス切り替えの実装により処理される。 提供されている様々なサービスは個別のモジュールにより実装されており、 各モジュールは本質的に大きく異なっている。"
11338
11339 #. type: Plain text
11340 #: build/C/man5/nss.5:38
11341 msgid "The default implementations coming with the GNU C library are by default conservative and do not use unsafe data.  This might be very costly in some situations, especially when the databases are large.  Some modules allow the 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."
11342 msgstr "GNU C ライブラリでのデフォルト実装は、 デフォルトでは保守的になっており、 安全でないデータは使用しない。 これはいくつかの状況、 特にデータベースが大きい場合、では非常にコストがかかることがある。 いくつかのモジュールでは、 安全であると分かっている場合、 システム管理者がショットカットを使うようにすることができる。 この前提が正しいことを保証するのはシステム管理者の責任である。"
11343
11344 #. type: Plain text
11345 #: build/C/man5/nss.5:42
11346 msgid "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."
11347 msgstr "他には実装が時間を追って変化しているモジュールもある。 モジュールの実装がメモリー使用量を優先してスピードを犠牲にしていた場合、 優先度を変更すると問題が起こる場合がある。"
11348
11349 #. type: Plain text
11350 #: build/C/man5/nss.5:51
11351 msgid "The I</etc/default/nss> file contains a number of variable assignments.  Each variable controls the behavior of one or more NSS modules.  White spaces are ignored.  Lines beginning with \\(aq#\\(aq are treated as comments."
11352 msgstr "I</etc/default/nss> ファイルには変数がいくつかある。 各変数は一つもしくは複数の NSS モジュールの動作を制御する。 ホワイトスペースは無視される。 \\(aq#\\(aq で始まる行はコメントとして扱われる。"
11353
11354 #. type: Plain text
11355 #: build/C/man5/nss.5:53
11356 msgid "The variables currently recognized are:"
11357 msgstr "現在のところ認識される変数は次の通り。"
11358
11359 #. type: TP
11360 #: build/C/man5/nss.5:53
11361 #, no-wrap
11362 msgid "B<NETID_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11363 msgstr "B<NETID_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11364
11365 #. type: Plain text
11366 #: build/C/man5/nss.5:68
11367 msgid "If set to TRUE, the NIS backend for the B<initgroups>(3)  function will accept the information from the I<netid.byname> NIS map as authoritative.  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."
11368 msgstr "TRUE に設定されると、 B<initgroups>(3) 関数の NIS バックエンドが I<netid.byname> NIS マップからの情報を信頼できるものとして受け取る。 I<group.byname> マップが大きい場合、 これによりこの関数を大きくスピードアップできる。 I<netid.byname> マップの内容はB<そのまま>使用される。 システム管理者は内容が正しく生成されていることを保証しなければならない。"
11369
11370 #. type: TP
11371 #: build/C/man5/nss.5:68
11372 #, no-wrap
11373 msgid "B<SERVICES_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11374 msgstr "B<SERVICES_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11375
11376 #. type: Plain text
11377 #: build/C/man5/nss.5:80
11378 msgid "If set to TRUE, the NIS backend for the B<getservbyname>(3)  and B<getservbyname_r>(3)  functions will assume that the I<services.byservicename> NIS map exists and is authoritative, particularly that it 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."
11379 msgstr "TRUE に設定されると、 関数 B<getservbyname>(3) と B<getservbyname_r>(3) の NIS バックエンドが I<services.byservicename> NIS マップが存在し、その情報を信頼できるものとみなす。 特に、 サービス名とサービス別名の両方に対して /proto ありと /proto なしの両方のキーが含まれているとみなす。 システム管理者は内容が正しく生成されていることを保証しなければならない。"
11380
11381 #. type: TP
11382 #: build/C/man5/nss.5:80
11383 #, no-wrap
11384 msgid "B<SETENT_BATCH_READ => I<TRUE>|I<FALSE>"
11385 msgstr "B<SETENT_BATCH_READ => I<TRUE>|I<FALSE>"
11386
11387 #. type: Plain text
11388 #: build/C/man5/nss.5:98
11389 msgid "If set to TRUE, the NIS backend for the B<setpwent>(3)  and B<setgrent>(3)  functions will read the entire database at once and then hand out the requests one by one from memory with every corresponding B<getpwent>(3)  or 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."
11390 msgstr "TRUE に設定されると、 関数 B<setpwent>(3) と B<setgrent>(3) の NIS バックエンドは、 全データベースを一度に読み込み、 それから対応する B<getpwent>(3) や B<getgrent>(3) の呼び出しで一つ一つ要求を処理する。 TRUE でない場合、 B<getpwent>(3) や B<getgrent>(3) の各々の呼び出しで、 次のエントリーを取得するためにサーバーとのネットワーク通信が発生する。"
11391
11392 #. type: Plain text
11393 #: build/C/man5/nss.5:100
11394 msgid "I</etc/default/nss>"
11395 msgstr "I</etc/default/nss>"
11396
11397 #. type: Plain text
11398 #: build/C/man5/nss.5:102
11399 msgid "The default configuration corresponds to the following configuration file:"
11400 msgstr "デフォルト設定は、 以下の設定ファイルと同じである。"
11401
11402 #.  .SH AUTHOR
11403 #.  Ulrich Drepper <drepper@redhat.com>
11404 #. type: Plain text
11405 #: build/C/man5/nss.5:110
11406 #, no-wrap
11407 msgid ""
11408 "NETID_AUTHORITATIVE=FALSE\n"
11409 "SERVICES_AUTHORITATIVE=FALSE\n"
11410 "SETENT_BATCH_READ=FALSE\n"
11411 msgstr ""
11412 "NETID_AUTHORITATIVE=FALSE\n"
11413 "SERVICES_AUTHORITATIVE=FALSE\n"
11414 "SETENT_BATCH_READ=FALSE\n"
11415
11416 #. type: Plain text
11417 #: build/C/man5/nss.5:112
11418 msgid "I<nsswitch.conf>"
11419 msgstr "I<nsswitch.conf>"
11420
11421 #. type: TH
11422 #: build/C/man5/nsswitch.conf.5:25
11423 #, no-wrap
11424 msgid "NSSWITCH.CONF"
11425 msgstr "NSSWITCH.CONF"
11426
11427 #. type: Plain text
11428 #: build/C/man5/nsswitch.conf.5:28
11429 msgid "nsswitch.conf - Name Service Switch configuration file"
11430 msgstr "nsswitch.conf - ネームサービススイッチの設定ファイル"
11431
11432 #. type: Plain text
11433 #: build/C/man5/nsswitch.conf.5:36
11434 msgid "The Name Service Switch (NSS) configuration file, I</etc/nsswitch.conf>, is used by the GNU C Library to determine the sources from which to obtain name-service information in a range of categories, and in what order.  Each category of information is identified by a database name."
11435 msgstr ""
11436 "ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル\n"
11437 "I</etc/nsswitch.conf> は、 GNU C ライブラリが\n"
11438 "いろいろなカテゴリの名前サービス情報を、どの情報源から\n"
11439 "どの順序で取得するかを判断するのに使用される\n"
11440 "(情報の各カテゴリはデータベース名で識別される)。"
11441
11442 #. type: Plain text
11443 #: build/C/man5/nsswitch.conf.5:42
11444 msgid "The file is plain ASCII text, with columns separated by spaces or tab characters.  The first column specifies the database name.  The remaining columns describe the order of sources to query and a limited set of actions that can be performed by lookup result."
11445 msgstr ""
11446 "設定ファイルは通常の ASCII テキストで、列はスペースかタブ文字で\n"
11447 "区切られる。最初の列はデータベース名を示す。\n"
11448 "残りの列は、情報を問い合わせる情報源の順序と、\n"
11449 "検索結果に対して実行するアクションを規定する。"
11450
11451 #. type: Plain text
11452 #: build/C/man5/nsswitch.conf.5:44
11453 msgid "The following databases are understood by the GNU C Library:"
11454 msgstr "GNU C ライブラリでは以下のデータベースを扱うことができる。"
11455
11456 #. type: Plain text
11457 #: build/C/man5/nsswitch.conf.5:49
11458 msgid "Mail aliases, used by B<getaliasent>(3)  and related functions."
11459 msgstr "メールのエイリアス。 B<getaliasent>(3) や関連する関数が使用する。"
11460
11461 #. type: Plain text
11462 #: build/C/man5/nsswitch.conf.5:52
11463 msgid "Ethernet numbers."
11464 msgstr "イーサーネット番号。"
11465
11466 #. type: Plain text
11467 #: build/C/man5/nsswitch.conf.5:57
11468 msgid "Groups of users, used by B<getgrent>(3)  and related functions."
11469 msgstr "ユーザーのグループ。 B<getgrent>(3) や関連する関数が使用する。"
11470
11471 #. type: Plain text
11472 #: build/C/man5/nsswitch.conf.5:62
11473 msgid "Host names and numbers, used by B<gethostbyname>(3)  and related functions."
11474 msgstr "ホスト名とホスト番号。 B<gethostbyname>(3) や関連する関数が使用する。"
11475
11476 #. type: Plain text
11477 #: build/C/man5/nsswitch.conf.5:67
11478 msgid "Supplementary group access list, used by B<getgrouplist>(3)  function."
11479 msgstr "補助グループアクセスリスト。 B<getgrouplist>(3) 関数が使用する。"
11480
11481 #. type: Plain text
11482 #: build/C/man5/nsswitch.conf.5:71
11483 msgid "Network-wide list of hosts and users, used for access rules.  C libraries before glibc 2.1 supported netgroups only over NIS."
11484 msgstr ""
11485 "ネットワークワイドに用いられるホストやユーザーのリスト。アクセス制限に利用\n"
11486 "される。 glibc 2.1 より前の C ライブラリは、 NIS による netgroup のみを\n"
11487 "サポートしていた。"
11488
11489 #. type: Plain text
11490 #: build/C/man5/nsswitch.conf.5:76
11491 msgid "Network names and numbers, used by B<getnetent>(3)  and related functions."
11492 msgstr "ネットワーク名と番号。 B<getnetent>(3) と関連する関数が使用する。"
11493
11494 #. type: Plain text
11495 #: build/C/man5/nsswitch.conf.5:81
11496 msgid "User passwords, used by B<getpwent>(3)  and related functions."
11497 msgstr "ユーザーパスワード。 B<getpwent>(3) や関連する関数が使用する。"
11498
11499 #. type: Plain text
11500 #: build/C/man5/nsswitch.conf.5:86
11501 msgid "Network protocols, used by B<getprotoent>(3)  and related functions."
11502 msgstr "ネットワークプロトコル。 B<getprotoent>(3) や関連する関数が使用する。"
11503
11504 #. type: TP
11505 #: build/C/man5/nsswitch.conf.5:86
11506 #, no-wrap
11507 msgid "B<publickey>"
11508 msgstr "B<publickey>"
11509
11510 #. type: Plain text
11511 #: build/C/man5/nsswitch.conf.5:89
11512 msgid "Public and secret keys for Secure_RPC used by NFS and NIS+."
11513 msgstr "NIS+ と NFS によって用いられる secure_rpc の公開鍵と秘密鍵。"
11514
11515 #. type: Plain text
11516 #: build/C/man5/nsswitch.conf.5:94
11517 msgid "Remote procedure call names and numbers, used by B<getrpcbyname>(3)  and related functions."
11518 msgstr ""
11519 "リモート手続き呼び出し (remote procedure call) の名前と番号。 \n"
11520 "B<getrpcbyname>(3) と関連する関数が使用する。"
11521
11522 #. type: Plain text
11523 #: build/C/man5/nsswitch.conf.5:99
11524 msgid "Network services, used by B<getservent>(3)  and related functions."
11525 msgstr "ネットワークサービス。 B<getservent>(3) や関連する関数が使用する。"
11526
11527 #. type: Plain text
11528 #: build/C/man5/nsswitch.conf.5:104
11529 msgid "Shadow user passwords, used by B<getspnam>(3)  and related functions."
11530 msgstr "シャドウユーザーパスワード。 B<getspnam>(3) や関連する関数が使用する。"
11531
11532 #. type: Plain text
11533 #: build/C/man5/nsswitch.conf.5:108
11534 msgid "Here is an example I</etc/nsswitch.conf> file:"
11535 msgstr "以下は I</etc/nsswitch.conf> ファイルの例である。"
11536
11537 #. type: TP
11538 #: build/C/man5/nsswitch.conf.5:111
11539 #, no-wrap
11540 msgid "passwd:"
11541 msgstr "passwd:"
11542
11543 #. type: Plain text
11544 #: build/C/man5/nsswitch.conf.5:114 build/C/man5/nsswitch.conf.5:117
11545 #: build/C/man5/nsswitch.conf.5:120
11546 msgid "compat"
11547 msgstr "compat"
11548
11549 #. type: TP
11550 #: build/C/man5/nsswitch.conf.5:114
11551 #, no-wrap
11552 msgid "group:"
11553 msgstr "group:"
11554
11555 #. type: TP
11556 #: build/C/man5/nsswitch.conf.5:117
11557 #, no-wrap
11558 msgid "shadow:"
11559 msgstr "shadow:"
11560
11561 #. type: TP
11562 #: build/C/man5/nsswitch.conf.5:121
11563 #, no-wrap
11564 msgid "hosts:"
11565 msgstr "hosts:"
11566
11567 #. type: Plain text
11568 #: build/C/man5/nsswitch.conf.5:124
11569 msgid "dns [!UNAVAIL=return] files"
11570 msgstr "dns [!UNAVAIL=return] files"
11571
11572 #. type: TP
11573 #: build/C/man5/nsswitch.conf.5:124
11574 #, no-wrap
11575 msgid "networks:"
11576 msgstr "networks:"
11577
11578 #. type: Plain text
11579 #: build/C/man5/nsswitch.conf.5:127 build/C/man5/nsswitch.conf.5:130
11580 #: build/C/man5/nsswitch.conf.5:133 build/C/man5/nsswitch.conf.5:136
11581 #: build/C/man5/nsswitch.conf.5:139
11582 msgid "nis [NOTFOUND=return] files"
11583 msgstr "nis [NOTFOUND=return] files"
11584
11585 #. type: TP
11586 #: build/C/man5/nsswitch.conf.5:127
11587 #, no-wrap
11588 msgid "ethers:"
11589 msgstr "ethers:"
11590
11591 #. type: TP
11592 #: build/C/man5/nsswitch.conf.5:130
11593 #, no-wrap
11594 msgid "protocols:"
11595 msgstr "protocols:"
11596
11597 #. type: TP
11598 #: build/C/man5/nsswitch.conf.5:133
11599 #, no-wrap
11600 msgid "rpc:"
11601 msgstr "rpc:"
11602
11603 #. type: TP
11604 #: build/C/man5/nsswitch.conf.5:136
11605 #, no-wrap
11606 msgid "services:"
11607 msgstr "services:"
11608
11609 #. type: Plain text
11610 #: build/C/man5/nsswitch.conf.5:144
11611 msgid "The first column is the database name.  The remaining columns specify:"
11612 msgstr ""
11613 "最初の列はデータベース名である。\n"
11614 "残りの列で以下を指定する。"
11615
11616 #. type: Plain text
11617 #: build/C/man5/nsswitch.conf.5:148
11618 msgid "One or more service specifications, for example, \"files\", \"db\", or \"nis\".  The order of the services on the line determines the order in which those services will be queried, in turn, until a result is found."
11619 msgstr ""
11620 "1 個以上のサービス指定 (例: \"files\", \"db\", \"nis\")。この行に記載された\n"
11621 "サービスの順序で、結果が得られるまで、指定されたサービスに対する\n"
11622 "問い合わせが順番に行われる。"
11623
11624 #. type: Plain text
11625 #: build/C/man5/nsswitch.conf.5:151
11626 msgid "Optional actions to perform if a particular result is obtained from the preceding service, for example, \"[NOTFOUND=return]\"."
11627 msgstr ""
11628 "特定の結果が直前のサービスで得られた場合に実行されるアクション\n"
11629 "(例: \"[NOTFOUND=return]\")。アクションは省略可能である。"
11630
11631 #. type: Plain text
11632 #: build/C/man5/nsswitch.conf.5:177
11633 msgid "The service specifications supported on your system depend on the presence of shared libraries, and are therefore extensible.  Libraries called I</lib/libnss_SERVICE.so.>B<X> will provide the named I<SERVICE>.  On a standard installation, you can use \"files\", \"db\", \"nis\", and \"nisplus\".  For the B<hosts> database, you can additionally specify \"dns\".  For the B<passwd>, B<group>, and B<shadow> databases, you can additionally specify \"compat\" (see B<Compatibility mode> below).  The version number B<X> may be 1 for glibc 2.0, or 2 for glibc 2.1 and later.  On systems with additional libraries installed, you may have access to further services such as \"hesiod\", \"ldap\", \"winbind\" and \"wins\"."
11634 msgstr ""
11635 "利用しているシステムでどのサービス指定が利用できるかは、共有ライブラリ\n"
11636 "があるかどうかに依存しており、そのためサービス指定は拡張できるように\n"
11637 "なっている。I</lib/libnss_SERVICE.so.>B<X> という名前のライブラリが\n"
11638 "I<SERVICE> という名前のサービスを提供する。標準のインストールを行った\n"
11639 "場合、\"files\", \"db\", \"nis\", \"nisplus\" が利用できる。\n"
11640 "データベース B<hosts> の場合には、追加で \"dns\" も指定できる。\n"
11641 "データベース B<passwd>, B<group>, B<shadow> の場合には、追加で\n"
11642 "\"compat\" (下記の B<互換モード> を参照)。バージョン番号 B<X> は、\n"
11643 "glibc 2.0 の場合は 1、glibc 2.1 の場合は 2 で、それ以降も同様である。\n"
11644 "追加のライブラリがインストールされているシステムでは、\"hesiod\",\n"
11645 "\"ldap\", \"winbind\", \"wins\" などの追加のサービスが利用できる。"
11646
11647 #. type: Plain text
11648 #: build/C/man5/nsswitch.conf.5:182
11649 msgid "An action may also be specified following a service specification.  The action modifies the behavior following a result obtained from the preceding data source.  Action items take the general form:"
11650 msgstr ""
11651 "サービス指定の次にアクションを指定することもできる。アクションを\n"
11652 "使うと、直前のデータ源から結果が得られた後の動作を変更できる。\n"
11653 "アクション指定は、一般的には以下の形式となる。"
11654
11655 #. type: Plain text
11656 #: build/C/man5/nsswitch.conf.5:185
11657 msgid "[I<STATUS>=I<ACTION>]"
11658 msgstr "[I<STATUS>=I<ACTION>]"
11659
11660 #. type: Plain text
11661 #: build/C/man5/nsswitch.conf.5:187
11662 msgid "[!I<STATUS>=I<ACTION>]"
11663 msgstr "[!I<STATUS>=I<ACTION>]"
11664
11665 #. type: Plain text
11666 #: build/C/man5/nsswitch.conf.5:190
11667 msgid "where"
11668 msgstr "STATUS と ACTION はそれぞれ以下の値を取る。"
11669
11670 #. type: Plain text
11671 #: build/C/man5/nsswitch.conf.5:201
11672 msgid "I<STATUS> =E<gt> B<success> | B<notfound> | B<unavail> | B<tryagain>"
11673 msgstr "I<STATUS> =E<gt> B<success> | B<notfound> | B<unavail> | B<tryagain>"
11674
11675 #. type: Plain text
11676 #: build/C/man5/nsswitch.conf.5:207
11677 msgid "I<ACTION> =E<gt> B<return> | B<continue>"
11678 msgstr "I<ACTION> =E<gt> B<return> | B<continue>"
11679
11680 #. type: Plain text
11681 #: build/C/man5/nsswitch.conf.5:212
11682 msgid "The ! negates the test, matching all possible results except the one specified.  The case of the keywords is not significant."
11683 msgstr ""
11684 "! はテスト結果を反転させる。\n"
11685 "つまり、指定された以外の全ての結果にマッチする。\n"
11686 "キーワードの大文字、小文字は無視される。"
11687
11688 #. type: Plain text
11689 #: build/C/man5/nsswitch.conf.5:217
11690 msgid "The I<STATUS> value is matched against the result of the lookup function called by the preceding service specification, and can be one of:"
11691 msgstr ""
11692 "I<STATUS> は、直前のサービス指定で呼び出しされた検索処理の結果に\n"
11693 "対して照合が行われる。 I<STATUS> には以下のいずれかを指定できる。"
11694
11695 #. type: TP
11696 #: build/C/man5/nsswitch.conf.5:218
11697 #, no-wrap
11698 msgid "B<success>"
11699 msgstr "B<success>"
11700
11701 #. type: Plain text
11702 #: build/C/man5/nsswitch.conf.5:222
11703 msgid "No error occurred and the requested entry is returned.  The default action for this condition is \"return\"."
11704 msgstr ""
11705 "エラーは発生せず、要求されたエントリが返された。\n"
11706 "この場合のデフォルトのアクションは \"return\" である。"
11707
11708 #. type: TP
11709 #: build/C/man5/nsswitch.conf.5:222
11710 #, no-wrap
11711 msgid "B<notfound>"
11712 msgstr "B<notfound>"
11713
11714 #. type: Plain text
11715 #: build/C/man5/nsswitch.conf.5:226
11716 msgid "The lookup succeeded, but the requested entry was not found.  The default action for this condition is \"continue\"."
11717 msgstr ""
11718 "検索は成功したが、要求されたエントリが見つからなかった。\n"
11719 "この場合のデフォルトのアクションは \"continue\" である。"
11720
11721 #. type: TP
11722 #: build/C/man5/nsswitch.conf.5:226
11723 #, no-wrap
11724 msgid "B<unavail>"
11725 msgstr "B<unavail>"
11726
11727 #. type: Plain text
11728 #: build/C/man5/nsswitch.conf.5:233
11729 msgid "The service is permanently unavailable.  This can mean either that the required file cannot be read, or, for network services, that the server is not available or does not allow queries.  The default action for this condition is \"continue\"."
11730 msgstr ""
11731 "サービスが永続的に利用できない。\n"
11732 "必要なファイルを読み込むことができない、\n"
11733 "ネットワークサービスの場合には、サーバが利用できないとか、\n"
11734 "サーバが問い合わせを許可していない、などが考えられる。\n"
11735 "この場合のデフォルトのアクションは \"continue\" である。"
11736
11737 #. type: TP
11738 #: build/C/man5/nsswitch.conf.5:233
11739 #, no-wrap
11740 msgid "B<tryagain>"
11741 msgstr "B<tryagain>"
11742
11743 #. type: Plain text
11744 #: build/C/man5/nsswitch.conf.5:239
11745 msgid "The service is temporarily unavailable.  This could mean a file is locked or a server currently cannot accept more connections.  The default action for this condition is \"continue\"."
11746 msgstr ""
11747 "サービスが一時的に利用できない。\n"
11748 "ファイルがロックされている、サーバがこれ以上接続を受け付けることができない、\n"
11749 "などが考えられる。デフォル トのアクションは \"continue\" である。"
11750
11751 #. type: Plain text
11752 #: build/C/man5/nsswitch.conf.5:244
11753 msgid "The I<ACTION> value can be one of:"
11754 msgstr "I<ACTION> には以下のいずれかを指定できる。"
11755
11756 #. type: TP
11757 #: build/C/man5/nsswitch.conf.5:245
11758 #, no-wrap
11759 msgid "B<return>"
11760 msgstr "B<return>"
11761
11762 #. type: Plain text
11763 #: build/C/man5/nsswitch.conf.5:257
11764 msgid "Return a result now.  Do not call any further lookup functions.  However, for compatibility reasons, if this is the selected action for the B<group> database and the B<notfound> status, and the configuration file does not contain the B<initgroups> line, the next lookup function is always called, without affecting the search result."
11765 msgstr "結果をすぐに返す。 これ以上検索処理は呼び出されない。 ただし、互換性のため、 選択されたアクションが B<group> データベースに対するもので、 ステータスが B<notfound> であった場合で、 設定ファイルに B<initgroups> の行が含まれていない場合には、次の検索処理は常に呼び出される (検索結果への影響はない)。"
11766
11767 #. type: TP
11768 #: build/C/man5/nsswitch.conf.5:257
11769 #, no-wrap
11770 msgid "B<continue>"
11771 msgstr "B<continue>"
11772
11773 #. type: Plain text
11774 #: build/C/man5/nsswitch.conf.5:260
11775 msgid "Call the next lookup function."
11776 msgstr "次の検索処理を呼び出す。"
11777
11778 #. type: SS
11779 #: build/C/man5/nsswitch.conf.5:261
11780 #, no-wrap
11781 msgid "Compatibility mode (compat)"
11782 msgstr "互換モード (compat)"
11783
11784 #. type: Plain text
11785 #: build/C/man5/nsswitch.conf.5:267
11786 msgid "The NSS \"compat\" service is similar to \"files\" except that it additionally permits special entries in I</etc/passwd> for granting users or members of netgroups access to the system.  The following entries are valid in this mode:"
11787 msgstr ""
11788 "NSS \"compat\" サービスは \"files\" と似ているが、システムにアクセスできる\n"
11789 "ユーザーやネットグループ (netgroup) のメンバの指定に I</etc/passwd> で\n"
11790 "特別なエントリを追加で使うことができる点が異なる。\n"
11791 "このモードでは、以下のエントリを使うことができる。"
11792
11793 #. type: TP
11794 #: build/C/man5/nsswitch.conf.5:268
11795 #, no-wrap
11796 msgid "B<+>I<user>"
11797 msgstr "B<+>I<user>"
11798
11799 #. type: Plain text
11800 #: build/C/man5/nsswitch.conf.5:273
11801 msgid "Include the specified I<user> from the NIS passwd map."
11802 msgstr "NIS パスワードマップの指定された I<user> を含める。"
11803
11804 #. type: TP
11805 #: build/C/man5/nsswitch.conf.5:273
11806 #, no-wrap
11807 msgid "B<+@>I<netgroup>"
11808 msgstr "B<+@>I<netgroup>"
11809
11810 #. type: Plain text
11811 #: build/C/man5/nsswitch.conf.5:277
11812 msgid "Include all users in the given I<netgroup>."
11813 msgstr "指定された I<netgroup> の全ユーザーを含める。"
11814
11815 #. type: TP
11816 #: build/C/man5/nsswitch.conf.5:277
11817 #, no-wrap
11818 msgid "B<->I<user>"
11819 msgstr "B<->I<user>"
11820
11821 #. type: Plain text
11822 #: build/C/man5/nsswitch.conf.5:282
11823 msgid "Exclude the specified I<user> from the NIS passwd map."
11824 msgstr "NIS パスワードマップの指定された I<user> を除外する。"
11825
11826 #. type: TP
11827 #: build/C/man5/nsswitch.conf.5:282
11828 #, no-wrap
11829 msgid "B<-@>I<netgroup>"
11830 msgstr "B<-@>I<netgroup>"
11831
11832 #. type: Plain text
11833 #: build/C/man5/nsswitch.conf.5:286
11834 msgid "Exclude all users in the given I<netgroup>."
11835 msgstr "指定された I<netgroup> の全ユーザーを除外する。"
11836
11837 #. type: TP
11838 #: build/C/man5/nsswitch.conf.5:286
11839 #, no-wrap
11840 msgid "B<+>"
11841 msgstr "B<+>"
11842
11843 #. type: Plain text
11844 #: build/C/man5/nsswitch.conf.5:290
11845 msgid "Include every user, except previously excluded ones, from the NIS passwd map."
11846 msgstr ""
11847 "NIS パスワードマップのユーザーのうち、\n"
11848 "それまでに除外されていない全てのユーザーを含める。"
11849
11850 #. type: Plain text
11851 #: build/C/man5/nsswitch.conf.5:298
11852 msgid "By default the source is \"nis\", but this may be overridden by specifying \"nisplus\" as the source for the pseudo-databases B<passwd_compat>, B<group_compat>, and B<shadow_compat>."
11853 msgstr ""
11854 "デフォルトでは、データ源は \"nis\" だが、\n"
11855 "擬似データベース B<passwd_compat>, B<group_compat>, B<shadow_compat>\n"
11856 "ではデータ源として \"nisplus\" を指定することもできる。"
11857
11858 #. type: Plain text
11859 #: build/C/man5/nsswitch.conf.5:305
11860 msgid "A service named I<SERVICE> is implemented by a shared object library named I<libnss_SERVICE.so.>B<X> that resides in I</lib>."
11861 msgstr ""
11862 "I<SERVICE> という名前のサービスは I<libnss_SERVICE.so.>B<X> という\n"
11863 "名前の共有オブジェクトライブラリで実装されている。\n"
11864 "これは I</lib> に置かれる。"
11865
11866 #. type: Plain text
11867 #: build/C/man5/nsswitch.conf.5:310
11868 msgid "NSS configuration file."
11869 msgstr "NSS の設定ファイル。"
11870
11871 #. type: TP
11872 #: build/C/man5/nsswitch.conf.5:310
11873 #, no-wrap
11874 msgid "I</lib/libnss_compat.so.>B<X>"
11875 msgstr "I</lib/libnss_compat.so.>B<X>"
11876
11877 #. type: Plain text
11878 #: build/C/man5/nsswitch.conf.5:313
11879 msgid "implements \"compat\" source."
11880 msgstr "\"compat\" ソースを実装したもの。"
11881
11882 #. type: TP
11883 #: build/C/man5/nsswitch.conf.5:313
11884 #, no-wrap
11885 msgid "I</lib/libnss_db.so.>B<X>"
11886 msgstr "I</lib/libnss_db.so.>B<X>"
11887
11888 #. type: Plain text
11889 #: build/C/man5/nsswitch.conf.5:316
11890 msgid "implements \"db\" source."
11891 msgstr "\"db\" ソースを実装したもの。"
11892
11893 #. type: TP
11894 #: build/C/man5/nsswitch.conf.5:316
11895 #, no-wrap
11896 msgid "I</lib/libnss_dns.so.>B<X>"
11897 msgstr "I</lib/libnss_dns.so.>B<X>"
11898
11899 #. type: Plain text
11900 #: build/C/man5/nsswitch.conf.5:319
11901 msgid "implements \"dns\" source."
11902 msgstr "\"dns\" ソースを実装したもの。"
11903
11904 #. type: TP
11905 #: build/C/man5/nsswitch.conf.5:319
11906 #, no-wrap
11907 msgid "I</lib/libnss_files.so.>B<X>"
11908 msgstr "I</lib/libnss_files.so.>B<X>"
11909
11910 #. type: Plain text
11911 #: build/C/man5/nsswitch.conf.5:322
11912 msgid "implements \"files\" source."
11913 msgstr "\"files\" ソースを実装したもの。"
11914
11915 #. type: TP
11916 #: build/C/man5/nsswitch.conf.5:322
11917 #, no-wrap
11918 msgid "I</lib/libnss_hesiod.so.>B<X>"
11919 msgstr "I</lib/libnss_hesiod.so.>B<X>"
11920
11921 #. type: Plain text
11922 #: build/C/man5/nsswitch.conf.5:325
11923 msgid "implements \"hesiod\" source."
11924 msgstr "\"hesoid\" ソースを実装したもの。"
11925
11926 #. type: TP
11927 #: build/C/man5/nsswitch.conf.5:325
11928 #, no-wrap
11929 msgid "I</lib/libnss_nis.so.>B<X>"
11930 msgstr "I</lib/libnss_nis.so.>B<X>"
11931
11932 #. type: Plain text
11933 #: build/C/man5/nsswitch.conf.5:328
11934 msgid "implements \"nis\" source."
11935 msgstr "\"nis\" ソースを実装したもの。"
11936
11937 #. type: TP
11938 #: build/C/man5/nsswitch.conf.5:328
11939 #, no-wrap
11940 msgid "I</lib/libnss_nisplus.so.>B<X>"
11941 msgstr "I</lib/libnss_nisplus.so.>B<X>"
11942
11943 #. type: Plain text
11944 #: build/C/man5/nsswitch.conf.5:331
11945 msgid "implements \"nisplus\" source."
11946 msgstr "\"nisplus\" ソースを実装したもの。"
11947
11948 #. type: Plain text
11949 #: build/C/man5/nsswitch.conf.5:339
11950 msgid "Within each process that uses B<nsswitch.conf>, the entire file is read only once.  If the file is later changed, the process will continue using the old configuration."
11951 msgstr ""
11952 "I<nsswitch.conf> を利用するプロセスは、ファイルは一度しか読み込まない。\n"
11953 "その後で nsswitch.conf が書き換えられても、そのプロセスは古い設定のままで\n"
11954 "動作を継続する。"
11955
11956 #. type: Plain text
11957 #: build/C/man5/nsswitch.conf.5:352
11958 msgid "Traditionally, there was only a single source for service information, often in the form of a single configuration file (e.g., I</etc/passwd>).  However, as other name services, such as the Network Information Service (NIS) and the Domain Name Service (DNS), became popular, a method was needed that would be more flexible than fixed search orders coded into the C library.  The Name Service Switch mechanism, which was based on the mechanism used by Sun Microsystems in the Solaris 2 C library, introduced a cleaner solution to the problem."
11959 msgstr ""
11960 "伝統的には、サービス情報の情報源は一つだけであり、\n"
11961 "その設定ファイルの形式も一つであった (例えば I</etc/passwd>)。\n"
11962 "一方で、 Network Information Service (NIS) や Domain Name Service\n"
11963 "(DNS) などの他の名前サービスが一般的になるに連れて、C ライブラリに埋め\n"
11964 "込まれた固定順序ではなく、検索順序を柔軟に指定する方法が必要になった。\n"
11965 "ネームサービススイッチ機構は、この問題に対するよりきれいな解決方法と\n"
11966 "なっている。ネームサービススイッチ機構は、 Sun Microsystems が \n"
11967 "Solaris 2 の C ライブラリで使った機構が基になっている。"
11968
11969 #. type: Plain text
11970 #: build/C/man5/nsswitch.conf.5:355
11971 msgid "B<getent>(1), B<nss>(5)"
11972 msgstr "B<getent>(1), B<nss>(5)"
11973
11974 #. type: TH
11975 #: build/C/man7/packet.7:12
11976 #, no-wrap
11977 msgid "PACKET"
11978 msgstr "PACKET"
11979
11980 #. type: Plain text
11981 #: build/C/man7/packet.7:15
11982 msgid "packet - packet interface on device level"
11983 msgstr "packet - デバイスレベルのパケットインターフェース"
11984
11985 #. type: Plain text
11986 #: build/C/man7/packet.7:18
11987 #, no-wrap
11988 msgid "B<#include E<lt>sys/socket.hE<gt>>\n"
11989 msgstr "B<#include E<lt>sys/socket.hE<gt>>\n"
11990
11991 #. type: Plain text
11992 #: build/C/man7/packet.7:20
11993 #, no-wrap
11994 msgid "B<#include E<lt>linux/if_packet.hE<gt>>\n"
11995 msgstr "B<#include E<lt>linux/if_packet.hE<gt>>\n"
11996
11997 #. type: Plain text
11998 #: build/C/man7/packet.7:22
11999 #, no-wrap
12000 msgid "B<#include E<lt>net/ethernet.hE<gt> /* the L2 protocols */>\n"
12001 msgstr "B<#include E<lt>net/ethernet.hE<gt> /* L2 プロトコル */>\n"
12002
12003 #. type: Plain text
12004 #: build/C/man7/packet.7:24
12005 #, no-wrap
12006 msgid "B<packet_socket = socket(AF_PACKET, int >I<socket_type>B<, int >I<protocol>B<);>\n"
12007 msgstr "B<packet_socket = socket(AF_PACKET, int >I<socket_type>B<, int >I<protocol>B<);>\n"
12008
12009 #. type: Plain text
12010 #: build/C/man7/packet.7:30
12011 msgid "Packet sockets are used to receive or send raw packets at the device driver (OSI Layer 2) level.  They allow the user to implement protocol modules in user space on top of the physical layer."
12012 msgstr "packet ソケットは、デバイスドライバ (OSI レイヤ 2) レベルで 生のパケット (raw packet) を送受信するために用いられる。 packet ソケットを使うと、ユーザー空間で物理層の上に プロトコルモジュールを実装することができる。"
12013
12014 #. type: Plain text
12015 #: build/C/man7/packet.7:51
12016 msgid "The I<socket_type> is either B<SOCK_RAW> for raw packets including the link-level header or B<SOCK_DGRAM> for cooked packets with the link-level header removed.  The link-level header information is available in a common format in a I<sockaddr_ll>.  I<protocol> is the IEEE 802.3 protocol number in network byte order.  See the I<E<lt>linux/if_ether.hE<gt>> include file for a list of allowed protocols.  When protocol is set to B<htons(ETH_P_ALL)> then all protocols are received.  All incoming packets of that protocol type will be passed to the packet socket before they are passed to the protocols implemented in the kernel."
12017 msgstr "I<socket_type> には B<SOCK_RAW> と B<SOCK_DGRAM> のいずれかを指定する。 B<SOCK_RAW> はリンクレベルヘッダを含む raw パケットを、 B<SOCK_DGRAM> はリンクレベルヘッダが削除された加工済みパケットを示す。 リンクレベルヘッダ情報は I<sockaddr_ll> で共通のフォーマットで入手できる。 I<protocol> には IEEE 802.3 プロトコル番号を ネットワークバイトオーダーで指定する。 指定できるプロトコルのリストは、インクルードファイル I<E<lt>linux/if_ether.hE<gt>> を参照。プロトコルを B<htons(ETH_P_ALL)> にすると、全てのプロトコルが受信される。 外部から来たパケットのうち指定したプロトコルのものは、 カーネルに実装されているプロトコルに渡される前の段階で、 packet ソケットに渡される。"
12018
12019 #. type: Plain text
12020 #: build/C/man7/packet.7:55
12021 msgid "Only processes with effective UID 0 or the B<CAP_NET_RAW> capability may open packet sockets."
12022 msgstr "packet ソケットをオープンできるのは、 実効ユーザーID が 0 のプロセスか、 B<CAP_NET_RAW> ケーパビリティを持つプロセスだけである。"
12023
12024 #. type: Plain text
12025 #: build/C/man7/packet.7:73
12026 msgid "B<SOCK_RAW> packets are passed to and from the device driver without any changes in the packet data.  When receiving a packet, the address is still parsed and passed in a standard I<sockaddr_ll> address structure.  When transmitting a packet, the user supplied buffer should contain the physical layer header.  That packet is then queued unmodified to the network driver of the interface defined by the destination address.  Some device drivers always add other headers.  B<SOCK_RAW> is similar to but not compatible with the obsolete B<AF_INET/SOCK_PACKET> of Linux 2.0."
12027 msgstr "B<SOCK_RAW> パケットでは、パケットをデバイスドライバと受け渡しする際、 パケットデータに変更が行われることはない。 パケットの受信時には、アドレスの解析だけは行われ、 標準的な I<sockaddr_ll> アドレス構造体に渡される。パケットの送信時には、ユーザーが指定する バッファーに物理層のヘッダが含まれている必要がある。 パケットはそのまま修正を受けずに、行き先アドレスから決定される インターフェースのネットワークドライバにキューイングされる。 デバイスドライバによっては、他のヘッダを常に追加するものもある。 B<SOCK_RAW> は Linux 2.0 の obosolete な B<AF_INET/SOCK_PACKET> と似ているが、互換性があるわけではない。"
12028
12029 #. type: Plain text
12030 #: build/C/man7/packet.7:83
12031 msgid "B<SOCK_DGRAM> operates on a slightly higher level.  The physical header is removed before the packet is passed to the user.  Packets sent through a B<SOCK_DGRAM> packet socket get a suitable physical layer header based on the information in the I<sockaddr_ll> destination address before they are queued."
12032 msgstr "B<SOCK_DGRAM> はやや高位のレベルで動作する。物理ヘッダは、パケットがユーザーに 渡される前に削除される。 B<SOCK_DGRAM> の packet ソケットを通して送られるパケットは、 I<sockaddr_ll> の行き先アドレスの情報に基づき、適切な物理層のヘッダが付加されてから、 キューに送られる。"
12033
12034 #. type: Plain text
12035 #: build/C/man7/packet.7:96
12036 msgid "By default all packets of the specified protocol type are passed to a packet socket.  To get packets only from a specific interface use B<bind>(2)  specifying an address in a I<struct sockaddr_ll> to bind the packet socket to an interface.  Only the I<sll_protocol> and the I<sll_ifindex> address fields are used for purposes of binding."
12037 msgstr "デフォルトでは、指定したプロトコル型のパケットはすべて packet ソケットに送られる。特定のインターフェースからのパケットだけを 取得したい場合には、 I<struct sockaddr_ll> にアドレスを指定して B<bind>(2)  を呼び、 packet ソケットをそのインターフェースに結び付ける (バインドする)。 バインドの際には、アドレスフィールドのうち I<sll_protocol> と I<sll_ifindex> だけが用いられる。"
12038
12039 #. type: Plain text
12040 #: build/C/man7/packet.7:100
12041 msgid "The B<connect>(2)  operation is not supported on packet sockets."
12042 msgstr "B<connect>(2)  操作は packet ソケットではサポートされていない。"
12043
12044 #. type: Plain text
12045 #: build/C/man7/packet.7:109
12046 msgid "When the B<MSG_TRUNC> flag is passed to B<recvmsg>(2), B<recv>(2), B<recvfrom>(2)  the real length of the packet on the wire is always returned, even when it is longer than the buffer."
12047 msgstr "B<MSG_TRUNC> フラグが B<recvmsg>(2), B<recv>(2), B<recvfrom>(2)  に渡されると、 (バッファーサイズより大きかったとしても) 常に実際に通信された パケットの長さが返される。"
12048
12049 #. type: SS
12050 #: build/C/man7/packet.7:109
12051 #, no-wrap
12052 msgid "Address types"
12053 msgstr "アドレスのタイプ"
12054
12055 #. type: Plain text
12056 #: build/C/man7/packet.7:113
12057 msgid "The I<sockaddr_ll> is a device independent physical layer address."
12058 msgstr "I<sockaddr_ll> はデバイスに依存しない物理層のアドレスである。"
12059
12060 #. type: Plain text
12061 #: build/C/man7/packet.7:125
12062 #, no-wrap
12063 msgid ""
12064 "struct sockaddr_ll {\n"
12065 "    unsigned short sll_family;   /* Always AF_PACKET */\n"
12066 "    unsigned short sll_protocol; /* Physical layer protocol */\n"
12067 "    int            sll_ifindex;  /* Interface number */\n"
12068 "    unsigned short sll_hatype;   /* ARP hardware type */\n"
12069 "    unsigned char  sll_pkttype;  /* Packet type */\n"
12070 "    unsigned char  sll_halen;    /* Length of address */\n"
12071 "    unsigned char  sll_addr[8];  /* Physical layer address */\n"
12072 "};\n"
12073 msgstr ""
12074 "struct sockaddr_ll {\n"
12075 "    unsigned short sll_family;   /* 常に AF_PACKET */\n"
12076 "    unsigned short sll_protocol; /* 物理層のプロトコル */\n"
12077 "    int            sll_ifindex;  /* インターフェース番号 */\n"
12078 "    unsigned short sll_hatype;   /* ARP ハードウェア種別 */\n"
12079 "    unsigned char  sll_pkttype;  /* パケット種別 */\n"
12080 "    unsigned char  sll_halen;    /* アドレスの長さ */\n"
12081 "    unsigned char  sll_addr[8];  /* 物理層のアドレス */\n"
12082 "};\n"
12083
12084 #. type: Plain text
12085 #: build/C/man7/packet.7:164
12086 msgid "I<sll_protocol> is the standard ethernet protocol type in network byte order as defined in the I<E<lt>linux/if_ether.hE<gt>> include file.  It defaults to the socket's protocol.  I<sll_ifindex> is the interface index of the interface (see B<netdevice>(7)); 0 matches any interface (only permitted for binding).  I<sll_hatype> is an ARP type as defined in the I<E<lt>linux/if_arp.hE<gt>> include file.  I<sll_pkttype> contains the packet type.  Valid types are B<PACKET_HOST> for a packet addressed to the local host, B<PACKET_BROADCAST> for a physical layer broadcast packet, B<PACKET_MULTICAST> for a packet sent to a physical layer multicast address, B<PACKET_OTHERHOST> for a packet to some other host that has been caught by a device driver in promiscuous mode, and B<PACKET_OUTGOING> for a packet originated from the local host that is looped back to a packet socket.  These types make sense only for receiving.  I<sll_addr> and I<sll_halen> contain the physical layer (e.g., IEEE 802.3) address and its length.  The exact interpretation depends on the device."
12087 msgstr ""
12088 "I<sll_protocol> は標準的なイーサネットプロトコルのタイプで、 ネットワーク\n"
12089 "バイトオーダーで記述する。 インクルードファイル\n"
12090 "I<E<lt>linux/if_ether.hE<gt>> で定義されている。 これがこのソケットのプロト\n"
12091 "コルのデフォルトとなる。 I<sll_ifindex> はそのインターフェースの interface\n"
12092 "index である (B<netdevice>(7) を参照)。 0 は (バインドが許可されている) 任\n"
12093 "意のインターフェースにマッチする。 I<sll_hatype> は、インクルードファイル\n"
12094 "I<E<lt>linux/if_arp.hE<gt>> で定義されている ARP 種別である。\n"
12095 "I<sll_pkttype> はパケット種別である。指定できる種別は以下のいずれかである:\n"
12096 "B<PACKET_HOST> (ローカルホスト向けのパケット)、 B<PACKET_BORADCAST> (物理層\n"
12097 "のブロードキャストパケット)、 B<PACKET_MULTICAST> (物理層のマルチキャストア\n"
12098 "ドレスに送るパケット)、 B<PACKET_OTHERHOST> (他のホストに向けられたパケット\n"
12099 "のうち、 無差別モード (promiscuous mode: 後述) のデバイスドライバにより補足\n"
12100 "されたもの)、 B<PACKET_OUTGOING> (ローカルホストから発信され、 packet ソケッ\n"
12101 "トにループバックしてきたパケット)。 これらの種別が意味を持つのは受信時のみ\n"
12102 "である。 I<sll_addr> と I<sll_halen> は、物理層の (つまり IEEE 802.3 の) \n"
12103 "アドレスとその長さである。 厳密な解釈はデバイスに依存する。"
12104
12105 #. type: Plain text
12106 #: build/C/man7/packet.7:180
12107 msgid "When you send packets it is enough to specify I<sll_family>, I<sll_addr>, I<sll_halen>, I<sll_ifindex>.  The other fields should be 0.  I<sll_hatype> and I<sll_pkttype> are set on received packets for your information.  For bind only I<sll_protocol> and I<sll_ifindex> are used."
12108 msgstr "パケットを送る場合は、 I<sll_family>, I<sll_addr>, I<sll_halen>, I<sll_ifindex> を指定すれば十分である。 その他のフィールドは 0 にしておくべきである。 I<sll_hatype> と I<sll_pkttype> には受信したパケットの情報が設定される。 バインドの際には、 I<sll_protocol> と I<sll_ifindex> だけが使用される。"
12109
12110 #. type: Plain text
12111 #: build/C/man7/packet.7:185
12112 msgid "Packet socket options are configured by calling B<setsockopt>(2)  with level B<SOL_PACKET>."
12113 msgstr "パケットソケットのオプションは、レベル B<SOL_PACKET> を指定して B<setsockopt>(2) を呼び出すことで設定できる。"
12114
12115 #. type: TP
12116 #: build/C/man7/packet.7:185
12117 #, no-wrap
12118 msgid "B<PACKET_ADD_MEMBERSHIP>"
12119 msgstr "B<PACKET_ADD_MEMBERSHIP>"
12120
12121 #. type: TP
12122 #: build/C/man7/packet.7:188
12123 #, no-wrap
12124 msgid "B<PACKET_DROP_MEMBERSHIP>"
12125 msgstr "B<PACKET_DROP_MEMBERSHIP>"
12126
12127 #. type: Plain text
12128 #: build/C/man7/packet.7:200
12129 msgid "Packet sockets can be used to configure physical layer multicasting and promiscuous mode.  B<PACKET_ADD_MEMBERSHIP> adds a binding and B<PACKET_DROP_MEMBERSHIP> drops it.  They both expect a I<packet_mreq> structure as argument:"
12130 msgstr "packet ソケットは、物理層のマルチキャストや 無差別モード (promiscuous mode) を設定して使うことができる。 B<PACKET_ADD_MEMBERSHIP> はバインドを追加し、 B<PACKET_DROP_MEMBERSHIP> はバインドを削除する。これらはいずれも I<packet_mreq> 構造体を引き数に取る。"
12131
12132 #. type: Plain text
12133 #: build/C/man7/packet.7:209
12134 #, no-wrap
12135 msgid ""
12136 "struct packet_mreq {\n"
12137 "    int            mr_ifindex;    /* interface index */\n"
12138 "    unsigned short mr_type;       /* action */\n"
12139 "    unsigned short mr_alen;       /* address length */\n"
12140 "    unsigned char  mr_address[8]; /* physical layer address */\n"
12141 "};\n"
12142 msgstr ""
12143 "struct packet_mreq {\n"
12144 "    int            mr_ifindex;    /* インターフェース番号 */\n"
12145 "    unsigned short mr_type;       /* 動作 */\n"
12146 "    unsigned short mr_alen;       /* アドレスの長さ */\n"
12147 "    unsigned char  mr_address[8]; /* 物理層のアドレス */\n"
12148 "};\n"
12149
12150 #. type: Plain text
12151 #: build/C/man7/packet.7:230
12152 msgid "B<mr_ifindex> contains the interface index for the interface whose status should be changed.  The B<mr_type> parameter specifies which action to perform.  B<PACKET_MR_PROMISC> enables receiving all packets on a shared medium (often known as \"promiscuous mode\"), B<PACKET_MR_MULTICAST> binds the socket to the physical layer multicast group specified in B<mr_address> and B<mr_alen>, and B<PACKET_MR_ALLMULTI> sets the socket up to receive all multicast packets arriving at the interface."
12153 msgstr "I<mr_ifindex> は、ステータスを変更したいインターフェースの インターフェース番号である。 I<mr_type> パラメーターは実行する動作を指定する: B<PACKET_MR_PROMISC> は、共有している媒体からの全てのパケットを受信できるようにする (しばしば \"無差別モード (promiscuous mode)\" と呼ばれる)。 B<PACKET_MR_MULTICAST> は、そのソケットを、 I<mr_address> と I<mr_alen> で指定される物理層のマルチキャストブループにバインドする。 B<PACKET_MR_ALLMULTI> は socket を up にして、そのインターフェースに到達したすべての マルチキャストパケットを受信できるようにする。"
12154
12155 #. type: Plain text
12156 #: build/C/man7/packet.7:236
12157 msgid "In addition, the traditional ioctls B<SIOCSIFFLAGS>, B<SIOCADDMULTI>, B<SIOCDELMULTI> can be used for the same purpose."
12158 msgstr "昔からある ioctl だけでなく、 B<SIOCSIFFLAGS>, B<SIOCADDMULTI>, B<SIOCDELMULTI> を同じ目的に用いることができる。"
12159
12160 #. type: TP
12161 #: build/C/man7/packet.7:236
12162 #, no-wrap
12163 msgid "B<PACKET_AUXDATA> (since Linux 2.6.21)"
12164 msgstr "B<PACKET_AUXDATA> (Linux 2.6.21 以降)"
12165
12166 #.  commit 8dc4194474159660d7f37c495e3fc3f10d0db8cc
12167 #. type: Plain text
12168 #: build/C/man7/packet.7:246
12169 msgid "If this binary option is enabled, the packet socket passes a metadata structure along with each packet in the B<recvmsg>(2)  control field.  The structure can be read with B<cmsg>(3).  It is defined as"
12170 msgstr "ブール値のオプションを有効すると、 パケットソケットは、パケットと一緒にメタデータ構造体を B<recvmsg>(2) コントロールフィールドで渡す。 この構造体は B<cmsg>(3) を使って読むことができる。 定義は以下の通りである。"
12171
12172 #. type: Plain text
12173 #: build/C/man7/packet.7:258
12174 #, no-wrap
12175 msgid ""
12176 "struct tpacket_auxdata {\n"
12177 "    __u32 tp_status;\n"
12178 "    __u32 tp_len;      /* packet length */\n"
12179 "    __u32 tp_snaplen;  /* captured length */\n"
12180 "    __u16 tp_mac;\n"
12181 "    __u16 tp_net;\n"
12182 "    __u16 tp_vlan_tci;\n"
12183 "    __u16 tp_padding;\n"
12184 "};\n"
12185 msgstr ""
12186 "struct tpacket_auxdata {\n"
12187 "    __u32 tp_status;\n"
12188 "    __u32 tp_len;      /* パケット長 */\n"
12189 "    __u32 tp_snaplen;  /* キャプチャした長さ */\n"
12190 "    __u16 tp_mac;\n"
12191 "    __u16 tp_net;\n"
12192 "    __u16 tp_vlan_tci;\n"
12193 "    __u16 tp_padding;\n"
12194 "};\n"
12195
12196 #. type: TP
12197 #: build/C/man7/packet.7:260
12198 #, no-wrap
12199 msgid "B<PACKET_FANOUT> (since Linux 3.1)"
12200 msgstr "B<PACKET_FANOUT> (Linux 3.1 以降)"
12201
12202 #.  commit dc99f600698dcac69b8f56dda9a8a00d645c5ffc
12203 #. type: Plain text
12204 #: build/C/man7/packet.7:282
12205 msgid "To scale processing across threads, packet sockets can form a fanout group.  In this mode, each matching packet is enqueued onto only one socket in the group.  A socket joins a fanout group by calling B<setsockopt>(2)  with level B<SOL_PACKET> and option B<PACKET_FANOUT>.  Each network namespace can have up to 65536 independent groups.  A socket selects a group by encoding the ID in the first 16 bits of the integer option value.  The first packet socket to join a group implicitly creates it.  To successfully join an existing group, subsequent packet sockets must have the same protocol, device settings, fanout mode and flags (see below).  Packet sockets can leave a fanout group only by closing the socket.  The group is deleted when the last socket is closed."
12206 msgstr "スレッドにまたがって処理をスケールさせるため、 パケットソケットはファンアウトグループを構成することができる。 このモードでは、 マッチしたそれぞれのパケットはグループ内のいずれか一つのソケットにだけキューイングされる。 ソケットをファンアウトグループに参加させるには、 レベル B<SOL_PACKET> でオプション B<PACKET_FANOUT> を指定して B<setsockopt>(2) を呼び出す。 ネットワーク名前空間毎に最大 65536 個の独立したグループを持つことができる。 整数のオプション値の先頭 16 ビットに ID をエンコードすることで、 ソケットはグループを選択する。 あるグループへの最初のパケットソケットの参加があった時点で、 グループは暗黙のうちに作成される。 既存のグループへの参加が成功するためには、 それ以降にそのグループに参加しようとするパケットソケットは、 プロトコロ、 デバイス設定、ファンアウトモード、フラグが同じである必要がある (下記参照)。 パケットソケットがファンアウトグループから抜けるのは、 そのソケットをクローズした場合だけである。 ファンアウトグループは最後のソケットがクローズした場合に削除される。"
12207
12208 #.  commit 2d36097d26b5991d71a2cf4a20c1a158f0f1bfcd
12209 #. type: Plain text
12210 #: build/C/man7/packet.7:305
12211 msgid "Fanout supports multiple algorithms to spread traffic between sockets.  The default mode, B<PACKET_FANOUT_HASH>, sends packets from the same flow to the same socket to maintain per-flow ordering.  For each packet, it chooses a socket by taking the packet flow hash modulo the number of sockets in the group, where a flow hash is a hash over network-layer address and optional transport-layer port fields.  The load-balance mode B<PACKET_FANOUT_LB> implements a round-robin algorithm.  B<PACKET_FANOUT_CPU> selects the socket based on the CPU that the packet arrived on.  B<PACKET_FANOUT_ROLLOVER> processes all data on a single socket, moves to the next when one becomes backlogged.  B<PACKET_FANOUT_RND> selects the socket using a pseudo-random number generator.  B<PACKET_FANOUT_QM> (available since Linux 3.14)  selects the socket using the recorded queue_mapping of the received skb."
12212 msgstr "ファンアウトでは、 複数のソケットにトラフィックを分散させるアルゴリズムを複数サポートしている。 デフォルトのモードである B<PACKET_FANOUT_HASH> では、同じフローのパケットは同じソケットに送信され、 フロー単位の順序が維持される。 パケットごとに、パケットフローのハッシュの、そのグループのソケット数に対する剰余が計算され、ソケットが選択される。 なお、フローハッシュはネットワーク層のアドレスとトランスポート層のポートフィールドに対するハッシュである (トランスポート層ポートは存在する場合のみ)。 負荷分散モード B<PACKET_FANOUT_LB> はラウンドロビンアルゴリズムが採用されている。 B<PACKET_FANOUT_CPU> では、 パケットが到着した CPU に基づいてソケットを選択する。 B<PACKET_FANOUT_ROLLOVER> はすべてのデータを一つのソケットで処理し、 そのソケットで処理待ち (backlog) が発生した場合に次のソケットに移る。 B<PACKET_FANOUT_RND> では擬似乱数発生器を使ってソケットが選択される。 B<PACKET_FANOUT_QM> (Linux 3.14 以降で利用可能) では受信 skb に記録された queue_mapping を使ってソケットが選択される。"
12213
12214 #. type: Plain text
12215 #: build/C/man7/packet.7:320
12216 msgid "Fanout modes can take additional options.  IP fragmentation causes packets from the same flow to have different flow hashes.  The flag B<PACKET_FANOUT_FLAG_DEFRAG>, if set, causes packet to be defragmented before fanout is applied, to preserve order even in this case.  Fanout mode and options are communicated in the second 16 bits of the integer option value.  The flag B<PACKET_FANOUT_FLAG_ROLLOVER> enables the roll over mechanism as a backup strategy: if the original fanout algorithm selects a backlogged socket, the packet rolls over to the next available one."
12217 msgstr "ファンアウトモードでは追加のオプションがある。 IP フラグメンテーションが起こると、 同じフローのパケットのフローハッシュが異なるハッシュを持つことになる。 フラグ B<PACKET_FANOUT_FLAG_DEFRAG> をセットすると、 パケットはファンアウトを行う前にフラグメント再構築が行われるようになり、 フラグメントがあった場合でも順序が維持される。 ファンアウトモードとオプションは、 整数のオプション値の下位 16 ビットで指定される。 フラグ B<PACKET_FANOUT_FLAG_ROLLOVER> を指定すると、 バックアップ戦略としてロールオーバー方式が有効になる。 元のファンアウトアルゴリズムが backlog ソケットを選択していれば、 パケットは次の利用可能なソケットにロールオーバーされる。"
12218
12219 #. type: TP
12220 #: build/C/man7/packet.7:320
12221 #, no-wrap
12222 msgid "B<PACKET_LOSS> (with B<PACKET_TX_RING>)"
12223 msgstr "B<PACKET_LOSS> (B<PACKET_TX_RING> で使用)"
12224
12225 #. type: Plain text
12226 #: build/C/man7/packet.7:343
12227 msgid "When a malformed packet is encountered on a transmit ring, the default is to reset its I<tp_status> to B<TP_STATUS_WRONG_FORMAT> and abort the transmission immediately.  The malformed packet blocks itself and subsequently enqueued packets from being sent.  The format error must be fixed, the associated I<tp_status> reset to B<TP_STATUS_SEND_REQUEST>, and the transmission process restarted via B<send>(2).  However, if B<PACKET_LOSS> is set, any malformed packet will be skipped, its I<tp_status> reset to B<TP_STATUS_AVAILABLE>, and the transmission process continued."
12228 msgstr "送信リングで不正な形式のパケットに遭遇した場合、 デフォルトではそのリングの I<tp_status> を B<TP_STATUS_WRONG_FORMAT> に戻し、その送信を直ちに中止する。 不正な形式のパケットにより、そのパケット自身とその以降にキューに入れられたパケットの送信がブロックされる。形式エラーを修正し、関連する I<tp_status> を B<TP_STATUS_SEND_REQUEST> に設定し直し、B<send>(2) を使って送信処理を再開しなければならない。 しかしながら、 B<PACKET_LOSS> がセットされている場合、 不正な形式のパケットはすべてスキップされ、 その送信リングの I<tp_status> は B<TP_STATUS_AVAILABLE> に設定し直され、送信処理は継続される。"
12229
12230 #. type: TP
12231 #: build/C/man7/packet.7:343
12232 #, no-wrap
12233 msgid "B<PACKET_RESERVE> (with B<PACKET_RX_RING>)"
12234 msgstr "B<PACKET_RESERVE> (B<PACKET_RX_RING> で使用)"
12235
12236 #. type: Plain text
12237 #: build/C/man7/packet.7:348
12238 msgid "By default, a packet receive ring writes packets immediately following the metadata structure and alignment padding.  This integer option reserves additional headroom."
12239 msgstr "デフォルトでは、パケット受信リングはメタデータ構造体とアライメント用のパディングの直後にパケットを書き込む。 この整数オプションを設定すると、パケットの前に追加で領域が予約される。"
12240
12241 #. type: TP
12242 #: build/C/man7/packet.7:348
12243 #, no-wrap
12244 msgid "B<PACKET_RX_RING>"
12245 msgstr "B<PACKET_RX_RING>"
12246
12247 #. type: Plain text
12248 #: build/C/man7/packet.7:394
12249 msgid "Create a memory-mapped ring buffer for asynchronous packet reception.  The packet socket reserves a contiguous region of application address space, lays it out into an array of packet slots and copies packets (up to I<tp_snaplen>)  into subsequent slots.  Each packet is preceded by a metadata structure similar to I<tpacket_auxdata>.  The protocol fields encode the offset to the data from the start of the metadata header.  I<tp_net> stores the offset to the network layer.  If the packet socket is of type B<SOCK_DGRAM>, then I<tp_mac> is the same.  If it is of type B<SOCK_RAW>, then that field stores the offset to the link-layer frame.  Packet socket and application communicate the head and tail of the ring through the I<tp_status> field.  The packet socket owns all slots with I<tp_status> equal to B<TP_STATUS_KERNEL>.  After filling a slot, it changes the status of the slot to transfer ownership to the application.  During normal operation, the new I<tp_status> value has at least the B<TP_STATUS_USER> bit set to signal that a received packet has been stored.  When the application has finished processing a packet, it transfers ownership of the slot back to the socket by setting I<tp_status> equal to B<TP_STATUS_KERNEL>.  Packet sockets implement multiple variants of the packet ring.  The implementation details are described in I<Documentation/networking/packet_mmap.txt> in the Linux kernel source tree."
12250 msgstr "非同期でのパケット受信用のメモリマップされたリングバッファーを作成する。 パケットソケットはアプリケーションのアドレス空間に連続する領域を確保し、 そこにパケットスロットの配列を構成し、 (最大 I<tp_snaplen> 個の) パケットを順にスロットにコピーする。 各パケットの前には I<tpacket_auxdata> に似たメタデータ構造体が置かれる。 プロトコルフィールドには、データの、メタデータヘッダーの先頭からのオフセットが入る。 I<tp_net> にはネットワーク層へのオフセットが格納される。 パケットソケットが B<SOCK_DGRAM> 型の場合、 I<tp_mac> も同じである。 B<SOCK_RAW> 型の場合、 I<tp_net> にはリンク層のフレームへのオフセットが入る。 パケットソケットとアプリケーションは I<tp_status> フィールドを通してリングの先頭 (head) と末尾 (tail) の情報を受け渡す。 パケットソケットは I<tp_status> が B<TP_STATUS_KERNEL> のすべてのスロットを所有しており、 スロットにデータが入ると、 パケットソケットはそのスロットのステータスをアプリケーションに所有権を渡す状態に変更する。 通常の動作では、 新しい I<tp_status> で少なくとも B<TP_STATUS_USER> ビットがセットされていれば、 受信されたパケットが格納されたことを示している。 アプリケーションがパケットの処理を終えると、アプリケーションはそのスロットの B<tp_status> を B<TP_STATUS_KERNEL> に設定し、そのスロットの所有権をソケットに返す。 パケットソケットは、複数バージョンのパケットリングを実装している。 実装の詳細は Linux カーネルソースツリーの I<Documentation/networking/packet_mmap.txt> で説明されている。"
12251
12252 #. type: TP
12253 #: build/C/man7/packet.7:394
12254 #, no-wrap
12255 msgid "B<PACKET_STATISTICS>"
12256 msgstr "B<PACKET_STATISTICS>"
12257
12258 #. type: Plain text
12259 #: build/C/man7/packet.7:397
12260 msgid "Retrieve packet socket statistics in the form of a structure"
12261 msgstr "パケットソケットの統計情報を次の構造体形式で取得する。"
12262
12263 #. type: Plain text
12264 #: build/C/man7/packet.7:404
12265 #, no-wrap
12266 msgid ""
12267 "struct tpacket_stats {\n"
12268 "    unsigned int tp_packets;  /* Total packet count */\n"
12269 "    unsigned int tp_drops;    /* Dropped packet count */\n"
12270 "};\n"
12271 msgstr ""
12272 "struct tpacket_stats {\n"
12273 "    unsigned int tp_packets;  /* 総パケット数 */\n"
12274 "    unsigned int tp_drops;    /* ドロップパケット数 */\n"
12275 "};\n"
12276
12277 #. type: Plain text
12278 #: build/C/man7/packet.7:410
12279 msgid "Receiving statistics resets the internal counters.  The statistics structure differs when using a ring of variant B<TPACKET_V3>."
12280 msgstr "統計情報を取得すると、内部カウンターはリセットされる。 B<TPACKET_V3> のリングを使う場合には、統計情報構造体は違うものになる。"
12281
12282 #. type: TP
12283 #: build/C/man7/packet.7:410
12284 #, no-wrap
12285 msgid "B<PACKET_TIMESTAMP> (with B<PACKET_RX_RING>; since Linux 2.6.36)"
12286 msgstr "B<PACKET_TIMESTAMP> (B<PACKET_RX_RING> で使用; Linux 2.6.36 以降)"
12287
12288 #.  commit 614f60fa9d73a9e8fdff3df83381907fea7c5649
12289 #. type: Plain text
12290 #: build/C/man7/packet.7:420
12291 msgid "The packet receive ring always stores a timestamp in the metadata header.  By default, this is a software generated timestamp generated when the packet is copied into the ring.  This integer option selects the type of timestamp.  Besides the default, it support the two hardware formats described in I<Documentation/networking/timestamping.txt> in the Linux kernel source tree."
12292 msgstr "パケット受信リングでは常にタイムスタンプがメタデータヘッダーに格納される。 デフォルトでは、タイムスタンプはパケットがリングにコピーされた時点で生成されるソフトウェアによるタイムスタンプである。 この整数オプションによりタイムスタンプの種類を選択できる。 デフォルト以外では、 Linux カーネルソースツリーの I<Documentation/networking/timestamping.txt> に説明がある 2 種類のハードウェアフォーマットがサポートされている。"
12293
12294 #. type: TP
12295 #: build/C/man7/packet.7:420
12296 #, no-wrap
12297 msgid "B<PACKET_TX_RING> (since Linux 2.6.31)"
12298 msgstr "B<PACKET_TX_RING> (Linux 2.6.31 以降)"
12299
12300 #.  commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1
12301 #. type: Plain text
12302 #: build/C/man7/packet.7:455
12303 msgid "Create a memory-mapped ring buffer for packet transmission.  This option is similar to B<PACKET_RX_RING> and takes the same arguments.  The application writes packets into slots with I<tp_status> equal to B<TP_STATUS_AVAILABLE> and schedules them for transmission by changing I<tp_status> to B<TP_STATUS_SEND_REQUEST>.  When packets are ready to be transmitted, the application calls B<send>(2)  or a variant thereof.  The I<buf> and I<len> fields of this call are ignored.  If an address is passed using B<sendto>(2)  or B<sendmsg>(2), then that overrides the socket default.  On successful transmission, the socket resets I<tp_status> to B<TP_STATUS_AVAILABLE>.  It immediately aborts the transmission on error unless B<PACKET_LOSS> is set."
12304 msgstr "パケット送信用のメモリマップされたリングバッファーを作成する。 このオプションは B<PACKET_RX_RING> と同様で、同じ引き数を取る。 アプリケーションは I<tp_status> が B<TP_STATUS_AVAILABLE> のスロットにパケットを書き込み、 I<tp_status> を B<TP_STATUS_SEND_REQUEST> に変更することでそのパケットの送信を予約する。 パケットの送信準備ができたら、アプリケーションは続けて B<send>(2) 系のシステムコールを呼び出す。 システムコールの引き数 I<buf> と I<len> は無視される。 B<sendto>(2) や B<sendmsg>(2) を使ってアドレスが渡された場合、 ソケットのデフォルト値ではなくそのアドレスが使用される。 送信に成功すると、ソケットはそのスロットの I<tp_status> を B<TP_STATUS_AVAILABLE> に戻す。 エラーの場合、 B<PACKET_LOSS> がセットされていなければ、 直ちに送信を中断しエラーを上げる。"
12305
12306 #. type: TP
12307 #: build/C/man7/packet.7:455
12308 #, no-wrap
12309 msgid "B<PACKET_VERSION> (with B<PACKET_RX_RING>; since Linux 2.6.27)"
12310 msgstr "B<PACKET_VERSION> (B<PACKET_RX_RING> で使用; Linux 2.6.27 以降)"
12311
12312 #.  commit bbd6ef87c544d88c30e4b762b1b61ef267a7d279
12313 #. type: Plain text
12314 #: build/C/man7/packet.7:464
12315 msgid "By default, B<PACKET_RX_RING> creates a packet receive ring of variant B<TPACKET_V1>.  To create another variant, configure the desired variant by setting this integer option before creating the ring."
12316 msgstr "デフォルトでは、 B<PACKET_RX_RING> は B<TPACKET_V1> のパケット受信リングを作成する。別のバージョンのリングを作成するには、そのリングを作成する前に希望するバージョンが使われるようにこの整数オプションを設定すること。"
12317
12318 #. type: TP
12319 #: build/C/man7/packet.7:464
12320 #, no-wrap
12321 msgid "B<PACKET_QDISC_BYPASS> (since Linux 3.14)"
12322 msgstr "B<PACKET_QDISC_BYPASS> (Linux 3.14 以降)"
12323
12324 #.  commit d346a3fae3ff1d99f5d0c819bf86edf9094a26a1
12325 #. type: Plain text
12326 #: build/C/man7/packet.7:479
12327 msgid "By default, packets sent through packet sockets pass through the kernel's qdisc (traffic control) layer, which is fine for the vast majority of use cases.  For traffic generator appliances using packet sockets that intend to brute-force flood the network\\(emfor example, to test devices under load in a similar fashion to pktgen\\(emthis layer can be bypassed by setting this integer option to 1.  A side effect is that packet buffering in the qdisc layer is avoided, which will lead to increased drops when network device transmit queues are busy; therefore, use at your own risk."
12328 msgstr "デフォルトでは、パケットはカーネルの qdisc (トラフィック制御) レイヤー経由で渡される。 これは大半のユースケースに合っている。 ネットワークに対して可能な限りパケットを送信する (例えば pkggen と同様の方法で負荷対象のデバイスを試験する) のにパケットソケットを使うトラフィック生成アプライアンスでは、この整数オプションを 1 に設定することで qdisc レイヤーを飛ばすことができる。 qdisc レイヤーでのパケットバッファーが行われなくなるという副作用がある。 これにより、 ネットワークデバイスの送信キューの使用量が高い場合にパケット廃棄が起きやすくなる。"
12329
12330 #.  FIXME Document SIOCGSTAMPNS
12331 #. type: Plain text
12332 #: build/C/man7/packet.7:486
12333 msgid "B<SIOCGSTAMP> can be used to receive the timestamp of the last received packet.  Argument is a I<struct timeval> variable."
12334 msgstr "B<SIOCGSTAMP> を用いると、最後に受信したパケットのタイムスタンプを得ることができる。 引き数は I<struct timeval> 型の変数である。"
12335
12336 #. type: Plain text
12337 #: build/C/man7/packet.7:492
12338 msgid "In addition, all standard ioctls defined in B<netdevice>(7)  and B<socket>(7)  are valid on packet sockets."
12339 msgstr "さらに、 B<netdevice>(7)  および B<socket>(7)  で定義されている標準の ioctl はいずれも packet ソケットに指定可能である。"
12340
12341 #. type: SS
12342 #: build/C/man7/packet.7:492 build/C/man7/raw.7:131 build/C/man7/tcp.7:1210
12343 #: build/C/man7/udp.7:103
12344 #, no-wrap
12345 msgid "Error handling"
12346 msgstr "エラー処理"
12347
12348 #. type: Plain text
12349 #: build/C/man7/packet.7:496
12350 msgid "Packet sockets do no error handling other than errors occurred while passing the packet to the device driver.  They don't have the concept of a pending error."
12351 msgstr "packet ソケットは、パケットをデバイスドライバに渡すときに 起きたエラーしか処理しない。遅延エラー (pending error)  に関する概念は持っていない。"
12352
12353 #. type: Plain text
12354 #: build/C/man7/packet.7:500
12355 msgid "Unknown multicast group address passed."
12356 msgstr "不明なマルチキャストグループアドレスが渡された。"
12357
12358 #. type: Plain text
12359 #: build/C/man7/packet.7:503
12360 msgid "User passed invalid memory address."
12361 msgstr "ユーザーが渡したメモリアドレスが不正。"
12362
12363 #. type: Plain text
12364 #: build/C/man7/packet.7:506 build/C/man7/raw.7:155
12365 msgid "Invalid argument."
12366 msgstr "引き数が不正。"
12367
12368 #. type: Plain text
12369 #: build/C/man7/packet.7:509
12370 msgid "Packet is bigger than interface MTU."
12371 msgstr "パケットがインターフェースの MTU より大きい。"
12372
12373 #. type: TP
12374 #: build/C/man7/packet.7:509
12375 #, no-wrap
12376 msgid "B<ENETDOWN>"
12377 msgstr "B<ENETDOWN>"
12378
12379 #. type: Plain text
12380 #: build/C/man7/packet.7:512
12381 msgid "Interface is not up."
12382 msgstr "インターフェースが up でない。"
12383
12384 #. type: Plain text
12385 #: build/C/man7/packet.7:515
12386 msgid "Not enough memory to allocate the packet."
12387 msgstr "パケットに割り当てるメモリが足りない。"
12388
12389 #. type: Plain text
12390 #: build/C/man7/packet.7:518
12391 msgid "Unknown device name or interface index specified in interface address."
12392 msgstr "デバイス名が不明。あるいはインターフェースアドレスで指定された インターフェースインデックスが不明。"
12393
12394 #. type: Plain text
12395 #: build/C/man7/packet.7:521
12396 msgid "No packet received."
12397 msgstr "パケットを一つも受信していない。"
12398
12399 #. type: Plain text
12400 #: build/C/man7/packet.7:524
12401 msgid "No interface address passed."
12402 msgstr "インターフェースアドレスが渡されなかった。"
12403
12404 #. type: TP
12405 #: build/C/man7/packet.7:524
12406 #, no-wrap
12407 msgid "B<ENXIO>"
12408 msgstr "B<ENXIO>"
12409
12410 #. type: Plain text
12411 #: build/C/man7/packet.7:527
12412 msgid "Interface address contained an invalid interface index."
12413 msgstr "インターフェースアドレスに不正なインターフェースインデックスが含まれている。"
12414
12415 #. type: Plain text
12416 #: build/C/man7/packet.7:530
12417 msgid "User has insufficient privileges to carry out this operation."
12418 msgstr "この操作を行うのに必要な権限をユーザーが持っていない。"
12419
12420 #. type: Plain text
12421 #: build/C/man7/packet.7:532
12422 msgid "In addition, other errors may be generated by the low-level driver."
12423 msgstr "上記以外のエラーが、低レベルのドライバで生成されることがある。"
12424
12425 #. type: Plain text
12426 #: build/C/man7/packet.7:537
12427 msgid "B<AF_PACKET> is a new feature in Linux 2.2.  Earlier Linux versions supported only B<SOCK_PACKET>."
12428 msgstr "B<AF_PACKET> は Linux 2.2 の新機能である。これより古いバージョンの Linux では B<SOCK_PACKET> のみをサポートしていた。"
12429
12430 #. type: Plain text
12431 #: build/C/man7/packet.7:546
12432 msgid "For portable programs it is suggested to use B<AF_PACKET> via B<pcap>(3); although this covers only a subset of the B<AF_PACKET> features."
12433 msgstr "移植性の必要なプログラムでは、 B<pcap>(3)  経由で B<AF_PACKET> を用いることをお薦めする。ただし、この方法では B<AF_PACKET> の機能すべてを利用することはできない。"
12434
12435 #. type: Plain text
12436 #: build/C/man7/packet.7:567
12437 msgid "The B<SOCK_DGRAM> packet sockets make no attempt to create or parse the IEEE 802.2 LLC header for a IEEE 802.3 frame.  When B<ETH_P_802_3> is specified as protocol for sending the kernel creates the 802.3 frame and fills out the length field; the user has to supply the LLC header to get a fully conforming packet.  Incoming 802.3 packets are not multiplexed on the DSAP/SSAP protocol fields; instead they are supplied to the user as protocol B<ETH_P_802_2> with the LLC header prefixed.  It is thus not possible to bind to B<ETH_P_802_3>; bind to B<ETH_P_802_2> instead and do the protocol multiplex yourself.  The default for sending is the standard Ethernet DIX encapsulation with the protocol filled in."
12438 msgstr "B<SOCK_DGRAM> packet ソケットは、IEEE 802.3 フレームの IEEE 802.2 LLC ヘッダの 生成や解析を行おうとしない。 B<ETH_P_802_3> が送信プロトコルに指定されると、カーネルは 802.3 フレームを 生成して length フィールドに書き込む。 完全に準拠したパケットを得るためにはユーザーが LLC ヘッダを 与える必要がある。到着した 802.3 パケットでは、 DSAP/SSAP protocol の各フィールドは多重化 (multiplex) されていない。 代わりにこれらは LLC ヘッダが前置された B<ETH_P_802_2> プロトコルとして与えられる。したがって、 B<ETH_P_802_3> にバインドすることはできない。かわりに B<ETH_P_802_2> にバインドし、自分自身でプロトコルの多重化を行うこと。 送信のデフォルトは、プロトコルフィールドを持つ 標準の Ethernet DIX encapsulation である。"
12439
12440 #. type: Plain text
12441 #: build/C/man7/packet.7:569
12442 msgid "Packet sockets are not subject to the input or output firewall chains."
12443 msgstr "packet ソケットは入出力の firewall chain に影響をうけない。"
12444
12445 #. type: Plain text
12446 #: build/C/man7/packet.7:579
12447 msgid "In Linux 2.0, the only way to get a packet socket was by calling B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)>.  This is still supported but strongly deprecated.  The main difference between the two methods is that B<SOCK_PACKET> uses the old I<struct sockaddr_pkt> to specify an interface, which doesn't provide physical layer independence."
12448 msgstr "Linux 2.0 では、 packet ソケットを得る方法は B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)> を呼ぶやり方しかなかった。この方法はまだサポートされているが、 用いないことを強く推奨する。現在の方法との主な違いは、 B<SOCK_PACKET> ではインターフェースの指定に古い I<struct sockaddr_pkt> を用いる点である。これには物理層からの独立性がない。"
12449
12450 #. type: Plain text
12451 #: build/C/man7/packet.7:587
12452 #, no-wrap
12453 msgid ""
12454 "struct sockaddr_pkt {\n"
12455 "    unsigned short spkt_family;\n"
12456 "    unsigned char  spkt_device[14];\n"
12457 "    unsigned short spkt_protocol;\n"
12458 "};\n"
12459 msgstr ""
12460 "struct sockaddr_pkt {\n"
12461 "    unsigned short spkt_family;\n"
12462 "    unsigned char  spkt_device[14];\n"
12463 "    unsigned short spkt_protocol;\n"
12464 "};\n"
12465
12466 #. type: Plain text
12467 #: build/C/man7/packet.7:599
12468 msgid "I<spkt_family> contains the device type, I<spkt_protocol> is the IEEE 802.3 protocol type as defined in I<E<lt>sys/if_ether.hE<gt>> and I<spkt_device> is the device name as a null-terminated string, for example, eth0."
12469 msgstr "I<spkt_family> はデバイスのタイプ、 I<spkt_protocol> は I<E<lt>sys/if_ether.hE<gt>> で定義されている IEEE 802.3 プロトコルタイプ、 I<spkt_device> はデバイスの名前をヌル終端された文字列で与えたもの (例: eth0) である。"
12470
12471 #. type: Plain text
12472 #: build/C/man7/packet.7:601
12473 msgid "This structure is obsolete and should not be used in new code."
12474 msgstr "この構造体は obsolete であり、 新しくコードを書く時には用いるべきでない。"
12475
12476 #. type: Plain text
12477 #: build/C/man7/packet.7:605
12478 msgid "glibc 2.1 does not have a define for B<SOL_PACKET>.  The suggested workaround is to use:"
12479 msgstr "glibc 2.1 には B<SOL_PACKET> の定義がない。回避策としては、以下のようにするとよい。"
12480
12481 #. type: Plain text
12482 #: build/C/man7/packet.7:611
12483 #, no-wrap
12484 msgid ""
12485 "#ifndef SOL_PACKET\n"
12486 "#define SOL_PACKET 263\n"
12487 "#endif\n"
12488 msgstr ""
12489 "#ifndef SOL_PACKET\n"
12490 "#define SOL_PACKET 263\n"
12491 "#endif\n"
12492
12493 #. type: Plain text
12494 #: build/C/man7/packet.7:615
12495 msgid "This is fixed in later glibc versions."
12496 msgstr "この問題はそれ以降のバージョンの glibc では修正されている。"
12497
12498 #. type: Plain text
12499 #: build/C/man7/packet.7:617
12500 msgid "The IEEE 802.2/803.3 LLC handling could be considered as a bug."
12501 msgstr "IEEE 802.2/803.3 の LLC の扱い方は、バグと考えても良いだろう。"
12502
12503 #. type: Plain text
12504 #: build/C/man7/packet.7:619
12505 msgid "Socket filters are not documented."
12506 msgstr "ソケットフィルターについて記載されていない。"
12507
12508 #.  .SH CREDITS
12509 #.  This man page was written by Andi Kleen with help from Matthew Wilcox.
12510 #.  AF_PACKET in Linux 2.2 was implemented
12511 #.  by Alexey Kuznetsov, based on code by Alan Cox and others.
12512 #. type: Plain text
12513 #: build/C/man7/packet.7:631
12514 msgid "The B<MSG_TRUNC> B<recvmsg>(2)  extension is an ugly hack and should be replaced by a control message.  There is currently no way to get the original destination address of packets via B<SOCK_DGRAM>."
12515 msgstr "B<MSG_TRUNC> B<recvmsg>(2)  拡張は非常にまずい対処であり、制御メッセージで置き換えるべきである。 今のところ B<SOCK_DGRAM> 経由でパケットについていた宛先アドレスを得る方法がない。"
12516
12517 #. type: Plain text
12518 #: build/C/man7/packet.7:638
12519 msgid "B<socket>(2), B<pcap>(3), B<capabilities>(7), B<ip>(7), B<raw>(7), B<socket>(7)"
12520 msgstr "B<socket>(2), B<pcap>(3), B<capabilities>(7), B<ip>(7), B<raw>(7), B<socket>(7)"
12521
12522 #. type: Plain text
12523 #: build/C/man7/packet.7:641
12524 msgid "RFC\\ 894 for the standard IP Ethernet encapsulation.  RFC\\ 1700 for the IEEE 802.3 IP encapsulation."
12525 msgstr "標準 IP Ethernet encapsulation に関しては RFC\\ 894 を、 IEEE 802.3 IP encapsulation に関しては RFC\\ 1700 を参照。"
12526
12527 #. type: Plain text
12528 #: build/C/man7/packet.7:645
12529 msgid "The I<E<lt>linux/if_ether.hE<gt>> include file for physical layer protocols."
12530 msgstr "物理層のプロトコルに関する記述は I<E<lt>linux/if_ether.hE<gt>> インクルードファイルにある。"
12531
12532 #. type: Plain text
12533 #: build/C/man7/packet.7:654
12534 msgid "The Linux kernel source tree.  I</Documentation/networking/filter.txt> describes how to apply Berkeley Packet Filters to packet sockets.  I</tools/testing/selftests/net/psock_tpacket.c> contains example source code for all available versions of B<PACKET_RX_RING> and B<PACKET_TX_RING>."
12535 msgstr "Linux カーネルのソースツリー。 I</Documentation/networking/filter.txt> には Berkeley Packet Filters をパケットソケットにどのように適用するかの説明がある。 I</tools/testing/selftests/net/psock_tpacket.c> には、 B<PACKET_RX_RING> と B<PACKET_TX_RING> の利用可能なすべてのバージョンのサンプルソースコードがある。"
12536
12537 #. type: TH
12538 #: build/C/man5/protocols.5:29
12539 #, no-wrap
12540 msgid "PROTOCOLS"
12541 msgstr "PROTOCOLS"
12542
12543 #. type: TH
12544 #: build/C/man5/protocols.5:29 build/C/man7/x25.7:12
12545 #, no-wrap
12546 msgid "2012-08-05"
12547 msgstr "2012-08-05"
12548
12549 #. type: Plain text
12550 #: build/C/man5/protocols.5:32
12551 msgid "protocols - protocols definition file"
12552 msgstr "protocols - プロトコル定義ファイル"
12553
12554 #. type: Plain text
12555 #: build/C/man5/protocols.5:40
12556 msgid "This file is a plain ASCII file, describing the various DARPA internet protocols that are available from the TCP/IP subsystem.  It should be consulted instead of using the numbers in the ARPA include files, or, even worse, just guessing them.  These numbers will occur in the protocol field of any IP header."
12557 msgstr "このファイルは ASCII ファイルで、TCP/IP サブシステムから利用できる いろいろな DARPA インターネットプロトコルを記述している。 ARPA 関連のインクルードファイル内の数値を使うべきではないし、 単に推測した値を使うのはさらに良くない。 代わりにこのファイルに問い合わせるべきである。 これらの数値は IP ヘッダのプロトコルフィールドに現れる。"
12558
12559 #.  .. by the DDN Network Information Center.
12560 #. type: Plain text
12561 #: build/C/man5/protocols.5:46
12562 msgid "Keep this file untouched since changes would result in incorrect IP packages.  Protocol numbers and names are specified by the IANA (Internet Assigned Numbers Authority)."
12563 msgstr "このファイルは変更しないこと。変更すると IP パッケージが不正になる。 プロトコル番号とプロトコル名は IANA (Internet Assigned Numbers Authority) によって指定される。"
12564
12565 #. type: Plain text
12566 #: build/C/man5/protocols.5:48
12567 msgid "Each line is of the following format:"
12568 msgstr "それぞれの行は次のフォーマットである。"
12569
12570 #. type: Plain text
12571 #: build/C/man5/protocols.5:51
12572 msgid "I<protocol number aliases ...>"
12573 msgstr "I<protocol number aliases ...>"
12574
12575 #. type: Plain text
12576 #: build/C/man5/protocols.5:57
12577 msgid "where the fields are delimited by spaces or tabs.  Empty lines are ignored.  If a line contains a hash mark (#), the hash mark and the part of the line following it are ignored."
12578 msgstr "各フィールドは空白かタブで区切られていて、空行は無視される。 行にハッシュ記号(#)が含まれる場合、 ハッシュ記号を含むその行の残りは無視される。"
12579
12580 #. type: TP
12581 #: build/C/man5/protocols.5:59 build/C/man5/services.5:109
12582 #, no-wrap
12583 msgid "I<protocol>"
12584 msgstr "I<protocol>"
12585
12586 #. type: Plain text
12587 #: build/C/man5/protocols.5:67
12588 msgid "the native name for the protocol.  For example I<ip>, I<tcp>, or I<udp>."
12589 msgstr "プロトコルの固有名。たとえば I<ip>, I<tcp>, I<udp> など。"
12590
12591 #. type: Plain text
12592 #: build/C/man5/protocols.5:71
12593 msgid "the official number for this protocol as it will appear within the IP header."
12594 msgstr "プロトコルの公式番号、IP ヘッダに現れる。"
12595
12596 #. type: Plain text
12597 #: build/C/man5/protocols.5:74
12598 msgid "optional aliases for the protocol."
12599 msgstr "プロトコルの別名、オプション。"
12600
12601 #.  The following is not true as at glibc 2.8 (a line with a comma is
12602 #.  ignored by getservent()); it's not clear if/when it was ever true.
12603 #.    As a backward compatibility feature, the slash (/) between the
12604 #.    .I port
12605 #.    number and
12606 #.    .I protocol
12607 #.    name can in fact be either a slash or a comma (,).
12608 #.    Use of the comma in
12609 #.    modern installations is deprecated.
12610 #. type: Plain text
12611 #: build/C/man5/protocols.5:77 build/C/man5/services.5:165
12612 msgid "This file might be distributed over a network using a network-wide naming service like Yellow Pages/NIS or BIND/Hesiod."
12613 msgstr "このファイルは Yellow Pages/NIS や BIND/Hesiod のようなネットワーク上の名前サービスを用いて、ネットワークを通じて配布される可能性もある。"
12614
12615 #. type: Plain text
12616 #: build/C/man5/protocols.5:81
12617 msgid "The protocols definition file."
12618 msgstr "プロトコル定義ファイル。"
12619
12620 #. type: Plain text
12621 #: build/C/man5/protocols.5:83
12622 msgid "B<getprotoent>(3)"
12623 msgstr "B<getprotoent>(3)"
12624
12625 #. type: Plain text
12626 #: build/C/man5/protocols.5:86
12627 msgid "E<.UR http://www.iana.org\\:/assignments\\:/protocol-numbers> E<.UE>"
12628 msgstr "E<.UR http://www.iana.org\\:/assignments\\:/protocol-numbers> E<.UE>"
12629
12630 #. type: TH
12631 #: build/C/man7/raw.7:13
12632 #, no-wrap
12633 msgid "RAW"
12634 msgstr "RAW"
12635
12636 #. type: Plain text
12637 #: build/C/man7/raw.7:16
12638 msgid "raw - Linux IPv4 raw sockets"
12639 msgstr "raw - Linux の IPv4 raw ソケット"
12640
12641 #. type: Plain text
12642 #: build/C/man7/raw.7:22
12643 msgid "B<raw_socket = socket(AF_INET, SOCK_RAW, int >I<protocol>B<);>"
12644 msgstr "B<raw_socket = socket(AF_INET, SOCK_RAW, int >I<protocol>B<);>"
12645
12646 #. type: Plain text
12647 #: build/C/man7/raw.7:26
12648 msgid "Raw sockets allow new IPv4 protocols to be implemented in user space.  A raw socket receives or sends the raw datagram not including link level headers."
12649 msgstr "raw ソケットを使うと、新しい IPv4 プロトコルをユーザー空間で 実装できるようになる。 raw ソケットは、リンクレベルヘッダを 含まない raw データグラムの送受信ができる。"
12650
12651 #. type: Plain text
12652 #: build/C/man7/raw.7:32
12653 msgid "The IPv4 layer generates an IP header when sending a packet unless the B<IP_HDRINCL> socket option is enabled on the socket.  When it is enabled, the packet must contain an IP header.  For receiving the IP header is always included in the packet."
12654 msgstr "IPv4 レイヤは、扱っているソケットで B<IP_HDRINCL> ソケットオプションが有効になっていなければ、 パケットを送信するときに IP ヘッダを生成する。 B<IP_HDRINCL> オプションが有効になっているときは、パケットには IP ヘッダが含まれていなければならない。 受信時には、 IP ヘッダは常にパケットに含まれている。"
12655
12656 #. type: Plain text
12657 #: build/C/man7/raw.7:36
12658 msgid "Only processes with an effective user ID of 0 or the B<CAP_NET_RAW> capability are allowed to open raw sockets."
12659 msgstr "実効ユーザー ID が 0 のプロセスか、 B<CAP_NET_RAW> 権限を持つプロセスだけが raw ソケットをオープンすることができる。"
12660
12661 #. type: Plain text
12662 #: build/C/man7/raw.7:43
12663 msgid "All packets or errors matching the I<protocol> number specified for the raw socket are passed to this socket.  For a list of the allowed protocols see RFC\\ 1700 assigned numbers and B<getprotobyname>(3)."
12664 msgstr "この raw ソケットに指定された I<protocol> 番号にマッチする全てのパケットとエラーとが、このソケットに渡される。 許可されているプロトコルのリストは RFC\\ 1700 の割り当て番号と B<getprotobyname>(3)  を見よ。"
12665
12666 #. type: Plain text
12667 #: build/C/man7/raw.7:53
12668 msgid "A protocol of B<IPPROTO_RAW> implies enabled B<IP_HDRINCL> and is able to send any IP protocol that is specified in the passed header.  Receiving of all IP protocols via B<IPPROTO_RAW> is not possible using raw sockets."
12669 msgstr "B<IPPROTO_RAW> のプロトコルは暗黙のうちに B<IP_HDRINCL> を有効にするので、 渡されたヘッダで指定された、あらゆる IP プロトコルを送信できる。 B<IPPROTO_RAW> 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。"
12670
12671 #. type: tbl table
12672 #: build/C/man7/raw.7:58
12673 #, no-wrap
12674 msgid "IP Header fields modified on sending by B<IP_HDRINCL>\n"
12675 msgstr "IP ヘッダフィールド。 B<IP_HDRINCL> によって送信時に変更される。\n"
12676
12677 #. type: tbl table
12678 #: build/C/man7/raw.7:59
12679 #, no-wrap
12680 msgid "IP Checksum:Always filled in.\n"
12681 msgstr "IP チェックサム:常に変更される。\n"
12682
12683 #. type: tbl table
12684 #: build/C/man7/raw.7:60
12685 #, no-wrap
12686 msgid "Source Address:Filled in when zero.\n"
12687 msgstr "ソースアドレス:元の値が 0 の時に変更される。\n"
12688
12689 #. type: tbl table
12690 #: build/C/man7/raw.7:61
12691 #, no-wrap
12692 msgid "Packet Id:Filled in when zero.\n"
12693 msgstr "パケット ID:元の値が 0 の時に変更される。\n"
12694
12695 #. type: tbl table
12696 #: build/C/man7/raw.7:62
12697 #, no-wrap
12698 msgid "Total Length:Always filled in.\n"
12699 msgstr "全体の長さ:常に埋められる。\n"
12700
12701 #. type: Plain text
12702 #: build/C/man7/raw.7:76
12703 msgid "If B<IP_HDRINCL> is specified and the IP header has a nonzero destination address, then the destination address of the socket is used to route the packet.  When B<MSG_DONTROUTE> is specified, the destination address should refer to a local interface, otherwise a routing table lookup is done anyway but gatewayed routes are ignored."
12704 msgstr "B<IP_HERINCL> が指定されていて、 IP ヘッダに 0 でない送信先アドレスが記入されていた場合は、 その送信先アドレスがパケットの経路を決めるのに用いられる。 B<MSG_DONTROUTE> が指定されている時には、 送信先アドレスはローカルなインターフェースを参照するものでなければならない。 さもないと、ルーティングテーブルの参照はいずれにせよ行われるが、 ゲートウェイが必要な経路は無視される。"
12705
12706 #. type: Plain text
12707 #: build/C/man7/raw.7:84
12708 msgid "If B<IP_HDRINCL> isn't set, then IP header options can be set on raw sockets with B<setsockopt>(2); see B<ip>(7)  for more information."
12709 msgstr "B<IP_HDRINCL> がセットされていなければ、 raw ソケットの IP ヘッダオプションを B<setsockopt>(2)  を用いて設定することができる。詳細な情報は B<ip>(7)  を見よ。"
12710
12711 #. type: Plain text
12712 #: build/C/man7/raw.7:89
12713 msgid "In Linux 2.2, all IP header fields and options can be set using IP socket options.  This means raw sockets are usually needed only for new protocols or protocols with no user interface (like ICMP)."
12714 msgstr "Linux 2.2 では、 IP ヘッダの全てのフィールドとオプションとを IP ソケットオプションによって設定できる。したがって raw ソケットが必要になるのは、新しいプロトコルを設計する場合か、 ユーザーインターフェースを持たないプロトコル (ICMP など) を扱う場合に 限られる。"
12715
12716 #. type: Plain text
12717 #: build/C/man7/raw.7:93
12718 msgid "When a packet is received, it is passed to any raw sockets which have been bound to its protocol before it is passed to other protocol handlers (e.g., kernel protocol modules)."
12719 msgstr "パケットは、受信されるとまずプロトコルにバインドしている raw ソケットに渡され、 その後で他のプロトコルハンドラ (カーネルのプロトコルモジュールなど)  に渡される。"
12720
12721 #. type: Plain text
12722 #: build/C/man7/raw.7:109
12723 msgid "Raw sockets use the standard I<sockaddr_in> address structure defined in B<ip>(7).  The I<sin_port> field could be used to specify the IP protocol number, but it is ignored for sending in Linux 2.2 and should be always set to 0 (see BUGS).  For incoming packets, I<sin_port> is set to the protocol of the packet.  See the I<E<lt>netinet/in.hE<gt>> include file for valid IP protocols."
12724 msgstr "raw ソケットは標準の I<sockaddr_in> アドレス構造体を用いる。定義は B<ip>(7)  でなされている。 I<sin_port> フィールドを IP プロトコル番号の指定に用いることができるが、 Linux 2.2 ではこれは送信時には無視され、常に 0 にされる (バグ の項を参照)。 受信パケットに対しては、 I<sin_port> はそのパケットのプロトコルにセットされる。 用いることのできる IP プロトコルは、インクルードファイル I<E<lt>netinet/in.hE<gt>> を見よ。"
12725
12726 #.  Or SOL_RAW on Linux
12727 #. type: Plain text
12728 #: build/C/man7/raw.7:118
12729 msgid "Raw socket options can be set with B<setsockopt>(2)  and read with B<getsockopt>(2)  by passing the B<IPPROTO_RAW> family flag."
12730 msgstr "raw ソケットのオプションは、 B<IPPROTO_RAW> ファミリーフラグを与えて B<setsockopt>(2)  を呼べば設定でき、 B<getsockopt>(2)  を呼べば取得できる。"
12731
12732 #. type: TP
12733 #: build/C/man7/raw.7:118
12734 #, no-wrap
12735 msgid "B<ICMP_FILTER>"
12736 msgstr "B<ICMP_FILTER>"
12737
12738 #. type: Plain text
12739 #: build/C/man7/raw.7:126
12740 msgid "Enable a special filter for raw sockets bound to the B<IPPROTO_ICMP> protocol.  The value has a bit set for each ICMP message type which should be filtered out.  The default is to filter no ICMP messages."
12741 msgstr "B<IPPROTO_ICMP> プロトコルにバインドされた raw ソケットのための特殊なフィルタを有効にする。 この値は ICMP メッセージのタイプそれぞれに対して、どれをフィルターアウト するかを表したビットセットである。デフォルトでは ICMP メッセージは全くフィルターしない。"
12742
12743 #. type: Plain text
12744 #: build/C/man7/raw.7:131
12745 msgid "In addition, all B<ip>(7)  B<IPPROTO_IP> socket options valid for datagram sockets are supported."
12746 msgstr "さらに、データグラムソケットに使える全ての B<ip>(7)  B<SOL_IP> ソケットオプションがサポートされている。"
12747
12748 #. type: Plain text
12749 #: build/C/man7/raw.7:144
12750 msgid "Errors originating from the network are passed to the user only when the socket is connected or the B<IP_RECVERR> flag is enabled.  For connected sockets, only B<EMSGSIZE> and B<EPROTO> are passed for compatibility.  With B<IP_RECVERR>, all network errors are saved in the error queue."
12751 msgstr "ネットワークで生じたエラーがユーザーに渡されるのは、 ソケットが接続済みの場合か B<IP_RECVERR> フラグが有効になっている場合に限られる。 接続済みのソケットに対しては、 B<EMSGSIZE> および B<EPROTO> だけが渡される (互換性のため)。 B<IP_RECVERR> を設定すると、全てのネットワークエラーがエラーキューに保存される。"
12752
12753 #. type: Plain text
12754 #: build/C/man7/raw.7:149
12755 msgid "User tried to send to a broadcast address without having the broadcast flag set on the socket."
12756 msgstr "ユーザーが broadcast フラグを設定していないソケットを用いて ブロードキャストアドレスに送信を行おうとした。"
12757
12758 #. type: Plain text
12759 #: build/C/man7/raw.7:152
12760 msgid "An invalid memory address was supplied."
12761 msgstr "不正なメモリアドレスが与えられた。"
12762
12763 #. type: Plain text
12764 #: build/C/man7/raw.7:162
12765 msgid "Packet too big.  Either Path MTU Discovery is enabled (the B<IP_MTU_DISCOVER> socket flag) or the packet size exceeds the maximum allowed IPv4 packet size of 64KB."
12766 msgstr "パケットが大きすぎる。 Path MTU Discoverry が有効になっている (B<IP_MTU_DISCOVER> ソケットフラグ) か、パケットのサイズが IPv4 で許されている パケットサイズの最大値 64KB を越えている。"
12767
12768 #. type: TP
12769 #: build/C/man7/raw.7:162 build/C/man7/unix.7:447
12770 #, no-wrap
12771 msgid "B<EOPNOTSUPP>"
12772 msgstr "B<EOPNOTSUPP>"
12773
12774 #. type: Plain text
12775 #: build/C/man7/raw.7:166
12776 msgid "Invalid flag has been passed to a socket call (like B<MSG_OOB>)."
12777 msgstr "ソケット呼び出しに不正なフラグ (B<MSG_OOB> など) が渡された。"
12778
12779 #. type: Plain text
12780 #: build/C/man7/raw.7:172
12781 msgid "The user doesn't have permission to open raw sockets.  Only processes with an effective user ID of 0 or the B<CAP_NET_RAW> attribute may do that."
12782 msgstr "ユーザーは raw ソケットをオープンする権限を持っていない。 実行ユーザー ID が 0 のプロセスか、 B<CAP_NET_RAW> 属性を持つプロセスだけがこれを行うことができる。"
12783
12784 #. type: TP
12785 #: build/C/man7/raw.7:172
12786 #, no-wrap
12787 msgid "B<EPROTO>"
12788 msgstr "B<EPROTO>"
12789
12790 #. type: Plain text
12791 #: build/C/man7/raw.7:175
12792 msgid "An ICMP error has arrived reporting a parameter problem."
12793 msgstr "パラメーターの問題を報告する ICMP エラーを受け取った。"
12794
12795 #. type: Plain text
12796 #: build/C/man7/raw.7:181
12797 msgid "B<IP_RECVERR> and B<ICMP_FILTER> are new in Linux 2.2.  They are Linux extensions and should not be used in portable programs."
12798 msgstr "B<IP_RECVERR> と B<ICMP_FILTER> は Linux 2.2 で登場した。これらは Linux での拡張であり、 移植性の必要なプログラムでは用いるべきでない。"
12799
12800 #. type: Plain text
12801 #: build/C/man7/raw.7:187
12802 msgid "Linux 2.0 enabled some bug-to-bug compatibility with BSD in the raw socket code when the B<SO_BSDCOMPAT> socket option was set \\(em since Linux 2.2, this option no longer has that effect."
12803 msgstr "Linux 2.0 では B<SO_BSDCOMPAT> ソケットオプションをセットすると、 BSD の raw ソケットにあるバグに互換性を取ることができた \\(em Linux 2.2 以降では、このオプションはもはや効力を持たない。"
12804
12805 #. type: Plain text
12806 #: build/C/man7/raw.7:205
12807 msgid "By default, raw sockets do path MTU (Maximum Transmission Unit) discovery.  This means the kernel will keep track of the MTU to a specific target IP address and return B<EMSGSIZE> when a raw packet write exceeds it.  When this happens, the application should decrease the packet size.  Path MTU discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file, see B<ip>(7)  for details.  When turned off, raw sockets will fragment outgoing packets that exceed the interface MTU.  However, disabling it is not recommended for performance and reliability reasons."
12808 msgstr "デフォルトでは、raw ソケットは Path MTU Discovery を行う。 つまり、カーネルは特定の宛先 IP アドレスの MTU (Maximum Transmission Unit; 最大転送単位) を記録し、raw パケットの書き込みが MTU を超えた場合 B<EMSGSIZE> を返す。 B<EMSGSIZE> を返された場合、アプリケーションはパケットサイズを小さくすべきである。 ソケットオプション B<IP_MTU_DISCOVER> または I</proc/sys/net/ipv4/ip_no_pmtu_disc> ファイルを使って Path MTU Discovery を無効にすることもできる (詳細は B<ip>(7)  を参照)。 Path MTU Discovery を無効にした場合は、パケットサイズが インタフェースの MTU よりも大きいと raw ソケットはそのパケットを フラグメント化して送出する。 しかしながら、性能と信頼性の理由から Path MTU Discovery を 無効にするのは推奨できない。"
12809
12810 #. type: Plain text
12811 #: build/C/man7/raw.7:214
12812 msgid "A raw socket can be bound to a specific local address using the B<bind>(2)  call.  If it isn't bound, all packets with the specified IP protocol are received.  In addition, a RAW socket can be bound to a specific network device using B<SO_BINDTODEVICE>; see B<socket>(7)."
12813 msgstr "B<bind>(2)  システムコールを用いると、 raw ソケットを 特定のローカルアドレスにバインドさせることができる。 このバインドがされていない場合は、指定した IP プロトコルの すべてのパケットが受信される。 さらに、 B<SO_BINDTODEVICE> を用いれば raw ソケットを特定のネットワークデバイスに バインドさせることもできる。 B<socket>(7)  を見よ。"
12814
12815 #. type: Plain text
12816 #: build/C/man7/raw.7:225
12817 msgid "An B<IPPROTO_RAW> socket is send only.  If you really want to receive all IP packets, use a B<packet>(7)  socket with the B<ETH_P_IP> protocol.  Note that packet sockets don't reassemble IP fragments, unlike raw sockets."
12818 msgstr "B<IPPROTO_RAW> ソケットは送信専用である。もしどうしてもすべての IP パケットを 受信したい場合は、 B<packet>(7)  ソケットを B<ETH_P_IP> プロトコルで用いること。 packet ソケットは raw ソケットのように IP フラグメントを再構成しないことに注意。"
12819
12820 #. type: Plain text
12821 #: build/C/man7/raw.7:231
12822 msgid "If you want to receive all ICMP packets for a datagram socket, it is often better to use B<IP_RECVERR> on that particular socket; see B<ip>(7)."
12823 msgstr "datagram ソケットに対するすべての ICMP パケットを受信したい場合は、 特定のソケットに対して B<IP_RECVERR> を用いるほうが良い場合が多い。 B<ip>(7)  を見よ。"
12824
12825 #. type: Plain text
12826 #: build/C/man7/raw.7:238
12827 msgid "Raw sockets may tap all IP protocols in Linux, even protocols like ICMP or TCP which have a protocol module in the kernel.  In this case, the packets are passed to both the kernel module and the raw socket(s).  This should not be relied upon in portable programs, many other BSD socket implementation have limitations here."
12828 msgstr "raw ソケットは、 Linux のすべての IP プロトコルを受信することができる。 ICMP や TCP のように、カーネル内部にプロトコルモジュールを持つような ものも可能である。この場合には、パケットはカーネルモジュールと raw ソケットの両方に渡される (raw ソケットが複数あればそれぞれに渡される)。 移植性の必要なプログラムではこの機能に依存するべきではない。 他の多くの BSD におけるソケットの実装ではこの点において制限がある。"
12829
12830 #. type: Plain text
12831 #: build/C/man7/raw.7:243
12832 msgid "Linux never changes headers passed from the user (except for filling in some zeroed fields as described for B<IP_HDRINCL>).  This differs from many other implementations of raw sockets."
12833 msgstr "Linux はユーザーから渡されたヘッダを決して変更しない (ただし B<IP_HDRINCL> の説明にあるように、 0 をいくつか埋める場合を除く)。 これは他の多くの raw ソケットの実装では異なる。"
12834
12835 #. type: Plain text
12836 #: build/C/man7/raw.7:246
12837 msgid "RAW sockets are generally rather unportable and should be avoided in programs intended to be portable."
12838 msgstr "一般に raw ソケットは移植性がないことが多いので、 移植性が必要なプログラムでは避けるべきである。"
12839
12840 #. type: Plain text
12841 #: build/C/man7/raw.7:252
12842 msgid "Sending on raw sockets should take the IP protocol from I<sin_port>; this ability was lost in Linux 2.2.  The workaround is to use B<IP_HDRINCL>."
12843 msgstr "raw ソケットへの送信では、 IP プロトコルを I<sin_port> から取得できなければならない。この機能は Linux 2.2 では使えなくなった。 B<IP_HDRINCL> を用いれば同様のことが実現できる。"
12844
12845 #. type: Plain text
12846 #: build/C/man7/raw.7:254
12847 msgid "Transparent proxy extensions are not described."
12848 msgstr "透過プロクシ (transparent proxy) 拡張については記述していない。"
12849
12850 #. type: Plain text
12851 #: build/C/man7/raw.7:259
12852 msgid "When the B<IP_HDRINCL> option is set, datagrams will not be fragmented and are limited to the interface MTU."
12853 msgstr "B<IP_HDRINCL> オプションがセットされているとデータグラムはフラグメント化されず、 インターフェースの MTU の大きさに制限される。"
12854
12855 #.  .SH AUTHORS
12856 #.  This man page was written by Andi Kleen.
12857 #. type: Plain text
12858 #: build/C/man7/raw.7:269
12859 msgid "Setting the IP protocol for sending in I<sin_port> got lost in Linux 2.2.  The protocol that the socket was bound to or that was specified in the initial B<socket>(2)  call is always used."
12860 msgstr "送信用の IP プロトコルの設定を I<sin_port> にしておく機能は Linux 2.2 から使えなくなった。 ソケットにバインドされているプロトコルか、最初の B<socket>(2)  コールによって指定されたプロトコルが常に用いられる。"
12861
12862 #. type: Plain text
12863 #: build/C/man7/raw.7:275
12864 msgid "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<ip>(7), B<socket>(7)"
12865 msgstr "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<ip>(7), B<socket>(7)"
12866
12867 #. type: Plain text
12868 #: build/C/man7/raw.7:282
12869 msgid "B<RFC\\ 1191> for path MTU discovery.  B<RFC\\ 791> and the I<E<lt>linux/ip.hE<gt>> header file for the IP protocol."
12870 msgstr "Path MTU discovery に関しては B<RFC\\ 1191> を参照。 IP プロトコルに関しては B<RFC\\ 791> とインクルードファイル I<E<lt>linux/ip.hE<gt>> を参照。"
12871
12872 #. type: TH
12873 #: build/C/man3/rcmd.3:43
12874 #, no-wrap
12875 msgid "RCMD"
12876 msgstr "RCMD"
12877
12878 #. type: Plain text
12879 #: build/C/man3/rcmd.3:48
12880 msgid "rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, ruserok_af - routines for returning a stream to a remote command"
12881 msgstr ""
12882 "rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, \n"
12883 "ruserok_af - リモートコマンドにストリームを返す関数群"
12884
12885 #. type: Plain text
12886 #: build/C/man3/rcmd.3:51
12887 #, no-wrap
12888 msgid "B<#include E<lt>netdb.hE<gt> \\ \\ >/* Or E<lt>unistd.hE<gt> on some systems */\n"
12889 msgstr "B<#include E<lt>netdb.hE<gt> \\ \\ >/* Or E<lt>unistd.hE<gt> on some systems */\n"
12890
12891 #. type: Plain text
12892 #: build/C/man3/rcmd.3:54
12893 #, no-wrap
12894 msgid ""
12895 "B<int rcmd(char **>I<ahost>B<, unsigned short >I<inport>B<, const char *>I<locuser>B<, >\n"
12896 "B<         const char *>I<remuser>B<, const char *>I<cmd>B<, int *>I<fd2p>B<);>\n"
12897 msgstr ""
12898 "B<int rcmd(char **>I<ahost>B<, unsigned short >I<inport>B<, const char *>I<locuser>B<, >\n"
12899 "B<         const char *>I<remuser>B<, const char *>I<cmd>B<, int *>I<fd2p>B<);>\n"
12900
12901 #. type: Plain text
12902 #: build/C/man3/rcmd.3:56
12903 #, no-wrap
12904 msgid "B<int rresvport(int *>I<port>B<);>\n"
12905 msgstr "B<int rresvport(int *>I<port>B<);>\n"
12906
12907 #. type: Plain text
12908 #: build/C/man3/rcmd.3:59
12909 #, no-wrap
12910 msgid ""
12911 "B<int iruserok(uint32_t >I<raddr>B<, int >I<superuser>B<, >\n"
12912 "B<             const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12913 msgstr ""
12914 "B<int iruserok(uint32_t >I<raddr>B<, int >I<superuser>B<, >\n"
12915 "B<             const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12916
12917 #. type: Plain text
12918 #: build/C/man3/rcmd.3:62
12919 #, no-wrap
12920 msgid ""
12921 "B<int ruserok(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12922 "B<            const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12923 msgstr ""
12924 "B<int ruserok(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12925 "B<            const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12926
12927 #. type: Plain text
12928 #: build/C/man3/rcmd.3:66
12929 #, no-wrap
12930 msgid ""
12931 "B<int rcmd_af(char **>I<ahost>B<, unsigned short >I<inport>B<, const char *>I<locuser>B<, >\n"
12932 "B<            const char *>I<remuser>B<, const char *>I<cmd>B<, int *>I<fd2p>B<,>\n"
12933 "B<            sa_family_t >I<af>B<);>\n"
12934 msgstr ""
12935 "B<int rcmd_af(char **>I<ahost>B<, unsigned short >I<inport>B<, const char *>I<locuser>B<, >\n"
12936 "B<            const char *>I<remuser>B<, const char *>I<cmd>B<, int *>I<fd2p>B<,>\n"
12937 "B<            sa_family_t >I<af>B<);>\n"
12938
12939 #. type: Plain text
12940 #: build/C/man3/rcmd.3:68
12941 #, no-wrap
12942 msgid "B<int rresvport_af(int *>I<port>B<, sa_family_t >I<af>B<);>\n"
12943 msgstr "B<int rresvport_af(int *>I<port>B<, sa_family_t >I<af>B<);>\n"
12944
12945 #. type: Plain text
12946 #: build/C/man3/rcmd.3:72
12947 #, no-wrap
12948 msgid ""
12949 "B<int iruserok_af(const void *>I<raddr>B<, int >I<superuser>B<, >\n"
12950 "B<                const char *>I<ruser>B<, const char *>I<luser>B<, sa_family_t >I<af>B<);>\n"
12951 msgstr ""
12952 "B<int iruserok_af(const void *>I<raddr>B<, int >I<superuser>B<, >\n"
12953 "B<                const char *>I<ruser>B<, const char *>I<luser>B<, sa_family_t >I<af>B<);>\n"
12954
12955 #. type: Plain text
12956 #: build/C/man3/rcmd.3:76
12957 #, no-wrap
12958 msgid ""
12959 "B<int ruserok_af(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12960 "B<               const char *>I<ruser>B<, const char *>I<luser>B<, sa_family_t >I<af>B<);>\n"
12961 msgstr ""
12962 "B<int ruserok_af(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12963 "B<               const char *>I<ruser>B<, const char *>I<luser>B<, sa_family_t >I<af>B<);>\n"
12964
12965 #. type: Plain text
12966 #: build/C/man3/rcmd.3:92
12967 msgid "B<rcmd>(), B<rcmd_af>(), B<rresvport>(), B<rresvport_af>(), B<iruserok>(), B<iruserok_af>(), B<ruserok>(), B<ruserok_af>(): _BSD_SOURCE"
12968 msgstr ""
12969 "B<rcmd>(), B<rcmd_af>(), B<rresvport>(), B<rresvport_af>(),\n"
12970 "B<iruserok>(), B<iruserok_af>(), B<ruserok>(), B<ruserok_af>():\n"
12971 "_BSD_SOURCE"
12972
12973 #. type: Plain text
12974 #: build/C/man3/rcmd.3:113
12975 msgid "The B<rcmd>()  function is used by the superuser to execute a command on a remote machine using an authentication scheme based on privileged port numbers.  The B<rresvport>()  function returns a descriptor to a socket with an address in the privileged port space.  The B<iruserok>()  and B<ruserok>()  functions are used by servers to authenticate clients requesting service with B<rcmd>().  All four functions are used by the B<rshd>(8)  server (among others)."
12976 msgstr ""
12977 "B<rcmd>() 関数は、スーパーユーザーがリモートマシンでコマンドを実行する\n"
12978 "ために 用いられる。このとき特権ポート番号をもとにした認証スキームが 用\n"
12979 "いられる。 B<rresvport>() 関数は、特権ポート空間のアドレスを持つソケッ\n"
12980 "トの ディスクリプターを返す。 B<iruserok>() 関数と B<ruserok>() 関数は、\n"
12981 "B<rcmd>() でサービス要求を行ったクライアントの認証を行うために サーバー\n"
12982 "が用いる関数である。 以上の 4 つの関数は、 B<rshd>(8) サーバーによって\n"
12983 "(他の関数とともに) 利用される。"
12984
12985 #. type: SS
12986 #: build/C/man3/rcmd.3:113
12987 #, no-wrap
12988 msgid "rcmd()"
12989 msgstr "rcmd()"
12990
12991 #. type: Plain text
12992 #: build/C/man3/rcmd.3:129
12993 msgid "The B<rcmd>()  function looks up the host I<*ahost> using B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise, I<*ahost> is set to the standard name of the host and a connection is established to a server residing at the well-known Internet port I<inport>."
12994 msgstr "B<rcmd>()  関数は B<gethostbyname>(3)  を用いて I<*ahost> の参照を行う。ホストが存在しない場合は -1 を返す。 見つかった場合は I<*ahost> にホストの標準名 (standard name) をセットして、 予約されているインターネットポート I<inport> 経由でサーバーへの接続を確立する。"
12995
12996 #. type: Plain text
12997 #: build/C/man3/rcmd.3:158
12998 msgid "If the connection succeeds, a socket in the Internet domain of type B<SOCK_STREAM> is returned to the caller, and given to the remote command as I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to a control process will be set up, and a descriptor for it will be placed in I<*fd2p>.  The control process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX signal numbers, to be forwarded to the process group of the command.  If I<fd2p> is 0, then the I<stderr> (unit 2 of the remote command) will be made the same as the I<stdout> and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of-band data."
12999 msgstr "接続に成功したら、インターネットドメインに存在するタイプ B<SOCK_STREAM> のソケットが呼び出しもとに返される。 このソケットの相手側はリモートコマンドの I<stdin> および I<stdout> に接続される。 I<fd2p> がゼロでない場合は、制御プロセスへの接続がもう一つ用意され、 そのディスクリプターが I<*fd2p> にセットされる。 制御プロセスはリモートコマンドからの標準エラー出力 (unit 2) を このチャンネルに返す。 また制御プロセスはこの接続から受け取ったバイトデータを UNIX シグナルの番号として扱い、リモートコマンドのプロセス グループへとシグナルを送る。 I<fd2p> がゼロの場合は、 I<stderr> (リモートコマンドの unit 2) は I<stdout> と一緒にまとめられる。またこの場合はリモートプロセスへ 任意のシグナルを送ることはできなくなる。 ただし帯域外 (out-of-band) データを用いれば、 リモートプロセスの注意を引くことはできるかもしれない。"
13000
13001 #. type: Plain text
13002 #: build/C/man3/rcmd.3:161
13003 msgid "The protocol is described in detail in B<rshd>(8)."
13004 msgstr "プロトコルの詳細は B<rshd>(8)  に記述されている。"
13005
13006 #. type: SS
13007 #: build/C/man3/rcmd.3:161
13008 #, no-wrap
13009 msgid "rresvport()"
13010 msgstr "rresvport()"
13011
13012 #. type: Plain text
13013 #: build/C/man3/rcmd.3:183
13014 msgid "The B<rresvport>()  function is used to obtain a socket with a privileged port bound to it.  This socket is suitable for use by B<rcmd>()  and several other functions.  Privileged ports are those in the range 0 to 1023.  Only a privileged process (B<CAP_NET_BIND_SERVICE>)  is allowed to bind to a privileged port.  In the glibc implementation, this function restricts its search to the ports from 512 to 1023.  The I<port> argument is value-result: the value it supplies to the call is used as the starting point for a circular search of the port range; on (successful) return, it contains the port number that was bound to."
13015 msgstr ""
13016 "B<rresvport>() 関数は特権ポートにバインドされたソケットを取得するために\n"
13017 "用いられる。 このソケットは B<rcmd>() などの関数での利用に適している。\n"
13018 "インターネットポートの特権ポートは、 0 から 1023 の範囲である。特権プロ\n"
13019 "セス (B<CAP_NET_BIND_SERVICE>) だけが特権ポートをバインドすることができ\n"
13020 "る。 glibc の実装では、この関数は特権ポートの検索範囲を 512 から 1023\n"
13021 "までの範囲に制限している。 I<port> 引き数は入出力両用で使用される。呼び\n"
13022 "出し時にこの引き数で渡された値は特権ポートを巡回検索する際の開始ポイン\n"
13023 "トとして使用され、(成功で) 返る際にはこの引き数にバインドされたポート\n"
13024 "番号が格納される。"
13025
13026 #. type: SS
13027 #: build/C/man3/rcmd.3:183
13028 #, no-wrap
13029 msgid "iruserok() and ruserok()"
13030 msgstr "iruserok() と ruserok()"
13031
13032 #. type: Plain text
13033 #: build/C/man3/rcmd.3:201
13034 msgid "The B<iruserok>()  and B<ruserok>()  functions take a remote host's IP address or name, respectively, two usernames and a flag indicating whether the local user's name is that of the superuser.  Then, if the user is I<not> the superuser, it checks the I</etc/hosts.equiv> file.  If that lookup is not done, or is unsuccessful, the I<.rhosts> in the local user's home directory is checked to see if the request for service is allowed."
13035 msgstr "B<iruserok>()  と B<ruserok>()  関数は、まず以下の引数を取る: リモートホスト (B<iruserok>()  は IP アドレスで、 B<ruserok>()  はホスト名で指定)、 2 つのユーザー名、ローカルユーザーの名前が スーパーユーザーのものであるかどうかを示すフラグ、である。 もしユーザーがB<スーパーユーザーではない>場合は、これらの関数は I</etc/hosts.equiv> ファイルをチェックする。ファイルが見つからなかったり、 内容のチェックに失敗した場合には、 ローカルユーザーのホームディレクトリにある I<.rhosts> ファイルをチェックして、サービス要求が許可されているかどうか調べる。"
13036
13037 #. type: Plain text
13038 #: build/C/man3/rcmd.3:217
13039 msgid "If this file does not exist, is not a regular file, is owned by anyone other than the user or the superuser, or is writable by anyone other than the owner, the check automatically fails.  Zero is returned if the machine name is listed in the I<hosts.equiv> file, or the host and remote username are found in the I<.rhosts> file; otherwise B<iruserok>()  and B<ruserok>()  return -1.  If the local domain (as obtained from B<gethostname>(2))  is the same as the remote domain, only the machine name need be specified."
13040 msgstr "このファイルが存在しなかったり、 通常ファイル (regular file) ではなかったり、 指定ユーザーまたはスーパーユーザー以外の所有だったり、 所有者以外から書き込み可能だったりした場合には、 このチェックは自動的に失敗する。 マシンの名前が I<hosts.equiv> にリストされていたり、 ホストとリモートユーザーの名前が I<.rhosts> ファイルに書かれていた場合には 0 が返される。 それ以外の場合には、 B<iruserok>()  と B<ruserok>()  は -1 を返す。 (B<gethostname>(2)  によって取得される) ローカルドメインがリモートのドメインと同じ場合は、 マシンの名前だけを指定すればよい。"
13041
13042 #. type: Plain text
13043 #: build/C/man3/rcmd.3:223
13044 msgid "If the IP address of the remote host is known, B<iruserok>()  should be used in preference to B<ruserok>(), as it does not require trusting the DNS server for the remote host's domain."
13045 msgstr "リモートホストの IP アドレスがわかっている場合は、 B<ruserok>()  よりも B<iruserok>()B<を用いる方が良いだろう。> B<ruserok>()  はリモートホストの所属するドメインの DNS サーバーが信頼できなくても 使用できるからである。"
13046
13047 #. type: SS
13048 #: build/C/man3/rcmd.3:223
13049 #, no-wrap
13050 msgid "*_af() variants"
13051 msgstr "*_af() 版"
13052
13053 #. type: Plain text
13054 #: build/C/man3/rcmd.3:239
13055 msgid "All of the functions described above work with IPv4 (B<AF_INET>)  sockets.  The \"_af\" variants take an extra argument that allows the socket address family to be specified.  For these functions, the I<af> argument can be specified as B<AF_INET> or B<AF_INET6>.  In addition, B<rcmd_af>()  supports the use of B<AF_UNSPEC>."
13056 msgstr ""
13057 "上記で述べた関数は全て IPv4 (B<AF_INET>) ソケットで動作する。\n"
13058 "\"_af\" 版では追加の引き数があり、この引き数でソケットアドレス\n"
13059 "ファミリーを指定できる。これらの関数では、 I<af> 引き数には \n"
13060 "B<AF_INET> か B<AF_INET6> が指定できる。\n"
13061 "B<rcmd_af>() では追加で B<AF_UNSPEC> も指定できる。"
13062
13063 #. type: Plain text
13064 #: build/C/man3/rcmd.3:245
13065 msgid "The B<rcmd>()  function returns a valid socket descriptor on success.  It returns -1 on error and prints a diagnostic message on the standard error."
13066 msgstr "B<rcmd>()  関数は成功すると有効なソケットディスクリプターを返す。 失敗すると -1 を返し、標準エラー出力に診断メッセージを 表示する。"
13067
13068 #. type: Plain text
13069 #: build/C/man3/rcmd.3:256
13070 msgid "The B<rresvport>()  function returns a valid, bound socket descriptor on success.  It returns -1 on error with the global value I<errno> set according to the reason for failure.  The error code B<EAGAIN> is overloaded to mean \"All network ports in use.\""
13071 msgstr "B<rresvport>()  関数は、成功するとバインドされた有効なソケットディスクリプターを返す。 失敗すると -1 を返し、グローバル変数 I<errno> をエラーの原因に対応する値にセットする。 エラーコード B<EAGAIN> は、この関数においては「すべてのネットワークポートが使用中」 という意味を表す。"
13072
13073 #. type: Plain text
13074 #: build/C/man3/rcmd.3:262
13075 msgid "For information on the return from B<ruserok>()  and B<iruserok>(), see above."
13076 msgstr "B<ruserok>() と B<iruserok>() の返り値については、上述の説明を参照。"
13077
13078 #. type: Plain text
13079 #: build/C/man3/rcmd.3:270
13080 msgid "The functions B<iruserok_af>(), B<rcmd_af>(), B<rresvport_af>(), and B<ruserok_af>()  functions are provide in glibc since version 2.2."
13081 msgstr ""
13082 "関数 B<iruserok_af>(), B<rcmd_af>(), B<rresvport_af>(),\n"
13083 "B<ruserok_af>() は glibc バージョン 2.2 以降で提供されている。"
13084
13085 #. type: Plain text
13086 #: build/C/man3/rcmd.3:278
13087 msgid "Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems.  These functions appeared in 4.2BSD.  The \"_af\" variants are more recent additions, and are not present on as wide a range of systems."
13088 msgstr ""
13089 "POSIX.1-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。\n"
13090 "これらの関数は 4.2BSD で登場した。 \"_af\" が付くバージョンはより最近に\n"
13091 "追加されたもので、あまり多くのシステムには存在しない。"
13092
13093 #.  Bug filed 25 Nov 2007:
13094 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399
13095 #. type: Plain text
13096 #: build/C/man3/rcmd.3:285
13097 msgid "B<iruserok>()  and B<iruserok_af>()  are declared in glibc headers only since version 2.12."
13098 msgstr ""
13099 "B<iruserok>() と B<iruserok_af>() は glibc バージョン 2.12 以降のヘッダ\n"
13100 "でのみ宣言されている。"
13101
13102 #. type: Plain text
13103 #: build/C/man3/rcmd.3:293
13104 msgid "B<rlogin>(1), B<rsh>(1), B<intro>(2), B<rexec>(3), B<rexecd>(8), B<rlogind>(8), B<rshd>(8)"
13105 msgstr "B<rlogin>(1), B<rsh>(1), B<intro>(2), B<rexec>(3), B<rexecd>(8), B<rlogind>(8), B<rshd>(8)"
13106
13107 #. type: TH
13108 #: build/C/man5/resolv.conf.5:23
13109 #, no-wrap
13110 msgid "RESOLV.CONF"
13111 msgstr "RESOLV.CONF"
13112
13113 #. type: Plain text
13114 #: build/C/man5/resolv.conf.5:27
13115 msgid "resolv.conf - resolver configuration file"
13116 msgstr "resolv.conf - レゾルバ設定ファイル"
13117
13118 #. type: Plain text
13119 #: build/C/man5/resolv.conf.5:29
13120 msgid "B</etc/resolv.conf>"
13121 msgstr "B</etc/resolv.conf>"
13122
13123 #. type: Plain text
13124 #: build/C/man5/resolv.conf.5:41
13125 msgid "The I<resolver> is a set of routines in the C library that provide access to the Internet Domain Name System (DNS).  The resolver configuration file contains information that is read by the resolver routines the first time they are invoked by a process.  The file is designed to be human readable and contains a list of keywords with values that provide various types of resolver information.  The configuration file is considered a trusted source of DNS information (e.g., DNSSEC AD-bit information will be returned unmodified from this source)."
13126 msgstr "I<resolver> は、インターネットのドメインネームシステム (DNS) へのアクセスを提供する C ライブラリのルーチン群である。 レゾルバ設定ファイルには、レゾルバルーチンがプロセスによって最初に 起動されたときに読み込まれる情報が格納されている。 このファイルは人間に可読なように設計されている。 キーワードと値のリストが含まれ、いろいろなタイプのレゾルバ情報を提供する。 設定ファイルは DNS 情報の信頼できる情報源とみなされる (例えば、このファイルからの DNSSEC AD ビット情報は変更されずにそのまま返される)。"
13127
13128 #. type: Plain text
13129 #: build/C/man5/resolv.conf.5:46
13130 msgid "If this file does not exist, only the name server on the local machine will be queried; the domain name is determined from the hostname and the domain search path is constructed from the domain name."
13131 msgstr ""
13132 "このファイルが存在しない場合、問い合わせはローカルマシン上の\n"
13133 "ネームサーバに対してのみ行われる。ドメイン名はホスト名から決定され、\n"
13134 "ドメインの検索パスはドメイン名から作成される。"
13135
13136 #. type: Plain text
13137 #: build/C/man5/resolv.conf.5:48
13138 msgid "The different configuration options are:"
13139 msgstr "この状態を変更するための設定オプションには、以下のようなものがある。"
13140
13141 #. type: TP
13142 #: build/C/man5/resolv.conf.5:48
13143 #, no-wrap
13144 msgid "B<nameserver> Name server IP address"
13145 msgstr "B<nameserver> ネームサーバの IP アドレス"
13146
13147 #. type: Plain text
13148 #: build/C/man5/resolv.conf.5:65
13149 msgid "Internet address of a name server that the resolver should query, either an IPv4 address (in dot notation), or an IPv6 address in colon (and possibly dot) notation as per RFC 2373.  Up to B<MAXNS> (currently 3, see I<E<lt>resolv.hE<gt>>) name servers may be listed, one per keyword.  If there are multiple servers, the resolver library queries them in the order listed.  If no B<nameserver> entries are present, the default is to use the name server on the local machine.  (The algorithm used is to try a name server, and if the query times out, try the next, until out of name servers, then repeat trying all the name servers until a maximum number of retries are made.)"
13150 msgstr "レゾルバが問い合わせをするネームサーバのインターネットアドレス。 アドレスには IPv4 アドレスか IPv6 アドレスを指定する。 IPv4 アドレスはドット表記で、 IPv6 アドレスは RFC 2373 で定められたコロン表記 (おそらくドット表記も可) で指定する。 このキーワード 1 つごとに 1 台づつ、 B<MAXNS> 台 (現状では 3 台、I<E<lt>resolv.hE<gt>> を参照) までのネームサーバをリストできる。 複数のサーバが指定された場合、レゾルバライブラリは リストされた順に問い合わせを行う。 B<nameserver> エントリがない場合、 デフォルトではローカルマシン上のネームサーバが使われる。 (ここで使われるアルゴリズムは以下のようなものである。 はじめにネームサーバに問い合わせを試みる。 この問い合わせがタイムアウトになった場合、 次のネームサーバに問い合わせを試みる。 これをネームサーバがなくなるまで続ける。 それでも応答がない場合は、リトライ最大回数に達するまで 全てのネームサーバに問い合わせを繰り返す。)"
13151
13152 #. type: TP
13153 #: build/C/man5/resolv.conf.5:65
13154 #, no-wrap
13155 msgid "B<domain> Local domain name."
13156 msgstr "B<domain> ローカルドメイン名"
13157
13158 #. type: Plain text
13159 #: build/C/man5/resolv.conf.5:76
13160 msgid "Most queries for names within this domain can use short names relative to the local domain.  If set to \\(aq.\\(aq, the root domain is considered.  If no B<domain> entry is present, the domain is determined from the local hostname returned by B<gethostname>(2); the domain part is taken to be everything after the first \\(aq.\\(aq.  Finally, if the hostname does not contain a domain part, the root domain is assumed."
13161 msgstr "このドメインにある名前の問い合わせのほとんどに、 このローカルドメインに対する短い名前を使用することができる。 \\(aq.\\(aq が設定された場合、 ルートドメインが指定されたとみなされる。 B<domain> エントリがない場合、ドメイン名は B<gethostname>(2)  で返されるローカルホスト名から決定され、 最初の \\(aq.\\(aq 以降の全ての部分がドメイン名とされる。 このホスト名にもドメイン部を含んでいない場合、ルートドメインが仮定される。"
13162
13163 #. type: TP
13164 #: build/C/man5/resolv.conf.5:76
13165 #, no-wrap
13166 msgid "B<search> Search list for host-name lookup."
13167 msgstr "B<search> ホスト名ルックアップのための検索リスト"
13168
13169 #.  When having a resolv.conv with a line
13170 #.   search subdomain.domain.tld domain.tld
13171 #.  and doing a hostlookup, for example by
13172 #.   ping host.anothersubdomain
13173 #.  it sends dns-requests for
13174 #.   host.anothersubdomain.
13175 #.   host.anothersubdomain.subdomain.domain.tld.
13176 #.   host.anothersubdomain.domain.tld.
13177 #.  thus not only causing unnecessary traffic for the root-dns-servers
13178 #.  but broadcasting information to the outside and making man-in-the-middle
13179 #.  attacks possible.
13180 #. type: Plain text
13181 #: build/C/man5/resolv.conf.5:106
13182 msgid "The search list is normally determined from the local domain name; by default, it contains only the local domain name.  This may be changed by listing the desired domain search path following the I<search> keyword with spaces or tabs separating the names.  Resolver queries having fewer than I<ndots> dots (default is 1) in them will be attempted using each component of the search path in turn until a match is found.  For environments with multiple subdomains please read B<options ndots:>I<n> below to avoid man-in-the-middle attacks and unnecessary traffic for the root-dns-servers.  Note that this process may be slow and will generate a lot of network traffic if the servers for the listed domains are not local, and that queries will time out if no server is available for one of the domains."
13183 msgstr "検索リストは通常ローカルドメイン名から決定される。 デフォルトでは、検索リストはローカルドメイン名のみである。 これを変更するには、I<search> キーワードの後に 希望するドメイン検索パスをスペースまたはタブで区切ってリストすればよい。 ドットの数が I<ndots> (デフォルトでは 1) より少ないレゾルバの問い合わせは、 一致するものが見つかるまで検索パスの各要素を順に使って試す。 複数のサブドメインを持つ環境では、 第三者による攻撃 (man-in-the-middle attack) と ルート DNS サーバへの不必要なトラフィックを避けるために、 以下の B<options ndots:>I<n> を読んでほしい。 このプロセスは遅く、リストされたドメインがローカルのものでない場合、 多大なネットワークトラフィックを発生させることに注意すること。 さらに、これらのドメインのいずれかひとつにでも適切なサーバがない場合、 問い合わせがタイムアウトになる点にも注意すること。"
13184
13185 #. type: Plain text
13186 #: build/C/man5/resolv.conf.5:109
13187 msgid "The search list is currently limited to six domains with a total of 256 characters."
13188 msgstr "現状では、検索リストは 6 ドメイン・計 256 文字に制限されている。"
13189
13190 #. type: TP
13191 #: build/C/man5/resolv.conf.5:109
13192 #, no-wrap
13193 msgid "B<sortlist>"
13194 msgstr "B<sortlist>"
13195
13196 #. type: Plain text
13197 #: build/C/man5/resolv.conf.5:122
13198 msgid "This option allows addresses returned by B<gethostbyname>(3)  to be sorted.  A sortlist is specified by IP-address-netmask pairs.  The netmask is optional and defaults to the natural netmask of the net.  The IP address and optional network pairs are separated by slashes.  Up to 10 pairs may be specified.  Here is an example:"
13199 msgstr "このオプションを使うと、 B<gethostbyname>(3)  で返されるアドレスをソートさせることができる。 sortlist は IP アドレスとネットマスクのペアで指定される。 ネットマスクは省略可能であり、 デフォルトではネットに対するデフォルトのネットマスクである。 IP アドレスとオプションのネットマスクのペアはスラッシュで区切る。 最大 10 組のペアを指定できる。 以下に例を示す。"
13200
13201 #. type: Plain text
13202 #: build/C/man5/resolv.conf.5:125
13203 msgid "sortlist 130.155.160.0/255.255.240.0 130.155.0.0"
13204 msgstr "sortlist 130.155.160.0/255.255.240.0 130.155.0.0"
13205
13206 #. type: TP
13207 #: build/C/man5/resolv.conf.5:127
13208 #, no-wrap
13209 msgid "B<options>"
13210 msgstr "B<options>"
13211
13212 #. type: Plain text
13213 #: build/C/man5/resolv.conf.5:131
13214 msgid "Options allows certain internal resolver variables to be modified.  The syntax is"
13215 msgstr "options により、レゾルバの内部変数を変更することができる。 書式は以下の通りである。"
13216
13217 #. type: Plain text
13218 #: build/C/man5/resolv.conf.5:134
13219 msgid "B<options> I<option> I<...>"
13220 msgstr "B<options> I<option> I<...>"
13221
13222 #. type: Plain text
13223 #: build/C/man5/resolv.conf.5:136
13224 msgid "where I<option> is one of the following:"
13225 msgstr "ここで I<option> は次のうちのいずれかである。"
13226
13227 #. type: TP
13228 #: build/C/man5/resolv.conf.5:136
13229 #, no-wrap
13230 msgid "B<debug>"
13231 msgstr "B<debug>"
13232
13233 #.  Since glibc 2.2?
13234 #. type: Plain text
13235 #: build/C/man5/resolv.conf.5:145
13236 msgid "sets B<RES_DEBUG> in I<_res.options> (effective only if glibc was built with debug support; see B<resolver>(3))."
13237 msgstr "B<RES_DEBUG> を I<_res.options> にセットする (glibc がデバッグを有効にしてコンパイルされている場合にのみ有効である; B<resolver>(3) を参照)。"
13238
13239 #. type: TP
13240 #: build/C/man5/resolv.conf.5:145
13241 #, no-wrap
13242 msgid "B<ndots:>I<n>"
13243 msgstr "B<ndots:>I<n>"
13244
13245 #.  Since glibc 2.2
13246 #. type: Plain text
13247 #: build/C/man5/resolv.conf.5:159
13248 msgid "sets a threshold for the number of dots which must appear in a name given to B<res_query>(3)  (see B<resolver>(3))  before an I<initial absolute query> will be made.  The default for I<n> is 1, meaning that if there are any dots in a name, the name will be tried first as an absolute name before any I<search list> elements are appended to it.  The value for this option is silently capped to 15."
13249 msgstr "「I<最初の完全な名前での問い合わせ>が実行される前に、 B<res_query>(3)  (B<resolver>(3)  を参照) に与えられる名前に含まれているべきドットの数の閾値」を設定する。 I<n> のデフォルトは 1 である。 これは、名前にドットがある場合、I<search list> の要素が付加される前に、 その名前が完全な名前として最初に試されるということを意味している。 このオプションの値の上限は 15 であり、黙ってこの値まで切り詰められる。"
13250
13251 #. type: TP
13252 #: build/C/man5/resolv.conf.5:159
13253 #, no-wrap
13254 msgid "B<timeout:>I<n>"
13255 msgstr "B<timeout:>I<n>"
13256
13257 #.  Since glibc 2.2
13258 #. type: Plain text
13259 #: build/C/man5/resolv.conf.5:170
13260 msgid "sets the amount of time the resolver will wait for a response from a remote name server before retrying the query via a different name server.  Measured in seconds, the default is B<RES_TIMEOUT> (currently 5, see I<E<lt>resolv.hE<gt>>).  The value for this option is silently capped to 30."
13261 msgstr "「レゾルバが他のネームサーバで問い合わせをリトライする前に、 リモートネームサーバからの応答を待つ時間」を設定する。 単位は秒で、デフォルトは B<RES_TIMEOUT> である (現状では 5 秒、I<E<lt>resolv.hE<gt>> を参照)。 このオプションの値の上限は 30 であり、黙ってこの値まで切り詰められる。"
13262
13263 #. type: TP
13264 #: build/C/man5/resolv.conf.5:170
13265 #, no-wrap
13266 msgid "B<attempts:>I<n>"
13267 msgstr "B<attempts:>I<n>"
13268
13269 #. type: Plain text
13270 #: build/C/man5/resolv.conf.5:179
13271 msgid "sets the number of times the resolver will send a query to its name servers before giving up and returning an error to the calling application.  The default is B<RES_DFLRETRY> (currently 2, see I<E<lt>resolv.hE<gt>>).  The value for this option is silently capped to 5."
13272 msgstr "「レゾルバが諦めて呼び出し元のアプリケーションにエラーを返すまでに、 ネームサーバに問い合わせを行う回数」を設定する。 デフォルトは B<RES_DFLRETRY> 回である (現状では 2 回、I<E<lt>resolv.hE<gt>> を参照)。 このオプションの値の上限は 5 であり、黙ってこの値まで切り詰められる。"
13273
13274 #. type: TP
13275 #: build/C/man5/resolv.conf.5:179
13276 #, no-wrap
13277 msgid "B<rotate>"
13278 msgstr "B<rotate>"
13279
13280 #.  Since glibc 2.2
13281 #. type: Plain text
13282 #: build/C/man5/resolv.conf.5:189
13283 msgid "sets B<RES_ROTATE> in I<_res.options>, which causes round-robin selection of name servers from among those listed.  This has the effect of spreading the query load among all listed servers, rather than having all clients try the first listed server first every time."
13284 msgstr "I<_res.options> に RES_ROTATE を設定する。リストされているネームサーバから選ぶときに、ラウンドロビン (round-robin) 選択を行わせる。リストされている全てのサーバで問い合わせの負荷を分散する効果があり、最初にリストされたサーバに全てのクライアントが毎回最初に問い合わせを行うわけではなくなる。"
13285
13286 #. type: TP
13287 #: build/C/man5/resolv.conf.5:189
13288 #, no-wrap
13289 msgid "B<no-check-names>"
13290 msgstr "B<no-check-names>"
13291
13292 #.  since glibc 2.2
13293 #. type: Plain text
13294 #: build/C/man5/resolv.conf.5:199
13295 msgid "sets B<RES_NOCHECKNAME> in I<_res.options>, which disables the modern BIND checking of incoming hostnames and mail names for invalid characters such as underscore (_), non-ASCII, or control characters."
13296 msgstr "I<_res.options> に B<RES_NOCHECKNAME> を設定する。 入ってくるホスト名とメールアドレスに、 アンダースコア (_)・ASCII 以外の文字・制御文字といった 不正な文字が含まれていないかを調べる 最近の BIND のチェックを無効にする。"
13297
13298 #. type: TP
13299 #: build/C/man5/resolv.conf.5:199
13300 #, no-wrap
13301 msgid "B<inet6>"
13302 msgstr "B<inet6>"
13303
13304 #.  Since glibc 2.2
13305 #. type: Plain text
13306 #: build/C/man5/resolv.conf.5:210
13307 msgid "sets B<RES_USE_INET6> in I<_res.options>.  This has the effect of trying a AAAA query before an A query inside the B<gethostbyname>(3)  function, and of mapping IPv4 responses in IPv6 \"tunneled form\" if no AAAA records are found but an A record set exists."
13308 msgstr "I<_res.options> に B<RES_USE_INET6> を設定する。このオプションが設定されると、 B<gethostbyname>(3)  関数の内部で A レコードの問い合わせを行う前に AAAA レコードの問い合わせを行うようになる。 また、AAAA レコードは見つからないが A レコードセットが存在する場合に、 IPv4 の応答を IPv6「トンネル形式」にマップするようになる。"
13309
13310 #. type: TP
13311 #: build/C/man5/resolv.conf.5:210
13312 #, no-wrap
13313 msgid "B<ip6-bytestring> (since glibc 2.3.4)"
13314 msgstr "B<ip6-bytestring> (glibc 2.3.4 以降)"
13315
13316 #. type: Plain text
13317 #: build/C/man5/resolv.conf.5:219
13318 msgid "sets B<RES_USE_BSTRING> in I<_res.options>.  This causes reverse IPv6 lookups to be made using the bit-label format described in RFC\\ 2673; if this option is not set, then nibble format is used."
13319 msgstr "I<_res.options> に B<RES_USE_BSTRING> を設定する。このオプションが設定されると、IPv6 アドレスの逆引きで RFC\\ 2673 で規定された bit-label 形式が使用されるようになる。 このオプションが設定されない場合、nibble 形式が使用される。"
13320
13321 #. type: TP
13322 #: build/C/man5/resolv.conf.5:219
13323 #, no-wrap
13324 msgid "B<ip6-dotint>/B<no-ip6-dotint> (since glibc 2.3.4)"
13325 msgstr "B<ip6-dotint>/B<no-ip6-dotint> (glibc 2.3.4 以降)"
13326
13327 #. type: Plain text
13328 #: build/C/man5/resolv.conf.5:236
13329 msgid "Clear/set B<RES_NOIP6DOTINT> in I<_res.options>.  When this option is clear (B<ip6-dotint>), reverse IPv6 lookups are made in the (deprecated)  I<ip6.int> zone; when this option is set (B<no-ip6-dotint>), reverse IPv6 lookups are made in the I<ip6.arpa> zone by default.  This option is set by default."
13330 msgstr "I<_res.options> への B<RES_NOIP6DOTINT> のセット/クリアを行う。 このオプションがクリアされると (B<ip6-dotint>)、 IPv6 アドレスの逆引きが (非推奨の)  I<ip6.int> ゾーンで行われるようになり、 このオプションがセットされると (B<no-ip6-dotint>)、 IPv6 アドレスの逆引きがデフォルトの I<ip6.arpa> ゾーンで行われるようになる。 このオプションはデフォルトでセットされる。"
13331
13332 #. type: TP
13333 #: build/C/man5/resolv.conf.5:236
13334 #, no-wrap
13335 msgid "B<edns0> (since glibc 2.6)"
13336 msgstr "B<edns0> (glibc 2.6 以降)"
13337
13338 #. type: Plain text
13339 #: build/C/man5/resolv.conf.5:243
13340 msgid "sets B<RES_USE_EDNSO> in I<_res.options>.  This enables support for the DNS extensions described in RFC\\ 2671."
13341 msgstr "I<_res.options> に B<RES_USE_EDNSO> をセットする。これにより、RFC\\ 2671 で規定されている DNS 拡張のサポートが有効になる。"
13342
13343 #. type: TP
13344 #: build/C/man5/resolv.conf.5:243
13345 #, no-wrap
13346 msgid "B<single-request> (since glibc 2.10)"
13347 msgstr "B<single-request> (glibc 2.10 以降)"
13348
13349 #. type: Plain text
13350 #: build/C/man5/resolv.conf.5:256
13351 msgid "sets B<RES_SNGLKUP> in I<_res.options>.  By default, glibc performs IPv4 and IPv6 lookups in parallel since version 2.9.  Some appliance DNS servers cannot handle these queries properly and make the requests time out.  This option disables the behavior and makes glibc perform the IPv6 and IPv4 requests sequentially (at the cost of some slowdown of the resolving process)."
13352 msgstr ""
13353 "I<_res.options> に B<RES_SNGLKUP> をセットする。\n"
13354 "glibc バージョン 2.9 以降では、 glibc はデフォルトでは\n"
13355 "IPv4 と IPv6 の検索を並行して実行する。\n"
13356 "アプライアンス DNS サーバの中には、このような問い合わせを\n"
13357 "適切に処理できず、検索要求がタイムアウトになってしまう。\n"
13358 "このオプションをセットすると、このデフォルトの動作が無効になり、\n"
13359 "glibc は IPv6 と IPv4 の検索を順番に実行するようになる\n"
13360 "(名前解決処理が若干遅くなるというデメリットがある)。"
13361
13362 #. type: TP
13363 #: build/C/man5/resolv.conf.5:256
13364 #, no-wrap
13365 msgid "B<single-request-reopen> (since glibc 2.9)"
13366 msgstr "B<single-request-reopen> (glibc 2.9 以降)"
13367
13368 #. type: Plain text
13369 #: build/C/man5/resolv.conf.5:264
13370 msgid "The resolver uses the same socket for the A and AAAA requests.  Some hardware mistakenly sends back only one reply.  When that happens the client system will sit and wait for the second reply.  Turning this option on changes this behavior so that if two requests from the same port are not handled correctly it will close the socket and open a new one before sending the second request."
13371 msgstr "リゾルバは同じソケットを使って A レコードと AAAA レコードの検索要求を行う。 いくつかのハードウェアは実装が間違っており、応答を一つしか返さない。 この状況になると、クライアントシステムは 2 番目の応答を待ち続けてしまう。 このオプションを有効にすると、この動作が変更され、 同じポートからの 2 つの検索要求が正しく処理されなかった場合、 2 番目の検索要求を送信する前にソケットをクローズし 新しいソケットをオープンするようになる。"
13372
13373 #. type: TP
13374 #: build/C/man5/resolv.conf.5:264
13375 #, no-wrap
13376 msgid "B<no-tld-query> (since glibc 2.14)"
13377 msgstr "B<no-tld-query> (glibc 2.14 以降)"
13378
13379 #. type: Plain text
13380 #: build/C/man5/resolv.conf.5:275
13381 msgid "sets RES_NOTLDQUERY in I<_res.options>.  This option causes B<res_nsearch>()  to not attempt to resolve an unqualified name as if it were a top level domain (TLD).  This option can cause problems if the site has ``localhost'' as a TLD rather than having localhost on one or more elements of the search list.  This option has no effect if neither RES_DEFNAMES or RES_DNSRCH is set."
13382 msgstr "RES_NOTLDQUERY を I<_res.options> にセットする。 このオプションを設定すると、 B<res_nsearch>() が完全なドメイン名ではない名前のトップレベルドメイン (TLD) としての検索を行わなくなる。 これにより、localhost に検索リストの要素をつけるのではなく、``localhost'' を TLD として設定しているようなサイトでは問題が起こる可能性がある。 RES_DEFNAMES も RES_DNSRCH もセットされていない場合には、このオプションは効果はない。"
13383
13384 #. type: Plain text
13385 #: build/C/man5/resolv.conf.5:280
13386 msgid "The I<domain> and I<search> keywords are mutually exclusive.  If more than one instance of these keywords is present, the last instance wins."
13387 msgstr "I<domain> と I<search> キーワードは、互いに排他的である。 これらのキーワードが 2 つ以上記述されている場合、 最後に記述されているものが有効になる。"
13388
13389 #. type: Plain text
13390 #: build/C/man5/resolv.conf.5:285
13391 msgid "The I<search> keyword of a system's I<resolv.conf> file can be overridden on a per-process basis by setting the environment variable B<LOCALDOMAIN> to a space-separated list of search domains."
13392 msgstr "システムの I<resolv.conf> ファイルにある I<search> キーワードは、 スペースで区切った検索ドメインのリストを 環境変数 B<LOCALDOMAIN> に設定することにより、各プロセス毎に上書きすることができる。"
13393
13394 #. type: Plain text
13395 #: build/C/man5/resolv.conf.5:291
13396 msgid "The I<options> keyword of a system's I<resolv.conf> file can be amended on a per-process basis by setting the environment variable B<RES_OPTIONS> to a space-separated list of resolver options as explained above under B<options>."
13397 msgstr "システムの I<resolv.conf> ファイルにある I<options> キーワードは、 上の B<options> セクションで説明したように、 スペースで区切ったレゾルバオプションのリストを 環境変数 B<RES_OPTIONS> に設定することにより、各プロセス毎に修正することができる。"
13398
13399 #. type: Plain text
13400 #: build/C/man5/resolv.conf.5:295
13401 msgid "The keyword and value must appear on a single line, and the keyword (e.g., B<nameserver>) must start the line.  The value follows the keyword, separated by white space."
13402 msgstr "キーワードと値は同じ行に書かなければならない。 また、(B<nameserver> のような) キーワードが行の先頭になければならない。 値はキーワードの後にスペースで区切って続ける。"
13403
13404 #. type: Plain text
13405 #: build/C/man5/resolv.conf.5:298
13406 msgid "Lines that contain a semicolon (;) or hash character (#)  in the first column are treated as comments."
13407 msgstr "セミコロン (;) かハッシュ文字 (#) で始まる行はコメントとして扱われる。"
13408
13409 #. type: Plain text
13410 #: build/C/man5/resolv.conf.5:301
13411 msgid "I</etc/resolv.conf>, I<E<lt>resolv.hE<gt>>"
13412 msgstr "I</etc/resolv.conf>, I<E<lt>resolv.hE<gt>>"
13413
13414 #. type: Plain text
13415 #: build/C/man5/resolv.conf.5:306
13416 msgid "B<gethostbyname>(3), B<resolver>(3), B<hostname>(7), B<named>(8)"
13417 msgstr "B<gethostbyname>(3), B<resolver>(3), B<hostname>(7), B<named>(8)"
13418
13419 #. type: Plain text
13420 #: build/C/man5/resolv.conf.5:308
13421 msgid "Name Server Operations Guide for BIND"
13422 msgstr "BIND のネームサーバオペレーションガイド"
13423
13424 #. type: TH
13425 #: build/C/man3/resolver.3:32
13426 #, no-wrap
13427 msgid "RESOLVER"
13428 msgstr "RESOLVER"
13429
13430 #. type: Plain text
13431 #: build/C/man3/resolver.3:36
13432 msgid "res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand - resolver routines"
13433 msgstr "res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand - レゾルバルーチン"
13434
13435 #. type: Plain text
13436 #: build/C/man3/resolver.3:42
13437 #, no-wrap
13438 msgid ""
13439 "B<#include E<lt>netinet/in.hE<gt>>\n"
13440 "B<#include E<lt>arpa/nameser.hE<gt>>\n"
13441 "B<#include E<lt>resolv.hE<gt>>\n"
13442 "B<extern struct __res_state _res;>\n"
13443 msgstr ""
13444 "B<#include E<lt>netinet/in.hE<gt>>\n"
13445 "B<#include E<lt>arpa/nameser.hE<gt>>\n"
13446 "B<#include E<lt>resolv.hE<gt>>\n"
13447 "B<extern struct __res_state _res;>\n"
13448
13449 #. type: Plain text
13450 #: build/C/man3/resolver.3:44
13451 #, no-wrap
13452 msgid "B<int res_init(void);>\n"
13453 msgstr "B<int res_init(void);>\n"
13454
13455 #. type: Plain text
13456 #: build/C/man3/resolver.3:46
13457 #, no-wrap
13458 msgid "B<int res_query(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>\n"
13459 msgstr "B<int res_query(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>\n"
13460
13461 #. type: Plain text
13462 #: build/C/man3/resolver.3:48 build/C/man3/resolver.3:53
13463 #: build/C/man3/resolver.3:70
13464 #, no-wrap
13465 msgid "B<unsigned char *>I<answer>B<, int >I<anslen>B<);>\n"
13466 msgstr "B<unsigned char *>I<answer>B<, int >I<anslen>B<);>\n"
13467
13468 #. type: Plain text
13469 #: build/C/man3/resolver.3:51
13470 #, no-wrap
13471 msgid "B<int res_search(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>\n"
13472 msgstr "B<int res_search(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>\n"
13473
13474 #. type: Plain text
13475 #: build/C/man3/resolver.3:56
13476 #, no-wrap
13477 msgid "B<int res_querydomain(const char *>I<name>B<, const char *>I<domain>B<,>\n"
13478 msgstr "B<int res_querydomain(const char *>I<name>B<, const char *>I<domain>B<,>\n"
13479
13480 #. type: Plain text
13481 #: build/C/man3/resolver.3:59
13482 #, no-wrap
13483 msgid ""
13484 "B<int >I<class>B<, int >I<type>B<, unsigned char *>I<answer>B<,>\n"
13485 "B<int >I<anslen>B<);>\n"
13486 msgstr ""
13487 "B<int >I<class>B<, int >I<type>B<, unsigned char *>I<answer>B<,>\n"
13488 "B<int >I<anslen>B<);>\n"
13489
13490 #. type: Plain text
13491 #: build/C/man3/resolver.3:62
13492 #, no-wrap
13493 msgid "B<int res_mkquery(int >I<op>B<, const char *>I<dname>B<, int >I<class>B<,>\n"
13494 msgstr "B<int res_mkquery(int >I<op>B<, const char *>I<dname>B<, int >I<class>B<,>\n"
13495
13496 #. type: Plain text
13497 #: build/C/man3/resolver.3:65
13498 #, no-wrap
13499 msgid ""
13500 "B<int >I<type>B<, const unsigned char *>I<data>B<, int >I<datalen>B<,>\n"
13501 "B<const unsigned char *>I<newrr>B<, unsigned char *>I<buf>B<, int >I<buflen>B<);>\n"
13502 msgstr ""
13503 "B<int >I<type>B<, const unsigned char *>I<data>B<, int >I<datalen>B<,>\n"
13504 "B<const unsigned char *>I<newrr>B<, unsigned char *>I<buf>B<, int >I<buflen>B<);>\n"
13505
13506 #. type: Plain text
13507 #: build/C/man3/resolver.3:68
13508 #, no-wrap
13509 msgid "B<int res_send(const unsigned char *>I<msg>B<, int >I<msglen>B<,>\n"
13510 msgstr "B<int res_send(const unsigned char *>I<msg>B<, int >I<msglen>B<,>\n"
13511
13512 #. type: Plain text
13513 #: build/C/man3/resolver.3:73
13514 #, no-wrap
13515 msgid "B<int dn_comp(const char *>I<exp_dn>B<, unsigned char *>I<comp_dn>B<,>\n"
13516 msgstr "B<int dn_comp(const char *>I<exp_dn>B<, unsigned char *>I<comp_dn>B<,>\n"
13517
13518 #. type: Plain text
13519 #: build/C/man3/resolver.3:75
13520 #, no-wrap
13521 msgid "B<int >I<length>B<, unsigned char **>I<dnptrs>B<, unsigned char **>I<lastdnptr>B<);>\n"
13522 msgstr "B<int >I<length>B<, unsigned char **>I<dnptrs>B<, unsigned char **>I<lastdnptr>B<);>\n"
13523
13524 #. type: Plain text
13525 #: build/C/man3/resolver.3:78
13526 #, no-wrap
13527 msgid "B<int dn_expand(const unsigned char *>I<msg>B<, const unsigned char *>I<eomorig>B<,>\n"
13528 msgstr "B<int dn_expand(const unsigned char *>I<msg>B<, const unsigned char *>I<eomorig>B<,>\n"
13529
13530 #. type: Plain text
13531 #: build/C/man3/resolver.3:81
13532 #, no-wrap
13533 msgid ""
13534 "B<const unsigned char *>I<comp_dn>B<, char *>I<exp_dn>B<,>\n"
13535 "B<int >I<length>B<);>\n"
13536 msgstr ""
13537 "B<const unsigned char *>I<comp_dn>B<, char *>I<exp_dn>B<,>\n"
13538 "B<int >I<length>B<);>\n"
13539
13540 #. type: Plain text
13541 #: build/C/man3/resolver.3:88
13542 msgid "These functions make queries to and interpret the responses from Internet domain name servers."
13543 msgstr "これらの関数はインターネットのドメインネームサーバーに問い合わせ、 その応答を解釈する。"
13544
13545 #. type: Plain text
13546 #: build/C/man3/resolver.3:102
13547 msgid "The B<res_init>()  function reads the configuration files (see B<resolv.conf>(5))  to get the default domain name, search order and name server address(es).  If no server is given, the local host is tried.  If no domain is given, that associated with the local host is used.  It can be overridden with the environment variable B<LOCALDOMAIN>.  B<res_init>()  is normally executed by the first call to one of the other functions."
13548 msgstr "B<res_init>()  関数は、デフォルトのドメイン名、検索順、ネームサーバー アドレスを得るために設定ファイル (B<resolv.conf>(5) 参照) を読む。 もしサーバーが示されていなければローカルホストを試す。 ドメインが示されていなければローカルホストに付けられたドメインを用いる。 環境変数 B<LOCALDOMAIN> でオーバーライドできる。 B<res_init>()  は、後述する関数のどれかが最初に呼び出された時、その関数 から実行される。"
13549
13550 #. type: Plain text
13551 #: build/C/man3/resolver.3:110
13552 msgid "The B<res_query>()  function queries the name server for the fully qualified domain name I<name> of specified I<type> and I<class>.  The reply is left in the buffer I<answer> of length I<anslen> supplied by the caller."
13553 msgstr "B<res_query>()  関数は、指定された I<type> と I<class> の 完全修飾ドメイン名 (FQDN) I<name> を、ネームサーバーへ問い合わせる。 応答は、呼び出した側によって用意される長さ I<anslen> の I<answer> バッファーに残される。"
13554
13555 #. type: Plain text
13556 #: build/C/man3/resolver.3:123
13557 msgid "The B<res_search>()  function makes a query and waits for the response like B<res_query>(), but in addition implements the default and search rules controlled by B<RES_DEFNAMES> and B<RES_DNSRCH> (see description of I<_res> options below)."
13558 msgstr "B<res_search>()  関数は、問い合わせを行い B<res_query>()  同様その応答を 待つが、さらにデフォルトを実装しており B<RES_DEFNAMES> と B<RES_DNSRCH> によって規定される検索ルールを適用する。 (下記 I<_res> オプションの説明を参照)"
13559
13560 #. type: Plain text
13561 #: build/C/man3/resolver.3:129
13562 msgid "The B<res_querydomain>()  function makes a query using B<res_query>()  on the concatenation of I<name> and I<domain>."
13563 msgstr "B<res_querydomain>()  関数は I<name> と I<domain> の結合に B<res_query>()  を用いて問い合わせを行う。"
13564
13565 #. type: Plain text
13566 #: build/C/man3/resolver.3:132
13567 msgid "The following functions are lower-level routines used by B<res_query>()."
13568 msgstr "次の関数は、 B<res_query>()  で使われる下位ルーチンである。"
13569
13570 #. type: Plain text
13571 #: build/C/man3/resolver.3:143
13572 msgid "The B<res_mkquery>()  function constructs a query message in I<buf> of length I<buflen> for the domain name I<dname>.  The query type I<op> is usually B<QUERY>, but can be any of the types defined in I<E<lt>arpa/nameser.hE<gt>>.  I<newrr> is currently unused."
13573 msgstr "B<res_mkquery>()  関数は、ドメイン名 I<dname> の為に、長さ I<buflen> の I<buf> に問い合わせるメッセージを作成する。 問い合わせの型 I<op> は通常 B<QUERY> だが、 I<E<lt>arpa/nameser.hE<gt>> で定義された型のどれでも良い。 I<newrr> は現在使用されていない。"
13574
13575 #. type: Plain text
13576 #: build/C/man3/resolver.3:153
13577 msgid "The B<res_send>()  function sends a preformatted query given in I<msg> of length I<msglen> and returns the answer in I<answer> which is of length I<anslen>.  It will call B<res_init>(), if it has not already been called."
13578 msgstr "B<res_send>()  関数は、長さ I<msglen> の I<msg> に決められた書式 で問い合わせ、I<answer> に長さ I<anslen> の回答を返す。 まだ呼び出されていなければ B<res_init>()  を呼び出す。"
13579
13580 #. type: Plain text
13581 #: build/C/man3/resolver.3:166
13582 msgid "The B<dn_comp>()  function compresses the domain name I<exp_dn> and stores it in the buffer I<comp_dn> of length I<length>.  The compression uses an array of pointers I<dnptrs> to previously compressed names in the current message.  The first pointer points to the beginning of the message and the list ends with NULL.  The limit of the array is specified by I<lastdnptr>.  If I<dnptr> is NULL, domain names are not compressed.  If I<lastdnptr> is NULL, the list of labels is not updated."
13583 msgstr "B<dn_comp>()  関数はドメイン名 I<exp_dn> を圧縮して、長さ I<length> のバッファー I<comp_dn> に保存する。 圧縮にはポインター配列 I<dnptrs> を用いる。 これらのポインターは、現在のメッセージの中にある以前に圧縮された名前を指す。 最初のポインターはメッセージの冒頭を指し、そのリストは NULL で終わる。 配列の範囲は I<lastdnptr> で決められる。 I<dnptr> が NULL ならばドメイン名は圧縮されない。 I<lastdnptr> が NULL ならば、そのラベルのリストはアップデートされない。"
13584
13585 #. type: Plain text
13586 #: build/C/man3/resolver.3:175
13587 msgid "The B<dn_expand>()  function expands the compressed domain name I<comp_dn> to a full domain name, which is placed in the buffer I<exp_dn> of size I<length>.  The compressed name is contained in a query or reply message, and I<msg> points to the beginning of the message."
13588 msgstr "B<dn_expand>()  関数は、圧縮されたドメイン名 I<comp_dn> からサイズ が I<length> の I<exp_dn> バッファーに正式なドメイン名を展開する。 その圧縮された名前は、問い合わせ、または応答メッセージに含まれていて、 I<msg> がメッセージの冒頭を指す。"
13589
13590 #. type: Plain text
13591 #: build/C/man3/resolver.3:183
13592 msgid "The resolver routines use global configuration and state information contained in the structure I<_res>, which is defined in I<E<lt>resolv.hE<gt>>.  The only field that is normally manipulated by the user is I<_res.options>.  This field can contain the bitwise \"OR\" of the following options:"
13593 msgstr "レゾルバルーチンは、I<E<lt>resolv.hE<gt>> に定義された I<_res> 構造体に 含まれている全体的な設定と状態の情報を使用する。 通常ユーザーに操作できる項目は I<_res.options> だけである。 この項目は以下のオプションのビット単位の論理和にできる。"
13594
13595 #. type: TP
13596 #: build/C/man3/resolver.3:183
13597 #, no-wrap
13598 msgid "B<RES_INIT>"
13599 msgstr "B<RES_INIT>"
13600
13601 #. type: Plain text
13602 #: build/C/man3/resolver.3:188
13603 msgid "True if B<res_init>()  has been called."
13604 msgstr "B<res_init>()  が呼び出されていれば真。"
13605
13606 #. type: TP
13607 #: build/C/man3/resolver.3:188
13608 #, no-wrap
13609 msgid "B<RES_DEBUG>"
13610 msgstr "B<RES_DEBUG>"
13611
13612 #.  See resolv/README.
13613 #.  Support for RES_DEBUG was made conditional in glibc 2.2.
13614 #. type: Plain text
13615 #: build/C/man3/resolver.3:195
13616 msgid "Print debugging messages.  This option is available only if glibc was built with debugging enabled, which is not the default."
13617 msgstr "デバッグ情報を表示する。このオプションは、 glibc がデバッグを有効にしてコンパイルされている場合にのみ利用できる。 デフォルトでは glibc のデバッグは有効になっていない。"
13618
13619 #. type: TP
13620 #: build/C/man3/resolver.3:195
13621 #, no-wrap
13622 msgid "B<RES_AAONLY>"
13623 msgstr "B<RES_AAONLY>"
13624
13625 #. type: Plain text
13626 #: build/C/man3/resolver.3:202
13627 msgid "Accept authoritative answers only.  B<res_send>()  continues until it finds an authoritative answer or returns an error.  [Not currently implemented]."
13628 msgstr "権威付けされた (authoritative) 回答のみ受け入れる。 B<res_send>()  は、最終的に権威付けされた回答を得られるか、エラーが返される まで続行する。 [現在実装されていない]"
13629
13630 #. type: TP
13631 #: build/C/man3/resolver.3:202
13632 #, no-wrap
13633 msgid "B<RES_USEVC>"
13634 msgstr "B<RES_USEVC>"
13635
13636 #. type: Plain text
13637 #: build/C/man3/resolver.3:205
13638 msgid "Use TCP connections for queries rather than UDP datagrams."
13639 msgstr "問い合わせに UDP データグラムではなく TCP 接続を用いる。"
13640
13641 #. type: TP
13642 #: build/C/man3/resolver.3:205
13643 #, no-wrap
13644 msgid "B<RES_PRIMARY>"
13645 msgstr "B<RES_PRIMARY>"
13646
13647 #. type: Plain text
13648 #: build/C/man3/resolver.3:208
13649 msgid "Query primary domain name server only."
13650 msgstr "プライマリドメインネームサーバーのみ問い合わせる。"
13651
13652 #. type: TP
13653 #: build/C/man3/resolver.3:208
13654 #, no-wrap
13655 msgid "B<RES_IGNTC>"
13656 msgstr "B<RES_IGNTC>"
13657
13658 #. type: Plain text
13659 #: build/C/man3/resolver.3:213
13660 msgid "Ignore truncation errors.  Don't retry with TCP.  [Not currently implemented]."
13661 msgstr "切り詰めエラー (truncation error) を無視する。TCP でリトライしない。 [現在実装されていない]"
13662
13663 #. type: TP
13664 #: build/C/man3/resolver.3:213
13665 #, no-wrap
13666 msgid "B<RES_RECURSE>"
13667 msgstr "B<RES_RECURSE>"
13668
13669 #. type: Plain text
13670 #: build/C/man3/resolver.3:220
13671 msgid "Set the recursion desired bit in queries.  Recursion is carried out by the domain name server, not by B<res_send>().  [Enabled by default]."
13672 msgstr "再帰要求 (recursion desired) ビットを問い合わせに設定する。 再帰は B<res_send>()  ではなくドメインネームサーバーによって行われる。 [デフォルトで有効]"
13673
13674 #. type: TP
13675 #: build/C/man3/resolver.3:220
13676 #, no-wrap
13677 msgid "B<RES_DEFNAMES>"
13678 msgstr "B<RES_DEFNAMES>"
13679
13680 #. type: Plain text
13681 #: build/C/man3/resolver.3:227
13682 msgid "If set, B<res_search>()  will append the default domain name to single component names\\(emthat is, those that do not contain a dot.  [Enabled by default]."
13683 msgstr "設定されていれば、 B<res_search>()  はデフォルトのドメイン名を一部分 のみからなる名前、すなわちドットを含まない名前に付け加える。 [デフォルトで有効]"
13684
13685 #. type: TP
13686 #: build/C/man3/resolver.3:227
13687 #, no-wrap
13688 msgid "B<RES_STAYOPEN>"
13689 msgstr "B<RES_STAYOPEN>"
13690
13691 #. type: Plain text
13692 #: build/C/man3/resolver.3:232
13693 msgid "Used with B<RES_USEVC> to keep the TCP connection open between queries."
13694 msgstr "問い合わせ中に TCP 接続を保つため B<RES_USEVC> と共に用いられる。"
13695
13696 #. type: TP
13697 #: build/C/man3/resolver.3:232
13698 #, no-wrap
13699 msgid "B<RES_DNSRCH>"
13700 msgstr "B<RES_DNSRCH>"
13701
13702 #. type: Plain text
13703 #: build/C/man3/resolver.3:241
13704 msgid "If set, B<res_search>()  will search for hostnames in the current domain and in parent domains.  This option is used by B<gethostbyname>(3).  [Enabled by default]."
13705 msgstr "設定されていれば、 B<res_search>()  は現在のドメインおよび親ドメインの ホスト名を探す。このオプションは B<gethostbyname>(3)  で用いられる。 [デフォルトで有効]"
13706
13707 #. type: Plain text
13708 #: build/C/man3/resolver.3:245
13709 msgid "This list is not complete.  You can find some other flags described in B<resolv.conf>(5)."
13710 msgstr ""
13711 "このリストは完全なものではない。\n"
13712 "B<resolv.conf>(5) には他にいくつかのフラグが記載されている。"
13713
13714 #. type: Plain text
13715 #: build/C/man3/resolver.3:250
13716 msgid "The B<res_init>()  function returns 0 on success, or -1 if an error occurs."
13717 msgstr "B<res_init>()  関数は成功すれば 0 を、エラーが発生すれば -1 を返す。"
13718
13719 #. type: Plain text
13720 #: build/C/man3/resolver.3:260
13721 msgid "The B<res_query>(), B<res_search>(), B<res_querydomain>(), B<res_mkquery>()  and B<res_send>()  functions return the length of the response, or -1 if an error occurs."
13722 msgstr "B<res_query>(), B<res_search>(), B<res_querydomain>(), B<res_mkquery>(), B<res_send>()  関数は応答の長さを返す。 また、エラーが発生すれば -1 を返す。"
13723
13724 #. type: Plain text
13725 #: build/C/man3/resolver.3:267
13726 msgid "The B<dn_comp>()  and B<dn_expand>()  functions return the length of the compressed name, or -1 if an error occurs."
13727 msgstr "B<dn_comp>()  と B<dn_expand>()  関数は圧縮されたドメイン名の長さを返す。 また、エラーが発生すれば -1 を返す。"
13728
13729 #. type: Plain text
13730 #: build/C/man3/resolver.3:271
13731 #, no-wrap
13732 msgid ""
13733 "/etc/resolv.conf          resolver configuration file\n"
13734 "/etc/host.conf            resolver configuration file\n"
13735 msgstr ""
13736 "/etc/resolv.conf          レゾルバ設定ファイル\n"
13737 "/etc/host.conf            レゾルバ設定ファイル\n"
13738
13739 #. type: Plain text
13740 #: build/C/man3/resolver.3:274
13741 msgid "4.3BSD."
13742 msgstr "4.3BSD."
13743
13744 #. type: Plain text
13745 #: build/C/man3/resolver.3:280
13746 msgid "B<gethostbyname>(3), B<resolv.conf>(5), B<resolver>(5), B<hostname>(7), B<named>(8)"
13747 msgstr "B<gethostbyname>(3), B<resolv.conf>(5), B<resolver>(5), B<hostname>(7), B<named>(8)"
13748
13749 #. type: TH
13750 #: build/C/man3/rexec.3:41
13751 #, no-wrap
13752 msgid "REXEC"
13753 msgstr "REXEC"
13754
13755 #. type: Plain text
13756 #: build/C/man3/rexec.3:44
13757 msgid "rexec, rexec_af - return stream to a remote command"
13758 msgstr "rexec, rexec_af - リモートコマンドへのストリームを返す"
13759
13760 #. type: Plain text
13761 #: build/C/man3/rexec.3:48
13762 #, no-wrap
13763 msgid ""
13764 "B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */\n"
13765 "B<#include E<lt>netdb.hE<gt>>\n"
13766 msgstr ""
13767 "B<#define _BSD_SOURCE>             /* feature_test_macros(7) 参照 */\n"
13768 "B<#include E<lt>netdb.hE<gt>>\n"
13769
13770 #. type: Plain text
13771 #: build/C/man3/rexec.3:51
13772 #, no-wrap
13773 msgid ""
13774 "B<int rexec(char **>I<ahost>B<, int >I<inport>B<, const char *>I<user>B<, >\n"
13775 "B<          const char *>I<passwd>B<, const char *>I<cmd>B<, int *>I<fd2p>B<);>\n"
13776 msgstr ""
13777 "B<int rexec(char **>I<ahost>B<, int >I<inport>B<, const char *>I<user>B<, >\n"
13778 "B<          const char *>I<passwd>B<, const char *>I<cmd>B<, int *>I<fd2p>B<);>\n"
13779
13780 #. type: Plain text
13781 #: build/C/man3/rexec.3:55
13782 #, no-wrap
13783 msgid ""
13784 "B<int rexec_af(char **>I<ahost>B<, int >I<inport>B<, const char *>I<user>B<, >\n"
13785 "B<             const char *>I<passwd>B<, const char *>I<cmd>B<, int *>I<fd2p>B<,>\n"
13786 "B<             sa_family_t >I<af>B<);>\n"
13787 msgstr ""
13788 "B<int rexec_af(char **>I<ahost>B<, int >I<inport>B<, const char *>I<user>B<, >\n"
13789 "B<             const char *>I<passwd>B<, const char *>I<cmd>B<, int *>I<fd2p>B<,>\n"
13790 "B<             sa_family_t >I<af>B<);>\n"
13791
13792 #. type: Plain text
13793 #: build/C/man3/rexec.3:59
13794 msgid "This interface is obsoleted by B<rcmd>(3)."
13795 msgstr "このインタフェースは B<rcmd>(3)  によって置き換えられた。"
13796
13797 #. type: Plain text
13798 #: build/C/man3/rexec.3:78
13799 msgid "The B<rexec>()  function looks up the host I<*ahost> using B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise, I<*ahost> is set to the standard name of the host.  If a username and password are both specified, then these are used to authenticate to the foreign host; otherwise the environment and then the I<.netrc> file in user's home directory are searched for appropriate information.  If all this fails, the user is prompted for the information."
13800 msgstr "B<rexec>()  関数は B<gethostbyname>(3)  を使ってホスト I<*ahost> を探す。ホストが存在しない場合は -1 を返し、それ以外の場合には I<*ahost> にそのホストの標準的な名前を設定する。 ユーザー名とパスワードの両方が指定された場合には、これらは 接続先のホストへの認証に利用される。そうでない場合には、 適切な情報を入手するために、環境変数と、そのユーザーの ホームディレクトリの I<.netrc> ファイルが検索される。情報が見つからなかった時には、 ユーザーに対して情報を入力するプロンプトが表示される。"
13801
13802 #. type: Plain text
13803 #: build/C/man3/rexec.3:89
13804 msgid "The port I<inport> specifies which well-known DARPA Internet port to use for the connection; the call I<getservbyname(\"exec\", \"tcp\")> (see B<getservent>(3))  will return a pointer to a structure that contains the necessary port.  The protocol for connection is described in detail in B<rexecd>(8)."
13805 msgstr "ポート I<inport> には、接続に使用する DARPA Internet の well-known ポートを指定する。 I<getservbyname(\"exec\", \"tcp\")> を呼び出すと構造体へのポインターが返され (B<getservent>(3)  参照)、この構造体には必要なポートが入っている。 接続に使用されるプロトコルについての詳細は B<rexecd>(8)  に書かれている (訳注: 現在のところ存在しない)。"
13806
13807 #. type: Plain text
13808 #: build/C/man3/rexec.3:122
13809 msgid "If the connection succeeds, a socket in the Internet domain of type B<SOCK_STREAM> is returned to the caller, and given to the remote command as I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to a control process will be setup, and a descriptor for it will be placed in I<*fd2p>.  The control process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX signal numbers, to be forwarded to the process group of the command.  The diagnostic information returned does not include remote authorization failure, as the secondary connection is set up after authorization has been verified.  If I<fd2p> is 0, then the I<stderr> (unit 2 of the remote command) will be made the same as the I<stdout> and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of-band data."
13810 msgstr "接続に成功すると、インターネットドメインの B<SOCK_STREAM> 型のソケットが返され、そのソケットはリモートコマンドの 標準入力および標準出力となる。 I<fd2p> が 0 以外の場合、制御プロセスへの補助チャンネルがセットアップされ、 補助チャンネルのディスクリプターが I<*fd2p> に書かれる。 制御プロセスはコマンドからの診断メッセージ出力 (ファイルディスクリプター 2)  をこのチャンネルで返す。また、このチャンネル経由で UNIX のシグナル番号を示すバイトを受信する。受信したシグナルは コマンドが属すプロセスグループに転送される。 診断情報にはリモートの認証失敗は含まれない。なぜなら、認証の確認が行われた 後で補助チャンネルの接続はセットアップされるからである。 I<fd2p> が 0 の場合、標準エラー (リモートコマンドのファイルディスクリプター 2) は 標準出力と同様に扱われ、リモートプロセスに任意のシグナルを送るための 手段は提供されない。但し、リモートプロセスに対してトリガをかけるために、 帯域外データ (out-of-band data) を使うことはできる。"
13811
13812 #. type: SS
13813 #: build/C/man3/rexec.3:122
13814 #, no-wrap
13815 msgid "rexec_af()"
13816 msgstr "rexec_af()"
13817
13818 #. type: Plain text
13819 #: build/C/man3/rexec.3:138
13820 msgid "The B<rexec>()  function works over IPv4 (B<AF_INET>).  By contrast, the B<rexec_af>()  function provides an extra argument, I<af>, that allows the caller to select the protocol.  This argument can be specified as B<AF_INET>, B<AF_INET6>, or B<AF_UNSPEC> (to allow the implementation to select the protocol)."
13821 msgstr ""
13822 "B<rexec>() 関数は IPv4 (B<AF_INET>) 上で動作する。\n"
13823 "これに対して、 B<rexec_af>() 関数は追加の引き数 I<af> があり、\n"
13824 "この引き数で呼び出し側がプロトコルを選択できる。\n"
13825 "この引き数には B<AF_INET>, B<AF_INET6>, B<AF_UNSPEC> を指定できる\n"
13826 "(B<AF_UNSPEC> は実装側がプロトコルを選択することを意味する)。"
13827
13828 #. type: Plain text
13829 #: build/C/man3/rexec.3:142
13830 msgid "The B<rexec_af>()  function was added to glibc in version 2.2."
13831 msgstr "B<rexec_af>() 関数は glibc バージョン 2.9 で追加された。"
13832
13833 #. type: Plain text
13834 #: build/C/man3/rexec.3:149
13835 msgid "The B<rexec>()  and B<rexec_af>()  functions are not thread-safe."
13836 msgstr "関数 B<rexec>() と B<rexec_af>() はスレッドセーフではない。"
13837
13838 #. type: Plain text
13839 #: build/C/man3/rexec.3:158
13840 msgid "These functions are not in POSIX.1-2001.  The B<rexec>()  function first appeared in 4.2BSD, and is present on the BSDs, Solaris, and many other systems.  The B<rexec_af>()  function is more recent, and less widespread."
13841 msgstr ""
13842 "これらの関数は POSIX.1-2001 にはない。B<rexec>() 関数は 4.2BSD で始めて\n"
13843 "登場し、BSD 系、Solaris や他の多くのシステムに存在する。B<rexec_af>()\n"
13844 "関数はもっと新しく、それほど広く使われているわけではない。"
13845
13846 #. type: Plain text
13847 #: build/C/man3/rexec.3:162
13848 msgid "The B<rexec>()  function sends the unencrypted password across the network."
13849 msgstr "B<rexec>()  関数はネットワークに暗号化されていないパスワードを送信する。"
13850
13851 #. type: Plain text
13852 #: build/C/man3/rexec.3:167
13853 msgid "The underlying service is considered a big security hole and therefore not enabled on many sites; see B<rexecd>(8)  for explanations."
13854 msgstr ""
13855 "基礎的なサービスにおいては大きなセキュリティホールと考えられるため、 \n"
13856 "多くのサイトで無効になっている。詳細は B<rexecd>(8) を参照。"
13857
13858 #. type: Plain text
13859 #: build/C/man3/rexec.3:170
13860 msgid "B<rcmd>(3), B<rexecd>(8)"
13861 msgstr "B<rcmd>(3), B<rexecd>(8)"
13862
13863 #. type: TH
13864 #: build/C/man5/services.5:34
13865 #, no-wrap
13866 msgid "SERVICES"
13867 msgstr "SERVICES"
13868
13869 #. type: TH
13870 #: build/C/man5/services.5:34
13871 #, no-wrap
13872 msgid "2010-05-22"
13873 msgstr "2010-05-22"
13874
13875 #. type: Plain text
13876 #: build/C/man5/services.5:37
13877 msgid "services - Internet network services list"
13878 msgstr "services - インターネット ネットワークサービス リスト"
13879
13880 #. type: Plain text
13881 #: build/C/man5/services.5:52
13882 msgid "B<services> is a plain ASCII file providing a mapping between human-friendly textual names for internet services, and their underlying assigned port numbers and protocol types.  Every networking program should look into this file to get the port number (and protocol) for its service.  The C library routines B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<setservent>(3), and B<endservent>(3)  support querying this file from programs."
13883 msgstr "B<services> は、人が分かりやすい形のインターネットサービスの名前と、 それらのサービスに割り当てられたポート番号や プロトコル種別の対応関係が書かれているテキストファイルである。 ネットワーク上で動作するプログラムはすべて、 そのサービスに対応するポート番号 (とプロトコル) を得るために、 このファイルを調べる必要がある。 C ライブラリ関数である B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<setservent>(3), B<endservent>(3)  を利用することで、プログラムはこのファイルを調べることができる。"
13884
13885 #. type: Plain text
13886 #: build/C/man5/services.5:58
13887 msgid "Port numbers are assigned by the IANA (Internet Assigned Numbers Authority), and their current policy is to assign both TCP and UDP protocols when assigning a port number.  Therefore, most entries will have two entries, even for TCP-only services."
13888 msgstr "ポート番号は、IANA (Internet Assigned Numbers Authority) によって 割り当てられており、現在はポート番号を割り当てる際に TCP と UDP の両方のプロトコルを割り当てることになっている。 そのため、ほとんどのサービスに対して、 たとえ TCP だけのサービスの場合であっても、対応する項目が二つあることになる。"
13889
13890 #. type: Plain text
13891 #: build/C/man5/services.5:70
13892 msgid "Port numbers below 1024 (so-called \"low numbered\" ports) can be bound to only by root (see B<bind>(2), B<tcp>(7), and B<udp>(7)).  This is so clients connecting to low numbered ports can trust that the service running on the port is the standard implementation, and not a rogue service run by a user of the machine.  Well-known port numbers specified by the IANA are normally located in this root-only space."
13893 msgstr "1024 より小さいポート番号 (いわゆる \"low numbered\" ポート) は 管理者 (root) 権限によってのみ使用することができる (B<bind>(2), B<tcp>(7), B<udp>(7)  参照)。 これは、これらのポートに接続するクライアントに対して、 そのポートで動いているサービスが標準的な実装であり、 その計算機のユーザーが動かしている 不正なサービスではないことを保証するためである。 IANA に明記されているよく使用されるポート番号は、 通常このような管理者だけが使用できる範囲に配置される。"
13894
13895 #. type: Plain text
13896 #: build/C/man5/services.5:85
13897 msgid "The presence of an entry for a service in the B<services> file does not necessarily mean that the service is currently running on the machine.  See B<inetd.conf>(5)  for the configuration of Internet services offered.  Note that not all networking services are started by B<inetd>(8), and so won't appear in B<inetd.conf>(5).  In particular, news (NNTP) and mail (SMTP) servers are often initialized from the system boot scripts."
13898 msgstr "B<services> ファイルにあるサービスに対する項目があっても、必ずしもそのサービスが現 在その計算機で動いている訳ではない。利用可能なインターネットサービスの設定に ついては B<inetd.conf>(5)  に記述されている。ただし、すべてのサービスが B<inetd>(8)  によって起動されるわけではないので、 B<inetd.conf>(5)  には書かれていないサービスもあることに注意する必要がある。 特に、ネットニュース (NNTP) や メール (SMTP) のサーバーは、システム起動時の スクリプトから起動されることが多い。"
13899
13900 #. type: Plain text
13901 #: build/C/man5/services.5:94
13902 msgid "The location of the B<services> file is defined by B<_PATH_SERVICES> in I<E<lt>netdb.hE<gt>>.  This is usually set to I</etc/services>."
13903 msgstr "B<services> ファイルの場所は、 I<E<lt>netdb.hE<gt>> 中の B<_PATH_SERVICES> によって定義されている。 この値は通常 I</etc/services> に設定されている。"
13904
13905 #. type: Plain text
13906 #: build/C/man5/services.5:96
13907 msgid "Each line describes one service, and is of the form:"
13908 msgstr "1 行につき 1 サービスが記述されており、以下の形式である。"
13909
13910 #. type: Plain text
13911 #: build/C/man5/services.5:98
13912 msgid "I<service-name\\ \\ \\ port>B</>I<protocol\\ \\ \\ >[I<aliases ...>]"
13913 msgstr "I<service-name\\ \\ \\ port>B</>I<protocol\\ \\ \\ >[I<aliases ...>]"
13914
13915 #. type: TP
13916 #: build/C/man5/services.5:98
13917 #, no-wrap
13918 msgid "where:"
13919 msgstr "各項目は以下の通り。"
13920
13921 #. type: TP
13922 #: build/C/man5/services.5:100
13923 #, no-wrap
13924 msgid "I<service-name>"
13925 msgstr "I<service-name>"
13926
13927 #. type: Plain text
13928 #: build/C/man5/services.5:106
13929 msgid "is the friendly name the service is known by and looked up under.  It is case sensitive.  Often, the client program is named after the I<service-name>."
13930 msgstr "サービスを表す分かりやすい名前であり、検索の際にも使用される。 大文字と小文字は区別される。 クライアントプログラムは I<service-name> にちなんで名付けられることが多い。"
13931
13932 #. type: TP
13933 #: build/C/man5/services.5:106
13934 #, no-wrap
13935 msgid "I<port>"
13936 msgstr "I<port>"
13937
13938 #. type: Plain text
13939 #: build/C/man5/services.5:109
13940 msgid "is the port number (in decimal) to use for this service."
13941 msgstr "サービスに対して使用されるポート番号。10 進数で指定する。"
13942
13943 #. type: Plain text
13944 #: build/C/man5/services.5:120
13945 msgid "is the type of protocol to be used.  This field should match an entry in the B<protocols>(5)  file.  Typical values include B<tcp> and B<udp>."
13946 msgstr "使用されるプロトコルの種類。この欄は、 B<protocols>(5)  ファイルの中の項目と一致している必要がある。 通常使用される値は、 B<tcp> と B<udp> である。"
13947
13948 #. type: Plain text
13949 #: build/C/man5/services.5:126
13950 msgid "is an optional space or tab separated list of other names for this service.  Again, the names are case sensitive."
13951 msgstr "サービスに対する別名のリスト (区切はスペースまたはタブ) で、この欄は 必要にならば書くことができる。 また、別名は大文字と小文字は区別される。"
13952
13953 #. type: Plain text
13954 #: build/C/man5/services.5:128
13955 msgid "Either spaces or tabs may be used to separate the fields."
13956 msgstr "それぞれの欄の区切りには、スペースまたはタブが使用される。"
13957
13958 #. type: Plain text
13959 #: build/C/man5/services.5:132
13960 msgid "Comments are started by the hash sign (#) and continue until the end of the line.  Blank lines are skipped."
13961 msgstr "コメントはシャープ (#) で始まり、その行の終わりまでがコメントとみなされる。 空行は飛ばされる。"
13962
13963 #. type: Plain text
13964 #: build/C/man5/services.5:143
13965 msgid "The I<service-name> should begin in the first column of the file, since leading spaces are not stripped.  I<service-names> can be any printable characters excluding space and tab.  However, a conservative choice of characters should be used to minimize compatibility problems.  For example, a-z, 0-9, and hyphen (-) would seem a sensible choice."
13966 msgstr "行の始めのスペースは無視されないので、 I<service-name> は、行頭から書かなければならない。 I<service-names> は、スペースとタブ以外の印字可能な文字なら何でもよいが、しかしながら 互換性の問題を少なくするような文字を選択すべきである。 例えば、a-z 、0-9 、ハイフォン (-) を使用するのが無難と思われる。"
13967
13968 #. type: Plain text
13969 #: build/C/man5/services.5:152
13970 msgid "Lines not matching this format should not be present in the file.  (Currently, they are silently skipped by B<getservent>(3), B<getservbyname>(3), and B<getservbyport>(3).  However, this behavior should not be relied on.)"
13971 msgstr "指定された形式に合わない行はあってはならない (現在は、そのような行は B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3)  によって無視される。しかし、その場合の挙動は信頼できない)。"
13972
13973 #. type: Plain text
13974 #: build/C/man5/services.5:169
13975 msgid "A sample B<services> file might look like this:"
13976 msgstr "B<services> ファイルの見本を以下に示す。"
13977
13978 #. type: Plain text
13979 #: build/C/man5/services.5:182
13980 #, no-wrap
13981 msgid ""
13982 "CW<netstat         15/tcp\n"
13983 "qotd            17/tcp          quote\n"
13984 "msp             18/tcp          # message send protocol\n"
13985 "msp             18/udp          # message send protocol\n"
13986 "chargen         19/tcp          ttytst source\n"
13987 "chargen         19/udp          ttytst source\n"
13988 "ftp             21/tcp\n"
13989 "# 22 - unassigned\n"
13990 "telnet          23/tcp>\n"
13991 msgstr ""
13992 "CW<netstat         15/tcp\n"
13993 "qotd            17/tcp          quote\n"
13994 "msp             18/tcp          # message send protocol\n"
13995 "msp             18/udp          # message send protocol\n"
13996 "chargen         19/tcp          ttytst source\n"
13997 "chargen         19/udp          ttytst source\n"
13998 "ftp             21/tcp\n"
13999 "# 22 - unassigned\n"
14000 "telnet          23/tcp>\n"
14001
14002 #. type: Plain text
14003 #: build/C/man5/services.5:189
14004 msgid "The Internet network services list"
14005 msgstr "インターネット ネットワークサービスのリスト"
14006
14007 #. type: TP
14008 #: build/C/man5/services.5:189
14009 #, no-wrap
14010 msgid "I<E<lt>netdb.hE<gt>>"
14011 msgstr "I<E<lt>netdb.hE<gt>>"
14012
14013 #.  .SH BUGS
14014 #.  It's not clear when/if the following was ever true;
14015 #.  it isn't true for glibc 2.8:
14016 #.     There is a maximum of 35 aliases, due to the way the
14017 #.     .BR getservent (3)
14018 #.     code is written.
14019 #.  It's not clear when/if the following was ever true;
14020 #.  it isn't true for glibc 2.8:
14021 #.     Lines longer than
14022 #.     .B BUFSIZ
14023 #.     (currently 1024) characters will be ignored by
14024 #.     .BR getservent (3),
14025 #.     .BR getservbyname (3),
14026 #.     and
14027 #.     .BR getservbyport (3).
14028 #.     However, this will also cause the next line to be mis-parsed.
14029 #. type: Plain text
14030 #: build/C/man5/services.5:210
14031 msgid "Definition of B<_PATH_SERVICES>"
14032 msgstr "B<_PATH_SERVICES> の定義"
14033
14034 #. type: Plain text
14035 #: build/C/man5/services.5:220
14036 msgid "B<listen>(2), B<endservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<getservent>(3), B<setservent>(3), B<inetd.conf>(5), B<protocols>(5), B<inetd>(8)"
14037 msgstr "B<listen>(2), B<endservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<getservent>(3), B<setservent>(3), B<inetd.conf>(5), B<protocols>(5), B<inetd>(8)"
14038
14039 #. type: Plain text
14040 #: build/C/man5/services.5:222
14041 msgid "Assigned Numbers RFC, most recently RFC\\ 1700, (AKA STD0002)."
14042 msgstr "ポート番号の割り当てを定めている RFC (最新版は RFC\\ 1700、別名 STD0002)"
14043
14044 #. type: TH
14045 #: build/C/man3/setnetgrent.3:10
14046 #, no-wrap
14047 msgid "SETNETGRENT"
14048 msgstr "SETNETGRENT"
14049
14050 #. type: Plain text
14051 #: build/C/man3/setnetgrent.3:14
14052 msgid "setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - handle network group entries"
14053 msgstr "setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - ネットワークグループのエントリを操作する"
14054
14055 #. type: Plain text
14056 #: build/C/man3/setnetgrent.3:19
14057 #, no-wrap
14058 msgid "B<int setnetgrent(const char *>I<netgroup>B<);>\n"
14059 msgstr "B<int setnetgrent(const char *>I<netgroup>B<);>\n"
14060
14061 #. type: Plain text
14062 #: build/C/man3/setnetgrent.3:21
14063 #, no-wrap
14064 msgid "B<void endnetgrent(void);>\n"
14065 msgstr "B<void endnetgrent(void);>\n"
14066
14067 #. type: Plain text
14068 #: build/C/man3/setnetgrent.3:23
14069 #, no-wrap
14070 msgid "B<int getnetgrent(char **>I<host>B<, char **>I<user>B<, char **>I<domain>B<);>\n"
14071 msgstr "B<int getnetgrent(char **>I<host>B<, char **>I<user>B<, char **>I<domain>B<);>\n"
14072
14073 #. type: Plain text
14074 #: build/C/man3/setnetgrent.3:26
14075 #, no-wrap
14076 msgid ""
14077 "B<int getnetgrent_r(char **>I<host>B<, char **>I<user>B<,>\n"
14078 "B<                  char **>I<domain>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
14079 msgstr ""
14080 "B<int getnetgrent_r(char **>I<host>B<, char **>I<user>B<,>\n"
14081 "B<                  char **>I<domain>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
14082
14083 #. type: Plain text
14084 #: build/C/man3/setnetgrent.3:29
14085 #, no-wrap
14086 msgid ""
14087 "B<int innetgr(const char *>I<netgroup>B<, const char *>I<host>B<,>\n"
14088 "B<            const char *>I<user>B<, const char *>I<domain>B<);>\n"
14089 msgstr ""
14090 "B<int innetgr(const char *>I<netgroup>B<, const char *>I<host>B<,>\n"
14091 "B<            const char *>I<user>B<, const char *>I<domain>B<);>\n"
14092
14093 #. type: Plain text
14094 #: build/C/man3/setnetgrent.3:43
14095 msgid "B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), B<getnetgrent_r>(), B<innetgr>(): _BSD_SOURCE || _SVID_SOURCE"
14096 msgstr "B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), B<getnetgrent_r>(), B<innetgr>(): _BSD_SOURCE || _SVID_SOURCE"
14097
14098 #. type: Plain text
14099 #: build/C/man3/setnetgrent.3:57
14100 msgid "The I<netgroup> is a SunOS invention.  A netgroup database is a list of string triples (I<hostname>, I<username>, I<domainname>)  or other netgroup names.  Any of the elements in a triple can be empty, which means that anything matches.  The functions described here allow access to the netgroup databases.  The file I</etc/nsswitch.conf> defines what database is searched."
14101 msgstr "I<netgroup> は SunOS で考案されたものである。ネットグループのデータベースの エントリは、 3 つの文字列のリスト (I<hostname>, I<username>, I<domainname>)  もしくはネットグループ名である。 前記のリストの各要素は空であってもよい。 空は何とでも一致することを意味する。 本ページで説明する関数を使うことで、ネットグループのデータベースに アクセスすることができる。どのデータベースが検索されるかは I</etc/nsswitch.conf> ファイルで定義されている。"
14102
14103 #. type: Plain text
14104 #: build/C/man3/setnetgrent.3:77
14105 msgid "The B<setnetgrent>()  call defines the netgroup that will be searched by subsequent B<getnetgrent>()  calls.  The B<getnetgrent>()  function retrieves the next netgroup entry, and returns pointers in I<host>, I<user>, I<domain>.  A null pointer means that the corresponding entry matches any string.  The pointers are valid only as long as there is no call to other netgroup-related functions.  To avoid this problem you can use the GNU function B<getnetgrent_r>()  that stores the strings in the supplied buffer.  To free all allocated buffers use B<endnetgrent>()."
14106 msgstr "B<setnetgrent>()  コールは、この後で呼ばれる B<getnetgrent>()  コールが検索するネットグループを定める。 B<getnetgrent>()  関数はネットグループの次のエントリを取得し、 I<host>, I<user>, I<domain> にポインターを入れて返る。ヌルポインターは、対応するエントリがどんな文字列とも一致することを意味する。 得られたポインターは、ネットグループ関係の関数のいずれかが呼ばれるまでの 間だけ有効である。この問題を避けるためには GNU 拡張の関数 B<getnetgrent_r>()  を使うとよい。この関数は呼び出し側が用意したバッファーに 文字列を格納する。割り当て済のバッファーを全て解放するには B<endnetgrent>()  を使用する。"
14107
14108 #. type: Plain text
14109 #: build/C/man3/setnetgrent.3:86
14110 msgid "In most cases you want to check only if the triplet (I<hostname>, I<username>, I<domainname>)  is a member of a netgroup.  The function B<innetgr>()  can be used for this without calling the above three functions.  Again, a null pointer is a wildcard and matches any string.  The function is thread-safe."
14111 msgstr "ほとんどの場合、 (I<hostname>, I<username>, I<domainname>)  の3要素の組がネットグループのメンバーかどうかを確認したいだけであろう。 B<innetgr>()  関数を使うと、上記の3つの関数を呼び出さずにこの目的を達成できる。 もう一度書いておくが、NULL ポインターはワイルドカードであり、 あらゆる文字列と一致する。この関数はスレッドセーフである。"
14112
14113 #. type: Plain text
14114 #: build/C/man3/setnetgrent.3:88
14115 msgid "These functions return 1 on success and 0 for failure."
14116 msgstr "これらの関数は成功すると 1 を、失敗すると 0 を返す。"
14117
14118 #. type: Plain text
14119 #: build/C/man3/setnetgrent.3:90
14120 msgid "I</etc/netgroup>"
14121 msgstr "I</etc/netgroup>"
14122
14123 #.  getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
14124 #. type: Plain text
14125 #: build/C/man3/setnetgrent.3:103
14126 msgid "These functions are not in POSIX.1-2001, but B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), and B<innetgr>()  are available on most UNIX systems.  B<getnetgrent_r>()  is not widely available on other systems."
14127 msgstr "これらの関数は POSIX.1-2001 にはないが、 setnetgrent (), endnetgrent (), getnetgrent (), innetgr ()  はほとんどの UNIX システムで利用可能である。 B<getnetgrent_r>()  は広く他のシステムで利用できるわけではない。"
14128
14129 #. type: Plain text
14130 #: build/C/man3/setnetgrent.3:107
14131 msgid "In the BSD implementation, B<setnetgrent>()  returns void."
14132 msgstr "BSD の実装では B<setnetgrent>()  は void を返す。"
14133
14134 #. type: Plain text
14135 #: build/C/man3/setnetgrent.3:111
14136 msgid "B<sethostent>(3), B<setprotoent>(3), B<setservent>(3)"
14137 msgstr "B<sethostent>(3), B<setprotoent>(3), B<setservent>(3)"
14138
14139 #. type: TH
14140 #: build/C/man2/shutdown.2:40
14141 #, no-wrap
14142 msgid "SHUTDOWN"
14143 msgstr "SHUTDOWN"
14144
14145 #. type: TH
14146 #: build/C/man2/shutdown.2:40
14147 #, no-wrap
14148 msgid "2012-09-06"
14149 msgstr "2012-09-06"
14150
14151 #. type: Plain text
14152 #: build/C/man2/shutdown.2:43
14153 msgid "shutdown - shut down part of a full-duplex connection"
14154 msgstr "shutdown - 全二重接続の一部を閉じる"
14155
14156 #. type: Plain text
14157 #: build/C/man2/shutdown.2:47
14158 msgid "B<int shutdown(int >I<sockfd>B<, int >I<how>B<);>"
14159 msgstr "B<int shutdown(int >I<sockfd>B<, int >I<how>B<);>"
14160
14161 #. type: Plain text
14162 #: build/C/man2/shutdown.2:69
14163 msgid "The B<shutdown>()  call causes all or part of a full-duplex connection on the socket associated with I<sockfd> to be shut down.  If I<how> is B<SHUT_RD>, further receptions will be disallowed.  If I<how> is B<SHUT_WR>, further transmissions will be disallowed.  If I<how> is B<SHUT_RDWR>, further receptions and transmissions will be disallowed."
14164 msgstr "B<shutdown>()  は、 I<sockfd> に関連づけられているソケットによる全二重接続 (full-duplex connection)  の一部または全てを閉じる。 I<how> が B<SHUT_RD> ならば、それ以降の受信を禁止する。 I<how> が B<SHUT_WR> ならば、それ以降の送信を禁止する。 I<how> が B<SHUT_RDWR> ならば、それ以降の送受信を禁止する。"
14165
14166 #. type: Plain text
14167 #: build/C/man2/shutdown.2:79
14168 msgid "I<sockfd> is not a valid descriptor."
14169 msgstr "I<sockfd> が有効なディスクリプターでない。"
14170
14171 #. type: Plain text
14172 #: build/C/man2/shutdown.2:84
14173 msgid "An invalid value was specified in I<how> (but see BUGS)."
14174 msgstr "I<how> に無効な値が指定された (バグが参照)。"
14175
14176 #. type: Plain text
14177 #: build/C/man2/shutdown.2:87
14178 msgid "The specified socket is not connected."
14179 msgstr "指定されたソケットは接続されていない。"
14180
14181 #. type: Plain text
14182 #: build/C/man2/shutdown.2:91
14183 msgid "I<sockfd> is a file, not a socket."
14184 msgstr "I<sockfd> がソケットでなくファイルである。"
14185
14186 #. type: Plain text
14187 #: build/C/man2/shutdown.2:95
14188 msgid "POSIX.1-2001, 4.4BSD (the B<shutdown>()  function call first appeared in 4.2BSD)."
14189 msgstr "POSIX.1-2001, 4.4BSD (B<shutdown>()  関数コールは 4.2BSD で初めて登場した)。"
14190
14191 #. type: Plain text
14192 #: build/C/man2/shutdown.2:104
14193 msgid "The constants B<SHUT_RD>, B<SHUT_WR>, B<SHUT_RDWR> have the value 0, 1, 2, respectively, and are defined in I<E<lt>sys/socket.hE<gt>> since glibc-2.1.91."
14194 msgstr "B<SHUT_RD>, B<SHUT_WR>, B<SHUT_RDWR> の各定数 (それぞれ 0, 1, 2 の値を持つ) は glibc-2.1.91 以降、 I<E<lt>sys/socket.hE<gt>> で定義されている。"
14195
14196 #.  FIXME .
14197 #.  https://bugzilla.kernel.org/show_bug.cgi?id=47111
14198 #. type: Plain text
14199 #: build/C/man2/shutdown.2:113
14200 msgid "As currently implemented, checks for the validity of I<how> are done in domain-specific code, and not all domains perform these checks.  Most notably, UNIX domain sockets simply ignore invalid values; this may change in the future."
14201 msgstr "現在の実装では I<how> の妥当性チェックはドメイン固有のコードの中で行われているが、 すべてのドメインでこれらのチェックが行われている訳ではない。 中でも注意すべきは、 UNIX ドメインソケットでは無効な値は単に無視される点である。 これは将来変更されるかもしれない。"
14202
14203 #. type: Plain text
14204 #: build/C/man2/shutdown.2:117
14205 msgid "B<connect>(2), B<socket>(2), B<socket>(7)"
14206 msgstr "B<connect>(2), B<socket>(2), B<socket>(7)"
14207
14208 #. type: TH
14209 #: build/C/man7/tcp.7:76
14210 #, no-wrap
14211 msgid "TCP"
14212 msgstr "TCP"
14213
14214 #. type: TH
14215 #: build/C/man7/tcp.7:76
14216 #, no-wrap
14217 msgid "2015-01-10"
14218 msgstr "2015-01-10"
14219
14220 #. type: Plain text
14221 #: build/C/man7/tcp.7:79
14222 msgid "tcp - TCP protocol"
14223 msgstr "tcp - TCP プロトコル"
14224
14225 #. type: Plain text
14226 #: build/C/man7/tcp.7:85
14227 msgid "B<#include E<lt>netinet/tcp.hE<gt>>"
14228 msgstr "B<#include E<lt>netinet/tcp.hE<gt>>"
14229
14230 #. type: Plain text
14231 #: build/C/man7/tcp.7:87
14232 msgid "B<tcp_socket = socket(AF_INET, SOCK_STREAM, 0);>"
14233 msgstr "B<tcp_socket = socket(AF_INET, SOCK_STREAM, 0);>"
14234
14235 #. type: Plain text
14236 #: build/C/man7/tcp.7:100
14237 msgid "This is an implementation of the TCP protocol defined in RFC\\ 793, RFC\\ 1122 and RFC\\ 2001 with the NewReno and SACK extensions.  It provides a reliable, stream-oriented, full-duplex connection between two sockets on top of B<ip>(7), for both v4 and v6 versions.  TCP guarantees that the data arrives in order and retransmits lost packets.  It generates and checks a per-packet checksum to catch transmission errors.  TCP does not preserve record boundaries."
14238 msgstr "これは RFC\\ 793, RFC\\ 1122, RFC\\ 2001 で定義されている TCP プロトコルを NewReno 拡張と SACK 拡張を含めて実装したものである。 TCP は、 B<ip>(7)  上の二つのソケット間に、信頼性の高い、ストリーム指向の全二重 (full-duplex) 通信を提供する。 v4 と v6 の両方のバージョンの B<ip>(7)  に対応している。 TCP は、データが順序を守って到着すること、途中で失われたパケットが 再送されることを保証する。また、パケット単位にチェックサムを 生成、検査することで、転送エラーを検知する。 TCP はレコード境界 (record boundary) を保存しない。"
14239
14240 #. type: Plain text
14241 #: build/C/man7/tcp.7:119
14242 msgid "A newly created TCP socket has no remote or local address and is not fully specified.  To create an outgoing TCP connection use B<connect>(2)  to establish a connection to another TCP socket.  To receive new incoming connections, first B<bind>(2)  the socket to a local address and port and then call B<listen>(2)  to put the socket into the listening state.  After that a new socket for each incoming connection can be accepted using B<accept>(2).  A socket which has had B<accept>(2)  or B<connect>(2)  successfully called on it is fully specified and may transmit data.  Data cannot be transmitted on listening or not yet connected sockets."
14243 msgstr "新しく生成されたばかりの TCP ソケットは、 リモートアドレスかローカルアドレスがなく、 したがって詳細が完全に指定された状態ではない。 外部への TCP 接続を生成するには、 B<connect>(2)  を用いてもう一方の TCP ソケットへの接続を確立する。 外部からの新たな接続を受けるには、まず B<bind>(2)  でソケットをローカルなアドレスとポートに結びつけ、次に B<listen>(2)  を呼んでソケットを接続待ち受け状態にする。 その後、到着した接続要求に対して B<accept>(2)  を用い、ソケットを新しく生成する。 B<accept>(2)  または B<connect>(2)  のコールが成功したソケットは、詳細が完全に指定された状態となり、 データのやりとりが可能となる。接続待ち受け状態の (listening) ソケットや、 接続 (connect) されていないソケットを通してデータをやりとりすることはできない。"
14244
14245 #. type: Plain text
14246 #: build/C/man7/tcp.7:139
14247 msgid "Linux supports RFC\\ 1323 TCP high performance extensions.  These include Protection Against Wrapped Sequence Numbers (PAWS), Window Scaling and Timestamps.  Window scaling allows the use of large (E<gt> 64K) TCP windows in order to support links with high latency or bandwidth.  To make use of them, the send and receive buffer sizes must be increased.  They can be set globally with the I</proc/sys/net/ipv4/tcp_wmem> and I</proc/sys/net/ipv4/tcp_rmem> files, or on individual sockets by using the B<SO_SNDBUF> and B<SO_RCVBUF> socket options with the B<setsockopt>(2)  call."
14248 msgstr "Linux は RFC\\ 1323 の TCP high performance 拡張をサポートしている。 これには、Protection Against Wrapped Sequence Numbers (PAWS)、 ウィンドウスケーリング、タイムスタンプなどが含まれている。 ウィンドウスケーリングを利用すると、遅延または帯域の大きな接続で、 (64K 以上の) 巨大な TCP ウィンドウを用いることが可能となる。 これを用いるには、送受信のバッファーサイズを大きくしなければならない。 システム全体に対するバッファーサイズの変更は、ファイル I</proc/sys/net/ipv4/tcp_wmem> と I</proc/sys/net/ipv4/tcp_rmem> を用いて行うことができる。 また、個々のソケットのみを大きくしたい場合には、 B<SO_SNDBUF> や B<SO_RCVBUF> ソケットオプションを用いて B<setsockopt>(2)  コールを用いて設定すればよい。"
14249
14250 #. type: Plain text
14251 #: build/C/man7/tcp.7:170
14252 msgid "The maximum sizes for socket buffers declared via the B<SO_SNDBUF> and B<SO_RCVBUF> mechanisms are limited by the values in the I</proc/sys/net/core/rmem_max> and I</proc/sys/net/core/wmem_max> files.  Note that TCP actually allocates twice the size of the buffer requested in the B<setsockopt>(2)  call, and so a succeeding B<getsockopt>(2)  call will not return the same size of buffer as requested in the B<setsockopt>(2)  call.  TCP uses the extra space for administrative purposes and internal kernel structures, and the I</proc> file values reflect the larger sizes compared to the actual TCP windows.  On individual connections, the socket buffer size must be set prior to the B<listen>(2)  or B<connect>(2)  calls in order to have it take effect.  See B<socket>(7)  for more information."
14253 msgstr "B<SO_SNDBUF> や B<SO_RCVBUF> のメカニズムで宣言されるソケットバッファーの最大サイズは、ファイル I</proc/sys/net/core/rmem_max> や I</proc/sys/net/core/wmem_max> で指定されたシステムとしての制限値を超えることはできない。 TCP は実際には B<setsockopt>(2)  コールが要求したバッファーサイズの二倍を割り当てる。 そのため、この後で B<getsockopt>(2)  コールを行うと、 B<setsockopt>(2)  で要求したバッファーサイズとは異なる値が返る。 TCP はこの余分な空間を、管理目的やカーネル内部の構造体に用いている。 I</proc> ファイルの値は、これらを反映し、実際の TCP ウィンドウよりも大きな値となる。 各接続におけるソケットのバッファーサイズ変更を有効にするには、 B<listen>(2)  や B<connect>(2)  コールの前に設定しなければならない。 より詳しい情報は B<socket>(7)  を見よ。"
14254
14255 #. type: Plain text
14256 #: build/C/man7/tcp.7:202
14257 msgid "TCP supports urgent data.  Urgent data is used to signal the receiver that some important message is part of the data stream and that it should be processed as soon as possible.  To send urgent data specify the B<MSG_OOB> option to B<send>(2).  When urgent data is received, the kernel sends a B<SIGURG> signal to the process or process group that has been set as the socket \"owner\" using the B<SIOCSPGRP> or B<FIOSETOWN> ioctls (or the POSIX.1-2001-specified B<fcntl>(2)  B<F_SETOWN> operation).  When the B<SO_OOBINLINE> socket option is enabled, urgent data is put into the normal data stream (a program can test for its location using the B<SIOCATMARK> ioctl described below), otherwise it can be received only when the B<MSG_OOB> flag is set for B<recv>(2)  or B<recvmsg>(2)."
14258 msgstr "TCP は緊急データ (urgent data) をサポートしている。緊急データは 何らかの重要なメッセージがデータストリームに含まれていること、 そのデータをできるだけ早く処理すべきこと、を受信者に伝えるために用いられる。 緊急データを送るには、 B<send>(2)  に B<MSG_OOB> オプションを指定する。 緊急データを受信すると、カーネルは B<SIGURG> シグナルを送信する。送信先は B<SIOCSPGRP> や B<FIOSETOWN> ioctl (や POSIX.1-2001 で規定されている B<fcntl>(2)  B<F_SETOWN> 操作) を用いてそのソケットの「所有者」として設定された プロセスかプロセスグループである。 B<SO_OOBINLINE> ソケットオプションが有効になっていると、緊急データは 通常のデータストリームの中に混ぜて送られる (プログラムは下記の B<SIOCATMARK> ioctl を使って緊急データの場所を調べることができる)。 無効になっている場合には、 B<recv>(2)  や B<recvmsg>(2)  で B<MSG_OOB> フラグがセットされているときにのみ、緊急データを受信できる。"
14259
14260 #. type: Plain text
14261 #: build/C/man7/tcp.7:210
14262 msgid "Linux 2.4 introduced a number of changes for improved throughput and scaling, as well as enhanced functionality.  Some of these features include support for zero-copy B<sendfile>(2), Explicit Congestion Notification, new management of TIME_WAIT sockets, keep-alive socket options and support for Duplicate SACK extensions."
14263 msgstr "Linux 2.4 では多くの変更がなされ、 スループットとスケーリングが向上し、機能も高まった。 これらの機能には、ゼロコピー B<sendfile>(2)、 Explicit Congestion Notification、 TIME_WAIT ソケットの新しい管理法、 keep-alive ソケットオプション、 Duplicate SACK 拡張のサポートなどがある。"
14264
14265 #. type: SS
14266 #: build/C/man7/tcp.7:210
14267 #, no-wrap
14268 msgid "Address formats"
14269 msgstr "アドレスのフォーマット"
14270
14271 #. type: Plain text
14272 #: build/C/man7/tcp.7:219
14273 msgid "TCP is built on top of IP (see B<ip>(7)).  The address formats defined by B<ip>(7)  apply to TCP.  TCP supports point-to-point communication only; broadcasting and multicasting are not supported."
14274 msgstr "TCP は IP の上層に構築されている (B<ip>(7)  を参照)。 B<ip>(7)  に定義されているアドレスフォーマットは TCP にも適用される。 TCP は point-to-point の通信だけをサポートする。 ブロードキャストやマルチキャストはサポートしない。"
14275
14276 #. type: Plain text
14277 #: build/C/man7/tcp.7:231
14278 msgid "System-wide TCP parameter settings can be accessed by files in the directory I</proc/sys/net/ipv4/>.  In addition, most IP I</proc> interfaces also apply to TCP; see B<ip>(7).  Variables described as I<Boolean> take an integer value, with a nonzero value (\"true\") meaning that the corresponding option is enabled, and a zero value (\"false\")  meaning that the option is disabled."
14279 msgstr "システム全体に対する TCP パラメーターの設定には、 I</proc/sys/net/ipv4/> ディレクトリ内のファイルによりアクセスできる。 さらに、IP に関連する I</proc> インタフェースのほとんどは TCP についても適用される。 B<ip>(7)  を参照のこと。 I<Boolean> は整数値で、 0 以外の値 (\"true\") は対応するオプションが有効、 0 値 (\"false\") は無効、であることを意味する。"
14280
14281 #. type: TP
14282 #: build/C/man7/tcp.7:231
14283 #, no-wrap
14284 msgid "I<tcp_abc> (Integer; default: 0; since Linux 2.6.15)"
14285 msgstr "I<tcp_abc> (Integer; default: 0; Linux 2.6.15 以降)"
14286
14287 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14288 #. type: Plain text
14289 #: build/C/man7/tcp.7:239
14290 msgid "Control the Appropriate Byte Count (ABC), defined in RFC 3465.  ABC is a way of increasing the congestion window (I<cwnd>)  more slowly in response to partial acknowledgments.  Possible values are:"
14291 msgstr "RFC 3465 で定義されている Appropriate Byte Count (ABC) を制御する。 ABC は、部分的な ACK に応じた輻輳ウィンドウ (I<cwnd>)  の増加をより緩やかにする方法である。 以下の値を指定できる。"
14292
14293 #. type: IP
14294 #: build/C/man7/tcp.7:240 build/C/man7/tcp.7:428 build/C/man7/tcp.7:449
14295 #: build/C/man7/tcp.7:593
14296 #, no-wrap
14297 msgid "0"
14298 msgstr "0"
14299
14300 #. type: Plain text
14301 #: build/C/man7/tcp.7:244
14302 msgid "increase I<cwnd> once per acknowledgment (no ABC)"
14303 msgstr "ACK を受信する毎に I<cwnd> を増やす (ABC なし)。"
14304
14305 #. type: IP
14306 #: build/C/man7/tcp.7:244 build/C/man7/tcp.7:430 build/C/man7/tcp.7:456
14307 #: build/C/man7/tcp.7:595
14308 #, no-wrap
14309 msgid "1"
14310 msgstr "1"
14311
14312 #. type: Plain text
14313 #: build/C/man7/tcp.7:248
14314 msgid "increase I<cwnd> once per acknowledgment of full sized segment"
14315 msgstr "フルサイズのセグメントの ACK を受信する毎に I<cwnd> を増やす。"
14316
14317 #. type: IP
14318 #: build/C/man7/tcp.7:248 build/C/man7/tcp.7:432 build/C/man7/tcp.7:463
14319 #: build/C/man7/tcp.7:597
14320 #, no-wrap
14321 msgid "2"
14322 msgstr "2"
14323
14324 #. type: Plain text
14325 #: build/C/man7/tcp.7:253
14326 msgid "allow increase I<cwnd> by two if acknowledgment is of two segments to compensate for delayed acknowledgments."
14327 msgstr "ACK が遅延 ACK (delayed acknowledgment) を相殺するための 2 セグメントに 対する ACK の場合に、 I<cwnd> を 2 増やすことができる。"
14328
14329 #. type: TP
14330 #: build/C/man7/tcp.7:254
14331 #, no-wrap
14332 msgid "I<tcp_abort_on_overflow> (Boolean; default: disabled; since Linux 2.4)"
14333 msgstr "I<tcp_abort_on_overflow> (ブール値; デフォルト: 無効; Linux 2.4 以降)"
14334
14335 #.  Since 2.3.41
14336 #. type: Plain text
14337 #: build/C/man7/tcp.7:266
14338 msgid "Enable resetting connections if the listening service is too slow and unable to keep up and accept them.  It means that if overflow occurred due to a burst, the connection will recover.  Enable this option I<only> if you are really sure that the listening daemon cannot be tuned to accept connections faster.  Enabling this option can harm the clients of your server."
14339 msgstr "接続を待ち受けているサービスが遅すぎて、受信についていけない場合に、 接続をリセットできるようにする。 これを用いると、バーストによってオーバーフローが起こったときに、 接続を回復できるようになる。このオプションを用いるのは、 受信デーモンを高速化できない場合に「限定する」こと。 このオプションを用いると、そのサーバに接続しているクライアント にとっては害になることがある。"
14340
14341 #. type: TP
14342 #: build/C/man7/tcp.7:266
14343 #, no-wrap
14344 msgid "I<tcp_adv_win_scale> (integer; default: 2; since Linux 2.4)"
14345 msgstr "I<tcp_adv_win_scale> (integer; default: 2; Linux 2.4 以降)"
14346
14347 #.  Since 2.4.0-test7
14348 #. type: Plain text
14349 #: build/C/man7/tcp.7:278
14350 msgid "Count buffering overhead as I<bytes/2^tcp_adv_win_scale>, if I<tcp_adv_win_scale> is greater than 0; or I<bytes-bytes/2^(-tcp_adv_win_scale)>, if I<tcp_adv_win_scale> is less than or equal to zero."
14351 msgstr "バッファーリングのオーバーヘッドの計算方法を、 I<tcp_adv_win_scale> が正の場合は I<bytes/2^tcp_adv_win_scale> に、 I<tcp_adv_win_scale> が負か 0 の場合は I<bytes-bytes/2^(-tcp_adv_win_scale)> とする。"
14352
14353 #. type: Plain text
14354 #: build/C/man7/tcp.7:291
14355 msgid "The socket receive buffer space is shared between the application and kernel.  TCP maintains part of the buffer as the TCP window, this is the size of the receive window advertised to the other end.  The rest of the space is used as the \"application\" buffer, used to isolate the network from scheduling and application latencies.  The I<tcp_adv_win_scale> default value of 2 implies that the space used for the application buffer is one fourth that of the total."
14356 msgstr "ソケットの受信バッファー空間はアプリケーションとカーネルで共有される。 TCP はバッファーの一部を TCP ウィンドウとして管理し、 これを受信ウィンドウとして接続の他端に通知する。 空間の残りは「アプリケーション」バッファーとして用いられ、 スケジューリングやアプリケーションの遅延からネットワークを隔離する。 I<tcp_adv_win_scale> のデフォルト値は 2 であり、 この場合アプリケーションバッファーは全体の 1/4 になる。"
14357
14358 #. type: TP
14359 #: build/C/man7/tcp.7:291
14360 #, no-wrap
14361 msgid "I<tcp_allowed_congestion_control> (String; default: see text; since Linux 2.4.20)"
14362 msgstr "I<tcp_allowed_congestion_control> (String; default: see text; Linux 2.4.20 以降)"
14363
14364 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14365 #. type: Plain text
14366 #: build/C/man7/tcp.7:304
14367 msgid "Show/set the congestion control algorithm choices available to unprivileged processes (see the description of the B<TCP_CONGESTION> socket option).  The items in the list are separated by white space and terminated by a newline character.  The list is a subset of those listed in I<tcp_available_congestion_control>.  The default value for this list is \"reno\" plus the default setting of I<tcp_congestion_control>."
14368 msgstr "非特権プロセスで利用できる輻輳制御アルゴリズムの選択肢を表示/設定する (B<TCP_CONGESTION> ソケットオプションの説明を参照のこと)。 このリストの要素はホワイトスペースで区切られ、改行文字で終端される。 このリストは I<tcp_available_congestion_control> で表示されるリストの部分集合となる。 このリストのデフォルト値は、\"reno\" と I<tcp_congestion_control> のデフォルト設定をあわせたものとなる。"
14369
14370 #. type: TP
14371 #: build/C/man7/tcp.7:304
14372 #, no-wrap
14373 msgid "I<tcp_autocorking> (Boolean; default: enabled; since Linux 3.14)"
14374 msgstr "I<tcp_autocorking> (ブール値; デフォルト: 有効; Linux 3.14 以降)"
14375
14376 #.  commit f54b311142a92ea2e42598e347b84e1655caf8e3
14377 #.  Text heavily based on Documentation/networking/ip-sysctl.txt
14378 #. type: Plain text
14379 #: build/C/man7/tcp.7:321
14380 msgid "If this option is enabled, the kernel tries to coalesce small writes (from consecutive B<write>(2)  and B<sendmsg>(2)  calls) as much as possible, in order to decrease the total number of sent packets.  Coalescing is done if at least one prior packet for the flow is waiting in Qdisc queues or device transmit queue.  Applications can still use the B<TCP_CORK> socket option to obtain optimal behavior when they know how/when to uncork their sockets."
14381 msgstr "このオプションを有効にすると、 送信総パケット数を減らすため、 カーネルは小さな write (連続する B<write>(2) や B<sendmsg>(2) の呼び出し) を可能な限り結合しようとする。 パケットの結合が行われるのは、そのフローの前のパケットが少なくとも一つは qdisc キューかデバイスの送信キューで送信待ちの場合である。 このオプションが有効な場合でも B<TCP_CORK> オプションを使うことができ、アプリケーションがソケットの「コルク解除」(送信待ち状態の解除) をいつどのように行えばよいか分かっている場合には、最適な動作をさせることができる。"
14382
14383 #. type: TP
14384 #: build/C/man7/tcp.7:321
14385 #, no-wrap
14386 msgid "I<tcp_available_congestion_control> (String; read-only; since Linux 2.4.20)"
14387 msgstr "I<tcp_available_congestion_control> (String; read-only; Linux 2.4.20 以降)"
14388
14389 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14390 #. type: Plain text
14391 #: build/C/man7/tcp.7:332
14392 msgid "Show a list of the congestion-control algorithms that are registered.  The items in the list are separated by white space and terminated by a newline character.  This list is a limiting set for the list in I<tcp_allowed_congestion_control>.  More congestion-control algorithms may be available as modules, but not loaded."
14393 msgstr "登録されている輻輳制御アルゴリズムのリストを表示する。 このリストの要素はホワイトスペースで区切られ、改行文字で終端される。 このリストに載っているものだけが、 I<tcp_allowed_congestion_control> に表示される。 他の輻輳制御アルゴリズムがモジュールとして利用可能だが、 モジュールがロードされていないこともある。"
14394
14395 #. type: TP
14396 #: build/C/man7/tcp.7:332
14397 #, no-wrap
14398 msgid "I<tcp_app_win> (integer; default: 31; since Linux 2.4)"
14399 msgstr "I<tcp_app_win> (integer; default: 31; Linux 2.4 以降)"
14400
14401 #.  Since 2.4.0-test7
14402 #. type: Plain text
14403 #: build/C/man7/tcp.7:337
14404 msgid "This variable defines how many bytes of the TCP window are reserved for buffering overhead."
14405 msgstr "この変数は、TCP ウィンドウの何バイト分を バッファーリングのオーバーヘッド用に予約するかを指定する。"
14406
14407 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14408 #. type: Plain text
14409 #: build/C/man7/tcp.7:343
14410 msgid "A maximum of (I<window/2^tcp_app_win>, mss) bytes in the window are reserved for the application buffer.  A value of 0 implies that no amount is reserved."
14411 msgstr "そのウィンドウの I<window/2^tcp_app_win> と mss の大きいほう (バイト単位)  がアプリケーションバッファーとして予約される。 0 を指定すると一切予約領域を取らない。"
14412
14413 #. type: TP
14414 #: build/C/man7/tcp.7:343
14415 #, no-wrap
14416 msgid "I<tcp_base_mss> (Integer; default: 512; since Linux 2.6.17)"
14417 msgstr "I<tcp_base_mss> (Integer; default: 512; Linux 2.6.17 以降)"
14418
14419 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14420 #. type: Plain text
14421 #: build/C/man7/tcp.7:352
14422 msgid "The initial value of I<search_low> to be used by the packetization layer Path MTU discovery (MTU probing).  If MTU probing is enabled, this is the initial MSS used by the connection."
14423 msgstr "パケット化レイヤの Path MTU discovery (MTU probing) で、 I<search_low> の初期値と使用される値。 MTU probing が有効な場合、この値はその接続の MSS の初期値となる。"
14424
14425 #. type: TP
14426 #: build/C/man7/tcp.7:352
14427 #, no-wrap
14428 msgid "I<tcp_bic> (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)"
14429 msgstr "I<tcp_bic> (ブール値; デフォルト: 無効; Linux 2.4.27/2.6.6 から 2.6.13 まで)"
14430
14431 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14432 #. type: Plain text
14433 #: build/C/man7/tcp.7:366
14434 msgid "Enable BIC TCP congestion control algorithm.  BIC-TCP is a sender-side only change that ensures a linear RTT fairness under large windows while offering both scalability and bounded TCP-friendliness.  The protocol combines two schemes called additive increase and binary search increase.  When the congestion window is large, additive increase with a large increment ensures linear RTT fairness as well as good scalability.  Under small congestion windows, binary search increase provides TCP friendliness."
14435 msgstr "BIC TCP 輻輳制御アルゴリズムを有効にする。 BIC-TCP は送信側のみの変更で、 スケーラビリティと TCP 親和性 (friendliness) の両方を提供しつつ、 大きなウィンドウの下での線形な RTT 公平性を保証するものである。 このプロトコルでは additive increase (追加的な増加) と binary search increase (二分探索増加) といわれる二つの仕組みを 組み合わせている。輻輳ウィンドウが大きいときは、増分の大きい additive increase により、スケーラビリティを確保しながら 線形な RTT 公平性を保証する。 輻輳ウィンドウが小さいときには binary search increase により TCP 親和性を達成している。"
14436
14437 #. type: TP
14438 #: build/C/man7/tcp.7:366
14439 #, no-wrap
14440 msgid "I<tcp_bic_low_window> (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)"
14441 msgstr "I<tcp_bic_low_window> (integer; default: 14; Linux 2.4.27/2.6.6 以降 2.6.13 まで)"
14442
14443 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14444 #. type: Plain text
14445 #: build/C/man7/tcp.7:373
14446 msgid "Set the threshold window (in packets) where BIC TCP starts to adjust the congestion window.  Below this threshold BIC TCP behaves the same as the default TCP Reno."
14447 msgstr "BIC TCP が輻輳ウィンドウの調整を開始する閾値ウィンドウ (パケット単位)  を設定する。この閾値を下回る場合、BIC TCP はデフォルトの TCP Reno と 同じ動作をする。"
14448
14449 #. type: TP
14450 #: build/C/man7/tcp.7:373
14451 #, no-wrap
14452 msgid "I<tcp_bic_fast_convergence> (Boolean; default: enabled; Linux 2.4.27/2.6.6 to 2.6.13)"
14453 msgstr "I<tcp_bic_fast_convergence> (ブール値; デフォルト: 有効; Linux 2.4.27/2.6.6 以降 2.6.13 まで)"
14454
14455 #. type: Plain text
14456 #: build/C/man7/tcp.7:377
14457 msgid "Force BIC TCP to more quickly respond to changes in congestion window.  Allows two flows sharing the same connection to converge more rapidly."
14458 msgstr "BIC TCP が輻輳ウィンドウの変化により速く反応するようにする。 同じコネクションを共有する二つのフローが一つにまとまるのを より速く行うようにする。"
14459
14460 #. type: TP
14461 #: build/C/man7/tcp.7:377
14462 #, no-wrap
14463 msgid "I<tcp_congestion_control> (String; default: see text; since Linux 2.4.13)"
14464 msgstr "I<tcp_congestion_control> (String; default: 説明参照; Linux 2.4.13 以降)"
14465
14466 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14467 #. type: Plain text
14468 #: build/C/man7/tcp.7:384
14469 msgid "Set the default congestion-control algorithm to be used for new connections.  The algorithm \"reno\" is always available, but additional choices may be available depending on kernel configuration.  The default value for this file is set as part of kernel configuration."
14470 msgstr "新規の接続で使用されるデフォルトの輻輳制御アルゴリズムを設定する。 \"reno\" アルゴリズムは常に利用可能だが、 カーネル設定次第では別の選択肢が利用できることもある。 このファイルのデフォルト値はカーネル設定の一つとして設定される。"
14471
14472 #. type: TP
14473 #: build/C/man7/tcp.7:384
14474 #, no-wrap
14475 msgid "I<tcp_dma_copybreak> (integer; default: 4096; since Linux 2.6.24)"
14476 msgstr "I<tcp_dma_copybreak> (integer; default: 4096; Linux 2.6.24 以降)"
14477
14478 #. type: Plain text
14479 #: build/C/man7/tcp.7:391
14480 msgid "Lower limit, in bytes, of the size of socket reads that will be offloaded to a DMA copy engine, if one is present in the system and the kernel was configured with the B<CONFIG_NET_DMA> option."
14481 msgstr "システムに DMA コピーエンジンが存在し、カーネルで B<CONFIG_NET_DMA> オプションが有効になっている場合に、 DMA コピーエンジンにオフロードされるソケットの読み込みサイズの下限値 (バイト単位)。"
14482
14483 #. type: TP
14484 #: build/C/man7/tcp.7:391
14485 #, no-wrap
14486 msgid "I<tcp_dsack> (Boolean; default: enabled; since Linux 2.4)"
14487 msgstr "I<tcp_dsack> (ブール値; デフォルト: 有効; Linux 2.4 以降)"
14488
14489 #.  Since 2.4.0-test7
14490 #. type: Plain text
14491 #: build/C/man7/tcp.7:395
14492 msgid "Enable RFC\\ 2883 TCP Duplicate SACK support."
14493 msgstr "RFC\\ 2883 の TCP Duplicate SACK のサポートを有効にする。"
14494
14495 #. type: TP
14496 #: build/C/man7/tcp.7:395
14497 #, no-wrap
14498 msgid "I<tcp_ecn> (Boolean; default: disabled; since Linux 2.4)"
14499 msgstr "I<tcp_ecn> (ブール値; デフォルト: 無効; Linux 2.4 以降)"
14500
14501 #.  Since 2.4.0-test7
14502 #. type: Plain text
14503 #: build/C/man7/tcp.7:402
14504 msgid "Enable RFC\\ 2884 Explicit Congestion Notification.  When enabled, connectivity to some destinations could be affected due to older, misbehaving routers along the path causing connections to be dropped."
14505 msgstr "RFC\\ 2884 の Explicit Congestion Notification を有効にする。 これを有効にすると、間違った振舞いをする古いルータが 経路の途中にあるような接続先に対して影響が生じ、 場合によっては接続が落ちるかもしれない。"
14506
14507 #. type: TP
14508 #: build/C/man7/tcp.7:402
14509 #, no-wrap
14510 msgid "I<tcp_fack> (Boolean; default: enabled; since Linux 2.2)"
14511 msgstr "I<tcp_fack> (ブール値; デフォルト: 有効; Linux 2.2 以降)"
14512
14513 #.  Since 2.1.92
14514 #. type: Plain text
14515 #: build/C/man7/tcp.7:406
14516 msgid "Enable TCP Forward Acknowledgement support."
14517 msgstr "TCP Forward Acknowledgement のサポートを有効にする。"
14518
14519 #. type: TP
14520 #: build/C/man7/tcp.7:406
14521 #, no-wrap
14522 msgid "I<tcp_fin_timeout> (integer; default: 60; since Linux 2.2)"
14523 msgstr "I<tcp_fin_timeout> (integer; default: 60; Linux 2.2 以降)"
14524
14525 #.  Since 2.1.53
14526 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14527 #. type: Plain text
14528 #: build/C/man7/tcp.7:416
14529 msgid "This specifies how many seconds to wait for a final FIN packet before the socket is forcibly closed.  This is strictly a violation of the TCP specification, but required to prevent denial-of-service attacks.  In Linux 2.2, the default value was 180."
14530 msgstr "ソケットを強制的にクローズする前に、 最後の FIN パケットを待つ時間を秒単位で指定する。 これは厳密には TCP の仕様を満たしていないが、 DoS 攻撃 (denial of service attack) から身を守るために必要である。 Linux 2.2 ではデフォルト値は 180 であった。"
14531
14532 #. type: TP
14533 #: build/C/man7/tcp.7:416
14534 #, no-wrap
14535 msgid "I<tcp_frto> (integer; default: 0; since Linux 2.4.21/2.6)"
14536 msgstr "I<tcp_frto> (integer; default: 0; Linux 2.4.21/2.6 以降)"
14537
14538 #.  Since 2.4.21/2.5.43
14539 #. type: Plain text
14540 #: build/C/man7/tcp.7:425
14541 msgid "Enable F-RTO, an enhanced recovery algorithm for TCP retransmission timeouts (RTOs).  It is particularly beneficial in wireless environments where packet loss is typically due to random radio interference rather than intermediate router congestion.  See RFC 4138 for more details."
14542 msgstr "F-RTO を有効にする。F-RTO は TCP 再送タイムアウト (RTO) からの 復旧性能を向上させたアルゴリズムである。 この機能は無線環境で特に効果を発揮する。 無線環境では、通常は、中間ルータの輻輳ではなくランダムな無線の干渉 によりパケットロスが発生する。 詳細は RFC\\ 4138 を参照。"
14543
14544 #. type: Plain text
14545 #: build/C/man7/tcp.7:427
14546 msgid "This file can have one of the following values:"
14547 msgstr "このファイルは以下のいずれかの値を取ることができる。"
14548
14549 #. type: Plain text
14550 #: build/C/man7/tcp.7:430
14551 msgid "Disabled."
14552 msgstr "F-RTO を無効にする。"
14553
14554 #. type: Plain text
14555 #: build/C/man7/tcp.7:432
14556 msgid "The basic version F-RTO algorithm is enabled."
14557 msgstr "基本版の F-RTO アルゴリズムを有効にする。"
14558
14559 #. type: Plain text
14560 #: build/C/man7/tcp.7:437
14561 msgid "Enable SACK-enhanced F-RTO if flow uses SACK.  The basic version can be used also when SACK is in use though in that case scenario(s) exists where F-RTO interacts badly with the packet counting of the SACK-enabled TCP flow."
14562 msgstr "そのフローで SACK を使用する場合、SACK 拡張版の F-RTO を有効にする。 基本版の F-RTO も SACK が使用されている場合にも使用できるが、 基本版の場合には F-RTO が SACK が有効になった TCP フローでの パケット数計測と、相性が悪く相互干渉が起こる場面が存在する。"
14563
14564 #. type: Plain text
14565 #: build/C/man7/tcp.7:441
14566 msgid "Before Linux 2.6.22, this parameter was a Boolean value, supporting just values 0 and 1 above."
14567 msgstr "Linu 2.6.22 より前では、このパラメーターはブール値であり、 上記の 0 と 1 のみをサポートしていた。"
14568
14569 #. type: TP
14570 #: build/C/man7/tcp.7:441
14571 #, no-wrap
14572 msgid "I<tcp_frto_response> (integer; default: 0; since Linux 2.6.22)"
14573 msgstr "I<tcp_frto_response> (integer; default: 0; Linux 2.6.22 以降)"
14574
14575 #. type: Plain text
14576 #: build/C/man7/tcp.7:448
14577 msgid "When F-RTO has detected that a TCP retransmission timeout was spurious (i.e, the timeout would have been avoided had TCP set a longer retransmission timeout), TCP has several options concerning what to do next.  Possible values are:"
14578 msgstr "F-RTO が TCP 再送タイムアウトが偽物だと検出した場合 (つまり、TCP がもっと長い再送タイムアウトを設定していれば タイムアウトが避けられた場合)、 次にどうするかに関して選択肢がいくつかある。 以下の値を選択できる。"
14579
14580 #. type: Plain text
14581 #: build/C/man7/tcp.7:456
14582 msgid "Rate halving based; a smooth and conservative response, results in halved congestion window (I<cwnd>)  and slow-start threshold (I<ssthresh>)  after one RTT."
14583 msgstr "レートを元の半分にする。 滑らかで、保守的な反応を行い、RTT 1回分の時間後に 輻輳ウィンドウ (I<cwnd>)  とスロースタートの閾値 (I<ssthresh>)  が半分になる。"
14584
14585 #. type: Plain text
14586 #: build/C/man7/tcp.7:463
14587 msgid "Very conservative response; not recommended because even though being valid, it interacts poorly with the rest of Linux TCP; halves I<cwnd> and I<ssthresh> immediately."
14588 msgstr "非常に保守的な反応。このオプションの使用は推奨されない。 反応が正しかった場合であっても、Linux TCP の他の部分と うまく連携できないからである。 I<cwnd> と I<ssthresh> は直ちに半分にされる。"
14589
14590 #. type: Plain text
14591 #: build/C/man7/tcp.7:472
14592 msgid "Aggressive response; undoes congestion-control measures that are now known to be unnecessary (ignoring the possibility of a lost retransmission that would require TCP to be more cautious); I<cwnd> and I<ssthresh> are restored to the values prior to timeout."
14593 msgstr "積極的な反応。 不要と判明した輻輳制御の測定情報を取り消す (TCP がもっと注意深く扱うべき再送が失われる可能性を無視する)。 。 I<cwnd> と I<ssthresh> はタイムアウト前の値に戻される。"
14594
14595 #. type: TP
14596 #: build/C/man7/tcp.7:473
14597 #, no-wrap
14598 msgid "I<tcp_keepalive_intvl> (integer; default: 75; since Linux 2.4)"
14599 msgstr "I<tcp_keepalive_intvl> (integer; default: 75; Linux 2.4 以降)"
14600
14601 #.  Since 2.3.18
14602 #. type: Plain text
14603 #: build/C/man7/tcp.7:477
14604 msgid "The number of seconds between TCP keep-alive probes."
14605 msgstr "TCP keep-alive のプローブを送る間隔 (秒単位)。"
14606
14607 #. type: TP
14608 #: build/C/man7/tcp.7:477
14609 #, no-wrap
14610 msgid "I<tcp_keepalive_probes> (integer; default: 9; since Linux 2.2)"
14611 msgstr "I<tcp_keepalive_probes> (integer; default: 9; Linux 2.2 以降)"
14612
14613 #.  Since 2.1.43
14614 #. type: Plain text
14615 #: build/C/man7/tcp.7:483
14616 msgid "The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end."
14617 msgstr "TCP keep-alive プローブの最大回数。 この回数だけ試しても接続先から反応が得られない場合は、 あきらめて接続を切断する。"
14618
14619 #. type: TP
14620 #: build/C/man7/tcp.7:483
14621 #, no-wrap
14622 msgid "I<tcp_keepalive_time> (integer; default: 7200; since Linux 2.2)"
14623 msgstr "I<tcp_keepalive_time> (integer; default: 7200; Linux 2.2 以降)"
14624
14625 #.  Since 2.1.43
14626 #. type: Plain text
14627 #: build/C/man7/tcp.7:495
14628 msgid "The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes.  Keep-alives are sent only when the B<SO_KEEPALIVE> socket option is enabled.  The default value is 7200 seconds (2 hours).  An idle connection is terminated after approximately an additional 11 minutes (9 probes an interval of 75 seconds apart) when keep-alive is enabled."
14629 msgstr "接続がアイドル状態になってから、keep-alive プローブを送信するまでの時間を秒単位で指定する。 B<SO_KEEPALIVE> ソケットオプションが有効になっている場合のみ keep-alive は送信される。 デフォルト値は 7200 秒 (2 時間)。 keep-alive が有効になっている場合、 さらにおよそ 11 分 (75 秒間隔の 9 プローブ分)  経過するとアイドル状態の接続は終了させられる。"
14630
14631 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14632 #. type: Plain text
14633 #: build/C/man7/tcp.7:500
14634 msgid "Note that underlying connection tracking mechanisms and application timeouts may be much shorter."
14635 msgstr "下層にある接続追跡機構やアプリケーションでのタイムアウトは、 もっとずっと短いかもしれない。"
14636
14637 #. type: TP
14638 #: build/C/man7/tcp.7:500
14639 #, no-wrap
14640 msgid "I<tcp_low_latency> (Boolean; default: disabled; since Linux 2.4.21/2.6)"
14641 msgstr "I<tcp_low_latency> (ブール値; デフォルト: 無効; Linux 2.4.21/2.6 以降)"
14642
14643 #.  Since 2.4.21/2.5.60
14644 #. type: Plain text
14645 #: build/C/man7/tcp.7:508
14646 msgid "If enabled, the TCP stack makes decisions that prefer lower latency as opposed to higher throughput.  It this option is disabled, then higher throughput is preferred.  An example of an application where this default should be changed would be a Beowulf compute cluster."
14647 msgstr "有効にすると、TCP スタックはスループットを高くするよりも 遅延を少なくすることを優先して判断を行う。 このオプションを無効にすると、スループットを高くすることが優先される。 このデフォルト値を変更した方がよいアプリケーションの例としては Beowulf コンピュータクラスタが挙げられるだろう。"
14648
14649 #. type: TP
14650 #: build/C/man7/tcp.7:508
14651 #, no-wrap
14652 msgid "I<tcp_max_orphans> (integer; default: see below; since Linux 2.4)"
14653 msgstr "I<tcp_max_orphans> (integer; default: see below; Linux 2.4 以降)"
14654
14655 #.  Since 2.3.41
14656 #. type: Plain text
14657 #: build/C/man7/tcp.7:522
14658 msgid "The maximum number of orphaned (not attached to any user file handle) TCP sockets allowed in the system.  When this number is exceeded, the orphaned connection is reset and a warning is printed.  This limit exists only to prevent simple denial-of-service attacks.  Lowering this limit is not recommended.  Network conditions might require you to increase the number of orphans allowed, but note that each orphan can eat up to ~64K of unswappable memory.  The default initial value is set equal to the kernel parameter NR_FILE.  This initial default is adjusted depending on the memory in the system."
14659 msgstr "システムが許容する、 orphan な (どのユーザーファイルハンドルにもアタッチされていない)  TCP ソケットの最大数。 この数を越えると、orphan な接続はリセットされ、警告が表示される。 この制限が存在するのは、単純な使用不能 (denial-of-service) 攻撃を 防ぐために過ぎない。この値を小さくすることは推奨しない。 ネットワークの条件によっては、この数値を大きくしないといけないかもしれないが、 orphan なソケットひとつあたり 64K 程度のスワップ不可能なメモリを消費することも注意せよ。 デフォルトの初期値はカーネルパラメーターの NR_FILE と等しい。 この初期デフォルト値はシステムのメモリに応じて調整される。"
14660
14661 #. type: TP
14662 #: build/C/man7/tcp.7:522
14663 #, no-wrap
14664 msgid "I<tcp_max_syn_backlog> (integer; default: see below; since Linux 2.2)"
14665 msgstr "I<tcp_max_syn_backlog> (integer; default: 下記参照; Linux 2.2 以降)"
14666
14667 #.  Since 2.1.53
14668 #. type: Plain text
14669 #: build/C/man7/tcp.7:539
14670 msgid "The maximum number of queued connection requests which have still not received an acknowledgement from the connecting client.  If this number is exceeded, the kernel will begin dropping requests.  The default value of 256 is increased to 1024 when the memory present in the system is adequate or greater (E<gt>= 128Mb), and reduced to 128 for those systems with very low memory (E<lt>= 32Mb).  It is recommended that if this needs to be increased above 1024, TCP_SYNQ_HSIZE in I<include/net/tcp.h> be modified to keep TCP_SYNQ_HSIZE*16E<lt>=tcp_max_syn_backlog, and the kernel be recompiled."
14671 msgstr "接続してきているクライアントから ack を受信していない状態の接続リクエストをキューに置ける最大数。 この数値を越えると、カーネルはリクエストを捨て始める。 デフォルトの値は 256 で、 システムに充分なメモリがある (128Mb 以上) 場合は 1024 になり、 メモリが非常に少ない場合 (32 Mb 以下) は 128 になる。 この数値を 1024 以上に増やしたい場合は、 I<include/net/tcp.h> の TCP_SYNQ_HSIZE を TCP_SYNQ_HSIZE*16E<lt>=tcp_max_syn_backlog のように修正し、 カーネルを再コンパイルすることを奨める。"
14672
14673 #. type: TP
14674 #: build/C/man7/tcp.7:539
14675 #, no-wrap
14676 msgid "I<tcp_max_tw_buckets> (integer; default: see below; since Linux 2.4)"
14677 msgstr "I<tcp_max_tw_buckets> (integer; default: 下記参照; Linux 2.4 以降)"
14678
14679 #.  Since 2.3.41
14680 #. type: Plain text
14681 #: build/C/man7/tcp.7:549
14682 msgid "The maximum number of sockets in TIME_WAIT state allowed in the system.  This limit exists only to prevent simple denial-of-service attacks.  The default value of NR_FILE*2 is adjusted depending on the memory in the system.  If this number is exceeded, the socket is closed and a warning is printed."
14683 msgstr "システムが許容する TIME_WAIT 状態にあるソケットの最大数。 この制限が存在するのは、 単純な使用不能 (denial-of-service) 攻撃を防ぐために過ぎない。 デフォルト値は NR_FILE*2 で、システムのメモリに応じて調整される。 この数値を越えると、そのようなソケットはクローズされ、警告が表示される。"
14684
14685 #. type: TP
14686 #: build/C/man7/tcp.7:549
14687 #, no-wrap
14688 msgid "I<tcp_moderate_rcvbuf> (Boolean; default: enabled; since Linux 2.4.17/2.6.7)"
14689 msgstr "I<tcp_moderate_rcvbuf> (ブール値; デフォルト: 有効; Linux 2.4.17/2.6.7 以降)"
14690
14691 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14692 #. type: Plain text
14693 #: build/C/man7/tcp.7:556
14694 msgid "If enabled, TCP performs receive buffer auto-tuning, attempting to automatically size the buffer (no greater than I<tcp_rmem[2]>)  to match the size required by the path for full throughput."
14695 msgstr "有効にすると、TCP は受信バッファーの自動調整を行う。 具体的には、 (I<tcp_rmem[2]> を超えない範囲で) バッファーの大きさを自動的に変化させ、 その経路で最大のスループットを達成するのに必要な大きさに合わせようとする。"
14696
14697 #. type: TP
14698 #: build/C/man7/tcp.7:556
14699 #, no-wrap
14700 msgid "I<tcp_mem> (since Linux 2.4)"
14701 msgstr "I<tcp_mem> (Linux 2.4 以降)"
14702
14703 #.  Since 2.4.0-test7
14704 #. type: Plain text
14705 #: build/C/man7/tcp.7:568
14706 msgid "This is a vector of 3 integers: [low, pressure, high].  These bounds, measured in units of the system page size, are used by TCP to track its memory usage.  The defaults are calculated at boot time from the amount of available memory.  (TCP can only use I<low memory> for this, which is limited to around 900 megabytes on 32-bit systems.  64-bit systems do not suffer this limitation.)"
14707 msgstr "これは 3 つの整数 [low, pressure, high] からなるベクトル値である。 これらは TCP がメモリ使用量を追跡するために用いられる (使用量はシステムのページサイズ単位で計測される)。 デフォルトはブート時に利用できるメモリの量から計算される。 (実際には、TCP は I<low memory> のみを使用する。値は 32ビットシステムでは約 900 メガバイトに制限される。 64 ビットシステムではこの制限はない。)"
14708
14709 #. type: TP
14710 #: build/C/man7/tcp.7:569
14711 #, no-wrap
14712 msgid "I<low>"
14713 msgstr "I<low>"
14714
14715 #. type: Plain text
14716 #: build/C/man7/tcp.7:573
14717 msgid "TCP doesn't regulate its memory allocation when the number of pages it has allocated globally is below this number."
14718 msgstr "TCP は、グローバルにアロケートしたページがこの数値以下の場合は、 メモリアロケーションを調整しない。"
14719
14720 #. type: TP
14721 #: build/C/man7/tcp.7:573 build/C/man7/udp.7:151
14722 #, no-wrap
14723 msgid "I<pressure>"
14724 msgstr "I<pressure>"
14725
14726 #. type: Plain text
14727 #: build/C/man7/tcp.7:582
14728 msgid "When the amount of memory allocated by TCP exceeds this number of pages, TCP moderates its memory consumption.  This memory pressure state is exited once the number of pages allocated falls below the I<low> mark."
14729 msgstr "TCP がアロケートしたメモリがこの数値分のページ数を越えると、 TCP はメモリ消費を抑えるようになる。 アロケートしたページ数が I<low> 以下になると、このメモリ圧迫状態から脱する。"
14730
14731 #. type: TP
14732 #: build/C/man7/tcp.7:582
14733 #, no-wrap
14734 msgid "I<high>"
14735 msgstr "I<high>"
14736
14737 #. type: Plain text
14738 #: build/C/man7/tcp.7:586
14739 msgid "The maximum number of pages, globally, that TCP will allocate.  This value overrides any other limits imposed by the kernel."
14740 msgstr "TCP がグローバルに割り当てるページ数の最大値。 この値はカーネルによって課されるあらゆる制限よりも優先される。"
14741
14742 #. type: TP
14743 #: build/C/man7/tcp.7:587
14744 #, no-wrap
14745 msgid "I<tcp_mtu_probing> (integer; default: 0; since Linux 2.6.17)"
14746 msgstr "I<tcp_mtu_probing> (integer; default: 0; Linux 2.6.17 以降)"
14747
14748 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14749 #. type: Plain text
14750 #: build/C/man7/tcp.7:592
14751 msgid "This parameter controls TCP Packetization-Layer Path MTU Discovery.  The following values may be assigned to the file:"
14752 msgstr "このパラメーターは、TCP のパケット化レイヤの Path MTU discovery を制御する。 このファイルには以下の値を設定できる。"
14753
14754 #. type: Plain text
14755 #: build/C/man7/tcp.7:595
14756 msgid "Disabled"
14757 msgstr "無効にする。"
14758
14759 #. type: Plain text
14760 #: build/C/man7/tcp.7:597
14761 msgid "Disabled by default, enabled when an ICMP black hole detected"
14762 msgstr "デフォルトでは無効だが、ICMP ブラックホールが検出された場合は有効にする。"
14763
14764 #. type: Plain text
14765 #: build/C/man7/tcp.7:600
14766 msgid "Always enabled, use initial MSS of I<tcp_base_mss>."
14767 msgstr "常に有効にする。 MSS の初期値として I<tcp_base_mss> が使用される。"
14768
14769 #. type: TP
14770 #: build/C/man7/tcp.7:601
14771 #, no-wrap
14772 msgid "I<tcp_no_metrics_save> (Boolean; default: disabled; since Linux 2.6.6)"
14773 msgstr "I<tcp_no_metrics_save> (ブール値; デフォルト: 無効; Linux 2.6.6 以降)"
14774
14775 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14776 #. type: Plain text
14777 #: build/C/man7/tcp.7:612
14778 msgid "By default, TCP saves various connection metrics in the route cache when the connection closes, so that connections established in the near future can use these to set initial conditions.  Usually, this increases overall performance, but it may sometimes cause performance degradation.  If I<tcp_no_metrics_save> is enabled, TCP will not cache metrics on closing connections."
14779 msgstr "デフォルトでは、TCP は接続クローズ時に各種の接続パラメーターを ルートキャッシュ (route cache) に保存し、近い将来に接続が確立された際に これらの情報を初期状態として使用できるようになっている。 通常は、これにより全体として性能が向上するが、 時として性能の劣化を引き起こすこともある。 I<tcp_no_metrics_save> を有効にすると、TCP は接続クローズ時に接続パラメーターをキャッシュ しなくなる。"
14780
14781 #. type: TP
14782 #: build/C/man7/tcp.7:612
14783 #, no-wrap
14784 msgid "I<tcp_orphan_retries> (integer; default: 8; since Linux 2.4)"
14785 msgstr "I<tcp_orphan_retries> (integer; default: 8; Linux 2.4 以降)"
14786
14787 #.  Since 2.3.41
14788 #. type: Plain text
14789 #: build/C/man7/tcp.7:617
14790 msgid "The maximum number of attempts made to probe the other end of a connection which has been closed by our end."
14791 msgstr "こちらからクローズした接続について、 先方をプローブする最大試行数。"
14792
14793 #. type: TP
14794 #: build/C/man7/tcp.7:617
14795 #, no-wrap
14796 msgid "I<tcp_reordering> (integer; default: 3; since Linux 2.4)"
14797 msgstr "I<tcp_reordering> (integer; default: 3; Linux 2.4 以降)"
14798
14799 #.  Since 2.4.0-test7
14800 #. type: Plain text
14801 #: build/C/man7/tcp.7:626
14802 msgid "The maximum a packet can be reordered in a TCP packet stream without TCP assuming packet loss and going into slow start.  It is not advisable to change this number.  This is a packet reordering detection metric designed to minimize unnecessary back off and retransmits provoked by reordering of packets on a connection."
14803 msgstr "TCP パケットストリームでパケット順序の逆転が発生しただけであり、 パケットロスが起こったとはみなさない、パケット数の最大値。 この値を超えてパケットの順序逆転が起こると、パケットロスが生じたと みなし、slow start に入る。 この数値は変更しないほうが良い。 これは、接続中のパケットの並び替えによって生じる 不必要な速度低下や再送を最小化するように設計された、 パケット並び替え (packet reordering) の検知メトリックなのである。"
14804
14805 #. type: TP
14806 #: build/C/man7/tcp.7:626
14807 #, no-wrap
14808 msgid "I<tcp_retrans_collapse> (Boolean; default: enabled; since Linux 2.2)"
14809 msgstr "I<tcp_retrans_collapse> (ブール値; デフォルト: 有効; Linux 2.2 以降)"
14810
14811 #.  Since 2.1.96
14812 #. type: Plain text
14813 #: build/C/man7/tcp.7:630
14814 msgid "Try to send full-sized packets during retransmit."
14815 msgstr "再送の際にフルサイズのパケットを送ろうとする。"
14816
14817 #. type: TP
14818 #: build/C/man7/tcp.7:630
14819 #, no-wrap
14820 msgid "I<tcp_retries1> (integer; default: 3; since Linux 2.2)"
14821 msgstr "I<tcp_retries1> (integer; default: 3; Linux 2.2 以降)"
14822
14823 #.  Since 2.1.43
14824 #. type: Plain text
14825 #: build/C/man7/tcp.7:640
14826 msgid "The number of times TCP will attempt to retransmit a packet on an established connection normally, without the extra effort of getting the network layers involved.  Once we exceed this number of retransmits, we first have the network layer update the route if possible before each new retransmit.  The default is the RFC specified minimum of 3."
14827 msgstr "普通に確立されている接続上に、 TCP がネットワーク層を巻き込まずに再送を試みる回数。 再送がこの回数を越えると、まず最初に、 新しい再送を送る前に可能ならネットワーク層に経路を更新させる。 デフォルトは RFC が指定している最少数である 3。"
14828
14829 #. type: TP
14830 #: build/C/man7/tcp.7:640
14831 #, no-wrap
14832 msgid "I<tcp_retries2> (integer; default: 15; since Linux 2.2)"
14833 msgstr "I<tcp_retries2> (integer; default: 15; Linux 2.2 以降)"
14834
14835 #.  Since 2.1.43
14836 #. type: Plain text
14837 #: build/C/man7/tcp.7:650
14838 msgid "The maximum number of times a TCP packet is retransmitted in established state before giving up.  The default value is 15, which corresponds to a duration of approximately between 13 to 30 minutes, depending on the retransmission timeout.  The RFC\\ 1122 specified minimum limit of 100 seconds is typically deemed too short."
14839 msgstr "確立状態の接続に、この回数 TCP パケットの再送信を 行なってもだめな場合はあきらめる。 デフォルト値は 15 で、これは (再送のタイムアウトに依存するが)  およそ 13〜30 分程度の期間に対応する。 RFC\\ 1122 は最小の限界を 100 秒と置いているが、 これはたいていの場合には短すぎると思われる。"
14840
14841 #. type: TP
14842 #: build/C/man7/tcp.7:650
14843 #, no-wrap
14844 msgid "I<tcp_rfc1337> (Boolean; default: disabled; since Linux 2.2)"
14845 msgstr "I<tcp_rfc1337> (ブール値; デフォルト: 無効; Linux 2.2 以降)"
14846
14847 #.  Since 2.1.90
14848 #. type: Plain text
14849 #: build/C/man7/tcp.7:658
14850 msgid "Enable TCP behavior conformant with RFC\\ 1337.  When disabled, if a RST is received in TIME_WAIT state, we close the socket immediately without waiting for the end of the TIME_WAIT period."
14851 msgstr "TCP の動作を RFC\\ 1337 に準拠させる。 無効にすると、TIME_WAIT 状態のときに RST が受信された場合、 TIME_WAIT 期間の終了を待たずにそのソケットを直ちにクローズする。"
14852
14853 #. type: TP
14854 #: build/C/man7/tcp.7:658
14855 #, no-wrap
14856 msgid "I<tcp_rmem> (since Linux 2.4)"
14857 msgstr "I<tcp_rmem> (Linux 2.4 以降)"
14858
14859 #.  Since 2.4.0-test7
14860 #. type: Plain text
14861 #: build/C/man7/tcp.7:666
14862 msgid "This is a vector of 3 integers: [min, default, max].  These parameters are used by TCP to regulate receive buffer sizes.  TCP dynamically adjusts the size of the receive buffer from the defaults listed below, in the range of these values, depending on memory available in the system."
14863 msgstr "これは 3 つの整数 [min, default, max] からなるベクトル値である。 これらは TCP が受信バッファーサイズを調整するために用いられる。 TCP は、システムで利用できるメモリに応じて、 受信バッファーのサイズをこれらの変数の範囲で 以下に示すデフォルトから動的に調整する。"
14864
14865 #. type: TP
14866 #: build/C/man7/tcp.7:667 build/C/man7/tcp.7:844 build/C/man7/udp.7:145
14867 #, no-wrap
14868 msgid "I<min>"
14869 msgstr "I<min>"
14870
14871 #. type: Plain text
14872 #: build/C/man7/tcp.7:682
14873 msgid "minimum size of the receive buffer used by each TCP socket.  The default value is the system page size.  (On Linux 2.4, the default value is 4K, lowered to B<PAGE_SIZE> bytes in low-memory systems.)  This value is used to ensure that in memory pressure mode, allocations below this size will still succeed.  This is not used to bound the size of the receive buffer declared using B<SO_RCVBUF> on a socket."
14874 msgstr "各 TCP ソケットが用いる受信バッファーの最小サイズ。 デフォルト値はシステムのページサイズである (Linux 2.4 では、デフォルト値は 4K バイトで、 メモリの少ないシステムでは B<PAGE_SIZE> バイトに減らされる)。 この値は、メモリ圧迫モードにおいても、 このサイズの割り当てが成功することを保証するために用いられる。 これは、 B<SO_RCVBUF> を用いてソケットの最低受信バッファーサイズを宣言する際には用いられない。"
14875
14876 #. type: TP
14877 #: build/C/man7/tcp.7:682 build/C/man7/tcp.7:854
14878 #, no-wrap
14879 msgid "I<default>"
14880 msgstr "I<default>"
14881
14882 #. type: Plain text
14883 #: build/C/man7/tcp.7:696
14884 msgid "the default size of the receive buffer for a TCP socket.  This value overwrites the initial default buffer size from the generic global I<net.core.rmem_default> defined for all protocols.  The default value is 87380 bytes.  (On Linux 2.4, this will be lowered to 43689 in low-memory systems.)  If larger receive buffer sizes are desired, this value should be increased (to affect all sockets).  To employ large TCP windows, the I<net.ipv4.tcp_window_scaling> must be enabled (default)."
14885 msgstr "TCP ソケットの受信バッファーのデフォルトサイズ。 この値は、すべてのプロトコルに対して定義されている、 ジェネリックなグローバルのデフォルトバッファーサイズ I<net.core.rmem_default> より優先される。 デフォルト値は 87380 バイトである (Linux 2.4 では、メモリの少ないシステムの場合 43689 まで減らされる)。 大きな受信バッファーサイズが必要な場合は、 この値を増やすべきである (すべてのソケットに影響する)。 大きな TCP ウィンドウを用いるには、 I<net.ipv4.tcp_window_scaling> を有効にしておかなければならない (デフォルトは有効)。"
14886
14887 #. type: TP
14888 #: build/C/man7/tcp.7:696 build/C/man7/tcp.7:868 build/C/man7/udp.7:157
14889 #, no-wrap
14890 msgid "I<max>"
14891 msgstr "I<max>"
14892
14893 #. type: Plain text
14894 #: build/C/man7/tcp.7:705
14895 msgid "the maximum size of the receive buffer used by each TCP socket.  This value does not override the global I<net.core.rmem_max>.  This is not used to limit the size of the receive buffer declared using B<SO_RCVBUF> on a socket.  The default value is calculated using the formula"
14896 msgstr "各 TCP ソケットで用いる受信バッファーの最大サイズ。 この値よりもグローバルの I<net.core.rmem_max> が優先される。 これは、 B<SO_RCVBUF> を用いてソケットの受信バッファーサイズ制限を宣言する際には用いられない。 デフォルト値は以下の式で計算される。"
14897
14898 #. type: Plain text
14899 #: build/C/man7/tcp.7:707
14900 #, no-wrap
14901 msgid "    max(87380, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
14902 msgstr "    max(87380, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
14903
14904 #. type: Plain text
14905 #: build/C/man7/tcp.7:710
14906 msgid "(On Linux 2.4, the default is 87380*2 bytes, lowered to 87380 in low-memory systems)."
14907 msgstr "(Linux 2.4 では、デフォルト値は 87380*2 バイトで、 メモリの少ないシステムでは 87380 まで減らされる。)"
14908
14909 #. type: TP
14910 #: build/C/man7/tcp.7:711
14911 #, no-wrap
14912 msgid "I<tcp_sack> (Boolean; default: enabled; since Linux 2.2)"
14913 msgstr "I<tcp_sack> (ブール値; デフォルト: 有効; Linux 2.2 以降)"
14914
14915 #.  Since 2.1.36
14916 #. type: Plain text
14917 #: build/C/man7/tcp.7:715
14918 msgid "Enable RFC\\ 2018 TCP Selective Acknowledgements."
14919 msgstr "RFC\\ 2018 の TCP Selective Acknowledgements を有効にする。"
14920
14921 #. type: TP
14922 #: build/C/man7/tcp.7:715
14923 #, no-wrap
14924 msgid "I<tcp_slow_start_after_idle> (Boolean; default: enabled; since Linux 2.6.18)"
14925 msgstr "I<tcp_slow_start_after_idle> (ブール値; デフォルト: 有効; Linux 2.6.18 以降)"
14926
14927 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14928 #. type: Plain text
14929 #: build/C/man7/tcp.7:723
14930 msgid "If enabled, provide RFC 2861 behavior and time out the congestion window after an idle period.  An idle period is defined as the current RTO (retransmission timeout).  If disabled, the congestion window will not be timed out after an idle period."
14931 msgstr "有効にすると、RFC 2861 の動作が行われ、 アイドル時間経過後に輻輳ウィンドウをタイムアウトさせる。 アイドル時間は現在の RTO (再送タイムアウト) で定義される。 無効にすると、輻輳ウィンドウはアイドル時間経過後もタイムアウトされない。"
14932
14933 #. type: TP
14934 #: build/C/man7/tcp.7:723
14935 #, no-wrap
14936 msgid "I<tcp_stdurg> (Boolean; default: disabled; since Linux 2.2)"
14937 msgstr "I<tcp_stdurg> (ブール値; デフォルト: 無効; Linux 2.2 以降)"
14938
14939 #.  Since 2.1.44
14940 #.  RFC 793 was ambiguous in its specification of the meaning of the
14941 #.  urgent pointer.  RFC 1122 (and RFC 961) fixed on a particular
14942 #.  resolution of this ambiguity (unfortunately the "wrong" one).
14943 #. type: Plain text
14944 #: build/C/man7/tcp.7:737
14945 msgid "If this option is enabled, then use the RFC\\ 1122 interpretation of the TCP urgent-pointer field.  According to this interpretation, the urgent pointer points to the last byte of urgent data.  If this option is disabled, then use the BSD-compatible interpretation of the urgent pointer: the urgent pointer points to the first byte after the urgent data.  Enabling this option may lead to interoperability problems."
14946 msgstr "このオプションを有効にすると、 TCP 緊急ポインター (urgent-pointer)  フィールドを RFC\\ 1122 に従った解釈を行う。 この解釈に従うと、緊急ポインターは緊急データの最後のバイトを指す。 このオプションを無効にすると、緊急ポインターの解釈が BSD 互換の方法で 行われる: 緊急ポインターは緊急データの後の最初のバイトを指す。 このオプションを有効にすると、相互運用性に問題が生じるかもしれない。"
14947
14948 #. type: TP
14949 #: build/C/man7/tcp.7:737
14950 #, no-wrap
14951 msgid "I<tcp_syn_retries> (integer; default: 5; since Linux 2.2)"
14952 msgstr "I<tcp_syn_retries> (integer; default: 5; Linux 2.2 以降)"
14953
14954 #.  Since 2.1.38
14955 #. type: Plain text
14956 #: build/C/man7/tcp.7:744
14957 msgid "The maximum number of times initial SYNs for an active TCP connection attempt will be retransmitted.  This value should not be higher than 255.  The default value is 5, which corresponds to approximately 180 seconds."
14958 msgstr "アクティブな TCP 接続に初期 SYN の再送を試みる最大回数。 この数値は 255 よりも大きくすべきではない。 デフォルトの値は 5 で、およそ 180 秒に対応する。"
14959
14960 #. type: TP
14961 #: build/C/man7/tcp.7:744
14962 #, no-wrap
14963 msgid "I<tcp_synack_retries> (integer; default: 5; since Linux 2.2)"
14964 msgstr "I<tcp_synack_retries> (integer; default: 5; Linux 2.2 以降)"
14965
14966 #.  Since 2.1.38
14967 #. type: Plain text
14968 #: build/C/man7/tcp.7:750
14969 msgid "The maximum number of times a SYN/ACK segment for a passive TCP connection will be retransmitted.  This number should not be higher than 255."
14970 msgstr "passive な TCP 接続の SYN/ACK セグメントで再送を試みる最大数。 この数値は 255 よりも大きくすべきではない。"
14971
14972 #. type: TP
14973 #: build/C/man7/tcp.7:750
14974 #, no-wrap
14975 msgid "I<tcp_syncookies> (Boolean; since Linux 2.2)"
14976 msgstr "I<tcp_syncookies> (Boolean; Linux 2.2 以降)"
14977
14978 #.  Since 2.1.43
14979 #. type: Plain text
14980 #: build/C/man7/tcp.7:770
14981 msgid "Enable TCP syncookies.  The kernel must be compiled with B<CONFIG_SYN_COOKIES>.  Send out syncookies when the syn backlog queue of a socket overflows.  The syncookies feature attempts to protect a socket from a SYN flood attack.  This should be used as a last resort, if at all.  This is a violation of the TCP protocol, and conflicts with other areas of TCP such as TCP extensions.  It can cause problems for clients and relays.  It is not recommended as a tuning mechanism for heavily loaded servers to help with overloaded or misconfigured conditions.  For recommended alternatives see I<tcp_max_syn_backlog>, I<tcp_synack_retries>, and I<tcp_abort_on_overflow>."
14982 msgstr "TCP syncookies を有効にする。カーネルは B<CONFIG_SYNCOOKIES> をつけてコンパイルしておかなければならない。 ソケットのバックログキューがオーバーフローすると、 syncookies が送信される。 syncookies 機能は、SYN flood 攻撃からソケットを守ろうとする。 これはいずれにしても、最終手段として用いるべきである。 これは TCP プロトコルに違反しており、 TCP 拡張のような、TCP の他の部分と衝突してしまう。 クライアントやリレーで問題が起こることもある。 過負荷や設定間違いによって負荷の大きな状態にあるサーバを調整して救うための 機構とみなすべきではない。 そのような用途には、代わりに I<tcp_max_syn_backlog>, I<tcp_synack_retries>, I<tcp_abort_on_overflow> などの使用を考えること。"
14983
14984 #. type: TP
14985 #: build/C/man7/tcp.7:770
14986 #, no-wrap
14987 msgid "I<tcp_timestamps> (Boolean; default: enabled; since Linux 2.2)"
14988 msgstr "I<tcp_timestamps> (ブール値; デフォルト: 有効; Linux 2.2 以降)"
14989
14990 #.  Since 2.1.36
14991 #. type: Plain text
14992 #: build/C/man7/tcp.7:774
14993 msgid "Enable RFC\\ 1323 TCP timestamps."
14994 msgstr "RFC\\ 1323 の TCP timestamps を有効にする。"
14995
14996 #. type: TP
14997 #: build/C/man7/tcp.7:774
14998 #, no-wrap
14999 msgid "I<tcp_tso_win_divisor> (integer; default: 3; since Linux 2.6.9)"
15000 msgstr "I<tcp_tso_win_divisor> (integer; default: 3; Linux 2.6.9 以降)"
15001
15002 #. type: Plain text
15003 #: build/C/man7/tcp.7:780
15004 msgid "This parameter controls what percentage of the congestion window can be consumed by a single TCP Segmentation Offload (TSO) frame.  The setting of this parameter is a tradeoff between burstiness and building larger TSO frames."
15005 msgstr "このパラメーターは、一つの TCP Segmentation Offload (TSO) フレームで 消費できる輻輳ウィンドウの割合 (パーセント) を制御する。 バースト性と、どれだけ大きな TSO フレームを構築するかのはトレードオフであり、 このパラメーターはその度合いを設定する。"
15006
15007 #. type: TP
15008 #: build/C/man7/tcp.7:780
15009 #, no-wrap
15010 msgid "I<tcp_tw_recycle> (Boolean; default: disabled; since Linux 2.4)"
15011 msgstr "I<tcp_tw_recycle> (ブール値; デフォルト: 無効; Linux 2.4 以降)"
15012
15013 #
15014 #.  Since 2.3.15
15015 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15016 #. type: Plain text
15017 #: build/C/man7/tcp.7:790
15018 msgid "Enable fast recycling of TIME_WAIT sockets. Enabling this option is not recommended for devices communicating with the general Internet or using NAT (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."
15019 msgstr "TIME_WAIT ソケットの素早い再利用 (fast recycling) を有効にする。 通常のインターネットと通信したり NAT (ネットワークアドレス変換) を使うデバイスでは、 このオプションを有効にするのは推奨されない。 いくつかの NAT ゲートウェイでは IP タイムスタンプをそのまま通過させるので、 一つの IP が増加しないタイムスタンプを持つように見える。 RFC 1323 (PAWS), RFC 6191 を参照。"
15020
15021 #. type: TP
15022 #: build/C/man7/tcp.7:790
15023 #, no-wrap
15024 msgid "I<tcp_tw_reuse> (Boolean; default: disabled; since Linux 2.4.19/2.6)"
15025 msgstr "I<tcp_tw_reuse> (ブール値; デフォルト: 無効; Linux 2.4.19/2.6 以降)"
15026
15027 #.  Since 2.4.19/2.5.43
15028 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15029 #. type: Plain text
15030 #: build/C/man7/tcp.7:798
15031 msgid "Allow to reuse TIME_WAIT sockets for new connections when it is safe from protocol viewpoint.  It should not be changed without advice/request of technical experts."
15032 msgstr "プロトコルの面から見て問題ない場合に新規コネクションに TIME_WAIT 状態のソケットを再利用することを許可する。技術的に詳しい人の助言や 要請なしにこのオプションを変更すべきではない。"
15033
15034 #. type: TP
15035 #: build/C/man7/tcp.7:798
15036 #, no-wrap
15037 msgid "I<tcp_vegas_cong_avoid> (Boolean; default: disabled; Linux 2.2 to 2.6.13)"
15038 msgstr "I<tcp_vegas_cong_avoid> (ブール値; デフォルト: 無効; Linux 2.2 から 2.6.13 まで)"
15039
15040 #.  Since 2.1.8; removed in 2.6.13
15041 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15042 #. type: Plain text
15043 #: build/C/man7/tcp.7:809
15044 msgid "Enable TCP Vegas congestion avoidance algorithm.  TCP Vegas is a sender-side only change to TCP that anticipates the onset of congestion by estimating the bandwidth.  TCP Vegas adjusts the sending rate by modifying the congestion window.  TCP Vegas should provide less packet loss, but it is not as aggressive as TCP Reno."
15045 msgstr "TCP Vegas 輻輳制御アルゴリズムを有効にする。 TCP Vegas は帯域を推測することで輻輳の起こり始めを予想するように TCP の送信側のみに変更を加えたものである。 TCP Vegas は輻輳ウィンドウを修正することで、送信レートを調整する。 TCP Vegas は TCP Reno と比べてパケットロスは少ないが、 TCP Reno ほど積極的な挙動はしない。"
15046
15047 #. type: TP
15048 #: build/C/man7/tcp.7:809
15049 #, no-wrap
15050 msgid "I<tcp_westwood> (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)"
15051 msgstr "I<tcp_westwood> (ブール値; デフォルト: 無効; Linux 2.4.26/2.6.3 から 2.6.13 まで)"
15052
15053 #. type: Plain text
15054 #: build/C/man7/tcp.7:821
15055 msgid "Enable TCP Westwood+ congestion control algorithm.  TCP Westwood+ is a sender-side only modification of the TCP Reno protocol stack that optimizes the performance of TCP congestion control.  It is based on end-to-end bandwidth estimation to set congestion window and slow start threshold after a congestion episode.  Using this estimation, TCP Westwood+ adaptively sets a slow start threshold and a congestion window which takes into account the bandwidth used at the time congestion is experienced.  TCP Westwood+ significantly increases fairness with respect to TCP Reno in wired networks and throughput over wireless links."
15056 msgstr "TCP Westwood+ 輻輳制御アルゴリズムを有効にする。 TCP Westwood+ は TCP 輻輳制御の性能を最適化するように TCP Reno の プロトコルスタックの送信側のみに修正を加えたものである。 輻輳が起こった後で、輻輳ウィンドウや slow start の閾値を 通信両端間の帯域の推測に基づいて設定する。 この推測を使って、TCP Westwood+ は輻輳が発生した時に使っていた 帯域を考慮に入れた slow start の閾値と輻輳ウィンドウを設定する。 TCP Westwood+ は、有線ネットワークにおける TCP Reno の公平性 (fairness) と、無線リンクでのスループットを大きく向上する。"
15057
15058 #. type: TP
15059 #: build/C/man7/tcp.7:821
15060 #, no-wrap
15061 msgid "I<tcp_window_scaling> (Boolean; default: enabled; since Linux 2.2)"
15062 msgstr "I<tcp_window_scaling> (ブール値; デフォルト: 有効; Linux 2.2 以降)"
15063
15064 #.  Since 2.1.36
15065 #. type: Plain text
15066 #: build/C/man7/tcp.7:835
15067 msgid "Enable RFC\\ 1323 TCP window scaling.  This feature allows the use of a large window (E<gt> 64K) on a TCP connection, should the other end support it.  Normally, the 16 bit window length field in the TCP header limits the window size to less than 64K bytes.  If larger windows are desired, applications can increase the size of their socket buffers and the window scaling option will be employed.  If I<tcp_window_scaling> is disabled, TCP will not negotiate the use of window scaling with the other end during connection setup."
15068 msgstr "RFC\\ 1323 の TCP ウィンドウスケーリングを有効にする。 この機能を用いると、接続先が対応していれば、 TCP 接続で大きな (64K 以上の) ウィンドウが使えるようになる。 通常は TCP ヘッダのウインドウ長フィールドは 16 ビットなので、 ウィンドウサイズは 64K バイト以下に限られる。 もっと大きなウィンドウを使いたい場合は、 アプリケーションはソケットバッファーのサイズを増やして、 ウィンドウスケーリングのオプションを利用すればよい。 I<tcp_window_scaling> を無効にしていると、 TCP は他端との接続設定の際に、 ウィンドウスケーリングのネゴシエーションを行なわない。"
15069
15070 #. type: TP
15071 #: build/C/man7/tcp.7:835
15072 #, no-wrap
15073 msgid "I<tcp_wmem> (since Linux 2.4)"
15074 msgstr "I<tcp_wmem> (Linux 2.4 以降)"
15075
15076 #.  Since 2.4.0-test7
15077 #. type: Plain text
15078 #: build/C/man7/tcp.7:843
15079 msgid "This is a vector of 3 integers: [min, default, max].  These parameters are used by TCP to regulate send buffer sizes.  TCP dynamically adjusts the size of the send buffer from the default values listed below, in the range of these values, depending on memory available."
15080 msgstr "これは 3 つの整数 [min, default, max] からなるベクトル値である。 これらは TCP が送信バッファーサイズを調整するために用いられる。 TCP は、システムで利用できるメモリに応じて、送信バッファーのサイズを これらの変数の範囲で以下に示すデフォルトから動的に調整する。"
15081
15082 #. type: Plain text
15083 #: build/C/man7/tcp.7:854
15084 msgid "Minimum size of the send buffer used by each TCP socket.  The default value is the system page size.  (On Linux 2.4, the default value is 4K bytes.)  This value is used to ensure that in memory pressure mode, allocations below this size will still succeed.  This is not used to bound the size of the send buffer declared using B<SO_SNDBUF> on a socket."
15085 msgstr "各 TCP ソケットが用いる送信バッファーの最小サイズ。 デフォルト値はシステムのページサイズである (Linux 2.4 では、デフォルト値は 4K である)。 この値は、メモリ圧迫モードにおいても、 このサイズ以下の割り当てが成功することを保証するために用いられる。 これは、 B<SO_SNDBUF> を用いてソケットの最低送信バッファーサイズを宣言する際には用いられない。"
15086
15087 #.  True in Linux 2.4 and 2.6
15088 #. type: Plain text
15089 #: build/C/man7/tcp.7:868
15090 msgid "The default size of the send buffer for a TCP socket.  This value overwrites the initial default buffer size from the generic global I</proc/sys/net/core/wmem_default> defined for all protocols.  The default value is 16K bytes.  If larger send buffer sizes are desired, this value should be increased (to affect all sockets).  To employ large TCP windows, the I</proc/sys/net/ipv4/tcp_window_scaling> must be set to a nonzero value (default)."
15091 msgstr "TCP ソケットの送信バッファーのデフォルトサイズ。 この値は、すべてのプロトコルに対して定義されている、 ジェネリックなグローバルのデフォルトバッファーサイズ I</proc/sys/net/core/wmem_default> より優先される。 デフォルト値は 16K バイトである。 大きな送信バッファーサイズが必要な場合は、 この値を増やすべきである (すべてのソケットに影響する)。 大きな TCP ウィンドウを用いるには、 I</proc/sys/net/ipv4/tcp_window_scaling> を 0 以外の値 (デフォルト値) にしておかなければならない。"
15092
15093 #. type: Plain text
15094 #: build/C/man7/tcp.7:877
15095 msgid "The maximum size of the send buffer used by each TCP socket.  This value does not override the value in I</proc/sys/net/core/wmem_max>.  This is not used to limit the size of the send buffer declared using B<SO_SNDBUF> on a socket.  The default value is calculated using the formula"
15096 msgstr "各 TCP ソケットで用いる送信バッファーの最大サイズ。 この値よりも I</proc/sys/net/core/wmem_max> が優先される。 これは B<SO_SNDBUF> を用いてソケットの送信バッファーサイズ制限を宣言する際には用いられない。 デフォルト値は以下の式で計算される。"
15097
15098 #. type: Plain text
15099 #: build/C/man7/tcp.7:879
15100 #, no-wrap
15101 msgid "    max(65536, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
15102 msgstr "    max(65536, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
15103
15104 #. type: Plain text
15105 #: build/C/man7/tcp.7:882
15106 msgid "(On Linux 2.4, the default value is 128K bytes, lowered 64K depending on low-memory systems.)"
15107 msgstr "(Linux 2.4 では、デフォルト値は 128K バイトで、 メモリの少ないシステムでは 64K にまで減らされる。)"
15108
15109 #. type: TP
15110 #: build/C/man7/tcp.7:883
15111 #, no-wrap
15112 msgid "I<tcp_workaround_signed_windows> (Boolean; default: disabled; since Linux 2.6.26)"
15113 msgstr "I<tcp_workaround_signed_windows> (ブール値; デフォルト: 無効; Linux 2.6.26 以降)"
15114
15115 #. type: Plain text
15116 #: build/C/man7/tcp.7:889
15117 msgid "If enabled, assume that no receipt of a window-scaling option means that the remote TCP is broken and treats the window as a signed quantity.  If disabled, assume that the remote TCP is not broken even if we do not receive a window scaling option from it."
15118 msgstr "有効にすると、ウィンドウスケーリングオプションを受信しないのは、 接続相手の TCP が壊れていると考え、ウィンドウを符号付きの量とみなす。 無効にすると、接続相手からウィンドウスケーリングオプションを受信しなかった 場合であっても、接続相手の TCP が壊れているとはみなさない。"
15119
15120 #.  or SOL_TCP on Linux
15121 #. type: Plain text
15122 #: build/C/man7/tcp.7:907
15123 msgid "To set or get a TCP socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_TCP>.  Unless otherwise noted, I<optval> is a pointer to an I<int>.  In addition, most B<IPPROTO_IP> socket options are valid on TCP sockets.  For more information see B<ip>(7)."
15124 msgstr "TCP ソケットのオプションは、 オプションレベル引数に I<IPPROTO_TCP> を指定した B<setsockopt>(2)  で設定でき、 B<getsockopt>(2)  で取得できる。 注釈がない限り、 I<optval> は I<int> へのポインターである。 さらに、ほとんどの B<IPPROTO_IP> ソケットオプションも TCP ソケットに対して有効である。詳細は B<ip>(7)  を見よ。"
15125
15126 #. type: TP
15127 #: build/C/man7/tcp.7:907
15128 #, no-wrap
15129 msgid "B<TCP_CONGESTION> (since Linux 2.6.13)"
15130 msgstr "B<TCP_CONGESTION> (Linux 2.6.13 以降)"
15131
15132 #.          commit 5f8ef48d240963093451bcf83df89f1a1364f51d
15133 #.          Author: Stephen Hemminger <shemminger@osdl.org>
15134 #. type: Plain text
15135 #: build/C/man7/tcp.7:923
15136 msgid "The argument for this option is a string.  This option allows the caller to set the TCP congestion control algorithm to be used, on a per-socket basis.  Unprivileged processes are restricted to choosing one of the algorithms in I<tcp_allowed_congestion_control> (described above).  Privileged processes (B<CAP_NET_ADMIN>)  can choose from any of the available congestion-control algorithms (see the description of I<tcp_available_congestion_control> above)."
15137 msgstr "このオプションの引き数は文字列である。 このオプションを使うと、呼び出し元がソケット単位に使用する TCP 輻輳制御アルゴリズムを設定することができる。 非特権プロセスが使用できるアルゴリズムは (上述の) I<tcp_allowed_congestion_control> で設定されたものだけに制限される。 特権プロセス (B<CAP_NET_ADMIN>) は任意の輻輳制御アルゴリズムを選択することができる (上記の B<tcp_available_congestion_control> の説明を参照)。"
15138
15139 #. type: TP
15140 #: build/C/man7/tcp.7:923
15141 #, no-wrap
15142 msgid "B<TCP_CORK> (since Linux 2.2)"
15143 msgstr "B<TCP_CORK> (Linux 2.2 以降)"
15144
15145 #.  precisely: since 2.1.127
15146 #. type: Plain text
15147 #: build/C/man7/tcp.7:939
15148 msgid "If set, don't send out partial frames.  All queued partial frames are sent when the option is cleared again.  This is useful for prepending headers before calling B<sendfile>(2), or for throughput optimization.  As currently implemented, there is a 200 millisecond ceiling on the time for which output is corked by B<TCP_CORK>.  If this ceiling is reached, then queued data is automatically transmitted.  This option can be combined with B<TCP_NODELAY> only since Linux 2.5.71.  This option should not be used in code intended to be portable."
15149 msgstr "セットされると、 partial フレームを送信しない。 このオプションが解除されると、 キューイングされた partial フレームが送られる。これは B<sendfile>(2)  を呼ぶ前にヘッダを前置したり、 スループットを最適化したい場合に便利である。 現在の実装では、 B<TCP_CORK> で出力を抑えることができる時間の上限は 200 ミリ秒である。 この上限に達すると、キューイングされたデータは自動的に送信される。 Linux 2.5.71 以降においてのみ、このオプションを B<TCP_NODELAY> と同時に用いることができる。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15150
15151 #. type: TP
15152 #: build/C/man7/tcp.7:939
15153 #, no-wrap
15154 msgid "B<TCP_DEFER_ACCEPT> (since Linux 2.4)"
15155 msgstr "B<TCP_DEFER_ACCEPT> (Linux 2.4 以降)"
15156
15157 #.  Precisely: since 2.3.38
15158 #.  Useful references:
15159 #.  http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/
15160 #.  http://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept
15161 #. type: Plain text
15162 #: build/C/man7/tcp.7:950
15163 msgid "Allow a listener to be awakened only when data arrives on the socket.  Takes an integer value (seconds), this can bound the maximum number of attempts TCP will make to complete the connection.  This option should not be used in code intended to be portable."
15164 msgstr "これを用いると、リスナはデータがソケットに到着した時のみ目覚めるようになる。 整数値 (秒) をとり、 TCP が接続を完了しようと試みる回数を制限できる。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15165
15166 #. type: TP
15167 #: build/C/man7/tcp.7:950
15168 #, no-wrap
15169 msgid "B<TCP_INFO> (since Linux 2.4)"
15170 msgstr "B<TCP_INFO> (Linux 2.4 以降)"
15171
15172 #. type: Plain text
15173 #: build/C/man7/tcp.7:956
15174 msgid "Used to collect information about this socket.  The kernel returns a I<struct tcp_info> as defined in the file I</usr/include/linux/tcp.h>.  This option should not be used in code intended to be portable."
15175 msgstr "このソケットの情報を収集するのに用いる。 カーネルは I</usr/include/linux/tcp.h> ファイルで定義されている I<struct tcp_info> を返す。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15176
15177 #. type: TP
15178 #: build/C/man7/tcp.7:956
15179 #, no-wrap
15180 msgid "B<TCP_KEEPCNT> (since Linux 2.4)"
15181 msgstr "B<TCP_KEEPCNT> (Linux 2.4 以降)"
15182
15183 #.  Precisely: since 2.3.18
15184 #. type: Plain text
15185 #: build/C/man7/tcp.7:963
15186 msgid "The maximum number of keepalive probes TCP should send before dropping the connection.  This option should not be used in code intended to be portable."
15187 msgstr "接続を落とす前に TCP が試みる keepalive プローブの最大回数。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15188
15189 #. type: TP
15190 #: build/C/man7/tcp.7:963
15191 #, no-wrap
15192 msgid "B<TCP_KEEPIDLE> (since Linux 2.4)"
15193 msgstr "B<TCP_KEEPIDLE> (Linux 2.4 以降)"
15194
15195 #.  Precisely: since 2.3.18
15196 #. type: Plain text
15197 #: build/C/man7/tcp.7:972
15198 msgid "The time (in seconds) the connection needs to remain idle before TCP starts sending keepalive probes, if the socket option B<SO_KEEPALIVE> has been set on this socket.  This option should not be used in code intended to be portable."
15199 msgstr "この時間 (秒単位) を越えて接続がアイドル状態に留まっていると、 このソケットに B<SO_KEEPALIVE> ソケットオプションが設定されている場合、 TCP は keepalive プローブを送りはじめる。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15200
15201 #. type: TP
15202 #: build/C/man7/tcp.7:972
15203 #, no-wrap
15204 msgid "B<TCP_KEEPINTVL> (since Linux 2.4)"
15205 msgstr "B<TCP_KEEPINTVL> (Linux 2.4 以降)"
15206
15207 #.  Precisely: since 2.3.18
15208 #. type: Plain text
15209 #: build/C/man7/tcp.7:977
15210 msgid "The time (in seconds) between individual keepalive probes.  This option should not be used in code intended to be portable."
15211 msgstr "各 keepalive プローブの間隔 (秒単位)。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15212
15213 #. type: TP
15214 #: build/C/man7/tcp.7:977
15215 #, no-wrap
15216 msgid "B<TCP_LINGER2> (since Linux 2.4)"
15217 msgstr "B<TCP_LINGER2> (Linux 2.4 以降)"
15218
15219 #.  Precisely: since 2.3.41
15220 #. type: Plain text
15221 #: build/C/man7/tcp.7:989
15222 msgid "The lifetime of orphaned FIN_WAIT2 state sockets.  This option can be used to override the system-wide setting in the file I</proc/sys/net/ipv4/tcp_fin_timeout> for this socket.  This is not to be confused with the B<socket>(7)  level option B<SO_LINGER>.  This option should not be used in code intended to be portable."
15223 msgstr "orphan された FIN_WAIT2 状態のソケットの寿命。 このオプションを用いると、システム全体に適用されるファイル I</proc/sys/net/ipv4/tcp_fin_timeout> の値を、このソケットに対してのみ変更できる。 B<socket>(7)  レベルのオプション B<SO_LINGER> と混同しないこと。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15224
15225 #. type: TP
15226 #: build/C/man7/tcp.7:989
15227 #, no-wrap
15228 msgid "B<TCP_MAXSEG>"
15229 msgstr "B<TCP_MAXSEG>"
15230
15231 #.  Present in Linux 1.0
15232 #. type: Plain text
15233 #: build/C/man7/tcp.7:999
15234 msgid "The maximum segment size for outgoing TCP packets.  In Linux 2.2 and earlier, and in Linux 2.6.28 and later, if this option is set before connection establishment, it also changes the MSS value announced to the other end in the initial packet.  Values greater than the (eventual) interface MTU have no effect.  TCP will also impose its minimum and maximum bounds over the value provided."
15235 msgstr ""
15236 "送出 TCP パケットの最大セグメントサイズ。 Linux 2.2 以前と Linux\n"
15237 "2.6.28 以降では、このオプションを接続確立の前に設定すると、初期パケット\n"
15238 "で他端にアナウンスする MSS の値も変化する。インターフェースの MTU より\n"
15239 "も大きな (あるいは大きくなってしまった) 値は効果を持たない。 また TCP\n"
15240 "は、この値よりも最小・最大の制限の方を優先する。"
15241
15242 #. type: TP
15243 #: build/C/man7/tcp.7:999
15244 #, no-wrap
15245 msgid "B<TCP_NODELAY>"
15246 msgstr "B<TCP_NODELAY>"
15247
15248 #.  Present in Linux 1.0
15249 #. type: Plain text
15250 #: build/C/man7/tcp.7:1016
15251 msgid "If set, disable the Nagle algorithm.  This means that segments are always sent as soon as possible, even if there is only a small amount of data.  When not set, data is buffered until there is a sufficient amount to send out, thereby avoiding the frequent sending of small packets, which results in poor utilization of the network.  This option is overridden by B<TCP_CORK>; however, setting this option forces an explicit flush of pending output, even if B<TCP_CORK> is currently set."
15252 msgstr "設定すると Nagle アルゴリズムを無効にする。 すなわち、データ量が少ない場合でも 各セグメントは可能な限り早く送信される。 設定されていないと、 送信する分だけ溜まるまでデータはバッファーされ、 小さなパケットを頻繁に送らずにすみ、 ネットワークを有効に利用できる。 このオプションは B<TCP_CORK> により上書きされる。しかしながら、 B<TCP_CORK> が設定されている場合であっても、このオプションを設定すると、 送信待ちの出力を明示的に掃き出す (flush) ことになる。"
15253
15254 #. type: TP
15255 #: build/C/man7/tcp.7:1016
15256 #, no-wrap
15257 msgid "B<TCP_QUICKACK> (since Linux 2.4.4)"
15258 msgstr "B<TCP_QUICKACK> (Linux 2.4.4 以降)"
15259
15260 #. type: Plain text
15261 #: build/C/man7/tcp.7:1031
15262 msgid "Enable quickack mode if set or disable quickack mode if cleared.  In quickack mode, acks are sent immediately, rather than delayed if needed in accordance to normal TCP operation.  This flag is not permanent, it only enables a switch to or from quickack mode.  Subsequent operation of the TCP protocol will once again enter/leave quickack mode depending on internal protocol processing and factors such as delayed ack timeouts occurring and data transfer.  This option should not be used in code intended to be portable."
15263 msgstr "設定されていると quickack モードを有効にし、クリアされると無効にする。 通常の TCP 動作では ack は必要に応じて遅延されるのに対し、 quickack モードでは ack はすぐに送信される。 このフラグは永続的なものではなく、 quickack モードから/モードへ切り替えるためのものである。 これ以降の TCP プロトコルの動作によっては、 内部のプロトコル処理や、遅延 ack タイムアウトの発生、 データ転送などの要因によって、 再び quickack から出たり入ったりする。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15264
15265 #. type: TP
15266 #: build/C/man7/tcp.7:1031
15267 #, no-wrap
15268 msgid "B<TCP_SYNCNT> (since Linux 2.4)"
15269 msgstr "B<TCP_SYNCNT> (Linux 2.4 以降)"
15270
15271 #.  Precisely: since 2.3.18
15272 #. type: Plain text
15273 #: build/C/man7/tcp.7:1038
15274 msgid "Set the number of SYN retransmits that TCP should send before aborting the attempt to connect.  It cannot exceed 255.  This option should not be used in code intended to be portable."
15275 msgstr "接続の試行を中止させる前に TCP が送る SYN 再送数を設定する。 これは 255 より大きくはできない。 移植性の必要なプログラムではこのオプションを用いるべきではない。"
15276
15277 #. type: TP
15278 #: build/C/man7/tcp.7:1038
15279 #, no-wrap
15280 msgid "B<TCP_USER_TIMEOUT> (since Linux 2.6.37)"
15281 msgstr "B<TCP_USER_TIMEOUT> (Linux 2.6.37 以降)"
15282
15283 #.          commit dca43c75e7e545694a9dd6288553f55c53e2a3a3
15284 #.          Author: Jerry Chu <hkchu@google.com>
15285 #.  The following text taken nearly verbatim from Jerry Chu's (excellent)
15286 #.  commit message.
15287 #. type: Plain text
15288 #: build/C/man7/tcp.7:1056
15289 msgid "This option takes an I<unsigned int> as an argument.  When the value is greater than 0, it specifies the maximum amount of time in milliseconds that transmitted data may remain unacknowledged before TCP will forcibly close the corresponding connection and return B<ETIMEDOUT> to the application.  If the option value is specified as 0, TCP will to use the system default."
15290 msgstr "このオプションは I<unsigned int> 型の引き数を取る。 値が 0 より大きい場合、その値は、 どのくらいの時間、送信されたデータが ACK を受信しないままの状態が続くと、 TCP がその接続を強制的にクローズし、アプリケーションに B<ETIMEDOUT> を返すかを、 ミリ秒単位で指定する。 オプションの値が 0 の場合、TCP はシステムのデフォルト値を使用する。"
15291
15292 #. type: Plain text
15293 #: build/C/man7/tcp.7:1063
15294 msgid "Increasing user timeouts allows a TCP connection to survive extended periods without end-to-end connectivity.  Decreasing user timeouts allows applications to \"fail fast\", if so desired.  Otherwise, failure may take up to 20 minutes with the current system defaults in a normal WAN environment."
15295 msgstr "ユーザータイムアウトを長くすると、 通信の両端での接続性がない場合でも長い時間 TCP 接続が維持されるようになる。 ユーザータイムアウトを短くすると、 アプリケーションは必要であれば「早く失敗」できるようになる。 設定しなかった場合は、 通常の WAN 環境では現在のシステムのデフォルトの 20 分で失敗することになる。"
15296
15297 #. type: Plain text
15298 #: build/C/man7/tcp.7:1073
15299 msgid "This option can be set during any state of a TCP connection, but is only effective during the synchronized states of a connection (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK).  Moreover, when used with the TCP keepalive (B<SO_KEEPALIVE>)  option, B<TCP_USER_TIMEOUT> will override keepalive to determine when to close a connection due to keepalive failure."
15300 msgstr "このオプションは TCP 接続がどの状態の場合でも設定することができるが、 接続が同期状態 (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK) の場合のみ効果がある。 また、 TCP keepalive (B<SO_KEEPALIVE>) オプションとともに使用された場合、 B<TCP_USER_TIMEOUT> は keepalive 失敗による接続クローズを判定するための keepalive 値を上書きする。"
15301
15302 #. type: Plain text
15303 #: build/C/man7/tcp.7:1076
15304 msgid "The option has no effect on when TCP retransmits a packet, nor when a keepalive probe is sent."
15305 msgstr "このオプションは TCP がパケットを再送する際や keepalive プローブを送信する際には影響を及ぼさない。"
15306
15307 #. type: Plain text
15308 #: build/C/man7/tcp.7:1080
15309 msgid "This option, like many others, will be inherited by the socket returned by B<accept>(2), if it was set on the listening socket."
15310 msgstr "他の多くのオプション同様、リッスン中のソケットでこのオプションがセットされていれば B<accept>(2) が返すソケットにオプションが継承される。"
15311
15312 #. type: Plain text
15313 #: build/C/man7/tcp.7:1083
15314 msgid "Further details on the user timeout feature can be found in RFC\\ 793 and RFC\\ 5482 (\"TCP User Timeout Option\")."
15315 msgstr "ユーザータイムアウト機能の詳細は RFC\\ 793 と  RFC\\ 5482 (\"TCP User Timeout Option\") に書かれている。"
15316
15317 #. type: TP
15318 #: build/C/man7/tcp.7:1083
15319 #, no-wrap
15320 msgid "B<TCP_WINDOW_CLAMP> (since Linux 2.4)"
15321 msgstr "B<TCP_WINDOW_CLAMP> (Linux 2.4 以降)"
15322
15323 #.  Precisely: since 2.3.41
15324 #. type: Plain text
15325 #: build/C/man7/tcp.7:1090
15326 msgid "Bound the size of the advertised window to this value.  The kernel imposes a minimum size of SOCK_MIN_RCVBUF/2.  This option should not be used in code intended to be portable."
15327 msgstr "広報するウィンドウのサイズをこの値に固定する。 カーネルによって最小サイズは SOCK_MIN_RCVBUF/2 に制限されている。 このオプションは移植性の必要なコードでは用いるべきでない。"
15328
15329 #. type: SS
15330 #: build/C/man7/tcp.7:1090 build/C/man7/unix.7:260
15331 #, no-wrap
15332 msgid "Sockets API"
15333 msgstr "ソケット API"
15334
15335 #. type: Plain text
15336 #: build/C/man7/tcp.7:1099
15337 msgid "TCP provides limited support for out-of-band data, in the form of (a single byte of) urgent data.  In Linux this means if the other end sends newer out-of-band data the older urgent data is inserted as normal data into the stream (even when B<SO_OOBINLINE> is not set).  This differs from BSD-based stacks."
15338 msgstr "TCP は帯域外データ (out-of-band data) を限定的にサポートしており、 (1 バイトの) 緊急データという形である。 つまり Linux においては、 接続先が (新しいやり方の) 帯域外データを送ってきた場合、 (古いやり方の)  緊急データは通常のデータとしてストリームに挿入されることになる (これは B<SO_OOBINLINE> がセットされている場合でも同様である)。 これは BSD ベースのスタックとは異なる。"
15339
15340 #. type: Plain text
15341 #: build/C/man7/tcp.7:1106
15342 msgid "Linux uses the BSD compatible interpretation of the urgent pointer field by default.  This violates RFC\\ 1122, but is required for interoperability with other stacks.  It can be changed via I</proc/sys/net/ipv4/tcp_stdurg>."
15343 msgstr "Linux は、デフォルトでは urgent ポインターフィールドの解釈に BSD 互換の方法を用いる。これは RFC\\ 1122 に反しているが、 他のスタックと同時に動作させるにはやむを得ない。これは I</proc/sys/net/ipv4/tcp_stdurg> によって変更できる。"
15344
15345 #. type: Plain text
15346 #: build/C/man7/tcp.7:1111
15347 msgid "It is possible to peek at out-of-band data using the B<recv>(2)  B<MSG_PEEK> flag."
15348 msgstr "B<recv>(2)  の B<MSG_PEEK> フラグを使うと、帯域外データを覗き見することができる。"
15349
15350 #. type: Plain text
15351 #: build/C/man7/tcp.7:1127
15352 msgid "Since version 2.4, Linux supports the use of B<MSG_TRUNC> in the I<flags> argument of B<recv>(2)  (and B<recvmsg>(2)).  This flag causes the received bytes of data to be discarded, rather than passed back in a caller-supplied buffer.  Since Linux 2.4.4, B<MSG_TRUNC> also has this effect when used in conjunction with B<MSG_OOB> to receive out-of-band data."
15353 msgstr "Linux 2.4 以降では、 B<recv>(2)  (や B<recvmsg>(2))  の I<flags> 引き数に B<MSG_TRUNC> を使うことができる。 このフラグを指定すると、受信データは、呼び出し元から渡されたバッファー にコピーされて返されるのではなく、廃棄されるようになる。 Linux 2.4.4 以降では、 B<MSG_TRUNC> を、帯域外データを受信するための B<MSG_OOB> と組み合わせて使った場合にも、これと同じ効果を持つようになっている。"
15354
15355 #. type: Plain text
15356 #: build/C/man7/tcp.7:1133 build/C/man7/unix.7:373
15357 msgid "The following B<ioctl>(2)  calls return information in I<value>.  The correct syntax is:"
15358 msgstr ""
15359 "以下の B<ioctl>(2) 呼び出しは I<value> に情報を入れて返す。\n"
15360 "正しい書式は以下の通り。"
15361
15362 #. type: Plain text
15363 #: build/C/man7/tcp.7:1138
15364 #, no-wrap
15365 msgid ""
15366 "B<int>I< value>B<;>\n"
15367 "I<error>B< = ioctl(>I<tcp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
15368 msgstr ""
15369 "B<int>I< value>B<;>\n"
15370 "I<error>B< = ioctl(>I<tcp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
15371
15372 #. type: Plain text
15373 #: build/C/man7/tcp.7:1143
15374 msgid "I<ioctl_type> is one of the following:"
15375 msgstr "I<ioctl_type> は以下のいずれか一つである:"
15376
15377 #. type: TP
15378 #: build/C/man7/tcp.7:1143 build/C/man7/unix.7:383
15379 #, no-wrap
15380 msgid "B<SIOCINQ>"
15381 msgstr "B<SIOCINQ>"
15382
15383 #.  FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002,
15384 #.  filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
15385 #.  SIOCOUTQ also has an effect for UNIX domain sockets, but not
15386 #.  quite what userland might expect. It seems to return the number
15387 #.  of bytes allocated for buffers containing pending output.
15388 #.  That number is normally larger than the number of bytes of pending
15389 #.  output. Since this info is, from userland's point of view, imprecise,
15390 #.  and it may well change, probably best not to document this now.
15391 #. type: Plain text
15392 #: build/C/man7/tcp.7:1159 build/C/man7/unix.7:405
15393 msgid "Returns the amount of queued unread data in the receive buffer.  The socket must not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  B<SIOCINQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you can use the synonymous B<FIONREAD>, defined in I<E<lt>sys/ioctl.hE<gt>>."
15394 msgstr ""
15395 "受信バッファーのキューにある、まだ読んでいないデータの量を返す。ソケットは\n"
15396 "LISTEN 状態にあってはならず、さもないとエラー (B<EINVAL>) が返る。\n"
15397 "B<SIOCINQ> は I<E<lt>linux/sockios.hE<gt>> で定義されている。\n"
15398 "代わりに、I<E<lt>sys/ioctl.hE<gt>> で定義されている、同義語の B<FIONREAD>\n"
15399 "を使うこともできる。"
15400
15401 #. type: TP
15402 #: build/C/man7/tcp.7:1159
15403 #, no-wrap
15404 msgid "B<SIOCATMARK>"
15405 msgstr "B<SIOCATMARK>"
15406
15407 #. type: Plain text
15408 #: build/C/man7/tcp.7:1164
15409 msgid "Returns true (i.e., I<value> is nonzero) if the inbound data stream is at the urgent mark."
15410 msgstr "受信データストリームが緊急マークの位置であれば、真を返す (つまり I<value> が 0 以外)。"
15411
15412 #. type: Plain text
15413 #: build/C/man7/tcp.7:1180
15414 msgid "If the B<SO_OOBINLINE> socket option is set, and B<SIOCATMARK> returns true, then the next read from the socket will return the urgent data.  If the B<SO_OOBINLINE> socket option is not set, and B<SIOCATMARK> returns true, then the next read from the socket will return the bytes following the urgent data (to actually read the urgent data requires the B<recv(MSG_OOB)> flag)."
15415 msgstr "B<SO_OOBINLINE> ソケットオプションが設定されていて、 B<SIOCATMARK> が真を返した場合、次のソケットからの読み込みでは緊急データが 返される。 B<SO_OOBINLINE> ソケットオプションが設定されておらず、 B<SIOCATMARK> が真を返した場合、次のソケットからの読み込みでは緊急データに 続くデータが返される (実際に緊急データを読み込むには B<recv(MSG_OOB)> とフラグをつける必要がある)。"
15416
15417 #. type: Plain text
15418 #: build/C/man7/tcp.7:1194
15419 msgid "Note that a read never reads across the urgent mark.  If an application is informed of the presence of urgent data via B<select>(2)  (using the I<exceptfds> argument) or through delivery of a B<SIGURG> signal, then it can advance up to the mark using a loop which repeatedly tests B<SIOCATMARK> and performs a read (requesting any number of bytes) as long as B<SIOCATMARK> returns false."
15420 msgstr "データの一回の読み込みでは緊急マークを跨がっての読み込みは行われない。 アプリケーションが緊急データの存在を (I<exceptfds> 引き数を使って)  B<select>(2)  経由または B<SIGURG> シグナルの配送を通じて知らされた場合、 B<SIOCATMARK> のチェックと読み込み (何バイト読み込み要求をしてもよい) を B<SIOCATMARK> が偽を返さなくなるまで繰り返し行うことで、緊急マークの位置まで 読み進めることができる。"
15421
15422 #. type: TP
15423 #: build/C/man7/tcp.7:1194
15424 #, no-wrap
15425 msgid "B<SIOCOUTQ>"
15426 msgstr "B<SIOCOUTQ>"
15427
15428 #.  FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002,
15429 #.  filed 2010-09-10, may cause SIOCOUTQ to be defined in glibc headers
15430 #. type: Plain text
15431 #: build/C/man7/tcp.7:1210
15432 msgid "Returns the amount of unsent data in the socket send queue.  The socket must not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  B<SIOCOUTQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you can use the synonymous B<TIOCOUTQ>, defined in I<E<lt>sys/ioctl.hE<gt>>."
15433 msgstr ""
15434 "ソケットの送信キューに残っている未送信データの量を返す。ソケットは LISTEN 状\n"
15435 "態にあってはならない。 LISTEN 状態の場合にはエラー (B<EINVAL>) となる。\n"
15436 "B<SIOCOUTQ> は I<E<lt>linux/sockios.hE<gt>> で定義されている。\n"
15437 "代わりに、I<E<lt>sys/ioctl.hE<gt>> で定義されている、同義語の B<TIOCOUTQ> を\n"
15438 "使うこともできる。"
15439
15440 #. type: Plain text
15441 #: build/C/man7/tcp.7:1215
15442 msgid "When a network error occurs, TCP tries to resend the packet.  If it doesn't succeed after some time, either B<ETIMEDOUT> or the last received error on this connection is reported."
15443 msgstr "ネットワークエラーが起こると、 TCP はパケットの再送を試みる。 何回かやっても成功しなければ、この接続に対して B<ETIMEOUT> エラーか最後に受信したエラーが返される。"
15444
15445 #. type: Plain text
15446 #: build/C/man7/tcp.7:1226
15447 msgid "Some applications require a quicker error notification.  This can be enabled with the B<IPPROTO_IP> level B<IP_RECVERR> socket option.  When this option is enabled, all incoming errors are immediately passed to the user program.  Use this option with care \\(em it makes TCP less tolerant to routing changes and other normal network conditions."
15448 msgstr "アプリケーションによっては、もっと早くエラーを知らせてほしい場合がある。 これには B<IPPROTO_IP> レベルの B<IP_RECVERR> ソケットオプションを用いると良い。このオプションが有効になっていると、 到着したエラーはすべてただちにユーザープログラムに渡される。 このオプションは慎重に用いること \\(em ルーティングの変更など、 通常ありうるネットワーク状態に対して TCP をより脆弱にしてしまう。"
15449
15450 #. type: TP
15451 #: build/C/man7/tcp.7:1227
15452 #, no-wrap
15453 msgid "B<EAFNOTSUPPORT>"
15454 msgstr "B<EAFNOTSUPPORT>"
15455
15456 #. type: Plain text
15457 #: build/C/man7/tcp.7:1233
15458 msgid "Passed socket address type in I<sin_family> was not B<AF_INET>."
15459 msgstr "I<sin_family> に渡されたソケットアドレスのタイプが B<AF_INET> ではなかった。"
15460
15461 #. type: Plain text
15462 #: build/C/man7/tcp.7:1237
15463 msgid "The other end closed the socket unexpectedly or a read is executed on a shut down socket."
15464 msgstr "接続先が予期しなかったかたちでソケットをクローズした。 またはシャットダウンされたソケットに読み込みが実行された。"
15465
15466 #. type: TP
15467 #: build/C/man7/tcp.7:1237
15468 #, no-wrap
15469 msgid "B<ETIMEDOUT>"
15470 msgstr "B<ETIMEDOUT>"
15471
15472 #. type: Plain text
15473 #: build/C/man7/tcp.7:1240
15474 msgid "The other end didn't acknowledge retransmitted data after some time."
15475 msgstr "接続先が、何回かデータを再送しても反応しない。"
15476
15477 #. type: Plain text
15478 #: build/C/man7/tcp.7:1244
15479 msgid "Any errors defined for B<ip>(7)  or the generic socket layer may also be returned for TCP."
15480 msgstr "B<ip>(7)  で定義されているエラーや、ジェネリックなソケット層におけるエラーも TCP に返されることがある。"
15481
15482 #. type: Plain text
15483 #: build/C/man7/tcp.7:1251
15484 msgid "Support for Explicit Congestion Notification, zero-copy B<sendfile>(2), reordering support and some SACK extensions (DSACK) were introduced in 2.4.  Support for forward acknowledgement (FACK), TIME_WAIT recycling, and per-connection keepalive socket options were introduced in 2.3."
15485 msgstr "Explicit Congestion Notification、zero-copy の B<sendfile>(2)、 並び替えのサポート、SACK 拡張 (DSACK) などのサポートは 2.4 で導入された。 フォワード確認 (FACK)、TIME_WAIT リサイクル、接続ごとの keepalive に対するソケットオプションは 2.3 で導入された。"
15486
15487 #. type: Plain text
15488 #: build/C/man7/tcp.7:1253
15489 msgid "Not all errors are documented."
15490 msgstr "まだ説明されていないエラーがある。"
15491
15492 #.  Only a single Linux kernel version is described
15493 #.  Info for 2.2 was lost. Should be added again,
15494 #.  or put into a separate page.
15495 #.  .SH AUTHORS
15496 #.  This man page was originally written by Andi Kleen.
15497 #.  It was updated for 2.4 by Nivedita Singhvi with input from
15498 #.  Alexey Kuznetsov's Documentation/networking/ip-sysctl.txt
15499 #.  document.
15500 #. type: Plain text
15501 #: build/C/man7/tcp.7:1263
15502 msgid "IPv6 is not described."
15503 msgstr "IPv6 に関する記述がない。"
15504
15505 #. type: Plain text
15506 #: build/C/man7/tcp.7:1275
15507 msgid "B<accept>(2), B<bind>(2), B<connect>(2), B<getsockopt>(2), B<listen>(2), B<recvmsg>(2), B<sendfile>(2), B<sendmsg>(2), B<socket>(2), B<ip>(7), B<socket>(7)"
15508 msgstr "B<accept>(2), B<bind>(2), B<connect>(2), B<getsockopt>(2), B<listen>(2), B<recvmsg>(2), B<sendfile>(2), B<sendmsg>(2), B<socket>(2), B<ip>(7), B<socket>(7)"
15509
15510 #. type: Plain text
15511 #: build/C/man7/tcp.7:1277
15512 msgid "RFC\\ 793 for the TCP specification."
15513 msgstr "RFC\\ 793: TCP の仕様。"
15514
15515 #. type: Plain text
15516 #: build/C/man7/tcp.7:1279
15517 msgid "RFC\\ 1122 for the TCP requirements and a description of the Nagle algorithm."
15518 msgstr "RFC\\ 1122: TCP の要求事項と Nagle アルゴリズムの記述。"
15519
15520 #. type: Plain text
15521 #: build/C/man7/tcp.7:1281
15522 msgid "RFC\\ 1323 for TCP timestamp and window scaling options."
15523 msgstr "RFC\\ 1323: TCP のタイムスタンプ・ウィンドウスケーリング各オプション。"
15524
15525 #. type: Plain text
15526 #: build/C/man7/tcp.7:1283
15527 msgid "RFC\\ 1337 for a description of TIME_WAIT assassination hazards."
15528 msgstr "RFC\\ 1337: TIME_WAIT assassination hazard に関する説明。"
15529
15530 #. type: Plain text
15531 #: build/C/man7/tcp.7:1285
15532 msgid "RFC\\ 3168 for a description of Explicit Congestion Notification."
15533 msgstr "RFC\\ 3168: Explicit Congestion Notification に関する説明。"
15534
15535 #. type: Plain text
15536 #: build/C/man7/tcp.7:1287
15537 msgid "RFC\\ 2581 for TCP congestion control algorithms."
15538 msgstr "RFC\\ 2581: TCP 輻輳制御アルゴリズム。"
15539
15540 #. type: Plain text
15541 #: build/C/man7/tcp.7:1289
15542 msgid "RFC\\ 2018 and RFC\\ 2883 for SACK and extensions to SACK."
15543 msgstr "RFC\\ 2018 と RFC\\ 2883: SACK とその拡張。"
15544
15545 #. type: TH
15546 #: build/C/man7/udp.7:12
15547 #, no-wrap
15548 msgid "UDP"
15549 msgstr "UDP"
15550
15551 #. type: TH
15552 #: build/C/man7/udp.7:12
15553 #, no-wrap
15554 msgid "2013-07-31"
15555 msgstr "2013-07-31"
15556
15557 #. type: Plain text
15558 #: build/C/man7/udp.7:15
15559 msgid "udp - User Datagram Protocol for IPv4"
15560 msgstr "udp - IPv4 の ユーザーデータグラムプロトコル"
15561
15562 #. type: Plain text
15563 #: build/C/man7/udp.7:21
15564 msgid "B<#include E<lt>netinet/udp.hE<gt>>"
15565 msgstr "B<#include E<lt>netinet/udp.hE<gt>>"
15566
15567 #. type: Plain text
15568 #: build/C/man7/udp.7:23
15569 msgid "B<udp_socket = socket(AF_INET, SOCK_DGRAM, 0);>"
15570 msgstr "B<udp_socket = socket(AF_INET, SOCK_DGRAM, 0);>"
15571
15572 #. type: Plain text
15573 #: build/C/man7/udp.7:29
15574 msgid "This is an implementation of the User Datagram Protocol described in RFC\\ 768.  It implements a connectionless, unreliable datagram packet service.  Packets may be reordered or duplicated before they arrive.  UDP generates and checks checksums to catch transmission errors."
15575 msgstr "これは RFC\\ 768 で記述されている User Datagram Protocol の実装である。 UDP はコネクションレスの、信頼性の低いデータパケットサービスである。 パケットは到着前に並び替えられたり複製されたりする。 UDP は転送エラーを検出するためにチェックサムを生成・チェックする。"
15576
15577 #. type: Plain text
15578 #: build/C/man7/udp.7:58
15579 msgid "When a UDP socket is created, its local and remote addresses are unspecified.  Datagrams can be sent immediately using B<sendto>(2)  or B<sendmsg>(2)  with a valid destination address as an argument.  When B<connect>(2)  is called on the socket, the default destination address is set and datagrams can now be sent using B<send>(2)  or B<write>(2)  without specifying a destination address.  It is still possible to send to other destinations by passing an address to B<sendto>(2)  or B<sendmsg>(2).  In order to receive packets, the socket can be bound to a local address first by using B<bind>(2).  Otherwise, the socket layer will automatically assign a free local port out of the range defined by I</proc/sys/net/ipv4/ip_local_port_range> and bind the socket to B<INADDR_ANY>."
15580 msgstr "UDP ソケットが生成されるとき、 ローカルアドレスやリモートアドレスは指定されない。 正しい行き先アドレスを引数として B<sendto>(2)  や B<sendmsg>(2)  を呼べば、データグラムはただちに送信される。 ソケットに対して B<connect>(2)  を呼ぶと、デフォルトの行き先アドレスが設定され、 B<send>(2)  や B<write>(2)  を使って、行き先アドレスの指定なしにデータグラムを送信できるようになる。 この場合でも、行き先アドレスを B<sendto>(2)  や B<sendmsg>(2)  に渡せば、デフォルト以外のアドレスに送信可能である。 パケットを受信するために、まずソケットを B<bind>(2)  を用いてローカルなアドレスにバインドさせることもできる。 そうでない場合は、ソケット層は自動的に I</proc/sys/net/ipv4/ip_local_port_range> で定義されている範囲の外で空いているローカルなポートを割り当て、 ソケットを B<INADDR_ANY> にバインドする。"
15581
15582 #. type: Plain text
15583 #: build/C/man7/udp.7:66
15584 msgid "All receive operations return only one packet.  When the packet is smaller than the passed buffer, only that much data is returned; when it is bigger, the packet is truncated and the B<MSG_TRUNC> flag is set.  B<MSG_WAITALL> is not supported."
15585 msgstr "受信動作はパケットを一つだけ返す。渡したバッファーよりもパケットが 小さければ、そのパケットの大きさのデータだけが返される。 逆にバッファーよりも大きい場合はパケットは丸められ、 B<MSG_TRUNC> フラグがセットされる。 B<MSG_WAITALL> はサポートしていない。"
15586
15587 #. type: Plain text
15588 #: build/C/man7/udp.7:75
15589 msgid "IP options may be sent or received using the socket options described in B<ip>(7).  They are processed by the kernel only when the appropriate I</proc> parameter is enabled (but still passed to the user even when it is turned off).  See B<ip>(7)."
15590 msgstr "IP オプションは、 B<ip>(7)  に記述されているソケットオプションを用いて読み書きできる。 これらは適切な I</proc> パラメーターが有効な場合に限ってカーネルによって処理される (しかし無効になっている場合でもユーザーには渡される)。 B<ip>(7)  を参照のこと。"
15591
15592 #. type: Plain text
15593 #: build/C/man7/udp.7:80
15594 msgid "When the B<MSG_DONTROUTE> flag is set on sending, the destination address must refer to a local interface address and the packet is sent only to that interface."
15595 msgstr "B<MSG_DONTROUTE> フラグが送信時にセットされている場合には、 行き先アドレスはローカルなインターフェースアドレスから 参照できなければならない。パケットはそのインターフェースにしか送られない。"
15596
15597 #. type: Plain text
15598 #: build/C/man7/udp.7:98
15599 msgid "By default, Linux UDP does path MTU (Maximum Transmission Unit) discovery.  This means the kernel will keep track of the MTU to a specific target IP address and return B<EMSGSIZE> when a UDP packet write exceeds it.  When this happens, the application should decrease the packet size.  Path MTU discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file; see B<ip>(7)  for details.  When turned off, UDP will fragment outgoing UDP packets that exceed the interface MTU.  However, disabling it is not recommended for performance and reliability reasons."
15600 msgstr "デフォルトでは、Linux の UDP は Path MTU Discovery を行う。 つまり、カーネルは特定の宛先 IP アドレスの MTU (Maximum Transmission Unit; 最大転送単位) を記録し、UDP パケットの書き込みが MTU を超えた場合 B<EMSGSIZE> を返す。 B<EMSGSIZE> を返された場合、アプリケーションはパケットサイズを小さくすべきである。 ソケットオプション B<IP_MTU_DISCOVER> または I</proc/sys/net/ipv4/ip_no_pmtu_disc> ファイルを使って Path MTU Discovery を無効にすることもできる (詳細は B<ip>(7)  を参照)。 Path MTU Discovery を無効にした場合は、パケットサイズが インタフェースの MTU よりも大きいと UDP はそのパケットを フラグメント化して送出する。 しかしながら、性能と信頼性の理由から Path MTU Discovery を 無効にするのは推奨できない。"
15601
15602 #. type: Plain text
15603 #: build/C/man7/udp.7:103
15604 msgid "UDP uses the IPv4 I<sockaddr_in> address format described in B<ip>(7)."
15605 msgstr "UDP は IPv4 の I<sockaddr_in> アドレスフォーマットを用いる。これは B<ip>(7)  に記述されている。"
15606
15607 #. type: Plain text
15608 #: build/C/man7/udp.7:114
15609 msgid "All fatal errors will be passed to the user as an error return even when the socket is not connected.  This includes asynchronous errors received from the network.  You may get an error for an earlier packet that was sent on the same socket.  This behavior differs from many other BSD socket implementations which don't pass any errors unless the socket is connected.  Linux's behavior is mandated by B<RFC\\ 1122>."
15610 msgstr "致命的なエラーは、たとえソケットが接続されていなくても、 すべてエラー戻り値としてユーザーに渡される。 これにはネットワークから受け取る非同期エラーも含まれる。 同じソケットを使って送信した昔のパケットに関するエラーを受け取るかもしれない。 この振る舞いは他の BSD ソケットの実装の多くとは異なる。 これらではソケットが接続されていない場合はエラーを全く返さない。 Linux の振る舞いは B<RFC\\ 1122> での指定に従ったものである。"
15611
15612 #. type: Plain text
15613 #: build/C/man7/udp.7:128
15614 msgid "For compatibility with legacy code, in Linux 2.0 and 2.2 it was possible to set the B<SO_BSDCOMPAT> B<SOL_SOCKET> option to receive remote errors only when the socket has been connected (except for B<EPROTO> and B<EMSGSIZE>).  Locally generated errors are always passed.  Support for this socket option was removed in later kernels; see B<socket>(7)  for further information."
15615 msgstr "Linux 2.0 と 2.2 では、古いコードとの互換性のために、 B<SO_BSDCOMPAT> B<SOL_SOCKET> オプションを設定すれば、ソケットが接続されている 場合に限ってリモートのエラーを受信するようにできた (B<EPROTO> と B<EMSGSIZE> を除く)。 ローカルで生成されたエラーは常に渡される。 このソケットオプションのサポートはそれ以降のバージョンの Linux で 削除された。詳細は B<socket>(7)  を参照。"
15616
15617 #. type: Plain text
15618 #: build/C/man7/udp.7:137
15619 msgid "When the B<IP_RECVERR> option is enabled, all errors are stored in the socket error queue, and can be received by B<recvmsg>(2)  with the B<MSG_ERRQUEUE> flag set."
15620 msgstr "B<IP_RECVERR> オプションが有効になっていると、 すべてのエラーはソケットのエラーキューに保存される。 これは B<MSG_ERRQUEUE> フラグをセットして B<recvmsg>(2)  を呼べば受信できる。"
15621
15622 #. type: Plain text
15623 #: build/C/man7/udp.7:140
15624 msgid "System-wide UDP parameter settings can be accessed by files in the directory I</proc/sys/net/ipv4/>."
15625 msgstr "システム全体の UDP パラメーター設定には、 I</proc/sys/net/ipv4/> ディレクトリ内のファイルの読み書きでアクセスできる。"
15626
15627 #. type: TP
15628 #: build/C/man7/udp.7:140
15629 #, no-wrap
15630 msgid "I<udp_mem> (since Linux 2.6.25)"
15631 msgstr "I<udp_mem> (Linux 2.6.25 以降)"
15632
15633 #. type: Plain text
15634 #: build/C/man7/udp.7:144
15635 msgid "This is a vector of three integers governing the number of pages allowed for queueing by all UDP sockets."
15636 msgstr "これは 3 つの整数からなるベクトル値で、 UDP の全ソケットのキューで利用可能なページ数を制御する。"
15637
15638 #. type: Plain text
15639 #: build/C/man7/udp.7:151
15640 msgid "Below this number of pages, UDP is not bothered about its memory appetite.  When the amount of memory allocated by UDP exceeds this number, UDP starts to moderate memory usage."
15641 msgstr "このページ数より少なければ、UDP はそのメモリ使用に関して 干渉されない。 UDP に割り当てられたメモリ総量がこの値を超過すると、 UDP はメモリ使用量を調整し始める。"
15642
15643 #. type: Plain text
15644 #: build/C/man7/udp.7:157
15645 msgid "This value was introduced to follow the format of I<tcp_mem> (see B<tcp>(7))."
15646 msgstr "この値は I<tcp_mem> の形式 (B<tcp>(7)  参照) と合わせるために導入された"
15647
15648 #. type: Plain text
15649 #: build/C/man7/udp.7:160
15650 msgid "Number of pages allowed for queueing by all UDP sockets."
15651 msgstr "UDP の全ソケットのキューで利用可能なページ数。"
15652
15653 #. type: Plain text
15654 #: build/C/man7/udp.7:164
15655 msgid "Defaults values for these three items are calculated at boot time from the amount of available memory."
15656 msgstr "これらの 3 つの値のデフォルト値は、 ブート時に利用可能なメモリ総量から計算される。"
15657
15658 #. type: TP
15659 #: build/C/man7/udp.7:164
15660 #, no-wrap
15661 msgid "I<udp_rmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)"
15662 msgstr "I<udp_rmem_min> (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)"
15663
15664 #. type: Plain text
15665 #: build/C/man7/udp.7:171
15666 msgid "Minimal size, in bytes, of receive buffers used by UDP sockets in moderation.  Each UDP socket is able to use the size for receiving data, even if total pages of UDP sockets exceed I<udp_mem> pressure."
15667 msgstr "メモリ使用量の調整中に、UDP ソケットが使用できる受信バッファーの最小値 (バイト単位)。 UDP の全ソケットのページ使用量の合計が I<udp_mem> pressure を超過している場合であっても、 各 UDP ソケットはデータの受信にこのサイズ分だけは使用することができる。"
15668
15669 #. type: TP
15670 #: build/C/man7/udp.7:171
15671 #, no-wrap
15672 msgid "I<udp_wmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)"
15673 msgstr "I<udp_wmem_min> (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)"
15674
15675 #. type: Plain text
15676 #: build/C/man7/udp.7:178
15677 msgid "Minimal size, in bytes, of send buffer used by UDP sockets in moderation.  Each UDP socket is able to use the size for sending data, even if total pages of UDP sockets exceed I<udp_mem> pressure."
15678 msgstr "メモリ使用量の調整中に、UDP ソケットが使用できる送信バッファーの最小値 (バイト単位)。 UDP の全ソケットのページ使用量の合計が I<udp_mem> pressure を超過している場合であっても、 各 UDP ソケットはデータの送信にこのサイズ分だけは使用することができる。"
15679
15680 #. type: Plain text
15681 #: build/C/man7/udp.7:189
15682 msgid "To set or get a UDP socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_UDP>.  Unless otherwise noted, I<optval> is a pointer to an I<int>."
15683 msgstr "UDP ソケットオプションを設定または取得するには、 取得には B<getsockopt>(2)  を、設定には B<setsockopt>(2)  をオプションレベル引数に B<IPPROTO_UDP> を指定して呼び出す。 注釈がない限り、 I<optval> は I<int> へのポインターである。"
15684
15685 #. type: TP
15686 #: build/C/man7/udp.7:189
15687 #, no-wrap
15688 msgid "B<UDP_CORK> (since Linux 2.5.44)"
15689 msgstr "B<UDP_CORK> (Linux 2.5.44 以降)"
15690
15691 #.  FIXME document UDP_ENCAP (new in kernel 2.5.67)
15692 #.  From include/linux/udp.h:
15693 #.  /* UDP encapsulation types */
15694 #.  #define UDP_ENCAP_ESPINUDP_NON_IKE      1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
15695 #.  #define UDP_ENCAP_ESPINUDP      2 /* draft-ietf-ipsec-udp-encaps-06 */
15696 #.  #define UDP_ENCAP_L2TPINUDP     3 /* rfc2661 */
15697 #. type: Plain text
15698 #: build/C/man7/udp.7:202
15699 msgid "If this option is enabled, then all data output on this socket is accumulated into a single datagram that is transmitted when the option is disabled.  This option should not be used in code intended to be portable."
15700 msgstr "このオプションが指定されると、このソケットの全てのデータ出力は 一つのデータグラムに蓄積され、このオプションが無効化された時に 送信される。 このオプションは移植性を考慮したコードでは用いるべきではない。"
15701
15702 #. type: Plain text
15703 #: build/C/man7/udp.7:206
15704 msgid "These ioctls can be accessed using B<ioctl>(2).  The correct syntax is:"
15705 msgstr "以下に示す ioctl は B<ioctl>(2)  を使ってアクセスできる。 正しい文法は以下の通り。"
15706
15707 #. type: Plain text
15708 #: build/C/man7/udp.7:211
15709 #, no-wrap
15710 msgid ""
15711 "B<int>I< value>B<;>\n"
15712 "I<error>B< = ioctl(>I<udp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
15713 msgstr ""
15714 "B<int>I< value>B<;>\n"
15715 "I<error>B< = ioctl(>I<udp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
15716
15717 #. type: TP
15718 #: build/C/man7/udp.7:213
15719 #, no-wrap
15720 msgid "B<FIONREAD> (B<SIOCINQ>)"
15721 msgstr "B<FIONREAD> (B<SIOCINQ>)"
15722
15723 #.  See http://www.securiteam.com/unixfocus/5KP0I15IKO.html
15724 #.  "GNUnet DoS (UDP Socket Unreachable)", 14 May 2006
15725 #. type: Plain text
15726 #: build/C/man7/udp.7:231
15727 msgid "Gets a pointer to an integer as argument.  Returns the size of the next pending datagram in the integer in bytes, or 0 when no datagram is pending.  B<Warning:> Using B<FIONREAD>, it is impossible to distinguish the case where no datagram is pending from the case where the next pending datagram contains zero bytes of data.  It is safer to use B<select>(2), B<poll>(2), or B<epoll>(7)  to distinguish these cases."
15728 msgstr ""
15729 "整数へのポインターを引き数に取り、そのポインターに、次の処理待ちのデータグラムの\n"
15730 "サイズをバイト単位で返す。処理待ちのデータグラムがない場合は 0 を返す。\n"
15731 "B<警告>: B<FIONREAD> を使った場合、処理待ちのデータグラムがない場合と、\n"
15732 "次の処理待ちデータグラムが 0 バイトのデータの場合を区別することができない。\n"
15733 "この両者を区別したい場合は、B<select>(2), B<poll>(2), B<epoll>(7) \n"
15734 "を使う方が安全である。"
15735
15736 #. type: TP
15737 #: build/C/man7/udp.7:231
15738 #, no-wrap
15739 msgid "B<TIOCOUTQ> (B<SIOCOUTQ>)"
15740 msgstr "B<TIOCOUTQ> (B<SIOCOUTQ>)"
15741
15742 #. type: Plain text
15743 #: build/C/man7/udp.7:235
15744 msgid "Returns the number of data bytes in the local send queue.  Only supported with Linux 2.4 and above."
15745 msgstr "ローカル送信キューにあるデータサイズをバイト単位で返す。 Linux 2.4 以上でのみ対応している。"
15746
15747 #. type: Plain text
15748 #: build/C/man7/udp.7:241
15749 msgid "In addition, all ioctls documented in B<ip>(7)  and B<socket>(7)  are supported."
15750 msgstr "さらに、 B<ip>(7)  と B<socket>(7)  で述べられている全ての ioctl も対応している。"
15751
15752 #. type: Plain text
15753 #: build/C/man7/udp.7:247
15754 msgid "All errors documented for B<socket>(7)  or B<ip>(7)  may be returned by a send or receive on a UDP socket."
15755 msgstr "B<socket>(7)  や B<ip>(7)  に記述されている全てのエラーが、 UDP ソケットの送受信で返される可能性がある。"
15756
15757 #. type: TP
15758 #: build/C/man7/udp.7:247 build/C/man7/unix.7:410
15759 #, no-wrap
15760 msgid "B<ECONNREFUSED>"
15761 msgstr "B<ECONNREFUSED>"
15762
15763 #. type: Plain text
15764 #: build/C/man7/udp.7:251
15765 msgid "No receiver was associated with the destination address.  This might be caused by a previous packet sent over the socket."
15766 msgstr "行き先アドレスに関連づけられている受信者がいない。 これは以前のパケットがそのパケットを 上書き送信してしまっているからであることが多い。"
15767
15768 #.  .SH CREDITS
15769 #.  This man page was written by Andi Kleen.
15770 #. type: Plain text
15771 #: build/C/man7/udp.7:256
15772 msgid "B<IP_RECVERR> is a new feature in Linux 2.2."
15773 msgstr "B<IP_RECVERR> は Linux 2.2 の新しい機能である。"
15774
15775 #. type: Plain text
15776 #: build/C/man7/udp.7:261
15777 msgid "B<ip>(7), B<raw>(7), B<socket>(7), B<udplite>(7)"
15778 msgstr "B<ip>(7), B<raw>(7), B<socket>(7), B<udplite>(7)"
15779
15780 #. type: Plain text
15781 #: build/C/man7/udp.7:263
15782 msgid "RFC\\ 768 for the User Datagram Protocol."
15783 msgstr "RFC\\ 768 : User Datagram Protocol"
15784
15785 #. type: Plain text
15786 #: build/C/man7/udp.7:265
15787 msgid "RFC\\ 1122 for the host requirements."
15788 msgstr "RFC\\ 1122 : ホストの必要条件"
15789
15790 #. type: Plain text
15791 #: build/C/man7/udp.7:267
15792 msgid "RFC\\ 1191 for a description of path MTU discovery."
15793 msgstr "RFC\\ 1191 : path MTU discovery の記述"
15794
15795 #. type: TH
15796 #: build/C/man7/udplite.7:27
15797 #, no-wrap
15798 msgid "UDPLITE"
15799 msgstr "UDPLITE"
15800
15801 #. type: Plain text
15802 #: build/C/man7/udplite.7:30
15803 msgid "udplite - Lightweight User Datagram Protocol"
15804 msgstr "udplite - 軽量なユーザーデータグラムプロトコル"
15805
15806 #. type: Plain text
15807 #: build/C/man7/udplite.7:38
15808 msgid "B<sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);>"
15809 msgstr "B<sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);>"
15810
15811 #. type: Plain text
15812 #: build/C/man7/udplite.7:41
15813 msgid "This is an implementation of the Lightweight User Datagram Protocol (UDP-Lite), as described in RFC\\ 3828."
15814 msgstr "これは RFC\\ 3828 に書かれている軽量なユーザーデータグラムプロトコル (Lightweight User Datagram Protocol; UDP-Lite) の実装である。"
15815
15816 #. type: Plain text
15817 #: build/C/man7/udplite.7:47
15818 msgid "UDP-Lite is an extension of UDP (RFC\\ 768) to support variable-length checksums.  This has advantages for some types of multimedia transport that may be able to make use of slightly damaged datagrams, rather than having them discarded by lower-layer protocols."
15819 msgstr "UDP-Lite は UDP (RFC\\ 768) の拡張で、可変長のチェックサムをサポートしている。 このプロトコルが効果を発揮するのは、少しだけ壊れたデータグラムがあった場合に、 そのデータグラムを下位レイヤーのプロトコルに廃棄させるのではなく、 それを利用することができるような、ある種のマルチメディア転送においてである。"
15820
15821 #. type: Plain text
15822 #: build/C/man7/udplite.7:53
15823 msgid "The variable-length checksum coverage is set via a B<setsockopt>(2)  option.  If this option is not set, the only difference to UDP is in using a different IP protocol identifier (IANA number 136)."
15824 msgstr "可変長のチェックサムの対象範囲は B<setsockopt>(2)  オプション経由で設定される。 このオプションが設定されていない場合、UDP と異なるのは 違う IP プロトコル識別子 (IANA 番号 136) を使用する点だけである。"
15825
15826 #. type: Plain text
15827 #: build/C/man7/udplite.7:58
15828 msgid "The UDP-Lite implementation is a full extension of B<udp>(7)\\(emthat is, it shares the same API and API behavior, and in addition offers two socket options to control the checksum coverage."
15829 msgstr "UDP-Lite の実装は B<udp>(7)  の完全な拡張、すなわち API と API の動作は同じである。 これに加えて、2 つのソケットオプションがチェックサムの対象範囲を 制御するために提供されている。"
15830
15831 #. type: Plain text
15832 #: build/C/man7/udplite.7:67
15833 msgid "UDP-Litev4 uses the I<sockaddr_in> address format described in B<ip>(7).  UDP-Litev6 uses the I<sockaddr_in6> address format described in B<ipv6>(7)."
15834 msgstr "UDP-Litev4 は B<ip>(7)  で説明されている I<sockaddr_in> アドレスを使用する。 UDP-Litev6 は B<ipv6>(7)  で説明されている I<sockaddr_in6> アドレスを使用する。"
15835
15836 #. type: Plain text
15837 #: build/C/man7/udplite.7:80
15838 msgid "To set or get a UDP-Lite socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_UDPLITE>.  In addition, all B<IPPROTO_UDP> socket options are valid on a UDP-Lite socket.  See B<udp>(7)  for more information."
15839 msgstr "UDP-Lite のソケットオプションを設定/取得するには、 オプションレベル引き数に B<IPPROTO_UDPLITE> を指定して、取得時には B<getsockopt>(2)  を、設定時には B<setsockopt>(2)  を呼び出す。さらに、全ての B<IPPROTO_UDP> のソケットオプションが UDP-Lite ソケットでも使用できる。 詳細は B<udp>(7)  を参照のこと。"
15840
15841 #. type: Plain text
15842 #: build/C/man7/udplite.7:82
15843 msgid "The following two options are specific to UDP-Lite."
15844 msgstr "以下の 2 つが UDP-Lite に固有のオプションである。"
15845
15846 #. type: TP
15847 #: build/C/man7/udplite.7:82
15848 #, no-wrap
15849 msgid "B<UDPLITE_SEND_CSCOV>"
15850 msgstr "B<UDPLITE_SEND_CSCOV>"
15851
15852 #. type: Plain text
15853 #: build/C/man7/udplite.7:87
15854 msgid "This option sets the sender checksum coverage and takes an I<int> as argument, with a checksum coverage value in the range 0..2^16-1."
15855 msgstr "このオプションは送信側のチェックサムの対象範囲を設定する。 I<int> 型を引き数として取り、設定可能な値の範囲は 0 から 2^16-1 までである。"
15856
15857 #. type: Plain text
15858 #: build/C/man7/udplite.7:91
15859 msgid "A value of 0 means that the entire datagram is always covered.  Values from 1-7 are illegal (RFC\\ 3828, 3.1) and are rounded up to the minimum coverage of 8."
15860 msgstr "値 0 はデータグラム全体が常にチェックサムの対象となることを意味する。 値 1〜7 は不正であり (RFC\\ 3828 の 3.1 章)、範囲の設定として最小値である 8 に切り上げられる。"
15861
15862 #. type: Plain text
15863 #: build/C/man7/udplite.7:97
15864 msgid "With regard to IPv6 jumbograms (RFC\\ 2675), the UDP-Litev6 checksum coverage is limited to the first 2^16-1 octets, as per RFC\\ 3828, 3.5.  Higher values are therefore silently truncated to 2^16-1.  If in doubt, the current coverage value can always be queried using B<getsockopt>(2)."
15865 msgstr "IPv6 の jumbograms (巨大なデータグラム; RFC\\ 2675) の場合には、 UDP-Litev6 のチェックサムの対象範囲は、RFC\\ 3828 の 3.5 章にあるように、 先頭から 2^16-1 オクテットまでに限定される。 そのため、それより大きな値は 2^16-1 に黙って切り詰められる。 現在の対象範囲の値を知りたければ、いつでも B<getsockopt>(2)  を使って値を問い合わせることができる。"
15866
15867 #. type: TP
15868 #: build/C/man7/udplite.7:97
15869 #, no-wrap
15870 msgid "B<UDPLITE_RECV_CSCOV>"
15871 msgstr "B<UDPLITE_RECV_CSCOV>"
15872
15873 #. type: Plain text
15874 #: build/C/man7/udplite.7:108
15875 msgid "This is the receiver-side analogue and uses the same argument format and value range as B<UDPLITE_SEND_CSCOV>.  This option is not required to enable traffic with partial checksum coverage.  Its function is that of a traffic filter: when enabled, it instructs the kernel to drop all packets which have a coverage I<less> than the specified coverage value."
15876 msgstr "これは受信側のチェックサムの対象範囲を設定するもので、 使用される引き数形式と値の範囲は B<UDPLITE_SEND_CSCOV> と同じである。 このオプションは、部分的なチェックサム対象範囲を持つトラフィックを 有効にするのに必要なわけではなく、トラフィックフィルターとして機能する。 このオプションが有効にすると、カーネルは指定されたチェックサム対象範囲 よりも「短かい」対象範囲を持つパケットを全て廃棄するようになる。"
15877
15878 #.  SO_NO_CHECK exists and is supported by UDPv4, but is
15879 #.  commented out in socket(7), hence also commented out here
15880 #. .PP
15881 #. Since UDP-Lite mandates checksums, checksumming can not be disabled
15882 #. via the
15883 #. .B SO_NO_CHECK
15884 #. option from
15885 #. .BR socket (7).
15886 #. type: Plain text
15887 #: build/C/man7/udplite.7:121
15888 msgid "When the value of B<UDPLITE_RECV_CSCOV> exceeds the actual packet coverage, incoming packets are silently dropped, but may generate a warning message in the system log."
15889 msgstr "B<UDPLITE_RECV_CSCOV> の値が実際のパケットのチェックサム対象範囲よりも大きい場合、 受信したパケットは黙って廃棄される。 ただし、システムログに対して警告メッセージが生成されるかもしれない。"
15890
15891 #. type: Plain text
15892 #: build/C/man7/udplite.7:126
15893 msgid "All errors documented for B<udp>(7)  may be returned.  UDP-Lite does not add further errors."
15894 msgstr "B<udp>(7)  について書かれている全てのエラーは返る可能性がある。 UDP-Lite 自体は新たなエラーは追加していない。"
15895
15896 #. type: Plain text
15897 #: build/C/man7/udplite.7:129
15898 msgid "I</proc/net/snmp> - basic UDP-Litev4 statistics counters."
15899 msgstr "I</proc/net/snmp> - UDP-Litev4 の基本的な統計情報カウンター。"
15900
15901 #. type: Plain text
15902 #: build/C/man7/udplite.7:132
15903 msgid "I</proc/net/snmp6> - basic UDP-Litev6 statistics counters."
15904 msgstr "I</proc/net/snmp6> - UDP-Litev6 の基本的な統計情報カウンター。"
15905
15906 #. type: Plain text
15907 #: build/C/man7/udplite.7:134
15908 msgid "UDP-Litev4/v6 first appeared in Linux 2.6.20."
15909 msgstr "UDP-Litev4/v6 は Linux 2.6.20 で初めて登場した。"
15910
15911 #.  FIXME . remove this section once glibc supports UDP-Lite
15912 #. type: Plain text
15913 #: build/C/man7/udplite.7:137
15914 msgid "Where glibc support is missing, the following definitions are needed:"
15915 msgstr "glibc によるサポートがない場合は、以下の定義を行う必要がある。"
15916
15917 #.  The following two are defined in the kernel in linux/net/udplite.h
15918 #. type: Plain text
15919 #: build/C/man7/udplite.7:144
15920 #, no-wrap
15921 msgid ""
15922 "#define IPPROTO_UDPLITE     136\n"
15923 "#define UDPLITE_SEND_CSCOV  10\n"
15924 "#define UDPLITE_RECV_CSCOV  11\n"
15925 msgstr ""
15926 "#define IPPROTO_UDPLITE     136\n"
15927 "#define UDPLITE_SEND_CSCOV  10\n"
15928 "#define UDPLITE_RECV_CSCOV  11\n"
15929
15930 #. type: Plain text
15931 #: build/C/man7/udplite.7:151
15932 msgid "B<ip>(7), B<ipv6>(7), B<socket>(7), B<udp>(7)"
15933 msgstr "B<ip>(7), B<ipv6>(7), B<socket>(7), B<udp>(7)"
15934
15935 #. type: Plain text
15936 #: build/C/man7/udplite.7:153
15937 msgid "RFC\\ 3828 for the Lightweight User Datagram Protocol (UDP-Lite)."
15938 msgstr "RFC\\ 3828 for the Lightweight User Datagram Protocol (UDP-Lite)."
15939
15940 #. type: Plain text
15941 #: build/C/man7/udplite.7:156
15942 msgid "I<Documentation/networking/udplite.txt> in the Linux kernel source tree"
15943 msgstr "Linux カーネルソース内の I<Documentation/networking/udplite.txt>"
15944
15945 #. type: TH
15946 #: build/C/man7/unix.7:20
15947 #, no-wrap
15948 msgid "UNIX"
15949 msgstr "UNIX"
15950
15951 #. type: Plain text
15952 #: build/C/man7/unix.7:23
15953 msgid "unix - sockets for local interprocess communication"
15954 msgstr "unix - ローカルな プロセス間通信用のソケット"
15955
15956 #. type: Plain text
15957 #: build/C/man7/unix.7:27
15958 msgid "B<#include E<lt>sys/un.hE<gt>>"
15959 msgstr "B<#include E<lt>sys/un.hE<gt>>"
15960
15961 #. type: Plain text
15962 #: build/C/man7/unix.7:29
15963 msgid "I<unix_socket>B< = socket(AF_UNIX, type, 0);>"
15964 msgstr "I<unix_socket>B< = socket(AF_UNIX, type, 0);>"
15965
15966 #. type: Plain text
15967 #: build/C/man7/unix.7:31
15968 msgid "I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>"
15969 msgstr "I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>"
15970
15971 #. type: Plain text
15972 #: build/C/man7/unix.7:42
15973 msgid "The B<AF_UNIX> (also known as B<AF_LOCAL>)  socket family is used to communicate between processes on the same machine efficiently.  Traditionally, UNIX domain sockets can be either unnamed, or bound to a filesystem pathname (marked as being of type socket).  Linux also supports an abstract namespace which is independent of the filesystem."
15974 msgstr ""
15975 "B<AF_UNIX> (B<AF_LOCAL> とも言われる) ソケットファミリーは、同じマシン上で\n"
15976 "プロセス同士が 効率的に通信するために用いられる。伝統的に、UNIX ドメイン\n"
15977 "ソケットは、名前なしにもできるし、 (ソケット型であると印のついた) ファイル\n"
15978 "システムのパス名に 結び付けることもできる。さらに Linux では、ファイル\n"
15979 "システムに依存しない抽象名前空間 (abstract namespace) もサポートしている。"
15980
15981 #. type: Plain text
15982 #: build/C/man7/unix.7:54
15983 msgid "Valid socket types in the UNIX domain are: B<SOCK_STREAM>, for a stream-oriented socket; B<SOCK_DGRAM>, for a datagram-oriented socket that preserves message boundaries (as on most UNIX implementations, UNIX domain datagram sockets are always reliable and don't reorder datagrams); and (since Linux 2.6.4)  B<SOCK_SEQPACKET>, for a connection-oriented socket that preserves message boundaries and delivers messages in the order that they were sent."
15984 msgstr "UNIX ドメインに指定できるソケットタイプは以下の通りである。 B<SOCK_STREAM> は、 ストリーム指向のソケットで有効である。 B<SOCK_DGRAM> は、 メッセージ境界を保存するデータグラム指向のソケットで有効である (ほとんどの UNIX の実装では、 UNIX ドメインデータグラムソケットは常に信頼でき、 データグラムの並び替えは行わない)。 B<SOCK_SEQPACKET> は、 メッセージ境界を保存し送信された順序でメッセージを届ける接続指向ソケットで有効である (Linux 2.6.4 以降で利用できる)。"
15985
15986 #. type: Plain text
15987 #: build/C/man7/unix.7:57
15988 msgid "UNIX domain sockets support passing file descriptors or process credentials to other processes using ancillary data."
15989 msgstr ""
15990 "UNIX ドメインソケットでは、補助データを使って ファイルディスクリプターや\n"
15991 "プロセスの信任状 (credential) を 送受信することもできる。"
15992
15993 #. type: Plain text
15994 #: build/C/man7/unix.7:59
15995 msgid "A UNIX domain socket address is represented in the following structure:"
15996 msgstr "UNIX ドメインソケットのアドレスは以下の構造体で表現される。"
15997
15998 #. type: Plain text
15999 #: build/C/man7/unix.7:63
16000 #, no-wrap
16001 msgid "#define UNIX_PATH_MAX    108\n"
16002 msgstr "#define UNIX_PATH_MAX    108\n"
16003
16004 #. type: Plain text
16005 #: build/C/man7/unix.7:68
16006 #, no-wrap
16007 msgid ""
16008 "struct sockaddr_un {\n"
16009 "    sa_family_t sun_family;               /* AF_UNIX */\n"
16010 "    char        sun_path[UNIX_PATH_MAX];  /* pathname */\n"
16011 "};\n"
16012 msgstr ""
16013 "struct sockaddr_un {\n"
16014 "    sa_family_t sun_family;               /* AF_UNIX */\n"
16015 "    char        sun_path[UNIX_PATH_MAX];  /* pathname */\n"
16016 "};\n"
16017
16018 #. type: Plain text
16019 #: build/C/man7/unix.7:75
16020 msgid "The I<sun_family> field always contains B<AF_UNIX>."
16021 msgstr "I<sun_family> フィールドには必ず B<AF_UNIX> が入っている。"
16022
16023 #. type: Plain text
16024 #: build/C/man7/unix.7:91
16025 msgid "Various systems calls (for example, B<bind>(2), B<connect>(2), and B<sendto>(2))  take a I<sockaddr_un> argument as input.  Some other system calls (for example, B<getsockname>(2), B<getpeername>(2), B<recvfrom>(2), and B<accept>(2))  return an argument of this type."
16026 msgstr "様々なシステムコール (例えば B<bind>(2), B<connect>(2), B<sendto>(2)) は入力として I<sockaddr_un> 引き数を取る。 他のいくつかのシステムコール (例えば B<getsockname>(2), B<getpeername>(2), B<recvfrom>(2), B<accept>(2)) はこの型の引き数を返す。"
16027
16028 #. type: Plain text
16029 #: build/C/man7/unix.7:95
16030 msgid "Three types of address are distinguished in the I<sockaddr_un> structure:"
16031 msgstr "I<sockaddr_un> 構造体では 3 種類のアドレスが区別される。"
16032
16033 #. type: Plain text
16034 #: build/C/man7/unix.7:103
16035 msgid "I<pathname>: a UNIX domain socket can be bound to a null-terminated filesystem pathname using B<bind>(2).  When the address of a pathname socket is returned (by one of the system calls noted above), its length is"
16036 msgstr "I<pathname (パス名)>: B<bind>(2) を使って、UNIX ドメインソケットを、 ヌル終端されたファイルシステム上のパス名に結び付けることができる。 (上述のいずれかのシステムコールにより) ソケットのアドレスが返される際、 その長さは"
16037
16038 #. type: Plain text
16039 #: build/C/man7/unix.7:105
16040 #, no-wrap
16041 msgid "    offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n"
16042 msgstr "    offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n"
16043
16044 #. type: Plain text
16045 #: build/C/man7/unix.7:118
16046 msgid "and I<sun_path> contains the null-terminated pathname.  (On Linux, the above B<offsetof>()  expression equates to the same value as I<sizeof(sa_family_t)>, but some other implementations include other fields before I<sun_path>, so the B<offsetof>()  expression more portably describes the size of the address structure.)"
16047 msgstr "であり、 I<sun_path> にはヌル終端されたパス名が格納される。 (Linux では、上記の B<offsetof>() 式は I<sizeof(sa_family_t)> の値と同じだが、 他の実装では I<sun_path> の前に他のフィールドが含まれる場合もある。 そのため、 B<offsetof>() 式を使う方がより移植性のある方法でアドレス構造体のサイズを知ることができる。)"
16048
16049 #. type: Plain text
16050 #: build/C/man7/unix.7:120
16051 msgid "For further details of pathname sockets, see below."
16052 msgstr "パス名ソケットの詳細については、後で説明する。"
16053
16054 #.  There is quite some variation across implementations: FreeBSD
16055 #.  says the length is 16 bytes, HP-UX 11 says it's zero bytes.
16056 #. type: Plain text
16057 #: build/C/man7/unix.7:136
16058 msgid "I<unnamed>: A stream socket that has not been bound to a pathname using B<bind>(2)  has no name.  Likewise, the two sockets created by B<socketpair>(2)  are unnamed.  When the address of an unnamed socket is returned, its length is I<sizeof(sa_family_t)>, and I<sun_path> should not be inspected."
16059 msgstr "I<unnamed (名前なし)>: B<bind>(2)  を使ってパス名に結び付けることができないストリーム型のソケットは 名前を持たない。同様に、 B<socketpair>(2)  で作成される 2 つのソケットも名前を持たない。 名前なしのソケットのアドレスを返す際には、 その長さは I<sizeof(sa_family_t)> であり、 I<sun_path> は検査すべきではない。"
16060
16061 #. type: Plain text
16062 #: build/C/man7/unix.7:159
16063 msgid "I<abstract>: an abstract socket address is distinguished (from a pathname socket)  by the fact that I<sun_path[0]> is a null byte (\\(aq\\e0\\(aq).  The socket's address in this namespace is given by the additional bytes in I<sun_path> that are covered by the specified length of the address structure.  (Null bytes in the name have no special significance.)  The name has no connection with filesystem pathnames.  When the address of an abstract socket is returned, the returned I<addrlen> is greater than I<sizeof(sa_family_t)> (i.e., greater than 2), and the name of the socket is contained in the first I<(addrlen - sizeof(sa_family_t))> bytes of I<sun_path>.  The abstract socket namespace is a nonportable Linux extension."
16064 msgstr "I<abstract (抽象)>: 抽象ソケットアドレスは、 I<sun_path[0]> がヌルバイト (\\(aq\\e0\\(aq) であることから (パス名ソケットから) 区別できる。 この名前空間におけるソケットのアドレスは、 I<sun_path> の残りのバイトの、 アドレス構造体の指定された長さの範囲で表される (名前中のヌルバイトには特別な意味はない)。 この名前はファイルシステムのパス名とは何の関係もない。 抽象ソケットのアドレスを返される際には、 返される I<addrlen> は I<sizeof(sa_family_t)> より大きく (つまり 2 より大きく)、 ソケットの名前は I<sun_path> の最初の I<(addrlen - sizeof(sa_family_t))> バイトに格納される。 ソケットの抽象名前空間は Linux による拡張であり、移植性はない。"
16065
16066 #. type: SS
16067 #: build/C/man7/unix.7:159
16068 #, no-wrap
16069 msgid "Pathname sockets"
16070 msgstr "パス名ソケット"
16071
16072 #. type: Plain text
16073 #: build/C/man7/unix.7:162
16074 msgid "When binding a socket to a pathname, a few rules should be observed for maximum portability and ease of coding:"
16075 msgstr "ソケットにパス名を結びつける際に、 最大限の移植性を持たせ、コーディングを簡単にするためのルールがいくつかある。"
16076
16077 #. type: Plain text
16078 #: build/C/man7/unix.7:166
16079 msgid "The pathname in I<sun_path> should be null-terminated."
16080 msgstr "I<sun_path> のパス名はヌル終端すべきである。"
16081
16082 #. type: Plain text
16083 #: build/C/man7/unix.7:170
16084 msgid "The length of the pathname, including the terminating null byte, should not exceed the size of I<sun_path>."
16085 msgstr "終端のヌルバイトを含めたパス名の長さは I<sun_path> の大きさを超えないようにすべきである。"
16086
16087 #. type: Plain text
16088 #: build/C/man7/unix.7:176
16089 msgid "The I<addrlen> argument that describes the enclosing I<sockaddr_un> structure should have a value of at least:"
16090 msgstr "I<sockaddr_un> 構造体の終わりを示す I<addrlen> 引き数は最低でも以下の値を持つべきである。"
16091
16092 #. type: Plain text
16093 #: build/C/man7/unix.7:179
16094 #, no-wrap
16095 msgid "    offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n"
16096 msgstr "    offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n"
16097
16098 #. type: Plain text
16099 #: build/C/man7/unix.7:185
16100 msgid "or, more simply, I<addrlen> can be specified as I<sizeof(struct sockaddr_un)>."
16101 msgstr "もしくは、もっと簡単には、 I<addrlen> に I<sizeof(struct sockaddr_un)> を指定することもできる。"
16102
16103 #.  Linux does this, including for the case where the supplied path
16104 #.  is 108 bytes
16105 #. type: Plain text
16106 #: build/C/man7/unix.7:193
16107 msgid "There is some variation in how implementations handle UNIX domain socket addresses that do not follow the above rules.  For example, some (but not all) implementations append a null terminator if none is present in the supplied I<sun_path>."
16108 msgstr "UNIX ドメインソケットアドレスの扱いが上記のルールに従っていない実装もいくつかある。 (全部ではないが) いくつかの実装では、 I<sun_path> に文字列終端の NULL がなかった場合に終端の NULL が追加される。"
16109
16110 #.  HP-UX
16111 #.  Modern BSDs generally have 104, Tru64 and AIX have 104,
16112 #.  Solaris and Irix have 108
16113 #. type: Plain text
16114 #: build/C/man7/unix.7:202
16115 msgid "When coding portable applications, keep in mind that some implementations have I<sun_path> as short as 92 bytes."
16116 msgstr "移植性があるアプリケーションを作成する際には、 いくつかの実装では I<sun_path> は 92 バイトしかないという点にも留意しておくとよい。"
16117
16118 #. type: Plain text
16119 #: build/C/man7/unix.7:220
16120 msgid "Various system calls (B<accept>(2), B<recvfrom>(2), B<getsockname>(2), B<getpeername>(2))  return socket address structures.  When applied to UNIX domain sockets, the value-result I<addrlen> argument supplied to the call should be initialized as above.  Upon return, the argument is set to indicate the I<actual> size of the address structure.  The caller should check the value returned in this argument: if the output value exceeds the input value, then there is no guarantee that a null terminator is present in I<sun_path>.  (See BUGS.)"
16121 msgstr "様々なシステムコール (B<accept>(2), B<recvfrom>(2), B<getsockname>(2), B<getpeername>(2)) がソケットアドレス構造体を返す。 これらのシステムコールが UNIX ドメインソケットに対して呼ばれた際には、 これらの呼び出しに渡す I<addrlen> 引き数は上記の説明のように初期化すべきである。 リターン時には、この引き数にはアドレス構造体の「実際の」サイズが設定される。 呼び出し側ではこの引き数で返された値を確認すべきである。 返された値が入力値よりも大きい場合、 I<sun_path> に終端の NULL バイトが存在する保証はない (「バグ」を参照)。"
16122
16123 #. type: Plain text
16124 #: build/C/man7/unix.7:233
16125 msgid "For historical reasons, these socket options are specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> specific.  They can be set with B<setsockopt>(2)  and read with B<getsockopt>(2)  by specifying B<SOL_SOCKET> as the socket family."
16126 msgstr "歴史的な理由により、これらのオプションは たとえ B<AF_UNIX> 固有のオプションであっても B<SOL_SOCKET> 型で指定する。 ソケットファミリーとして B<SOL_SOCKET> を指定すると、 B<setsockopt>(2)  でオプションが設定でき、 B<getsockopt>(2)  で取得ができる。"
16127
16128 #. type: TP
16129 #: build/C/man7/unix.7:233
16130 #, no-wrap
16131 msgid "B<SO_PASSCRED>"
16132 msgstr "B<SO_PASSCRED>"
16133
16134 #. type: Plain text
16135 #: build/C/man7/unix.7:240
16136 msgid "Enables the receiving of the credentials of the sending process in an ancillary message.  When this option is set and the socket is not yet connected a unique name in the abstract namespace will be generated automatically.  Expects an integer boolean flag."
16137 msgstr ""
16138 "送信プロセスの補助メッセージで信任状を受信できるようにする。このオプションが\n"
16139 "セットされていて、まだソケットが接続されていないと、抽象名前空間に他と重なら\n"
16140 "ない名前が自動的に生成される。ブール整数値のフラグを取る。"
16141
16142 #. type: SS
16143 #: build/C/man7/unix.7:240
16144 #, no-wrap
16145 msgid "Autobind feature"
16146 msgstr "自動バインド (autobind) 機能"
16147
16148 #.  i.e., sizeof(short)
16149 #. type: Plain text
16150 #: build/C/man7/unix.7:260
16151 msgid "If a B<bind>(2)  call specifies I<addrlen> as I<sizeof(sa_family_t)>, or the B<SO_PASSCRED> socket option was specified for a socket that was not explicitly bound to an address, then the socket is autobound to an abstract address.  The address consists of a null byte followed by 5 bytes in the character set I<[0-9a-f]>.  Thus, there is a limit of 2^20 autobind addresses.  (From Linux 2.1.15, when the autobind feature was added, 8 bytes were used, and the limit was thus 2^32 autobind addresses.  The change to 5 bytes came in Linux 2.3.15.)"
16152 msgstr ""
16153 "B<bind>(2) 呼び出しで I<sizeof(sa_family_t)> として I<addrlen> を指定するか、\n"
16154 "アドレスに明示的にバインドされていないソケットに対して\n"
16155 "B<SO_PASSCRED> ソケットオプションが指定されていた場合、\n"
16156 "そのソケットは抽象アドレスに自動的にバインドされる。\n"
16157 "このアドレスは、1 個のヌルバイトの後に、文字集合 I<[0-9a-f]> のバイトが\n"
16158 "5 個続く形式である。したがって、自動的にバインドされるアドレス数には\n"
16159 "2^20 個という上限が存在する。\n"
16160 "(Linux 2.1.15 以降で、自動バインド機能が追加されたときには、\n"
16161 "8 バイトが使われており、自動バインドアドレス数の上限は 2^32 であった。\n"
16162 "Linux 2.3.15 で 5 バイトに変更された。)"
16163
16164 #. type: Plain text
16165 #: build/C/man7/unix.7:263
16166 msgid "The following paragraphs describe domain-specific details and unsupported features of the sockets API for UNIX domain sockets on Linux."
16167 msgstr ""
16168 "この節では、Linux の UNIX ドメインソケットでの、ドメイン固有の詳細仕様と\n"
16169 "ソケット API でサポートされていない機能について説明する。"
16170
16171 #. type: Plain text
16172 #: build/C/man7/unix.7:271
16173 msgid "UNIX domain sockets do not support the transmission of out-of-band data (the B<MSG_OOB> flag for B<send>(2)  and B<recv>(2))."
16174 msgstr ""
16175 "UNIX ドメインソケットでは、帯域外データ (out-of-band data) の 送信\n"
16176 "(B<send>(2) と B<recv>(2) の B<MSG_OOB> フラグ) はサポートされていない。"
16177
16178 #. type: Plain text
16179 #: build/C/man7/unix.7:276
16180 msgid "The B<send>(2)  B<MSG_MORE> flag is not supported by UNIX domain sockets."
16181 msgstr "B<send>(2) B<MSG_MORE> フラグは UNIX ドメインソケットではサポートされていない。"
16182
16183 #. type: Plain text
16184 #: build/C/man7/unix.7:284
16185 msgid "The use of B<MSG_TRUNC> in the I<flags> argument of B<recv>(2)  is not supported by UNIX domain sockets."
16186 msgstr ""
16187 "B<recv>(2) の I<flags> 引き数での B<MSG_TRUNC> の使用は UNIX ドメイン\n"
16188 "ソケットではサポートされていない。"
16189
16190 #. type: Plain text
16191 #: build/C/man7/unix.7:296
16192 msgid "The B<SO_SNDBUF> socket option does have an effect for UNIX domain sockets, but the B<SO_RCVBUF> option does not.  For datagram sockets, the B<SO_SNDBUF> value imposes an upper limit on the size of outgoing datagrams.  This limit is calculated as the doubled (see B<socket>(7))  option value less 32 bytes used for overhead."
16193 msgstr ""
16194 "B<SO_SNDBUF> ソケットオプションは UNIX ドメインソケットで効果を持つが、\n"
16195 "B<SO_RCVBUF> は効果がない。 データグラムソケットでは、 B<SO_SNDBUF> の値が\n"
16196 "出力データグラムの上限サイズとなる。 実際の上限値は、 B<SO_SNDBUF> オプション\n"
16197 "として設定された値の 2倍 (B<socket>(7) 参照) からオーバヘッドとして使用される\n"
16198 "32 バイトを引いた値となる。"
16199
16200 #. type: SS
16201 #: build/C/man7/unix.7:296
16202 #, no-wrap
16203 msgid "Ancillary messages"
16204 msgstr "補助メッセージ"
16205
16206 #. type: Plain text
16207 #: build/C/man7/unix.7:318
16208 msgid "Ancillary data is sent and received using B<sendmsg>(2)  and B<recvmsg>(2).  For historical reasons the ancillary message types listed below are specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> specific.  To send them set the I<cmsg_level> field of the struct I<cmsghdr> to B<SOL_SOCKET> and the I<cmsg_type> field to the type.  For more information see B<cmsg>(3)."
16209 msgstr "補助データを送受するには、 B<sendmsg>(2)  や B<recvmsg>(2)  を使用する。 歴史的な理由により、以下に示す補助メッセージの型は たとえ B<AF_UNIX> 固有のものであっても B<SOL_SOCKET> 型で指定する。 これらを送るには、構造体 I<cmsghdr> の I<cmsg_level> フィールドに B<SOL_SOCKET> をセットし、 I<cmsg_type> フィールドにタイプをセットする。 詳細は B<cmsg>(3)  を見よ。"
16210
16211 #. type: TP
16212 #: build/C/man7/unix.7:318
16213 #, no-wrap
16214 msgid "B<SCM_RIGHTS>"
16215 msgstr "B<SCM_RIGHTS>"
16216
16217 #. type: Plain text
16218 #: build/C/man7/unix.7:324
16219 msgid "Send or receive a set of open file descriptors from another process.  The data portion contains an integer array of the file descriptors.  The passed file descriptors behave as though they have been created with B<dup>(2)."
16220 msgstr "他のプロセスでオープンされたファイルディスクリプターのセットを送受信する。 データ部分にファイルディスクリプターの整数配列が入っている。 渡されたファイルディスクリプターは、あたかも B<dup>(2)  で生成されたかのように振る舞う。"
16221
16222 #. type: TP
16223 #: build/C/man7/unix.7:324
16224 #, no-wrap
16225 msgid "B<SCM_CREDENTIALS>"
16226 msgstr "B<SCM_CREDENTIALS>"
16227
16228 #. type: Plain text
16229 #: build/C/man7/unix.7:334
16230 msgid "Send or receive UNIX credentials.  This can be used for authentication.  The credentials are passed as a I<struct ucred> ancillary message.  Thus structure is defined in I<E<lt>sys/socket.hE<gt>> as follows:"
16231 msgstr ""
16232 "UNIX 信任状を送受信する。これは認証に用いることができる。\n"
16233 "信任状は I<struct ucred> の補助メッセージとして渡される。\n"
16234 "この構造体は I<E<lt>sys/socket.hE<gt>> で以下のように定義されている。"
16235
16236 #. type: Plain text
16237 #: build/C/man7/unix.7:342
16238 #, no-wrap
16239 msgid ""
16240 "struct ucred {\n"
16241 "    pid_t pid;    /* process ID of the sending process */\n"
16242 "    uid_t uid;    /* user ID of the sending process */\n"
16243 "    gid_t gid;    /* group ID of the sending process */\n"
16244 "};\n"
16245 msgstr ""
16246 "struct ucred {\n"
16247 "    pid_t pid;    /* process ID of the sending process */\n"
16248 "    uid_t uid;    /* user ID of the sending process */\n"
16249 "    gid_t gid;    /* group ID of the sending process */\n"
16250 "};\n"
16251
16252 #. type: Plain text
16253 #: build/C/man7/unix.7:351
16254 msgid "Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined (before including I<any> header files) in order to obtain the definition of this structure."
16255 msgstr ""
16256 "glibc 2.8 以降では、この構造体の定義を得るためには\n"
16257 "(I<どの>ヘッダファイルをインクルードするよりも前に)\n"
16258 "機能検査マクロ B<_GNU_SOURCE> を定義しなければならない。"
16259
16260 #. type: Plain text
16261 #: build/C/man7/unix.7:367
16262 msgid "The credentials which the sender specifies are checked by the kernel.  A process with effective user ID 0 is allowed to specify values that do not match its own.  The sender must specify its own process ID (unless it has the capability B<CAP_SYS_ADMIN>), its user ID, effective user ID, or saved set-user-ID (unless it has B<CAP_SETUID>), and its group ID, effective group ID, or saved set-group-ID (unless it has B<CAP_SETGID>).  To receive a I<struct ucred> message the B<SO_PASSCRED> option must be enabled on the socket."
16263 msgstr "送信側が指定した信任状は、カーネルがチェックする。 実効ユーザー ID が 0 のプロセスには、 自分自身以外の値を指定する事が許される。 送信側は以下の 3 つを指定しなければならない。 1) 自分自身のプロセス ID (B<CAP_SYS_ADMIN> 権限を持っていない場合)、 2) 自分自身のユーザー ID あるいは実効ユーザー ID か保存 set-user-ID (B<CAP_SETUID> 権限を持っていない場合)、 3) 自分自身のグループ ID あるいは実行グループ ID か保存 set-group-ID (B<CAP_SETGID> を持っていない場合)。 I<struct ucred> メッセージを受信するためには、ソケットに対し B<SO_PASSCRED> オプションを有効にしなくてはならない。"
16264
16265 #. type: Plain text
16266 #: build/C/man7/unix.7:378
16267 #, no-wrap
16268 msgid ""
16269 "B<int>I< value>B<;>\n"
16270 "I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
16271 msgstr ""
16272 "B<int>I< value>B<;>\n"
16273 "I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
16274
16275 #. type: Plain text
16276 #: build/C/man7/unix.7:383
16277 msgid "I<ioctl_type> can be:"
16278 msgstr "I<ioctl_type> には以下を指定できる:"
16279
16280 #. type: Plain text
16281 #: build/C/man7/unix.7:410
16282 msgid "The specified local address is already in use or the filesystem socket object already exists."
16283 msgstr ""
16284 "指定したローカルアドレスが既に使用されているか、ファイルシステムの\n"
16285 "ソケットオブジェクトが既に存在している。"
16286
16287 #. type: Plain text
16288 #: build/C/man7/unix.7:416
16289 msgid "The remote address specified by B<connect>(2)  was not a listening socket.  This error can also occur if the target pathname is not a socket."
16290 msgstr "B<connect>(2) により指定されたリモートアドレスが接続待ちソケットではなかった。 このエラーはターゲットのパス名がソケットでなかった場合にも発生する。"
16291
16292 #. type: TP
16293 #: build/C/man7/unix.7:416
16294 #, no-wrap
16295 msgid "B<ECONNRESET>"
16296 msgstr "B<ECONNRESET>"
16297
16298 #. type: Plain text
16299 #: build/C/man7/unix.7:419
16300 msgid "Remote socket was unexpectedly closed."
16301 msgstr "リモートソケットが予期しないかたちでクローズされた。"
16302
16303 #. type: Plain text
16304 #: build/C/man7/unix.7:422
16305 msgid "User memory address was not valid."
16306 msgstr "ユーザーメモリアドレスが不正。"
16307
16308 #. type: Plain text
16309 #: build/C/man7/unix.7:431
16310 msgid "Invalid argument passed.  A common cause is that the value B<AF_UNIX> was not specified in the I<sun_type> field of passed addresses, or the socket was in an invalid state for the applied operation."
16311 msgstr ""
16312 "渡した引数が不正。よくある原因としては、渡したアドレスの I<sun_type> フィール\n"
16313 "ドに B<AF_UNIX> が指定されていなかった、行おうとした操作に対してソケットが有\n"
16314 "効な状態ではなかった、など。"
16315
16316 #. type: Plain text
16317 #: build/C/man7/unix.7:436
16318 msgid "B<connect>(2)  called on an already connected socket or a target address was specified on a connected socket."
16319 msgstr "既に接続されているソケットに対して B<connect>(2)  が呼ばれた。または、指定したターゲットアドレスが 既に接続済みのソケットだった。"
16320
16321 #. type: Plain text
16322 #: build/C/man7/unix.7:441
16323 msgid "The pathname in the remote address specified to B<connect>(2)  did not exist."
16324 msgstr "B<connect>(2) に指定されたリモートアドレスのパス名が存在しなかった。"
16325
16326 #. type: TP
16327 #: build/C/man7/unix.7:441
16328 #, no-wrap
16329 msgid "B<ENOMEM>"
16330 msgstr "B<ENOMEM>"
16331
16332 #. type: Plain text
16333 #: build/C/man7/unix.7:447
16334 msgid "Socket operation needs a target address, but the socket is not connected."
16335 msgstr "ソケット操作にターゲットアドレスが必要だが、 このソケットは接続されていない。"
16336
16337 #. type: Plain text
16338 #: build/C/man7/unix.7:451
16339 msgid "Stream operation called on non-stream oriented socket or tried to use the out-of-band data option."
16340 msgstr "ストリーム指向でないソケットに対してストリーム操作が呼び出された。 または帯域外データオプションを用いようとした。"
16341
16342 #. type: Plain text
16343 #: build/C/man7/unix.7:455
16344 msgid "The sender passed invalid credentials in the I<struct ucred>."
16345 msgstr "送信者が I<struct ucred> に不正な信任状を渡した。"
16346
16347 #. type: Plain text
16348 #: build/C/man7/unix.7:467
16349 msgid "Remote socket was closed on a stream socket.  If enabled, a B<SIGPIPE> is sent as well.  This can be avoided by passing the B<MSG_NOSIGNAL> flag to B<sendmsg>(2)  or B<recvmsg>(2)."
16350 msgstr "リモートソケットがストリームソケット上でクローズされた。 可能な場合は B<SIGPIPE> も同時に送られる。これを避けるには B<MSG_NOSIGNAL> フラグを B<sendmsg>(2)  や B<recvmsg>(2)  に渡す。"
16351
16352 #. type: TP
16353 #: build/C/man7/unix.7:467
16354 #, no-wrap
16355 msgid "B<EPROTONOSUPPORT>"
16356 msgstr "B<EPROTONOSUPPORT>"
16357
16358 #. type: Plain text
16359 #: build/C/man7/unix.7:471
16360 msgid "Passed protocol is not B<AF_UNIX>."
16361 msgstr "渡されたプロトコルが B<AF_UNIX> でない。"
16362
16363 #. type: TP
16364 #: build/C/man7/unix.7:471
16365 #, no-wrap
16366 msgid "B<EPROTOTYPE>"
16367 msgstr "B<EPROTOTYPE>"
16368
16369 #. type: Plain text
16370 #: build/C/man7/unix.7:477
16371 msgid "Remote socket does not match the local socket type (B<SOCK_DGRAM> versus B<SOCK_STREAM>)"
16372 msgstr "リモートソケットとローカルソケットのタイプが一致していなかった (B<SOCK_DGRAM> と B<SOCK_STREAM>)。"
16373
16374 #. type: Plain text
16375 #: build/C/man7/unix.7:480
16376 msgid "Unknown socket type."
16377 msgstr "未知のソケットタイプ。"
16378
16379 #. type: Plain text
16380 #: build/C/man7/unix.7:484
16381 msgid "Other errors can be generated by the generic socket layer or by the filesystem while generating a filesystem socket object.  See the appropriate manual pages for more information."
16382 msgstr "他にも汎用のソケット層でエラーが起こったり、 ファイルシステム上にソケットオブジェクトを作ろうとした場合に ファイルシステムのエラーが起こることがある。 それぞれの詳細は適切な man ページを参照すること。"
16383
16384 #. type: Plain text
16385 #: build/C/man7/unix.7:490
16386 msgid "B<SCM_CREDENTIALS> and the abstract namespace were introduced with Linux 2.2 and should not be used in portable programs.  (Some BSD-derived systems also support credential passing, but the implementation details differ.)"
16387 msgstr "B<SCM_CREDENTIALS> と抽象名前空間は、Linux 2.2 で導入された。 移植性が必要なプログラムでは使うべきではない。 (BSD 由来のシステムの中にも信任状の送受信をサポートしているものがあるが、 その実装の詳細はシステムによって異なる)"
16388
16389 #. type: Plain text
16390 #: build/C/man7/unix.7:501
16391 msgid "In the Linux implementation, sockets which are visible in the filesystem honor the permissions of the directory they are in.  Their owner, group, and permissions can be changed.  Creation of a new socket will fail if the process does not have write and search (execute) permission on the directory the socket is created in.  Connecting to the socket object requires read/write permission.  This behavior differs from many BSD-derived systems which ignore permissions for UNIX domain sockets.  Portable programs should not rely on this feature for security."
16392 msgstr "Linux の実装では、 ファイルシステム上から見えるソケットは、 それらが置かれているディレクトリのパーミッションに従う。 ソケットの所有者、 グループ、 パーミッションは変更できる。 新しいソケットを作るとき、 作ろうとするディレクトリに対して プロセスが書き込みと検索 (実行) 権限を持っていなければ、 作成に失敗する。 ソケットオブジェクトに接続するには、 read/write 権限が必要である。 この動作は、 多くの BSD 由来のシステムとは異なっている (BSD では UNIX ドメインソケットに対してはパーミッションを無視する)。 移植性の必要なプログラムでは、セキュリティをこの仕様に依存してはならない。"
16393
16394 #. type: Plain text
16395 #: build/C/man7/unix.7:509
16396 msgid "Binding to a socket with a filename creates a socket in the filesystem that must be deleted by the caller when it is no longer needed (using B<unlink>(2)).  The usual UNIX close-behind semantics apply; the socket can be unlinked at any time and will be finally removed from the filesystem when the last reference to it is closed."
16397 msgstr ""
16398 "ファイル名を指定してソケットにバインドすると、ファイルシステムにソケットが\n"
16399 "生成される。これは必要なくなったときに呼びだしたユーザーが削除しなければ\n"
16400 "ならない (B<unlink>(2) を用いる)。 UNIX で通常使われる「背後で閉じる方式」\n"
16401 "が適用される。ソケットはいつでも unlink することができ、最後の参照が\n"
16402 "クローズされたときにファイルシステムから削除される。"
16403
16404 #. type: Plain text
16405 #: build/C/man7/unix.7:518
16406 msgid "To pass file descriptors or credentials over a B<SOCK_STREAM>, you need to send or receive at least one byte of nonancillary data in the same B<sendmsg>(2)  or B<recvmsg>(2)  call."
16407 msgstr "B<SOCK_STREAM> 上でファイルディスクリプターや信任状を渡すためには、同じ B<sendmsg>(2)  や B<recvmsg>(2)  コールで補助データ以外のデータを少なくとも 1 バイト送信/受信する必要がある。"
16408
16409 #. type: Plain text
16410 #: build/C/man7/unix.7:521
16411 msgid "UNIX domain stream sockets do not support the notion of out-of-band data."
16412 msgstr "UNIX ドメインのストリームソケットでは、 帯域外データの概念はサポートされない。"
16413
16414 #.  The behavior on Solaris is quite similar.
16415 #. type: Plain text
16416 #: build/C/man7/unix.7:546
16417 msgid "When binding a socket to an address, Linux is one of the implementations that appends a null terminator if none is supplied in I<sun_path>.  In most cases this is unproblematic: when the socket address is retrieved, it will be one byte longer than that supplied when the socket was bound.  However, there is one case where confusing behavior can result: if 108 non-null bytes are supplied when a socket is bound, then the addition of the null terminator takes the length of the pathname beyond I<sizeof(sun_path)>.  Consequently, when retrieving the socket address (for example, via B<accept>(2)), if the input I<addrlen> argument for the retrieving call is specified as I<sizeof(struct sockaddr_un)>, then the returned address structure I<won't> have a null terminator in I<sun_path>."
16418 msgstr "ソケットをアドレスに結びつける際、 Linux は終端の NULL が I<sun_path> になかった場合に追加する実装の一つである。 ほとんどの場合、 これは問題にならない。 ソケットアドレスが取得された際、ソケットをバインドしたときに指定したものより 1 バイト長くなるだけである。 しかしながら、紛らわしい動作が起こる場合が一つある。 ソケットをバインドした際に 108 個の NULL でないバイトを指定した場合、 終端の NULL が追加されるとパス名の長さが I<sizeof(sun_path)> を超えてしまう。 結果として、(例えば B<accept>(2) で) ソケットアドレスを取得した際に、 値を取得する呼び出しの入力の I<address> 引き数に I<sizeof(struct sockaddr_un)> を指定したとすると、 返されるアドレス構造体は I<sun_path> に終端の NULL を「含まない」ことになる。"
16419
16420 #.  i.e., traditional BSD
16421 #. type: Plain text
16422 #: build/C/man7/unix.7:556
16423 msgid "In addition, some implementations don't require a null terminator when binding a socket (the I<addrlen> argument is used to determine the length of I<sun_path>)  and when the socket address is retrieved on these implementations, there is no null terminator in I<sun_path>."
16424 msgstr "さらに、 いくつかの実装では、ソケットをバインドする際に終端の NULL が必要ではなく (I<addrlen> 引き数を使って I<sun_path> の長さが判定される)、 このような実装でソケットアドレスを取得する際には、 I<sun_path> に終端の NULL は存在しない。"
16425
16426 #. type: Plain text
16427 #: build/C/man7/unix.7:561
16428 msgid "Applications that retrieve socket addresses can (portably) code to handle the possibility that there is no null terminator in I<sun_path> by respecting the fact that the number of valid bytes in the pathname is:"
16429 msgstr "ソケットアドレスを取得するアプリケーションでは、 I<sun_path> に終端の NULL が存在しないという移植性の問題を、 パス名の有効なバイト数が以下のようになると事実を考慮することで取り扱うことができる。"
16430
16431 #
16432 #.  The following patch to amend kernel behavior was rejected:
16433 #.  http://thread.gmane.org/gmane.linux.kernel.api/2437
16434 #.  Subject: [patch] Fix handling of overlength pathname in AF_UNIX sun_path
16435 #.  2012-04-17
16436 #.  And there was a related discussion in the Austin list:
16437 #.  http://thread.gmane.org/gmane.comp.standards.posix.austin.general/5735
16438 #.  Subject: Having a sun_path with no null terminator
16439 #.  2012-04-18
16440 #.  FIXME . Track http://austingroupbugs.net/view.php?id=561
16441 #. type: Plain text
16442 #: build/C/man7/unix.7:573
16443 #, no-wrap
16444 msgid "    strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n"
16445 msgstr "    strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n"
16446
16447 #. type: Plain text
16448 #: build/C/man7/unix.7:585
16449 msgid "Alternatively, an application can retrieve the socket address by allocating a buffer of size I<sizeof(struct sockaddr_un)+1> that is zeroed out before the retrieval.  The retrieving call can specify I<addrlen> as I<sizeof(struct sockaddr_un)>, and the extra zero byte ensures that there will be a null terminator for the string returned in I<sun_path>:"
16450 msgstr "他の方法としては、 アプリケーションがソケットアドレスを取得する際、 取得の呼び出しを行う前に、 大きさが I<sizeof(struct sockaddr_un)+1> のバッファーを割り当てることもできる。 取得の呼び出しでは I<addrlen> に I<sizeof(struct sockaddr_un)> を指定すると、 余分な一つの 0 バイトにより I<sun_path> で返される文字列に終端の NULL が含まれることが保証される。"
16451
16452 #. type: Plain text
16453 #: build/C/man7/unix.7:589
16454 #, no-wrap
16455 msgid "void *addrp;\n"
16456 msgstr "void *addrp;\n"
16457
16458 #. type: Plain text
16459 #: build/C/man7/unix.7:595
16460 #, no-wrap
16461 msgid ""
16462 "addrlen = sizeof(struct sockaddr_un);\n"
16463 "addrp = malloc(addrlen + 1);\n"
16464 "if (addrp == NULL)\n"
16465 "    /* Handle error */ ;\n"
16466 "memset(addrp, 0, addrlen + 1);\n"
16467 msgstr ""
16468 "addrlen = sizeof(struct sockaddr_un);\n"
16469 "addrp = malloc(addrlen + 1);\n"
16470 "if (addrp == NULL)\n"
16471 "    /* Handle error */ ;\n"
16472 "memset(addrp, 0, addrlen + 1);\n"
16473
16474 #. type: Plain text
16475 #: build/C/man7/unix.7:598
16476 #, no-wrap
16477 msgid ""
16478 "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
16479 "    /* handle error */ ;\n"
16480 msgstr ""
16481 "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
16482 "    /* handle error */ ;\n"
16483
16484 #. type: Plain text
16485 #: build/C/man7/unix.7:600
16486 #, no-wrap
16487 msgid "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
16488 msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
16489
16490 #. type: Plain text
16491 #: build/C/man7/unix.7:608
16492 msgid "This sort of messiness can be avoided if it is guaranteed that the applications that I<create> pathname sockets follow the rules outlined above under I<Pathname sockets>."
16493 msgstr "アプリケーションが「パス名ソケット」の節で説明したルールにしたがってパス名を「作成」していれば、 このような分かりにくさは避けることができる。"
16494
16495 #. type: Plain text
16496 #: build/C/man7/unix.7:611
16497 msgid "See B<bind>(2)."
16498 msgstr "B<bind>(2)  参照。"
16499
16500 #. type: Plain text
16501 #: build/C/man7/unix.7:616
16502 msgid "For an example of the use of B<SCM_RIGHTS> see B<cmsg>(3)."
16503 msgstr "B<SCM_RIGHTS> の使用例については B<cmsg>(3) を参照。"
16504
16505 #. type: Plain text
16506 #: build/C/man7/unix.7:625
16507 msgid "B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), B<capabilities>(7), B<credentials>(7), B<socket>(7)"
16508 msgstr "B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), B<capabilities>(7), B<credentials>(7), B<socket>(7)"
16509
16510 #. type: TH
16511 #: build/C/man7/x25.7:12
16512 #, no-wrap
16513 msgid "X25"
16514 msgstr "X25"
16515
16516 #. type: Plain text
16517 #: build/C/man7/x25.7:15
16518 msgid "x25 - ITU-T X.25 / ISO-8208 protocol interface."
16519 msgstr "x25 - ITU-T X.25 / ISO-8208 プロトコルインターフェース"
16520
16521 #. type: Plain text
16522 #: build/C/man7/x25.7:19
16523 msgid "B<#include E<lt>linux/x25.hE<gt>>"
16524 msgstr "B<#include E<lt>linux/x25.hE<gt>>"
16525
16526 #. type: Plain text
16527 #: build/C/man7/x25.7:21
16528 msgid "B<x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);>"
16529 msgstr "B<x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);>"
16530
16531 #. type: Plain text
16532 #: build/C/man7/x25.7:30
16533 msgid "X25 sockets provide an interface to the X.25 packet layer protocol.  This allows applications to communicate over a public X.25 data network as standardized by International Telecommunication Union's recommendation X.25 (X.25 DTE-DCE mode).  X25 sockets can also be used for communication without an intermediate X.25 network (X.25 DTE-DTE mode) as described in ISO-8208."
16534 msgstr "X25 ソケットは X.25 パケット層プロトコルに対するインターフェースを提供する。 これにより、アプリケーションはパブリックな X.25 データネットワークで 通信することができるようになる。 X.25 は International Telecommunication Union's recommendation X.25 (X.25 DTE-DCE mode) で標準化されている。 X25 ソケットは、中間層のない X.25 ネットワーク (X.25 DTE-DTE mode)  での通信にも用いることができる。 DTE-DTE モードは ISO-8208 に記述されている。"
16535
16536 #. type: Plain text
16537 #: build/C/man7/x25.7:47
16538 msgid "Message boundaries are preserved \\(em a B<read>(2)  from a socket will retrieve the same chunk of data as output with the corresponding B<write>(2)  to the peer socket.  When necessary, the kernel takes care of segmenting and reassembling long messages by means of the X.25 M-bit.  There is no hard-coded upper limit for the message size.  However, reassembling of a long message might fail if there is a temporary lack of system resources or when other constraints (such as socket memory or buffer size limits) become effective.  If that occurs, the X.25 connection will be reset."
16539 msgstr "メッセージ境界は保存される。ソケットからの B<read>(2)  は、反対側のソケットからの対応する B<write>(2)  と同じ大きさのデータを受け取り、出力する。 必要がある場合は、カーネルが長いメッセージの 分割 (segmenting) と再構成 (reassembling) を行う。 これには X.25 の M ビットが用いられる。 メッセージサイズには、ハードコーディングされた上限はない。 しかし、一時的にシステムリソースが足りなかったり、 他の制約 (ソケットメモリバッファーのサイズ制限など) が 効いてしまうと、長いメッセージの再構成には失敗するかもしれない。 この場合、その X.25 接続はリセットされることになる。"
16540
16541 #. type: SS
16542 #: build/C/man7/x25.7:47
16543 #, no-wrap
16544 msgid "Socket addresses"
16545 msgstr "ソケットアドレス"
16546
16547 #. type: Plain text
16548 #: build/C/man7/x25.7:54
16549 msgid "The B<AF_X25> socket address family uses the I<struct sockaddr_x25> for representing network addresses as defined in ITU-T recommendation X.121."
16550 msgstr "B<AF_X25> ソケットアドレスファミリーは、ネットワークアドレスを表すために I<struct sockaddr_x25> を用いる。これは ITU-T recommendation X.121 で定義されている。"
16551
16552 #. type: Plain text
16553 #: build/C/man7/x25.7:61
16554 #, no-wrap
16555 msgid ""
16556 "struct sockaddr_x25 {\n"
16557 "    sa_family_t sx25_family;    /* must be AF_X25 */\n"
16558 "    x25_address sx25_addr;      /* X.121 Address */\n"
16559 "};\n"
16560 msgstr ""
16561 "struct sockaddr_x25 {\n"
16562 "    sa_family_t sx25_family;    /* must be AF_X25 */\n"
16563 "    x25_address sx25_addr;      /* X.121 Address */\n"
16564 "};\n"
16565
16566 #. type: Plain text
16567 #: build/C/man7/x25.7:72
16568 msgid "I<sx25_addr> contains a char array I<x25_addr[]> to be interpreted as a null-terminated string.  I<sx25_addr.x25_addr[]> consists of up to 15 (not counting the terminating null byte) ASCII characters forming the X.121 address.  Only the decimal digit characters from \\(aq0\\(aq to \\(aq9\\(aq are allowed."
16569 msgstr "I<sx25_addr> には char 配列 I<x25_addr[]> を含まれる。これは 0 で終端する文字列として解釈される。 I<sx25_addr.x25_addr[]> は 15 個までの ASCII 文字を含むことができ (終端のヌルバイトは含まない)、 これが X.121 アドレスをなす。 10 進の数文字、\\(aq0\\(aq から \\(aq9\\(aq までだけが許される。"
16570
16571 #. type: Plain text
16572 #: build/C/man7/x25.7:81
16573 msgid "The following X.25-specific socket options can be set by using B<setsockopt>(2)  and read with B<getsockopt>(2)  with the I<level> argument set to B<SOL_X25>."
16574 msgstr "以下の X.25 特有のソケットオプションは、 B<setsockopt>(2)  で設定でき、 B<getsockopt>(2)  で取得できる。このとき I<level> 引き数には B<SOL_X25> を指定する。"
16575
16576 #. type: TP
16577 #: build/C/man7/x25.7:81
16578 #, no-wrap
16579 msgid "B<X25_QBITINCL>"
16580 msgstr "B<X25_QBITINCL>"
16581
16582 #. type: Plain text
16583 #: build/C/man7/x25.7:100
16584 msgid "Controls whether the X.25 Q-bit (Qualified Data Bit) is accessible by the user.  It expects an integer argument.  If set to 0 (default), the Q-bit is never set for outgoing packets and the Q-bit of incoming packets is ignored.  If set to 1, an additional first byte is prepended to each message read from or written to the socket.  For data read from the socket, a 0 first byte indicates that the Q-bits of the corresponding incoming data packets were not set.  A first byte with value 1 indicates that the Q-bit of the corresponding incoming data packets was set.  If the first byte of the data written to the socket is 1, the Q-bit of the corresponding outgoing data packets will be set.  If the first byte is 0, the Q-bit will not be set."
16585 msgstr "X.25 の Q ビット (Qualified データビット) にユーザーがアクセス できるかどうかをコントロールする。整数の引数を取る。 0 にセットすると、 Q ビットは発信パケットには決してセットされず、 受信パケットでは無視される (デフォルト)。 1 にセットすると、ソケットから読む、あるいはソケットに送る メッセージそれぞれに先頭バイトが前置される。 ソケットから読んだデータでは、先頭バイトが 0 だと、 この到着データパケットに対応する Q ビットはセットされていなかったことになる。 先頭バイトが 1 だと、到着データパケットの Q ビットがセットされていたことになる。 ソケットに書き込むデータの先頭バイトが 1 だと、 その発信パケットの Q ビットをセットする。 0 だと、 Q ビットをセットしない。"
16586
16587 #. type: Plain text
16588 #: build/C/man7/x25.7:102
16589 msgid "The AF_X25 protocol family is a new feature of Linux 2.2."
16590 msgstr "AF_X25 プロトコルファミリは Linux 2.2 の新機能である。"
16591
16592 #. type: Plain text
16593 #: build/C/man7/x25.7:105
16594 msgid "Plenty, as the X.25 PLP implementation is B<CONFIG_EXPERIMENTAL>."
16595 msgstr "X.25 PLP 実装は B<CONFIG_EXPERIMENTAL> なので、たくさんあるだろう。"
16596
16597 #. type: Plain text
16598 #: build/C/man7/x25.7:107
16599 msgid "This man page is incomplete."
16600 msgstr "この man ページは完成していない。"
16601
16602 #. type: Plain text
16603 #: build/C/man7/x25.7:114
16604 msgid "There is no dedicated application programmer's header file yet; you need to include the kernel header file I<E<lt>linux/x25.hE<gt>>.  B<CONFIG_EXPERIMENTAL> might also imply that future versions of the interface are not binary compatible."
16605 msgstr "まだアプリケーションプログラマー用のヘッダファイルがない。 カーネルのヘッダファイル I<E<lt>linux/x25.hE<gt>> をインクルードしなければならない。 B<CONFIG_EXPERIMENTAL> なので、将来のバージョンのインターフェースでは バイナリ互換性が失われるかもしれない。"
16606
16607 #. type: Plain text
16608 #: build/C/man7/x25.7:118
16609 msgid "X.25 N-Reset events are not propagated to the user process yet.  Thus, if a reset occurred, data might be lost without notice."
16610 msgstr "X.25 N-Reset イベントは、まだユーザープロセスに伝播しない。 したがってリセットが起こると、データは通知無しに失われる。"
16611
16612 #. type: Plain text
16613 #: build/C/man7/x25.7:121
16614 msgid "B<socket>(2), B<socket>(7)"
16615 msgstr "B<socket>(2), B<socket>(7)"
16616
16617 #. type: Plain text
16618 #: build/C/man7/x25.7:127
16619 msgid "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 .>"
16620 msgstr "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 .>"