OSDN Git Service

0b261a778237c2a4fe6c4c66145ea4948664074e
[linuxjm/LDP_man-pages.git] / po4a / net / po / net.pot
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 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-03-22 01:06+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man7/arp.7:13
21 #, no-wrap
22 msgid "ARP"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man7/arp.7:13
27 #, no-wrap
28 msgid "2008-11-25"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man7/arp.7:13 build/C/man3/cmsg.3:11 build/C/man7/ddp.7:12 build/C/man5/gai.conf.5:19 build/C/man1/getent.1:24 build/C/man3/getipnodebyname.3:26 build/C/man2/getpeername.2:42 build/C/man5/host.conf.5:26 build/C/man7/hostname.7:39 build/C/man5/hosts.5:27 build/C/man5/hosts.equiv.5:6 build/C/man7/icmp.7:12 build/C/man3/inet_ntop.3:26 build/C/man3/inet_pton.3:27 build/C/man7/ip.7:39 build/C/man7/ipv6.7:86 build/C/man7/netdevice.7:18 build/C/man5/nss.5:19 build/C/man5/nsswitch.conf.5:25 build/C/man7/packet.7:12 build/C/man5/protocols.5:29 build/C/man7/raw.7:13 build/C/man3/rcmd.3:43 build/C/man3/rexec.3:41 build/C/man5/services.5:34 build/C/man2/shutdown.2:40 build/C/man7/tcp.7:65 build/C/man7/udp.7:12 build/C/man7/udplite.7:27 build/C/man7/unix.7:18 build/C/man7/x25.7:12
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man7/arp.7:13 build/C/man3/byteorder.3:32 build/C/man3/cmsg.3:11 build/C/man7/ddp.7:12 build/C/man3/endian.3:28 build/C/man3/ether_aton.3:31 build/C/man5/gai.conf.5:19 build/C/man3/getaddrinfo.3:43 build/C/man3/getaddrinfo_a.3:29 build/C/man3/gethostbyname.3:38 build/C/man3/getipnodebyname.3:26 build/C/man3/getnameinfo.3:10 build/C/man3/getnetent.3:30 build/C/man3/getnetent_r.3:26 build/C/man2/getpeername.2:42 build/C/man3/getprotoent.3:30 build/C/man3/getprotoent_r.3:26 build/C/man3/getservent.3:34 build/C/man3/getservent_r.3:26 build/C/man7/hostname.7:39 build/C/man5/hosts.5:27 build/C/man5/hosts.equiv.5:6 build/C/man7/icmp.7:12 build/C/man3/inet.3:42 build/C/man3/inet_ntop.3:26 build/C/man3/inet_pton.3:27 build/C/man7/ip.7:39 build/C/man7/ipv6.7:86 build/C/man7/netdevice.7:18 build/C/man8/nscd.8:23 build/C/man5/nscd.conf.5:20 build/C/man5/nss.5:19 build/C/man5/nsswitch.conf.5:25 build/C/man7/packet.7:12 build/C/man5/protocols.5:29 build/C/man7/raw.7:13 build/C/man3/rcmd.3:43 build/C/man5/resolv.conf.5:23 build/C/man3/resolver.3:32 build/C/man3/rexec.3:41 build/C/man5/services.5:34 build/C/man3/setnetgrent.3:10 build/C/man2/shutdown.2:40 build/C/man7/tcp.7:65 build/C/man7/udp.7:12 build/C/man7/udplite.7:27 build/C/man7/unix.7:18 build/C/man7/x25.7:12
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man7/arp.7:14 build/C/man3/byteorder.3:33 build/C/man3/cmsg.3:12 build/C/man7/ddp.7:13 build/C/man3/endian.3:29 build/C/man3/ether_aton.3:32 build/C/man5/gai.conf.5:20 build/C/man3/getaddrinfo.3:44 build/C/man3/getaddrinfo_a.3:30 build/C/man1/getent.1:25 build/C/man3/gethostbyname.3:39 build/C/man3/getipnodebyname.3:27 build/C/man3/getnameinfo.3:11 build/C/man3/getnetent.3:31 build/C/man3/getnetent_r.3:27 build/C/man2/getpeername.2:43 build/C/man3/getprotoent.3:31 build/C/man3/getprotoent_r.3:27 build/C/man3/getservent.3:35 build/C/man3/getservent_r.3:27 build/C/man5/host.conf.5:27 build/C/man7/hostname.7:40 build/C/man5/hosts.5:28 build/C/man5/hosts.equiv.5:7 build/C/man7/icmp.7:13 build/C/man3/inet.3:43 build/C/man3/inet_ntop.3:27 build/C/man3/inet_pton.3:28 build/C/man7/ip.7:40 build/C/man7/ipv6.7:87 build/C/man7/netdevice.7:19 build/C/man5/networks.5:27 build/C/man8/nscd.8:24 build/C/man5/nscd.conf.5:21 build/C/man5/nss.5:20 build/C/man5/nsswitch.conf.5:26 build/C/man7/packet.7:13 build/C/man5/protocols.5:30 build/C/man7/raw.7:14 build/C/man3/rcmd.3:44 build/C/man5/resolv.conf.5:25 build/C/man3/resolver.3:33 build/C/man3/rexec.3:42 build/C/man5/services.5:35 build/C/man3/setnetgrent.3:11 build/C/man2/shutdown.2:41 build/C/man7/tcp.7:66 build/C/man7/udp.7:13 build/C/man7/udplite.7:28 build/C/man7/unix.7:19 build/C/man7/x25.7:13
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man7/arp.7:16
51 msgid "arp - Linux ARP kernel module."
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man7/arp.7:16 build/C/man3/byteorder.3:48 build/C/man3/cmsg.3:37 build/C/man7/ddp.7:23 build/C/man3/endian.3:53 build/C/man3/ether_aton.3:57 build/C/man5/gai.conf.5:22 build/C/man3/getaddrinfo.3:75 build/C/man3/getaddrinfo_a.3:50 build/C/man1/getent.1:30 build/C/man3/gethostbyname.3:118 build/C/man3/getipnodebyname.3:44 build/C/man3/getnameinfo.3:32 build/C/man3/getnetent.3:48 build/C/man3/getnetent_r.3:62 build/C/man2/getpeername.2:50 build/C/man3/getprotoent.3:48 build/C/man3/getprotoent_r.3:59 build/C/man3/getservent.3:52 build/C/man3/getservent_r.3:59 build/C/man5/host.conf.5:29 build/C/man7/hostname.7:42 build/C/man5/hosts.5:32 build/C/man5/hosts.equiv.5:10 build/C/man7/icmp.7:15 build/C/man3/inet.3:75 build/C/man3/inet_ntop.3:36 build/C/man3/inet_pton.3:36 build/C/man7/ip.7:56 build/C/man7/ipv6.7:99 build/C/man7/netdevice.7:25 build/C/man5/networks.5:29 build/C/man8/nscd.8:26 build/C/man5/nscd.conf.5:23 build/C/man5/nss.5:22 build/C/man5/nsswitch.conf.5:28 build/C/man7/packet.7:25 build/C/man5/protocols.5:32 build/C/man7/raw.7:22 build/C/man3/rcmd.3:92 build/C/man5/resolv.conf.5:29 build/C/man3/resolver.3:85 build/C/man3/rexec.3:56 build/C/man5/services.5:37 build/C/man3/setnetgrent.3:44 build/C/man2/shutdown.2:47 build/C/man7/tcp.7:76 build/C/man7/udp.7:21 build/C/man7/udplite.7:38 build/C/man7/unix.7:29 build/C/man7/x25.7:21
56 #, no-wrap
57 msgid "DESCRIPTION"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man7/arp.7:24
62 msgid ""
63 "This kernel protocol module implements the Address Resolution Protocol "
64 "defined in RFC\\ 826.  It is used to convert between Layer2 hardware "
65 "addresses and IPv4 protocol addresses on directly connected networks.  The "
66 "user normally doesn't interact directly with this module except to configure "
67 "it; instead it provides a service for other protocols in the kernel."
68 msgstr ""
69
70 #. type: Plain text
71 #: build/C/man7/arp.7:37
72 msgid ""
73 "A user process can receive ARP packets by using B<packet>(7)  sockets.  "
74 "There is also a mechanism for managing the ARP cache in user-space by using "
75 "B<netlink>(7)  sockets.  The ARP table can also be controlled via "
76 "B<ioctl>(2)  on any B<AF_INET> socket."
77 msgstr ""
78
79 #. type: Plain text
80 #: build/C/man7/arp.7:49
81 msgid ""
82 "The ARP module maintains a cache of mappings between hardware addresses and "
83 "protocol addresses.  The cache has a limited size so old and less frequently "
84 "used entries are garbage-collected.  Entries which are marked as permanent "
85 "are never deleted by the garbage-collector.  The cache can be directly "
86 "manipulated by the use of ioctls and its behavior can be tuned by the "
87 "I</proc> interfaces described below."
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man7/arp.7:72
92 msgid ""
93 "When there is no positive feedback for an existing mapping after some time "
94 "(see the I</proc> interfaces below), a neighbor cache entry is considered "
95 "stale.  Positive feedback can be gotten from a higher layer; for example "
96 "from a successful TCP ACK.  Other protocols can signal forward progress "
97 "using the B<MSG_CONFIRM> flag to B<sendmsg>(2).  When there is no forward "
98 "progress, ARP tries to reprobe.  It first tries to ask a local arp daemon "
99 "B<app_solicit> times for an updated MAC address.  If that fails and an old "
100 "MAC address is known, a unicast probe is sent B<ucast_solicit> times.  If "
101 "that fails too, it will broadcast a new ARP request to the network.  "
102 "Requests are only sent when there is data queued for sending."
103 msgstr ""
104
105 #. type: Plain text
106 #: build/C/man7/arp.7:77
107 msgid ""
108 "Linux will automatically add a nonpermanent proxy arp entry when it receives "
109 "a request for an address it forwards to and proxy arp is enabled on the "
110 "receiving interface.  When there is a reject route for the target, no proxy "
111 "arp entry is added."
112 msgstr ""
113
114 #. type: SS
115 #: build/C/man7/arp.7:77 build/C/man7/ddp.7:144 build/C/man7/ip.7:1033 build/C/man7/netdevice.7:72 build/C/man7/packet.7:230 build/C/man7/tcp.7:1028 build/C/man7/udp.7:196 build/C/man7/unix.7:282
116 #, no-wrap
117 msgid "Ioctls"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man7/arp.7:84
122 msgid ""
123 "Three ioctls are available on all B<AF_INET> sockets.  They take a pointer "
124 "to a I<struct arpreq> as their argument."
125 msgstr ""
126
127 #. type: Plain text
128 #: build/C/man7/arp.7:94
129 #, no-wrap
130 msgid ""
131 "struct arpreq {\n"
132 "    struct sockaddr arp_pa;      /* protocol address */\n"
133 "    struct sockaddr arp_ha;      /* hardware address */\n"
134 "    int             arp_flags;   /* flags */\n"
135 "    struct sockaddr arp_netmask; /* netmask of protocol address */\n"
136 "    char            arp_dev[16];\n"
137 "};\n"
138 msgstr ""
139
140 #. type: Plain text
141 #: build/C/man7/arp.7:103
142 msgid ""
143 "B<SIOCSARP>, B<SIOCDARP> and B<SIOCGARP> respectively set, delete and get an "
144 "ARP mapping.  Setting and deleting ARP maps are privileged operations and "
145 "may only be performed by a process with the B<CAP_NET_ADMIN> capability or "
146 "an effective UID of 0."
147 msgstr ""
148
149 #. type: Plain text
150 #: build/C/man7/arp.7:113
151 msgid ""
152 "I<arp_pa> must be an B<AF_INET> address and I<arp_ha> must have the same "
153 "type as the device which is specified in I<arp_dev>.  I<arp_dev> is a "
154 "zero-terminated string which names a device."
155 msgstr ""
156
157 #. type: tbl table
158 #: build/C/man7/arp.7:118
159 #, no-wrap
160 msgid "I<arp_flags>\n"
161 msgstr ""
162
163 #. type: tbl table
164 #: build/C/man7/arp.7:119
165 #, no-wrap
166 msgid "flag:meaning\n"
167 msgstr ""
168
169 #. type: tbl table
170 #: build/C/man7/arp.7:120
171 #, no-wrap
172 msgid "ATF_COM:Lookup complete\n"
173 msgstr ""
174
175 #. type: tbl table
176 #: build/C/man7/arp.7:121
177 #, no-wrap
178 msgid "ATF_PERM:Permanent entry\n"
179 msgstr ""
180
181 #. type: tbl table
182 #: build/C/man7/arp.7:122
183 #, no-wrap
184 msgid "ATF_PUBL:Publish entry\n"
185 msgstr ""
186
187 #. type: tbl table
188 #: build/C/man7/arp.7:123
189 #, no-wrap
190 msgid "ATF_USETRAILERS:Trailers requested\n"
191 msgstr ""
192
193 #. type: tbl table
194 #: build/C/man7/arp.7:124
195 #, no-wrap
196 msgid "ATF_NETMASK:Use a netmask\n"
197 msgstr ""
198
199 #. type: tbl table
200 #: build/C/man7/arp.7:125
201 #, no-wrap
202 msgid "ATF_DONTPUB:Don't answer\n"
203 msgstr ""
204
205 #. type: Plain text
206 #: build/C/man7/arp.7:138
207 msgid ""
208 "If the B<ATF_NETMASK> flag is set, then I<arp_netmask> should be valid.  "
209 "Linux 2.2 does not support proxy network ARP entries, so this should be set "
210 "to 0xffffffff, or 0 to remove an existing proxy arp entry.  "
211 "B<ATF_USETRAILERS> is obsolete and should not be used."
212 msgstr ""
213
214 #. type: SS
215 #: build/C/man7/arp.7:138 build/C/man7/ddp.7:122 build/C/man7/icmp.7:41 build/C/man7/ip.7:909 build/C/man7/tcp.7:208 build/C/man7/udp.7:135
216 #, no-wrap
217 msgid "/proc interfaces"
218 msgstr ""
219
220 #. type: Plain text
221 #: build/C/man7/arp.7:151
222 msgid ""
223 "ARP supports a range of I</proc> interfaces to configure parameters on a "
224 "global or per-interface basis.  The interfaces can be accessed by reading or "
225 "writing the I</proc/sys/net/ipv4/neigh/*/*> files.  Each interface in the "
226 "system has its own directory in I</proc/sys/net/ipv4/neigh/>.  The setting "
227 "in the \"default\" directory is used for all newly created devices.  Unless "
228 "otherwise specified, time-related interfaces are specified in seconds."
229 msgstr ""
230
231 #. type: TP
232 #: build/C/man7/arp.7:151
233 #, no-wrap
234 msgid "I<anycast_delay> (since Linux 2.2)"
235 msgstr ""
236
237 #.  Precisely: 2.1.79
238 #. type: Plain text
239 #: build/C/man7/arp.7:158
240 msgid ""
241 "The maximum number of jiffies to delay before replying to a IPv6 neighbor "
242 "solicitation message.  Anycast support is not yet implemented.  Defaults to "
243 "1 second."
244 msgstr ""
245
246 #. type: TP
247 #: build/C/man7/arp.7:158
248 #, no-wrap
249 msgid "I<app_solicit> (since Linux 2.2)"
250 msgstr ""
251
252 #.  Precisely: 2.1.79
253 #. type: Plain text
254 #: build/C/man7/arp.7:165
255 msgid ""
256 "The maximum number of probes to send to the user space ARP daemon via "
257 "netlink before dropping back to multicast probes (see I<mcast_solicit>).  "
258 "Defaults to 0."
259 msgstr ""
260
261 #. type: TP
262 #: build/C/man7/arp.7:165
263 #, no-wrap
264 msgid "I<base_reachable_time> (since Linux 2.2)"
265 msgstr ""
266
267 #.  Precisely: 2.1.79
268 #. type: Plain text
269 #: build/C/man7/arp.7:176
270 msgid ""
271 "Once a neighbor has been found, the entry is considered to be valid for at "
272 "least a random value between I<base_reachable_time>/2 and "
273 "3*I<base_reachable_time>/2.  An entry's validity will be extended if it "
274 "receives positive feedback from higher level protocols.  Defaults to 30 "
275 "seconds.  This file is now obsolete in favor of I<base_reachable_time_ms>."
276 msgstr ""
277
278 #. type: TP
279 #: build/C/man7/arp.7:176
280 #, no-wrap
281 msgid "I<base_reachable_time_ms> (since Linux 2.6.12)"
282 msgstr ""
283
284 #. type: Plain text
285 #: build/C/man7/arp.7:182
286 msgid ""
287 "As for I<base_reachable_time>, but measures time in milliseconds.  Defaults "
288 "to 30000 milliseconds."
289 msgstr ""
290
291 #. type: TP
292 #: build/C/man7/arp.7:182
293 #, no-wrap
294 msgid "I<delay_first_probe_time> (since Linux 2.2)"
295 msgstr ""
296
297 #.  Precisely: 2.1.79
298 #. type: Plain text
299 #: build/C/man7/arp.7:188
300 msgid ""
301 "Delay before first probe after it has been decided that a neighbor is "
302 "stale.  Defaults to 5 seconds."
303 msgstr ""
304
305 #. type: TP
306 #: build/C/man7/arp.7:188
307 #, no-wrap
308 msgid "I<gc_interval> (since Linux 2.2)"
309 msgstr ""
310
311 #.  Precisely: 2.1.79
312 #. type: Plain text
313 #: build/C/man7/arp.7:194
314 msgid ""
315 "How frequently the garbage collector for neighbor entries should attempt to "
316 "run.  Defaults to 30 seconds."
317 msgstr ""
318
319 #. type: TP
320 #: build/C/man7/arp.7:194
321 #, no-wrap
322 msgid "I<gc_stale_time> (since Linux 2.2)"
323 msgstr ""
324
325 #.  Precisely: 2.1.79
326 #. type: Plain text
327 #: build/C/man7/arp.7:201
328 msgid ""
329 "Determines how often to check for stale neighbor entries.  When a neighbor "
330 "entry is considered stale, it is resolved again before sending data to it.  "
331 "Defaults to 60 seconds."
332 msgstr ""
333
334 #. type: TP
335 #: build/C/man7/arp.7:201
336 #, no-wrap
337 msgid "I<gc_thresh1> (since Linux 2.2)"
338 msgstr ""
339
340 #.  Precisely: 2.1.79
341 #. type: Plain text
342 #: build/C/man7/arp.7:208
343 msgid ""
344 "The minimum number of entries to keep in the ARP cache.  The garbage "
345 "collector will not run if there are fewer than this number of entries in the "
346 "cache.  Defaults to 128."
347 msgstr ""
348
349 #. type: TP
350 #: build/C/man7/arp.7:208
351 #, no-wrap
352 msgid "I<gc_thresh2> (since Linux 2.2)"
353 msgstr ""
354
355 #.  Precisely: 2.1.79
356 #. type: Plain text
357 #: build/C/man7/arp.7:215
358 msgid ""
359 "The soft maximum number of entries to keep in the ARP cache.  The garbage "
360 "collector will allow the number of entries to exceed this for 5 seconds "
361 "before collection will be performed.  Defaults to 512."
362 msgstr ""
363
364 #. type: TP
365 #: build/C/man7/arp.7:215
366 #, no-wrap
367 msgid "I<gc_thresh3> (since Linux 2.2)"
368 msgstr ""
369
370 #.  Precisely: 2.1.79
371 #. type: Plain text
372 #: build/C/man7/arp.7:222
373 msgid ""
374 "The hard maximum number of entries to keep in the ARP cache.  The garbage "
375 "collector will always run if there are more than this number of entries in "
376 "the cache.  Defaults to 1024."
377 msgstr ""
378
379 #. type: TP
380 #: build/C/man7/arp.7:222
381 #, no-wrap
382 msgid "I<locktime> (since Linux 2.2)"
383 msgstr ""
384
385 #.  Precisely: 2.1.79
386 #. type: Plain text
387 #: build/C/man7/arp.7:229
388 msgid ""
389 "The minimum number of jiffies to keep an ARP entry in the cache.  This "
390 "prevents ARP cache thrashing if there is more than one potential mapping "
391 "(generally due to network misconfiguration).  Defaults to 1 second."
392 msgstr ""
393
394 #. type: TP
395 #: build/C/man7/arp.7:229
396 #, no-wrap
397 msgid "I<mcast_solicit> (since Linux 2.2)"
398 msgstr ""
399
400 #.  Precisely: 2.1.79
401 #. type: Plain text
402 #: build/C/man7/arp.7:235
403 msgid ""
404 "The maximum number of attempts to resolve an address by multicast/broadcast "
405 "before marking the entry as unreachable.  Defaults to 3."
406 msgstr ""
407
408 #. type: TP
409 #: build/C/man7/arp.7:235
410 #, no-wrap
411 msgid "I<proxy_delay> (since Linux 2.2)"
412 msgstr ""
413
414 #.  Precisely: 2.1.79
415 #. type: Plain text
416 #: build/C/man7/arp.7:243
417 msgid ""
418 "When an ARP request for a known proxy-ARP address is received, delay up to "
419 "I<proxy_delay> jiffies before replying.  This is used to prevent network "
420 "flooding in some cases.  Defaults to 0.8 seconds."
421 msgstr ""
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 ""
428
429 #.  Precisely: 2.1.79
430 #. type: Plain text
431 #: build/C/man7/arp.7:248
432 msgid ""
433 "The maximum number of packets which may be queued to proxy-ARP addresses.  "
434 "Defaults to 64."
435 msgstr ""
436
437 #. type: TP
438 #: build/C/man7/arp.7:248
439 #, no-wrap
440 msgid "I<retrans_time> (since Linux 2.2)"
441 msgstr ""
442
443 #.  Precisely: 2.1.79
444 #. type: Plain text
445 #: build/C/man7/arp.7:255
446 msgid ""
447 "The number of jiffies to delay before retransmitting a request.  Defaults to "
448 "1 second.  This file is now obsolete in favor of I<retrans_time_ms>."
449 msgstr ""
450
451 #. type: TP
452 #: build/C/man7/arp.7:255
453 #, no-wrap
454 msgid "I<retrans_time_ms> (since Linux 2.6.12)"
455 msgstr ""
456
457 #. type: Plain text
458 #: build/C/man7/arp.7:259
459 msgid ""
460 "The number of milliseconds to delay before retransmitting a request.  "
461 "Defaults to 1000 milliseconds."
462 msgstr ""
463
464 #. type: TP
465 #: build/C/man7/arp.7:259
466 #, no-wrap
467 msgid "I<ucast_solicit> (since Linux 2.2)"
468 msgstr ""
469
470 #.  Precisely: 2.1.79
471 #. type: Plain text
472 #: build/C/man7/arp.7:266
473 msgid ""
474 "The maximum number of attempts to send unicast probes before asking the ARP "
475 "daemon (see I<app_solicit>).  Defaults to 3."
476 msgstr ""
477
478 #. type: TP
479 #: build/C/man7/arp.7:266
480 #, no-wrap
481 msgid "I<unres_qlen> (since Linux 2.2)"
482 msgstr ""
483
484 #.  Precisely: 2.1.79
485 #. type: Plain text
486 #: build/C/man7/arp.7:272
487 msgid ""
488 "The maximum number of packets which may be queued for each unresolved "
489 "address by other network layers.  Defaults to 3."
490 msgstr ""
491
492 #. type: SH
493 #: build/C/man7/arp.7:272 build/C/man7/ddp.7:221 build/C/man3/endian.3:74 build/C/man3/getnameinfo.3:203 build/C/man7/icmp.7:160 build/C/man7/ipv6.7:362 build/C/man7/packet.7:282 build/C/man7/raw.7:175 build/C/man3/rcmd.3:262 build/C/man3/rexec.3:138 build/C/man7/tcp.7:1145 build/C/man7/udp.7:245 build/C/man7/udplite.7:132 build/C/man7/unix.7:399 build/C/man7/x25.7:100
494 #, no-wrap
495 msgid "VERSIONS"
496 msgstr ""
497
498 #. type: Plain text
499 #: build/C/man7/arp.7:279
500 msgid ""
501 "The I<struct arpreq> changed in Linux 2.0 to include the I<arp_dev> member "
502 "and the ioctl numbers changed at the same time.  Support for the old ioctls "
503 "was dropped in Linux 2.2."
504 msgstr ""
505
506 #. type: Plain text
507 #: build/C/man7/arp.7:285
508 msgid ""
509 "Support for proxy arp entries for networks (netmask not equal 0xffffffff)  "
510 "was dropped in Linux 2.2.  It is replaced by automatic proxy arp setup by "
511 "the kernel for all reachable hosts on other interfaces (when forwarding and "
512 "proxy arp is enabled for the interface)."
513 msgstr ""
514
515 #. type: Plain text
516 #: build/C/man7/arp.7:289
517 msgid "The I<neigh/*> interfaces did not exist before Linux 2.2."
518 msgstr ""
519
520 #. type: SH
521 #: build/C/man7/arp.7:289 build/C/man7/ddp.7:244 build/C/man3/ether_aton.3:125 build/C/man3/gethostbyname.3:424 build/C/man3/inet_ntop.3:112 build/C/man3/inet_pton.3:150 build/C/man7/ip.7:1203 build/C/man7/ipv6.7:401 build/C/man7/netdevice.7:328 build/C/man7/packet.7:363 build/C/man7/raw.7:252 build/C/man3/rcmd.3:278 build/C/man3/rexec.3:151 build/C/man2/shutdown.2:104 build/C/man7/tcp.7:1152 build/C/man7/udplite.7:134 build/C/man7/x25.7:102
522 #, no-wrap
523 msgid "BUGS"
524 msgstr ""
525
526 #. type: Plain text
527 #: build/C/man7/arp.7:293
528 msgid ""
529 "Some timer settings are specified in jiffies, which is architecture- and "
530 "kernel version-dependent; see B<time>(7)."
531 msgstr ""
532
533 #. type: Plain text
534 #: build/C/man7/arp.7:299
535 msgid ""
536 "There is no way to signal positive feedback from user space.  This means "
537 "connection-oriented protocols implemented in user space will generate "
538 "excessive ARP traffic, because ndisc will regularly reprobe the MAC "
539 "address.  The same problem applies for some kernel protocols (e.g., NFS over "
540 "UDP)."
541 msgstr ""
542
543 #. type: Plain text
544 #: build/C/man7/arp.7:302
545 msgid ""
546 "This man page mashes IPv4 specific and shared between IPv4 and IPv6 "
547 "functionality together."
548 msgstr ""
549
550 #. type: SH
551 #: build/C/man7/arp.7:302 build/C/man3/byteorder.3:79 build/C/man3/cmsg.3:217 build/C/man7/ddp.7:249 build/C/man3/endian.3:151 build/C/man3/ether_aton.3:129 build/C/man5/gai.conf.5:93 build/C/man3/getaddrinfo.3:817 build/C/man3/getaddrinfo_a.3:600 build/C/man1/getent.1:368 build/C/man3/gethostbyname.3:429 build/C/man3/getipnodebyname.3:266 build/C/man3/getnameinfo.3:275 build/C/man3/getnetent.3:135 build/C/man3/getnetent_r.3:145 build/C/man2/getpeername.2:143 build/C/man3/getprotoent.3:124 build/C/man3/getprotoent_r.3:237 build/C/man3/getservent.3:133 build/C/man3/getservent_r.3:241 build/C/man5/host.conf.5:199 build/C/man7/hostname.7:85 build/C/man5/hosts.5:115 build/C/man5/hosts.equiv.5:65 build/C/man7/icmp.7:190 build/C/man3/inet.3:297 build/C/man3/inet_ntop.3:118 build/C/man3/inet_pton.3:215 build/C/man7/ip.7:1222 build/C/man7/ipv6.7:412 build/C/man7/netdevice.7:342 build/C/man5/networks.5:74 build/C/man8/nscd.8:85 build/C/man5/nscd.conf.5:232 build/C/man5/nss.5:110 build/C/man5/nsswitch.conf.5:352 build/C/man7/packet.7:394 build/C/man5/protocols.5:81 build/C/man7/raw.7:269 build/C/man3/rcmd.3:285 build/C/man5/resolv.conf.5:286 build/C/man3/resolver.3:274 build/C/man3/rexec.3:160 build/C/man5/services.5:209 build/C/man3/setnetgrent.3:107 build/C/man2/shutdown.2:113 build/C/man7/tcp.7:1164 build/C/man7/udp.7:250 build/C/man7/udplite.7:146 build/C/man7/unix.7:443 build/C/man7/x25.7:118
552 #, no-wrap
553 msgid "SEE ALSO"
554 msgstr ""
555
556 #. type: Plain text
557 #: build/C/man7/arp.7:305
558 msgid "B<capabilities>(7), B<ip>(7)"
559 msgstr ""
560
561 #. type: Plain text
562 #: build/C/man7/arp.7:310
563 msgid ""
564 "RFC\\ 826 for a description of ARP.  RFC\\ 2461 for a description of IPv6 "
565 "neighbor discovery and the base algorithms used.  Linux 2.2+ IPv4 ARP uses "
566 "the IPv6 algorithms when applicable."
567 msgstr ""
568
569 #. type: SH
570 #: build/C/man7/arp.7:310 build/C/man3/byteorder.3:83 build/C/man3/cmsg.3:222 build/C/man7/ddp.7:254 build/C/man3/endian.3:153 build/C/man3/ether_aton.3:131 build/C/man5/gai.conf.5:96 build/C/man3/getaddrinfo.3:827 build/C/man3/getaddrinfo_a.3:607 build/C/man1/getent.1:370 build/C/man3/gethostbyname.3:443 build/C/man3/getipnodebyname.3:271 build/C/man3/getnameinfo.3:308 build/C/man3/getnetent.3:142 build/C/man3/getnetent_r.3:148 build/C/man2/getpeername.2:150 build/C/man3/getprotoent.3:129 build/C/man3/getprotoent_r.3:240 build/C/man3/getservent.3:138 build/C/man3/getservent_r.3:244 build/C/man5/host.conf.5:204 build/C/man7/hostname.7:93 build/C/man5/hosts.5:126 build/C/man5/hosts.equiv.5:69 build/C/man7/icmp.7:194 build/C/man3/inet.3:307 build/C/man3/inet_ntop.3:122 build/C/man3/inet_pton.3:219 build/C/man7/ip.7:1240 build/C/man7/ipv6.7:419 build/C/man7/netdevice.7:347 build/C/man5/networks.5:80 build/C/man8/nscd.8:91 build/C/man5/nscd.conf.5:237 build/C/man5/nss.5:112 build/C/man5/nsswitch.conf.5:355 build/C/man7/packet.7:408 build/C/man5/protocols.5:86 build/C/man7/raw.7:282 build/C/man3/rcmd.3:293 build/C/man5/resolv.conf.5:293 build/C/man3/resolver.3:280 build/C/man3/rexec.3:163 build/C/man5/services.5:221 build/C/man3/setnetgrent.3:111 build/C/man2/shutdown.2:117 build/C/man7/tcp.7:1190 build/C/man7/udp.7:261 build/C/man7/udplite.7:156 build/C/man7/unix.7:452 build/C/man7/x25.7:127
571 #, no-wrap
572 msgid "COLOPHON"
573 msgstr ""
574
575 #. type: Plain text
576 #: build/C/man7/arp.7:317 build/C/man3/byteorder.3:90 build/C/man3/cmsg.3:229 build/C/man7/ddp.7:261 build/C/man3/endian.3:160 build/C/man3/ether_aton.3:138 build/C/man5/gai.conf.5:103 build/C/man3/getaddrinfo.3:834 build/C/man3/getaddrinfo_a.3:614 build/C/man1/getent.1:377 build/C/man3/gethostbyname.3:450 build/C/man3/getipnodebyname.3:278 build/C/man3/getnameinfo.3:315 build/C/man3/getnetent.3:149 build/C/man3/getnetent_r.3:155 build/C/man2/getpeername.2:157 build/C/man3/getprotoent.3:136 build/C/man3/getprotoent_r.3:247 build/C/man3/getservent.3:145 build/C/man3/getservent_r.3:251 build/C/man5/host.conf.5:211 build/C/man7/hostname.7:100 build/C/man5/hosts.5:133 build/C/man5/hosts.equiv.5:76 build/C/man7/icmp.7:201 build/C/man3/inet.3:314 build/C/man3/inet_ntop.3:129 build/C/man3/inet_pton.3:226 build/C/man7/ip.7:1247 build/C/man7/ipv6.7:426 build/C/man7/netdevice.7:354 build/C/man5/networks.5:87 build/C/man8/nscd.8:98 build/C/man5/nscd.conf.5:244 build/C/man5/nss.5:119 build/C/man5/nsswitch.conf.5:362 build/C/man7/packet.7:415 build/C/man5/protocols.5:93 build/C/man7/raw.7:289 build/C/man3/rcmd.3:300 build/C/man5/resolv.conf.5:300 build/C/man3/resolver.3:287 build/C/man3/rexec.3:170 build/C/man5/services.5:228 build/C/man3/setnetgrent.3:118 build/C/man2/shutdown.2:124 build/C/man7/tcp.7:1197 build/C/man7/udp.7:268 build/C/man7/udplite.7:163 build/C/man7/unix.7:459 build/C/man7/x25.7:134
577 msgid ""
578 "This page is part of release 3.50 of the Linux I<man-pages> project.  A "
579 "description of the project, and information about reporting bugs, can be "
580 "found at http://www.kernel.org/doc/man-pages/."
581 msgstr ""
582
583 #. type: TH
584 #: build/C/man3/byteorder.3:32
585 #, no-wrap
586 msgid "BYTEORDER"
587 msgstr ""
588
589 #. type: TH
590 #: build/C/man3/byteorder.3:32
591 #, no-wrap
592 msgid "2009-01-15"
593 msgstr ""
594
595 #. type: TH
596 #: build/C/man3/byteorder.3:32 build/C/man3/endian.3:28 build/C/man3/ether_aton.3:31 build/C/man3/getaddrinfo.3:43 build/C/man3/getaddrinfo_a.3:29 build/C/man3/getnameinfo.3:10 build/C/man3/getnetent.3:30 build/C/man3/getnetent_r.3:26 build/C/man3/getprotoent.3:30 build/C/man3/getprotoent_r.3:26 build/C/man3/getservent.3:34 build/C/man3/getservent_r.3:26 build/C/man3/inet.3:42 build/C/man8/nscd.8:23 build/C/man5/nscd.conf.5:20 build/C/man3/resolver.3:32 build/C/man3/setnetgrent.3:10
597 #, no-wrap
598 msgid "GNU"
599 msgstr ""
600
601 #. type: Plain text
602 #: build/C/man3/byteorder.3:36
603 msgid ""
604 "htonl, htons, ntohl, ntohs - convert values between host and network byte "
605 "order"
606 msgstr ""
607
608 #. type: SH
609 #: build/C/man3/byteorder.3:36 build/C/man3/cmsg.3:14 build/C/man7/ddp.7:15 build/C/man3/endian.3:33 build/C/man3/ether_aton.3:35 build/C/man3/getaddrinfo.3:47 build/C/man3/getaddrinfo_a.3:33 build/C/man1/getent.1:27 build/C/man3/gethostbyname.3:46 build/C/man3/getipnodebyname.3:30 build/C/man3/getnameinfo.3:13 build/C/man3/getnetent.3:34 build/C/man3/getnetent_r.3:30 build/C/man2/getpeername.2:45 build/C/man3/getprotoent.3:34 build/C/man3/getprotoent_r.3:30 build/C/man3/getservent.3:38 build/C/man3/getservent_r.3:30 build/C/man5/hosts.5:30 build/C/man3/inet.3:46 build/C/man3/inet_ntop.3:29 build/C/man3/inet_pton.3:30 build/C/man7/ip.7:42 build/C/man7/ipv6.7:89 build/C/man7/netdevice.7:21 build/C/man7/packet.7:15 build/C/man7/raw.7:16 build/C/man3/rcmd.3:48 build/C/man5/resolv.conf.5:27 build/C/man3/resolver.3:36 build/C/man3/rexec.3:44 build/C/man3/setnetgrent.3:14 build/C/man2/shutdown.2:43 build/C/man7/tcp.7:68 build/C/man7/udp.7:15 build/C/man7/udplite.7:30 build/C/man7/unix.7:21 build/C/man7/x25.7:15
610 #, no-wrap
611 msgid "SYNOPSIS"
612 msgstr ""
613
614 #. type: Plain text
615 #: build/C/man3/byteorder.3:39 build/C/man3/inet_ntop.3:32 build/C/man3/inet_pton.3:33
616 #, no-wrap
617 msgid "B<#include E<lt>arpa/inet.hE<gt>>\n"
618 msgstr ""
619
620 #. type: Plain text
621 #: build/C/man3/byteorder.3:41
622 #, no-wrap
623 msgid "B<uint32_t htonl(uint32_t >I<hostlong>B<);>\n"
624 msgstr ""
625
626 #. type: Plain text
627 #: build/C/man3/byteorder.3:43
628 #, no-wrap
629 msgid "B<uint16_t htons(uint16_t >I<hostshort>B<);>\n"
630 msgstr ""
631
632 #. type: Plain text
633 #: build/C/man3/byteorder.3:45
634 #, no-wrap
635 msgid "B<uint32_t ntohl(uint32_t >I<netlong>B<);>\n"
636 msgstr ""
637
638 #. type: Plain text
639 #: build/C/man3/byteorder.3:47
640 #, no-wrap
641 msgid "B<uint16_t ntohs(uint16_t >I<netshort>B<);>\n"
642 msgstr ""
643
644 #. type: Plain text
645 #: build/C/man3/byteorder.3:53
646 msgid ""
647 "The B<htonl>()  function converts the unsigned integer I<hostlong> from host "
648 "byte order to network byte order."
649 msgstr ""
650
651 #. type: Plain text
652 #: build/C/man3/byteorder.3:58
653 msgid ""
654 "The B<htons>()  function converts the unsigned short integer I<hostshort> "
655 "from host byte order to network byte order."
656 msgstr ""
657
658 #. type: Plain text
659 #: build/C/man3/byteorder.3:63
660 msgid ""
661 "The B<ntohl>()  function converts the unsigned integer I<netlong> from "
662 "network byte order to host byte order."
663 msgstr ""
664
665 #. type: Plain text
666 #: build/C/man3/byteorder.3:68
667 msgid ""
668 "The B<ntohs>()  function converts the unsigned short integer I<netshort> "
669 "from network byte order to host byte order."
670 msgstr ""
671
672 #. type: Plain text
673 #: build/C/man3/byteorder.3:72
674 msgid ""
675 "On the i386 the host byte order is Least Significant Byte first, whereas the "
676 "network byte order, as used on the Internet, is Most Significant Byte first."
677 msgstr ""
678
679 #. type: SH
680 #: build/C/man3/byteorder.3:72 build/C/man3/cmsg.3:141 build/C/man3/endian.3:76 build/C/man3/ether_aton.3:123 build/C/man3/getaddrinfo.3:584 build/C/man3/getaddrinfo_a.3:305 build/C/man3/gethostbyname.3:303 build/C/man3/getipnodebyname.3:258 build/C/man3/getnameinfo.3:206 build/C/man3/getnetent.3:126 build/C/man3/getnetent_r.3:141 build/C/man2/getpeername.2:101 build/C/man3/getprotoent.3:122 build/C/man3/getprotoent_r.3:131 build/C/man3/getservent.3:131 build/C/man3/getservent_r.3:130 build/C/man3/inet.3:210 build/C/man3/inet_ntop.3:100 build/C/man3/inet_pton.3:129 build/C/man3/rcmd.3:270 build/C/man3/resolver.3:272 build/C/man3/rexec.3:142 build/C/man3/setnetgrent.3:92 build/C/man2/shutdown.2:91
681 #, no-wrap
682 msgid "CONFORMING TO"
683 msgstr ""
684
685 #. type: Plain text
686 #: build/C/man3/byteorder.3:74 build/C/man3/inet_pton.3:131
687 msgid "POSIX.1-2001."
688 msgstr ""
689
690 #. type: Plain text
691 #: build/C/man3/byteorder.3:79
692 msgid ""
693 "Some systems require the inclusion of I<E<lt>netinet/in.hE<gt>> instead of "
694 "I<E<lt>arpa/inet.hE<gt>>."
695 msgstr ""
696
697 #. type: Plain text
698 #: build/C/man3/byteorder.3:83
699 msgid "B<endian>(3), B<gethostbyname>(3), B<getservent>(3)"
700 msgstr ""
701
702 #. type: TH
703 #: build/C/man3/cmsg.3:11
704 #, no-wrap
705 msgid "CMSG"
706 msgstr ""
707
708 #. type: TH
709 #: build/C/man3/cmsg.3:11 build/C/man7/ddp.7:12
710 #, no-wrap
711 msgid "2008-11-20"
712 msgstr ""
713
714 #. type: Plain text
715 #: build/C/man3/cmsg.3:14
716 msgid "CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data"
717 msgstr ""
718
719 #. type: Plain text
720 #: build/C/man3/cmsg.3:16 build/C/man7/ddp.7:17 build/C/man2/getpeername.2:47 build/C/man7/ip.7:44 build/C/man7/ipv6.7:91 build/C/man7/raw.7:18 build/C/man2/shutdown.2:45 build/C/man7/tcp.7:70 build/C/man7/udp.7:17 build/C/man7/udplite.7:32 build/C/man7/unix.7:23 build/C/man7/x25.7:17
721 msgid "B<#include E<lt>sys/socket.hE<gt>>"
722 msgstr ""
723
724 #. type: Plain text
725 #: build/C/man3/cmsg.3:18
726 msgid "B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>"
727 msgstr ""
728
729 #. type: Plain text
730 #: build/C/man3/cmsg.3:20
731 msgid ""
732 "B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<, struct cmsghdr "
733 "*>I<cmsg>B<);>"
734 msgstr ""
735
736 #. type: Plain text
737 #: build/C/man3/cmsg.3:22
738 msgid "B<size_t CMSG_ALIGN(size_t >I<length>B<);>"
739 msgstr ""
740
741 #. type: Plain text
742 #: build/C/man3/cmsg.3:24
743 msgid "B<size_t CMSG_SPACE(size_t >I<length>B<);>"
744 msgstr ""
745
746 #. type: Plain text
747 #: build/C/man3/cmsg.3:26
748 msgid "B<size_t CMSG_LEN(size_t >I<length>B<);>"
749 msgstr ""
750
751 #. type: Plain text
752 #: build/C/man3/cmsg.3:28
753 msgid "B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>"
754 msgstr ""
755
756 #. type: Plain text
757 #: build/C/man3/cmsg.3:36
758 #, no-wrap
759 msgid ""
760 "struct cmsghdr {\n"
761 "    socklen_t cmsg_len;    /* data byte count, including header */\n"
762 "    int       cmsg_level;  /* originating protocol */\n"
763 "    int       cmsg_type;   /* protocol-specific type */\n"
764 "    /* followed by unsigned char cmsg_data[]; */\n"
765 "};\n"
766 msgstr ""
767
768 #. type: Plain text
769 #: build/C/man3/cmsg.3:51
770 msgid ""
771 "These macros are used to create and access control messages (also called "
772 "ancillary data) that are not a part of the socket payload.  This control "
773 "information may include the interface the packet was received on, various "
774 "rarely used header fields, an extended error description, a set of file "
775 "descriptors or UNIX credentials.  For instance, control messages can be used "
776 "to send additional header fields such as IP options.  Ancillary data is sent "
777 "by calling B<sendmsg>(2)  and received by calling B<recvmsg>(2).  See their "
778 "manual pages for more information."
779 msgstr ""
780
781 #. type: Plain text
782 #: build/C/man3/cmsg.3:62
783 msgid ""
784 "Ancillary data is a sequence of I<struct cmsghdr> structures with appended "
785 "data.  This sequence should only be accessed using the macros described in "
786 "this manual page and never directly.  See the specific protocol man pages "
787 "for the available control message types.  The maximum ancillary buffer size "
788 "allowed per socket can be set using I</proc/sys/net/core/optmem_max>; see "
789 "B<socket>(7)."
790 msgstr ""
791
792 #. type: Plain text
793 #: build/C/man3/cmsg.3:69
794 msgid ""
795 "B<CMSG_FIRSTHDR>()  returns a pointer to the first I<cmsghdr> in the "
796 "ancillary data buffer associated with the passed I<msghdr>."
797 msgstr ""
798
799 #. type: Plain text
800 #: build/C/man3/cmsg.3:76
801 msgid ""
802 "B<CMSG_NXTHDR>()  returns the next valid I<cmsghdr> after the passed "
803 "I<cmsghdr>.  It returns NULL when there isn't enough space left in the "
804 "buffer."
805 msgstr ""
806
807 #. type: Plain text
808 #: build/C/man3/cmsg.3:81
809 msgid ""
810 "B<CMSG_ALIGN>(), given a length, returns it including the required "
811 "alignment.  This is a constant expression."
812 msgstr ""
813
814 #. type: Plain text
815 #: build/C/man3/cmsg.3:86
816 msgid ""
817 "B<CMSG_SPACE>()  returns the number of bytes an ancillary element with "
818 "payload of the passed data length occupies.  This is a constant expression."
819 msgstr ""
820
821 #. type: Plain text
822 #: build/C/man3/cmsg.3:90
823 msgid "B<CMSG_DATA>()  returns a pointer to the data portion of a I<cmsghdr>."
824 msgstr ""
825
826 #. type: Plain text
827 #: build/C/man3/cmsg.3:101
828 msgid ""
829 "B<CMSG_LEN>()  returns the value to store in the I<cmsg_len> member of the "
830 "I<cmsghdr> structure, taking into account any necessary alignment.  It takes "
831 "the data length as an argument.  This is a constant expression."
832 msgstr ""
833
834 #. type: Plain text
835 #: build/C/man3/cmsg.3:134
836 msgid ""
837 "To create ancillary data, first initialize the I<msg_controllen> member of "
838 "the I<msghdr> with the length of the control message buffer.  Use "
839 "B<CMSG_FIRSTHDR>()  on the I<msghdr> to get the first control message and "
840 "B<CMSG_NXTHDR>()  to get all subsequent ones.  In each control message, "
841 "initialize I<cmsg_len> (with B<CMSG_LEN>()), the other I<cmsghdr> header "
842 "fields, and the data portion using B<CMSG_DATA>().  Finally, the "
843 "I<msg_controllen> field of the I<msghdr> should be set to the sum of the "
844 "B<CMSG_SPACE>()  of the length of all control messages in the buffer.  For "
845 "more information on the I<msghdr>, see B<recvmsg>(2)."
846 msgstr ""
847
848 #. type: Plain text
849 #: build/C/man3/cmsg.3:141
850 msgid ""
851 "When the control message buffer is too short to store all messages, the "
852 "B<MSG_CTRUNC> flag is set in the I<msg_flags> member of the I<msghdr>."
853 msgstr ""
854
855 #. type: Plain text
856 #: build/C/man3/cmsg.3:146
857 msgid ""
858 "This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the "
859 "IPv6 advanced API described in RFC\\ 2292 and the SUSv2.  B<CMSG_ALIGN>()  "
860 "is a Linux extension."
861 msgstr ""
862
863 #. type: SH
864 #: build/C/man3/cmsg.3:146 build/C/man7/ddp.7:226 build/C/man3/endian.3:91 build/C/man3/getaddrinfo.3:589 build/C/man3/getaddrinfo_a.3:308 build/C/man3/gethostbyname.3:327 build/C/man3/getipnodebyname.3:261 build/C/man3/getnameinfo.3:208 build/C/man3/getnetent.3:128 build/C/man2/getpeername.2:105 build/C/man5/host.conf.5:190 build/C/man5/hosts.5:88 build/C/man5/hosts.equiv.5:52 build/C/man7/icmp.7:168 build/C/man3/inet.3:218 build/C/man3/inet_pton.3:131 build/C/man7/ip.7:1141 build/C/man7/ipv6.7:391 build/C/man7/netdevice.7:310 build/C/man8/nscd.8:60 build/C/man5/nsswitch.conf.5:333 build/C/man7/packet.7:300 build/C/man7/raw.7:187 build/C/man3/setnetgrent.3:103 build/C/man2/shutdown.2:95 build/C/man7/unix.7:405
865 #, no-wrap
866 msgid "NOTES"
867 msgstr ""
868
869 #. type: Plain text
870 #: build/C/man3/cmsg.3:151
871 msgid ""
872 "For portability, ancillary data should be accessed only using the macros "
873 "described here.  B<CMSG_ALIGN>()  is a Linux extension and should be not "
874 "used in portable programs."
875 msgstr ""
876
877 #. type: Plain text
878 #: build/C/man3/cmsg.3:161
879 msgid ""
880 "In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>()  are constant "
881 "expressions (assuming their argument is constant); this could be used to "
882 "declare the size of global variables.  This may be not portable, however."
883 msgstr ""
884
885 #. type: SH
886 #: build/C/man3/cmsg.3:161 build/C/man3/endian.3:107 build/C/man5/gai.conf.5:74 build/C/man3/getaddrinfo.3:612 build/C/man3/getaddrinfo_a.3:314 build/C/man3/getnameinfo.3:236 build/C/man3/getprotoent_r.3:135 build/C/man3/getservent_r.3:134 build/C/man5/hosts.5:107 build/C/man3/inet.3:254 build/C/man3/inet_ntop.3:115 build/C/man3/inet_pton.3:156 build/C/man5/nss.5:100 build/C/man7/unix.7:435
887 #, no-wrap
888 msgid "EXAMPLE"
889 msgstr ""
890
891 #. type: Plain text
892 #: build/C/man3/cmsg.3:165
893 msgid "This code looks for the B<IP_TTL> option in a received ancillary buffer:"
894 msgstr ""
895
896 #. type: Plain text
897 #: build/C/man3/cmsg.3:172
898 #, no-wrap
899 msgid ""
900 "struct msghdr msgh;\n"
901 "struct cmsghdr *cmsg;\n"
902 "int *ttlptr;\n"
903 "int received_ttl;\n"
904 msgstr ""
905
906 #. type: Plain text
907 #: build/C/man3/cmsg.3:189
908 #, no-wrap
909 msgid ""
910 "/* Receive auxiliary data in msgh */\n"
911 "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
912 "        cmsg = CMSG_NXTHDR(&msgh,cmsg)) {\n"
913 "    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
914 "            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
915 "        ttlptr = (int *) CMSG_DATA(cmsg);\n"
916 "        received_ttl = *ttlptr;\n"
917 "        break;\n"
918 "    }\n"
919 "}\n"
920 "if (cmsg == NULL) {\n"
921 "    /*\n"
922 "     * Error: IP_TTL not enabled or small buffer\n"
923 "     * or I/O error.\n"
924 "     */\n"
925 "}\n"
926 msgstr ""
927
928 #. type: Plain text
929 #: build/C/man3/cmsg.3:195
930 msgid ""
931 "The code below passes an array of file descriptors over a UNIX domain socket "
932 "using B<SCM_RIGHTS>:"
933 msgstr ""
934
935 #. type: Plain text
936 #: build/C/man3/cmsg.3:203
937 #, no-wrap
938 msgid ""
939 "struct msghdr msg = {0};\n"
940 "struct cmsghdr *cmsg;\n"
941 "int myfds[NUM_FD]; /* Contains the file descriptors to pass. */\n"
942 "char buf[CMSG_SPACE(sizeof myfds)];  /* ancillary data buffer */\n"
943 "int *fdptr;\n"
944 msgstr ""
945
946 #. type: Plain text
947 #: build/C/man3/cmsg.3:215
948 #, no-wrap
949 msgid ""
950 "msg.msg_control = buf;\n"
951 "msg.msg_controllen = sizeof buf;\n"
952 "cmsg = CMSG_FIRSTHDR(&msg);\n"
953 "cmsg-E<gt>cmsg_level = SOL_SOCKET;\n"
954 "cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
955 "cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(int) * NUM_FD);\n"
956 "/* Initialize the payload: */\n"
957 "fdptr = (int *) CMSG_DATA(cmsg);\n"
958 "memcpy(fdptr, myfds, NUM_FD * sizeof(int));\n"
959 "/* Sum of the length of all control messages in the buffer: */\n"
960 "msg.msg_controllen = cmsg-E<gt>cmsg_len;\n"
961 msgstr ""
962
963 #. type: Plain text
964 #: build/C/man3/cmsg.3:220
965 msgid "B<recvmsg>(2), B<sendmsg>(2)"
966 msgstr ""
967
968 #. type: Plain text
969 #: build/C/man3/cmsg.3:222
970 msgid "RFC\\ 2292"
971 msgstr ""
972
973 #. type: TH
974 #: build/C/man7/ddp.7:12
975 #, no-wrap
976 msgid "DDP"
977 msgstr ""
978
979 #. type: Plain text
980 #: build/C/man7/ddp.7:15
981 msgid "ddp - Linux AppleTalk protocol implementation"
982 msgstr ""
983
984 #. type: Plain text
985 #: build/C/man7/ddp.7:19
986 msgid "B<#include E<lt>netatalk/at.hE<gt>>"
987 msgstr ""
988
989 #. type: Plain text
990 #: build/C/man7/ddp.7:21
991 msgid "I<ddp_socket>B< = socket(AF_APPLETALK, SOCK_DGRAM, 0);>"
992 msgstr ""
993
994 #. type: Plain text
995 #: build/C/man7/ddp.7:23
996 msgid "I<raw_socket>B< = socket(AF_APPLETALK, SOCK_RAW, >I<protocol>B<);>"
997 msgstr ""
998
999 #. type: Plain text
1000 #: build/C/man7/ddp.7:34
1001 msgid ""
1002 "Linux implements the Appletalk protocols described in I<Inside Appletalk>.  "
1003 "Only the DDP layer and AARP are present in the kernel.  They are designed to "
1004 "be used via the B<netatalk> protocol libraries.  This page documents the "
1005 "interface for those who wish or need to use the DDP layer directly."
1006 msgstr ""
1007
1008 #. type: Plain text
1009 #: build/C/man7/ddp.7:39
1010 msgid ""
1011 "The communication between Appletalk and the user program works using a "
1012 "BSD-compatible socket interface.  For more information on sockets, see "
1013 "B<socket>(7)."
1014 msgstr ""
1015
1016 #. type: Plain text
1017 #: build/C/man7/ddp.7:60
1018 msgid ""
1019 "An AppleTalk socket is created by calling the B<socket>(2)  function with a "
1020 "B<AF_APPLETALK> socket family argument.  Valid socket types are "
1021 "B<SOCK_DGRAM> to open a B<ddp> socket or B<SOCK_RAW> to open a B<raw> "
1022 "socket.  I<protocol> is the Appletalk protocol to be received or sent.  For "
1023 "B<SOCK_RAW> you must specify B<ATPROTO_DDP>."
1024 msgstr ""
1025
1026 #. type: Plain text
1027 #: build/C/man7/ddp.7:65
1028 msgid ""
1029 "Raw sockets may be only opened by a process with effective user ID 0 or when "
1030 "the process has the B<CAP_NET_RAW> capability."
1031 msgstr ""
1032
1033 #. type: SS
1034 #: build/C/man7/ddp.7:65 build/C/man7/ip.7:126 build/C/man7/ipv6.7:142 build/C/man7/raw.7:93 build/C/man7/udp.7:96 build/C/man7/udplite.7:58 build/C/man7/unix.7:55
1035 #, no-wrap
1036 msgid "Address format"
1037 msgstr ""
1038
1039 #. type: Plain text
1040 #: build/C/man7/ddp.7:68
1041 msgid ""
1042 "An Appletalk socket address is defined as a combination of a network number, "
1043 "a node number, and a port number."
1044 msgstr ""
1045
1046 #. type: Plain text
1047 #: build/C/man7/ddp.7:75
1048 #, no-wrap
1049 msgid ""
1050 "struct at_addr {\n"
1051 "    unsigned short s_net;\n"
1052 "    unsigned char  s_node;\n"
1053 "};\n"
1054 msgstr ""
1055
1056 #. type: Plain text
1057 #: build/C/man7/ddp.7:81
1058 #, no-wrap
1059 msgid ""
1060 "struct sockaddr_atalk {\n"
1061 "    sa_family_t    sat_family;    /* address family */\n"
1062 "    unsigned char  sat_port;      /* port */\n"
1063 "    struct at_addr sat_addr;      /* net/node */\n"
1064 "};\n"
1065 msgstr ""
1066
1067 #.  FIXME this doesn't make sense [johnl]
1068 #. type: Plain text
1069 #: build/C/man7/ddp.7:120
1070 msgid ""
1071 "I<sat_family> is always set to B<AF_APPLETALK>.  I<sat_port> contains the "
1072 "port.  The port numbers below 129 are known as I<reserved ports>.  Only "
1073 "processes with the effective user ID 0 or the B<CAP_NET_BIND_SERVICE> "
1074 "capability may B<bind>(2)  to these sockets.  I<sat_addr> is the host "
1075 "address.  The I<net> member of I<struct at_addr> contains the host network "
1076 "in network byte order.  The value of B<AT_ANYNET> is a wildcard and also "
1077 "implies \\(lqthis network.\\(rq The I<node> member of I<struct at_addr> "
1078 "contains the host node number.  The value of B<AT_ANYNODE> is a wildcard and "
1079 "also implies \\(lqthis node.\\(rq The value of B<ATADDR_BCAST> is a link "
1080 "local broadcast address."
1081 msgstr ""
1082
1083 #. type: SS
1084 #: build/C/man7/ddp.7:120 build/C/man7/ip.7:227 build/C/man7/ipv6.7:192 build/C/man7/packet.7:179 build/C/man7/raw.7:109 build/C/man7/tcp.7:858 build/C/man7/udp.7:176 build/C/man7/udplite.7:67 build/C/man7/unix.7:135 build/C/man7/x25.7:72
1085 #, no-wrap
1086 msgid "Socket options"
1087 msgstr ""
1088
1089 #. type: Plain text
1090 #: build/C/man7/ddp.7:122
1091 msgid "No protocol-specific socket options are supported."
1092 msgstr ""
1093
1094 #. type: Plain text
1095 #: build/C/man7/ddp.7:128
1096 msgid ""
1097 "IP supports a set of I</proc> interfaces to configure some global AppleTalk "
1098 "parameters.  The parameters can be accessed by reading or writing files in "
1099 "the directory I</proc/sys/net/atalk/>."
1100 msgstr ""
1101
1102 #. type: TP
1103 #: build/C/man7/ddp.7:128
1104 #, no-wrap
1105 msgid "I<aarp-expiry-time>"
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man7/ddp.7:131
1110 msgid "The time interval (in seconds) before an AARP cache entry expires."
1111 msgstr ""
1112
1113 #. type: TP
1114 #: build/C/man7/ddp.7:131
1115 #, no-wrap
1116 msgid "I<aarp-resolve-time>"
1117 msgstr ""
1118
1119 #. type: Plain text
1120 #: build/C/man7/ddp.7:134
1121 msgid "The time interval (in seconds) before an AARP cache entry is resolved."
1122 msgstr ""
1123
1124 #. type: TP
1125 #: build/C/man7/ddp.7:134
1126 #, no-wrap
1127 msgid "I<aarp-retransmit-limit>"
1128 msgstr ""
1129
1130 #. type: Plain text
1131 #: build/C/man7/ddp.7:138
1132 msgid ""
1133 "The number of retransmissions of an AARP query before the node is declared "
1134 "dead."
1135 msgstr ""
1136
1137 #. type: TP
1138 #: build/C/man7/ddp.7:138
1139 #, no-wrap
1140 msgid "I<aarp-tick-time>"
1141 msgstr ""
1142
1143 #. type: Plain text
1144 #: build/C/man7/ddp.7:141
1145 msgid "The timer rate (in seconds) for the timer driving AARP."
1146 msgstr ""
1147
1148 #. type: Plain text
1149 #: build/C/man7/ddp.7:144
1150 msgid ""
1151 "The default values match the specification and should never need to be "
1152 "changed."
1153 msgstr ""
1154
1155 #.  FIXME Add a section about multicasting
1156 #. type: Plain text
1157 #: build/C/man7/ddp.7:149
1158 msgid "All ioctls described in B<socket>(7)  apply to DDP."
1159 msgstr ""
1160
1161 #. type: SH
1162 #: build/C/man7/ddp.7:149 build/C/man3/gethostbyname.3:278 build/C/man3/getnetent_r.3:129 build/C/man2/getpeername.2:73 build/C/man3/getprotoent_r.3:119 build/C/man3/getservent_r.3:118 build/C/man3/inet_ntop.3:91 build/C/man7/ip.7:1050 build/C/man7/ipv6.7:350 build/C/man7/packet.7:246 build/C/man7/raw.7:144 build/C/man2/shutdown.2:74 build/C/man7/tcp.7:1127 build/C/man7/udp.7:235 build/C/man7/udplite.7:121 build/C/man7/unix.7:320
1163 #, no-wrap
1164 msgid "ERRORS"
1165 msgstr ""
1166
1167 #. type: TP
1168 #: build/C/man7/ddp.7:153 build/C/man7/ip.7:1054 build/C/man7/raw.7:145
1169 #, no-wrap
1170 msgid "B<EACCES>"
1171 msgstr ""
1172
1173 #. type: Plain text
1174 #: build/C/man7/ddp.7:160
1175 msgid ""
1176 "The user tried to execute an operation without the necessary permissions.  "
1177 "These include sending to a broadcast address without having the broadcast "
1178 "flag set, and trying to bind to a reserved port without effective user ID 0 "
1179 "or B<CAP_NET_BIND_SERVICE>."
1180 msgstr ""
1181
1182 #. type: TP
1183 #: build/C/man7/ddp.7:160 build/C/man7/ip.7:1070 build/C/man7/unix.7:321
1184 #, no-wrap
1185 msgid "B<EADDRINUSE>"
1186 msgstr ""
1187
1188 #. type: Plain text
1189 #: build/C/man7/ddp.7:163 build/C/man7/ip.7:1073
1190 msgid "Tried to bind to an address already in use."
1191 msgstr ""
1192
1193 #. type: TP
1194 #: build/C/man7/ddp.7:163 build/C/man7/ip.7:1073 build/C/man7/packet.7:247
1195 #, no-wrap
1196 msgid "B<EADDRNOTAVAIL>"
1197 msgstr ""
1198
1199 #. type: Plain text
1200 #: build/C/man7/ddp.7:167 build/C/man7/ip.7:1077
1201 msgid ""
1202 "A nonexistent interface was requested or the requested source address was "
1203 "not local."
1204 msgstr ""
1205
1206 #. type: TP
1207 #: build/C/man7/ddp.7:167 build/C/man7/ip.7:1077
1208 #, no-wrap
1209 msgid "B<EAGAIN>"
1210 msgstr ""
1211
1212 #. type: Plain text
1213 #: build/C/man7/ddp.7:170 build/C/man7/ip.7:1080
1214 msgid "Operation on a nonblocking socket would block."
1215 msgstr ""
1216
1217 #. type: TP
1218 #: build/C/man7/ddp.7:170 build/C/man7/ip.7:1080
1219 #, no-wrap
1220 msgid "B<EALREADY>"
1221 msgstr ""
1222
1223 #. type: Plain text
1224 #: build/C/man7/ddp.7:173
1225 msgid "A connection operation on a nonblocking socket is already in progress."
1226 msgstr ""
1227
1228 #. type: TP
1229 #: build/C/man7/ddp.7:173 build/C/man7/ip.7:1083
1230 #, no-wrap
1231 msgid "B<ECONNABORTED>"
1232 msgstr ""
1233
1234 #. type: Plain text
1235 #: build/C/man7/ddp.7:177 build/C/man7/ip.7:1087
1236 msgid "A connection was closed during an B<accept>(2)."
1237 msgstr ""
1238
1239 #. type: TP
1240 #: build/C/man7/ddp.7:177 build/C/man7/ip.7:1087
1241 #, no-wrap
1242 msgid "B<EHOSTUNREACH>"
1243 msgstr ""
1244
1245 #. type: Plain text
1246 #: build/C/man7/ddp.7:180
1247 msgid "No routing table entry matches the destination address."
1248 msgstr ""
1249
1250 #. type: TP
1251 #: build/C/man7/ddp.7:180 build/C/man2/getpeername.2:85 build/C/man7/ip.7:1092 build/C/man7/packet.7:253 build/C/man7/raw.7:152 build/C/man2/shutdown.2:79 build/C/man7/unix.7:337
1252 #, no-wrap
1253 msgid "B<EINVAL>"
1254 msgstr ""
1255
1256 #. type: Plain text
1257 #: build/C/man7/ddp.7:183
1258 msgid "Invalid argument passed."
1259 msgstr ""
1260
1261 #. type: TP
1262 #: build/C/man7/ddp.7:183 build/C/man7/ip.7:1098 build/C/man7/unix.7:346
1263 #, no-wrap
1264 msgid "B<EISCONN>"
1265 msgstr ""
1266
1267 #. type: Plain text
1268 #: build/C/man7/ddp.7:187 build/C/man7/ip.7:1102
1269 msgid "B<connect>(2)  was called on an already connected socket."
1270 msgstr ""
1271
1272 #. type: TP
1273 #: build/C/man7/ddp.7:187 build/C/man7/ip.7:1102 build/C/man7/packet.7:256 build/C/man7/raw.7:155
1274 #, no-wrap
1275 msgid "B<EMSGSIZE>"
1276 msgstr ""
1277
1278 #. type: Plain text
1279 #: build/C/man7/ddp.7:190
1280 msgid "Datagram is bigger than the DDP MTU."
1281 msgstr ""
1282
1283 #. type: TP
1284 #: build/C/man7/ddp.7:190 build/C/man7/ipv6.7:352 build/C/man7/packet.7:265
1285 #, no-wrap
1286 msgid "B<ENODEV>"
1287 msgstr ""
1288
1289 #. type: Plain text
1290 #: build/C/man7/ddp.7:193
1291 msgid "Network device not available or not capable of sending IP."
1292 msgstr ""
1293
1294 #. type: TP
1295 #: build/C/man7/ddp.7:193 build/C/man3/getnetent_r.3:130 build/C/man3/getprotoent_r.3:120 build/C/man3/getservent_r.3:119 build/C/man7/ip.7:1110 build/C/man7/packet.7:268 build/C/man7/unix.7:351
1296 #, no-wrap
1297 msgid "B<ENOENT>"
1298 msgstr ""
1299
1300 #. type: Plain text
1301 #: build/C/man7/ddp.7:197 build/C/man7/ip.7:1114
1302 msgid "B<SIOCGSTAMP> was called on a socket where no packet arrived."
1303 msgstr ""
1304
1305 #. type: TP
1306 #: build/C/man7/ddp.7:197
1307 #, no-wrap
1308 msgid "B<ENOMEM> and B<ENOBUFS>"
1309 msgstr ""
1310
1311 #. type: Plain text
1312 #: build/C/man7/ddp.7:200
1313 msgid "Not enough memory available."
1314 msgstr ""
1315
1316 #. type: TP
1317 #: build/C/man7/ddp.7:200 build/C/man7/ip.7:1114
1318 #, no-wrap
1319 msgid "B<ENOPKG>"
1320 msgstr ""
1321
1322 #. type: Plain text
1323 #: build/C/man7/ddp.7:203 build/C/man7/ip.7:1117
1324 msgid "A kernel subsystem was not configured."
1325 msgstr ""
1326
1327 #. type: TP
1328 #: build/C/man7/ddp.7:203 build/C/man7/ip.7:1117
1329 #, no-wrap
1330 msgid "B<ENOPROTOOPT> and B<EOPNOTSUPP>"
1331 msgstr ""
1332
1333 #. type: Plain text
1334 #: build/C/man7/ddp.7:206 build/C/man7/ip.7:1120
1335 msgid "Invalid socket option passed."
1336 msgstr ""
1337
1338 #. type: TP
1339 #: build/C/man7/ddp.7:206 build/C/man2/getpeername.2:93 build/C/man7/ip.7:1120 build/C/man7/packet.7:271 build/C/man2/shutdown.2:84 build/C/man7/unix.7:359
1340 #, no-wrap
1341 msgid "B<ENOTCONN>"
1342 msgstr ""
1343
1344 #. type: Plain text
1345 #: build/C/man7/ddp.7:210 build/C/man7/ip.7:1124
1346 msgid ""
1347 "The operation is only defined on a connected socket, but the socket wasn't "
1348 "connected."
1349 msgstr ""
1350
1351 #. type: TP
1352 #: build/C/man7/ddp.7:210 build/C/man7/ip.7:1124 build/C/man7/packet.7:277 build/C/man7/raw.7:166 build/C/man7/unix.7:366
1353 #, no-wrap
1354 msgid "B<EPERM>"
1355 msgstr ""
1356
1357 #. type: Plain text
1358 #: build/C/man7/ddp.7:215
1359 msgid ""
1360 "User doesn't have permission to set high priority, make a configuration "
1361 "change, or send signals to the requested process or group."
1362 msgstr ""
1363
1364 #. type: TP
1365 #: build/C/man7/ddp.7:215 build/C/man7/ip.7:1128 build/C/man7/tcp.7:1134 build/C/man7/unix.7:370
1366 #, no-wrap
1367 msgid "B<EPIPE>"
1368 msgstr ""
1369
1370 #. type: Plain text
1371 #: build/C/man7/ddp.7:218 build/C/man7/ip.7:1131
1372 msgid "The connection was unexpectedly closed or shut down by the other end."
1373 msgstr ""
1374
1375 #. type: TP
1376 #: build/C/man7/ddp.7:218 build/C/man7/ip.7:1131 build/C/man7/unix.7:392
1377 #, no-wrap
1378 msgid "B<ESOCKTNOSUPPORT>"
1379 msgstr ""
1380
1381 #. type: Plain text
1382 #: build/C/man7/ddp.7:221
1383 msgid "The socket was unconfigured, or an unknown socket type was requested."
1384 msgstr ""
1385
1386 #. type: Plain text
1387 #: build/C/man7/ddp.7:226
1388 msgid ""
1389 "Appletalk is supported by Linux 2.0 or higher.  The I</proc> interfaces "
1390 "exist since Linux 2.2."
1391 msgstr ""
1392
1393 #. type: Plain text
1394 #: build/C/man7/ddp.7:232
1395 msgid ""
1396 "Be very careful with the B<SO_BROADCAST> option - it is not privileged in "
1397 "Linux.  It is easy to overload the network with careless sending to "
1398 "broadcast addresses."
1399 msgstr ""
1400
1401 #. type: SS
1402 #: build/C/man7/ddp.7:232 build/C/man7/ip.7:1190 build/C/man7/packet.7:331
1403 #, no-wrap
1404 msgid "Compatibility"
1405 msgstr ""
1406
1407 #. type: Plain text
1408 #: build/C/man7/ddp.7:239
1409 msgid ""
1410 "The basic AppleTalk socket interface is compatible with B<netatalk> on "
1411 "BSD-derived systems.  Many BSD systems fail to check B<SO_BROADCAST> when "
1412 "sending broadcast frames; this can lead to compatibility problems."
1413 msgstr ""
1414
1415 #. type: Plain text
1416 #: build/C/man7/ddp.7:244
1417 msgid ""
1418 "The raw socket mode is unique to Linux and exists to support the alternative "
1419 "CAP package and AppleTalk monitoring tools more easily."
1420 msgstr ""
1421
1422 #. type: Plain text
1423 #: build/C/man7/ddp.7:246 build/C/man7/ip.7:1205
1424 msgid "There are too many inconsistent error values."
1425 msgstr ""
1426
1427 #. type: Plain text
1428 #: build/C/man7/ddp.7:249
1429 msgid ""
1430 "The ioctls used to configure routing tables, devices, AARP tables and other "
1431 "devices are not yet described."
1432 msgstr ""
1433
1434 #. type: Plain text
1435 #: build/C/man7/ddp.7:254
1436 msgid "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<socket>(7)"
1437 msgstr ""
1438
1439 #. type: TH
1440 #: build/C/man3/endian.3:28
1441 #, no-wrap
1442 msgid "ENDIAN"
1443 msgstr ""
1444
1445 #. type: TH
1446 #: build/C/man3/endian.3:28 build/C/man3/getnetent_r.3:26 build/C/man3/getprotoent_r.3:26 build/C/man3/getservent_r.3:26
1447 #, no-wrap
1448 msgid "2010-09-10"
1449 msgstr ""
1450
1451 #. type: Plain text
1452 #: build/C/man3/endian.3:33
1453 msgid ""
1454 "htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh, le32toh, "
1455 "htobe64, htole64, be64toh, le64toh - convert values between host and "
1456 "big-/little-endian byte order"
1457 msgstr ""
1458
1459 #. type: Plain text
1460 #: build/C/man3/endian.3:37
1461 #, no-wrap
1462 msgid ""
1463 "B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */\n"
1464 "B<#include E<lt>endian.hE<gt>>\n"
1465 msgstr ""
1466
1467 #. type: Plain text
1468 #: build/C/man3/endian.3:42
1469 #, no-wrap
1470 msgid ""
1471 "B<uint16_t htobe16(uint16_t >I<host_16bits>B<);>\n"
1472 "B<uint16_t htole16(uint16_t >I<host_16bits>B<);>\n"
1473 "B<uint16_t be16toh(uint16_t >I<big_endian_16bits>B<);>\n"
1474 "B<uint16_t le16toh(uint16_t >I<little_endian_16bits>B<);>\n"
1475 msgstr ""
1476
1477 #. type: Plain text
1478 #: build/C/man3/endian.3:47
1479 #, no-wrap
1480 msgid ""
1481 "B<uint32_t htobe32(uint32_t >I<host_32bits>B<);>\n"
1482 "B<uint32_t htole32(uint32_t >I<host_32bits>B<);>\n"
1483 "B<uint32_t be32toh(uint32_t >I<big_endian_32bits>B<);>\n"
1484 "B<uint32_t le32toh(uint32_t >I<little_endian_32bits>B<);>\n"
1485 msgstr ""
1486
1487 #. type: Plain text
1488 #: build/C/man3/endian.3:52
1489 #, no-wrap
1490 msgid ""
1491 "B<uint64_t htobe64(uint64_t >I<host_64bits>B<);>\n"
1492 "B<uint64_t htole64(uint64_t >I<host_64bits>B<);>\n"
1493 "B<uint64_t be64toh(uint64_t >I<big_endian_64bits>B<);>\n"
1494 "B<uint64_t le64toh(uint64_t >I<little_endian_64bits>B<);>\n"
1495 msgstr ""
1496
1497 #. type: Plain text
1498 #: build/C/man3/endian.3:57
1499 msgid ""
1500 "These functions convert the byte encoding of integer values from the byte "
1501 "order that the current CPU (the \"host\") uses, to and from little-endian "
1502 "and big-endian byte order."
1503 msgstr ""
1504
1505 #. type: Plain text
1506 #: build/C/man3/endian.3:62
1507 msgid ""
1508 "The number, I<nn>, in the name of each function indicates the size of "
1509 "integer handled by the function, either 16, 32, or 64 bits."
1510 msgstr ""
1511
1512 #. type: Plain text
1513 #: build/C/man3/endian.3:65
1514 msgid ""
1515 "The functions with names of the form \"htobeI<nn>\" convert from host byte "
1516 "order to big-endian order."
1517 msgstr ""
1518
1519 #. type: Plain text
1520 #: build/C/man3/endian.3:68
1521 msgid ""
1522 "The functions with names of the form \"htoleI<nn>\" convert from host byte "
1523 "order to little-endian order."
1524 msgstr ""
1525
1526 #. type: Plain text
1527 #: build/C/man3/endian.3:71
1528 msgid ""
1529 "The functions with names of the form \"beI<nn>toh\" convert from big-endian "
1530 "order to host byte order."
1531 msgstr ""
1532
1533 #. type: Plain text
1534 #: build/C/man3/endian.3:74
1535 msgid ""
1536 "The functions with names of the form \"leI<nn>toh\" convert from "
1537 "little-endian order to host byte order."
1538 msgstr ""
1539
1540 #. type: Plain text
1541 #: build/C/man3/endian.3:76
1542 msgid "These functions were added to glibc in version 2.9."
1543 msgstr ""
1544
1545 #. type: Plain text
1546 #: build/C/man3/endian.3:91
1547 msgid ""
1548 "These functions are nonstandard.  Similar functions are present on the BSDs, "
1549 "where the required header file is I<E<lt>sys/endian.hE<gt>> instead of "
1550 "I<E<lt>endian.hE<gt>>.  Unfortunately, NetBSD, FreeBSD, and glibc haven't "
1551 "followed the original OpenBSD naming convention for these functions, whereby "
1552 "the I<nn> component always appears at the end of the function name (thus, "
1553 "for example, in NetBSD, FreeBSD, and glibc, the equivalent of OpenBSDs "
1554 "\"betoh32\" is \"be32toh\")."
1555 msgstr ""
1556
1557 #. type: Plain text
1558 #: build/C/man3/endian.3:99
1559 msgid ""
1560 "These functions are similar to the older B<byteorder>(3)  family of "
1561 "functions.  For example, B<be32toh>()  is identical to B<ntohl>()B<.>"
1562 msgstr ""
1563
1564 #. type: Plain text
1565 #: build/C/man3/endian.3:107
1566 msgid ""
1567 "The advantage of the B<byteorder>(3)  functions is that they are standard "
1568 "functions available on all UNIX systems.  On the other hand, the fact that "
1569 "they were designed for use in the context of TCP/IP means that they lack the "
1570 "64-bit and little-endian variants described in this page."
1571 msgstr ""
1572
1573 #. type: Plain text
1574 #: build/C/man3/endian.3:114
1575 msgid ""
1576 "The program below display the results of converting an integer from host "
1577 "byte order to both little-endian and big-endian byte order.  Since host byte "
1578 "order is either little-endian or big-endian, only one of these conversions "
1579 "will have an effect.  When we run this program on a little-endian system "
1580 "such as x86-32, we see the following:"
1581 msgstr ""
1582
1583 #. type: Plain text
1584 #: build/C/man3/endian.3:121
1585 #, no-wrap
1586 msgid ""
1587 "$ B<./a.out>\n"
1588 "x.u32 = 0x44332211\n"
1589 "htole32(x.u32) = 0x44332211\n"
1590 "htobe32(x.u32) = 0x11223344\n"
1591 msgstr ""
1592
1593 #. type: SS
1594 #: build/C/man3/endian.3:123 build/C/man3/getprotoent_r.3:162 build/C/man3/getservent_r.3:160 build/C/man3/inet.3:270 build/C/man3/inet_pton.3:173
1595 #, no-wrap
1596 msgid "Program source"
1597 msgstr ""
1598
1599 #. type: Plain text
1600 #: build/C/man3/endian.3:130
1601 #, no-wrap
1602 msgid ""
1603 "#include E<lt>endian.hE<gt>\n"
1604 "#include E<lt>stdint.hE<gt>\n"
1605 "#include E<lt>stdio.hE<gt>\n"
1606 "#include E<lt>stdlib.hE<gt>\n"
1607 msgstr ""
1608
1609 #. type: Plain text
1610 #: build/C/man3/endian.3:138
1611 #, no-wrap
1612 msgid ""
1613 "int\n"
1614 "main(int argc, char *argv[])\n"
1615 "{\n"
1616 "    union {\n"
1617 "\tuint32_t u32;\n"
1618 "\tuint8_t arr[4];\n"
1619 "    } x;\n"
1620 msgstr ""
1621
1622 #. type: Plain text
1623 #: build/C/man3/endian.3:143
1624 #, no-wrap
1625 msgid ""
1626 "    x.arr[0] = 0x11;\t/* Lowest-address byte */\n"
1627 "    x.arr[1] = 0x22;\n"
1628 "    x.arr[2] = 0x33;\n"
1629 "    x.arr[3] = 0x44;\t/* Highest-address byte */\n"
1630 msgstr ""
1631
1632 #. type: Plain text
1633 #: build/C/man3/endian.3:147
1634 #, no-wrap
1635 msgid ""
1636 "    printf(\"x.u32 = 0x%x\\en\", x.u32);\n"
1637 "    printf(\"htole32(x.u32) = 0x%x\\en\", htole32(x.u32));\n"
1638 "    printf(\"htobe32(x.u32) = 0x%x\\en\", htobe32(x.u32));\n"
1639 msgstr ""
1640
1641 #. type: Plain text
1642 #: build/C/man3/endian.3:150 build/C/man3/getaddrinfo.3:816 build/C/man3/getprotoent_r.3:236 build/C/man3/getservent_r.3:240 build/C/man3/inet_pton.3:214
1643 #, no-wrap
1644 msgid ""
1645 "    exit(EXIT_SUCCESS);\n"
1646 "}\n"
1647 msgstr ""
1648
1649 #. type: Plain text
1650 #: build/C/man3/endian.3:153
1651 msgid "B<byteorder>(3)"
1652 msgstr ""
1653
1654 #. type: TH
1655 #: build/C/man3/ether_aton.3:31
1656 #, no-wrap
1657 msgid "ETHER_ATON"
1658 msgstr ""
1659
1660 #. type: TH
1661 #: build/C/man3/ether_aton.3:31
1662 #, no-wrap
1663 msgid "2002-07-20"
1664 msgstr ""
1665
1666 #. type: Plain text
1667 #: build/C/man3/ether_aton.3:35
1668 msgid ""
1669 "ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, "
1670 "ether_ntoa_r, ether_aton_r - Ethernet address manipulation routines"
1671 msgstr ""
1672
1673 #. type: Plain text
1674 #: build/C/man3/ether_aton.3:38
1675 #, no-wrap
1676 msgid "B<#include E<lt>netinet/ether.hE<gt>>\n"
1677 msgstr ""
1678
1679 #. type: Plain text
1680 #: build/C/man3/ether_aton.3:40
1681 #, no-wrap
1682 msgid "B<char *ether_ntoa(const struct ether_addr *>I<addr>B<);>\n"
1683 msgstr ""
1684
1685 #. type: Plain text
1686 #: build/C/man3/ether_aton.3:42
1687 #, no-wrap
1688 msgid "B<struct ether_addr *ether_aton(const char *>I<asc>B<);>\n"
1689 msgstr ""
1690
1691 #. type: Plain text
1692 #: build/C/man3/ether_aton.3:44
1693 #, no-wrap
1694 msgid ""
1695 "B<int ether_ntohost(char *>I<hostname>B<, const struct ether_addr "
1696 "*>I<addr>B<);>\n"
1697 msgstr ""
1698
1699 #. type: Plain text
1700 #: build/C/man3/ether_aton.3:46
1701 #, no-wrap
1702 msgid ""
1703 "B<int ether_hostton(const char *>I<hostname>B<, struct ether_addr "
1704 "*>I<addr>B<);>\n"
1705 msgstr ""
1706
1707 #. type: Plain text
1708 #: build/C/man3/ether_aton.3:49
1709 #, no-wrap
1710 msgid ""
1711 "B<int ether_line(const char *>I<line>B<, struct ether_addr *>I<addr>B<,>\n"
1712 "B<               char *>I<hostname>B<);>\n"
1713 msgstr ""
1714
1715 #. type: Plain text
1716 #: build/C/man3/ether_aton.3:51 build/C/man3/gethostbyname.3:70
1717 #, no-wrap
1718 msgid "/* GNU extensions */\n"
1719 msgstr ""
1720
1721 #. type: Plain text
1722 #: build/C/man3/ether_aton.3:53
1723 #, no-wrap
1724 msgid ""
1725 "B<char *ether_ntoa_r(const struct ether_addr *>I<addr>B<, char "
1726 "*>I<buf>B<);>\n"
1727 msgstr ""
1728
1729 #. type: Plain text
1730 #: build/C/man3/ether_aton.3:56
1731 #, no-wrap
1732 msgid ""
1733 "B<struct ether_addr *ether_aton_r(const char *>I<asc>B<,>\n"
1734 "B<                                struct ether_addr *>I<addr>B<);>\n"
1735 msgstr ""
1736
1737 #. type: Plain text
1738 #: build/C/man3/ether_aton.3:66
1739 msgid ""
1740 "B<ether_aton>()  converts the 48-bit Ethernet host address I<asc> from the "
1741 "standard hex-digits-and-colons notation into binary data in network byte "
1742 "order and returns a pointer to it in a statically allocated buffer, which "
1743 "subsequent calls will overwrite.  B<ether_aton>()  returns NULL if the "
1744 "address is invalid."
1745 msgstr ""
1746
1747 #. type: Plain text
1748 #: build/C/man3/ether_aton.3:74
1749 msgid ""
1750 "The B<ether_ntoa>()  function converts the Ethernet host address I<addr> "
1751 "given in network byte order to a string in standard hex-digits-and-colons "
1752 "notation, omitting leading zeros.  The string is returned in a statically "
1753 "allocated buffer, which subsequent calls will overwrite."
1754 msgstr ""
1755
1756 #. type: Plain text
1757 #: build/C/man3/ether_aton.3:81
1758 msgid ""
1759 "The B<ether_ntohost>()  function maps an Ethernet address to the "
1760 "corresponding hostname in I</etc/ethers> and returns nonzero if it cannot be "
1761 "found."
1762 msgstr ""
1763
1764 #. type: Plain text
1765 #: build/C/man3/ether_aton.3:88
1766 msgid ""
1767 "The B<ether_hostton>()  function maps a hostname to the corresponding "
1768 "Ethernet address in I</etc/ethers> and returns nonzero if it cannot be "
1769 "found."
1770 msgstr ""
1771
1772 #. type: Plain text
1773 #: build/C/man3/ether_aton.3:100
1774 msgid ""
1775 "The B<ether_line>()  function parses a line in I</etc/ethers> format "
1776 "(ethernet address followed by whitespace followed by hostname; \\(aq#\\(aq "
1777 "introduces a comment) and returns an address and hostname pair, or nonzero "
1778 "if it cannot be parsed.  The buffer pointed to by I<hostname> must be "
1779 "sufficiently long, for example, have the same length as I<line>."
1780 msgstr ""
1781
1782 #. type: Plain text
1783 #: build/C/man3/ether_aton.3:111
1784 msgid ""
1785 "The functions B<ether_ntoa_r>()  and B<ether_aton_r>()  are reentrant "
1786 "thread-safe versions of B<ether_ntoa>()  and B<ether_aton>()  respectively, "
1787 "and do not use static buffers."
1788 msgstr ""
1789
1790 #. type: Plain text
1791 #: build/C/man3/ether_aton.3:115
1792 msgid "The structure I<ether_addr> is defined in I<E<lt>net/ethernet.hE<gt>> as:"
1793 msgstr ""
1794
1795 #. type: Plain text
1796 #: build/C/man3/ether_aton.3:121
1797 #, no-wrap
1798 msgid ""
1799 "struct ether_addr {\n"
1800 "    uint8_t ether_addr_octet[6];\n"
1801 "}\n"
1802 msgstr ""
1803
1804 #. type: Plain text
1805 #: build/C/man3/ether_aton.3:125
1806 msgid "4.3BSD, SunOS."
1807 msgstr ""
1808
1809 #. type: Plain text
1810 #: build/C/man3/ether_aton.3:129
1811 msgid "The glibc 2.2.5 implementation of B<ether_line>()  is broken."
1812 msgstr ""
1813
1814 #. type: Plain text
1815 #: build/C/man3/ether_aton.3:131
1816 msgid "B<ethers>(5)"
1817 msgstr ""
1818
1819 #. type: TH
1820 #: build/C/man5/gai.conf.5:19
1821 #, no-wrap
1822 msgid "GAI.CONF"
1823 msgstr ""
1824
1825 #. type: TH
1826 #: build/C/man5/gai.conf.5:19 build/C/man5/nss.5:19
1827 #, no-wrap
1828 msgid "2013-02-13"
1829 msgstr ""
1830
1831 #. type: Plain text
1832 #: build/C/man5/gai.conf.5:22
1833 msgid "gai.conf - getaddrinfo(3) configuration file"
1834 msgstr ""
1835
1836 #. type: Plain text
1837 #: build/C/man5/gai.conf.5:36
1838 msgid ""
1839 "A call to B<getaddrinfo>(3)  might return multiple answers.  According to "
1840 "RFC\\ 3484 these answers must be sorted so that the answer with the highest "
1841 "success rate is first in the list.  The RFC provides an algorithm for the "
1842 "sorting.  The static rules are not always adequate, though.  For this "
1843 "reason, the RFC also requires that system administrators should have the "
1844 "possibility to dynamically change the sorting.  For the glibc "
1845 "implementation, this can be achieved with the I</etc/gai.conf> file."
1846 msgstr ""
1847
1848 #. type: Plain text
1849 #: build/C/man5/gai.conf.5:40
1850 msgid ""
1851 "Each line in the configuration file consists of a keyword and its "
1852 "parameters.  White spaces in any place are ignored.  Lines starting with "
1853 "\\(aq#\\(aq are comments and are ignored."
1854 msgstr ""
1855
1856 #. type: Plain text
1857 #: build/C/man5/gai.conf.5:42
1858 msgid "The keywords currently recognized are:"
1859 msgstr ""
1860
1861 #. type: TP
1862 #: build/C/man5/gai.conf.5:42
1863 #, no-wrap
1864 msgid "B<label> I<netmask> I<precedence>"
1865 msgstr ""
1866
1867 #. type: Plain text
1868 #: build/C/man5/gai.conf.5:51
1869 msgid ""
1870 "The value is added to the label table used in the RFC\\ 3484 sorting.  If "
1871 "any B<label> definition is present in the configuration file is present, the "
1872 "default table is not used.  All the label definitions of the default table "
1873 "which are to be maintained have to be duplicated.  Following the keyword, "
1874 "the line has to contain a network mask and a label value."
1875 msgstr ""
1876
1877 #. type: TP
1878 #: build/C/man5/gai.conf.5:51
1879 #, no-wrap
1880 msgid "B<precedence> I<netmask> I<precedence>"
1881 msgstr ""
1882
1883 #. type: Plain text
1884 #: build/C/man5/gai.conf.5:58
1885 msgid ""
1886 "This keyword is similar to B<label>, but instead the value is added to the "
1887 "precedence table as specified in RFC\\ 3484.  Once again, the presence of a "
1888 "single B<precedence> line in the configuration file causes the default table "
1889 "to not be used."
1890 msgstr ""
1891
1892 #. type: TP
1893 #: build/C/man5/gai.conf.5:58
1894 #, no-wrap
1895 msgid "B<reload> E<lt>B<yes>|B<no>E<gt>"
1896 msgstr ""
1897
1898 #. type: Plain text
1899 #: build/C/man5/gai.conf.5:67
1900 msgid ""
1901 "This keyword controls whether a process checks whether the configuration "
1902 "file has been changed since the last time it was read.  If the value is "
1903 "\"B<yes>\" the file is re-read.  This might cause problems in multithreaded "
1904 "applications and is generally a bad idea.  The default is \"B<no>\"."
1905 msgstr ""
1906
1907 #. type: TP
1908 #: build/C/man5/gai.conf.5:67
1909 #, no-wrap
1910 msgid "B<scopev4> I<mask> I<value>"
1911 msgstr ""
1912
1913 #. type: Plain text
1914 #: build/C/man5/gai.conf.5:72
1915 msgid ""
1916 "Add another rule to the RFC\\ 3484 scope table for IPv4 address.  By "
1917 "default, the scope IDs described in section 3.2 in RFC\\ 3438 are used.  "
1918 "Changing these defaults should hardly ever be necessary."
1919 msgstr ""
1920
1921 #. type: SH
1922 #: build/C/man5/gai.conf.5:72 build/C/man3/getaddrinfo.3:582 build/C/man3/gethostbyname.3:293 build/C/man3/getnameinfo.3:197 build/C/man3/getnetent.3:122 build/C/man3/getprotoent.3:116 build/C/man3/getservent.3:127 build/C/man5/host.conf.5:180 build/C/man5/hosts.5:86 build/C/man5/hosts.equiv.5:50 build/C/man5/networks.5:70 build/C/man5/nss.5:98 build/C/man5/nsswitch.conf.5:298 build/C/man5/protocols.5:77 build/C/man5/resolv.conf.5:283 build/C/man3/resolver.3:267 build/C/man5/services.5:184 build/C/man3/setnetgrent.3:88 build/C/man7/udplite.7:126
1923 #, no-wrap
1924 msgid "FILES"
1925 msgstr ""
1926
1927 #. type: Plain text
1928 #: build/C/man5/gai.conf.5:74 build/C/man3/getaddrinfo.3:584
1929 msgid "I</etc/gai.conf>"
1930 msgstr ""
1931
1932 #. type: Plain text
1933 #: build/C/man5/gai.conf.5:77
1934 msgid ""
1935 "The default table according to RFC\\ 3484 would be specified with the "
1936 "following configuration file:"
1937 msgstr ""
1938
1939 #. type: Plain text
1940 #: build/C/man5/gai.conf.5:89
1941 #, no-wrap
1942 msgid ""
1943 "label  ::1/128       0\n"
1944 "label  ::/0          1\n"
1945 "label  2002::/16     2\n"
1946 "label ::/96          3\n"
1947 "label ::ffff:0:0/96  4\n"
1948 "precedence  ::1/128       50\n"
1949 "precedence  ::/0          40\n"
1950 "precedence  2002::/16     30\n"
1951 "precedence ::/96          20\n"
1952 "precedence ::ffff:0:0/96  10\n"
1953 msgstr ""
1954
1955 #. type: Plain text
1956 #: build/C/man5/gai.conf.5:96
1957 msgid "B<getaddrinfo(3),> RFC\\ 3484"
1958 msgstr ""
1959
1960 #. type: TH
1961 #: build/C/man3/getaddrinfo.3:43
1962 #, no-wrap
1963 msgid "GETADDRINFO"
1964 msgstr ""
1965
1966 #. type: TH
1967 #: build/C/man3/getaddrinfo.3:43 build/C/man3/getnameinfo.3:10
1968 #, no-wrap
1969 msgid "2013-01-15"
1970 msgstr ""
1971
1972 #. type: Plain text
1973 #: build/C/man3/getaddrinfo.3:47
1974 msgid ""
1975 "getaddrinfo, freeaddrinfo, gai_strerror - network address and service "
1976 "translation"
1977 msgstr ""
1978
1979 #. type: Plain text
1980 #: build/C/man3/getaddrinfo.3:52 build/C/man3/getipnodebyname.3:35
1981 #, no-wrap
1982 msgid ""
1983 "B<#include E<lt>sys/types.hE<gt>>\n"
1984 "B<#include E<lt>sys/socket.hE<gt>>\n"
1985 "B<#include E<lt>netdb.hE<gt>>\n"
1986 msgstr ""
1987
1988 #. type: Plain text
1989 #: build/C/man3/getaddrinfo.3:56
1990 #, no-wrap
1991 msgid ""
1992 "B<int getaddrinfo(const char *>I<node>B<, const char *>I<service>B<,>\n"
1993 "B<                const struct addrinfo *>I<hints>B<,>\n"
1994 "B<                struct addrinfo **>I<res>B<);>\n"
1995 msgstr ""
1996
1997 #. type: Plain text
1998 #: build/C/man3/getaddrinfo.3:58
1999 #, no-wrap
2000 msgid "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n"
2001 msgstr ""
2002
2003 #. type: Plain text
2004 #: build/C/man3/getaddrinfo.3:60
2005 #, no-wrap
2006 msgid "B<const char *gai_strerror(int >I<errcode>B<);>\n"
2007 msgstr ""
2008
2009 #. type: Plain text
2010 #: build/C/man3/getaddrinfo.3:65 build/C/man3/gethostbyname.3:93 build/C/man3/getnameinfo.3:26 build/C/man3/getnetent_r.3:52 build/C/man3/getprotoent_r.3:49 build/C/man3/getservent_r.3:49 build/C/man3/inet.3:70 build/C/man3/rcmd.3:81 build/C/man3/setnetgrent.3:34
2011 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
2012 msgstr ""
2013
2014 #. type: Plain text
2015 #: build/C/man3/getaddrinfo.3:71
2016 msgid "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():"
2017 msgstr ""
2018
2019 #. type: Plain text
2020 #: build/C/man3/getaddrinfo.3:73
2021 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
2022 msgstr ""
2023
2024 #.  .BR getipnodebyname (3),
2025 #.  .BR getipnodebyaddr (3),
2026 #. type: Plain text
2027 #: build/C/man3/getaddrinfo.3:100
2028 msgid ""
2029 "Given I<node> and I<service>, which identify an Internet host and a service, "
2030 "B<getaddrinfo>()  returns one or more I<addrinfo> structures, each of which "
2031 "contains an Internet address that can be specified in a call to B<bind>(2)  "
2032 "or B<connect>(2).  The B<getaddrinfo>()  function combines the functionality "
2033 "provided by the B<gethostbyname>(3)  and B<getservbyname>(3)  functions into "
2034 "a single interface, but unlike the latter functions, B<getaddrinfo>()  is "
2035 "reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies."
2036 msgstr ""
2037
2038 #. type: Plain text
2039 #: build/C/man3/getaddrinfo.3:106
2040 msgid ""
2041 "The I<addrinfo> structure used by B<getaddrinfo>()  contains the following "
2042 "fields:"
2043 msgstr ""
2044
2045 #. type: Plain text
2046 #: build/C/man3/getaddrinfo.3:119
2047 #, no-wrap
2048 msgid ""
2049 "struct addrinfo {\n"
2050 "    int              ai_flags;\n"
2051 "    int              ai_family;\n"
2052 "    int              ai_socktype;\n"
2053 "    int              ai_protocol;\n"
2054 "    socklen_t        ai_addrlen;\n"
2055 "    struct sockaddr *ai_addr;\n"
2056 "    char            *ai_canonname;\n"
2057 "    struct addrinfo *ai_next;\n"
2058 "};\n"
2059 msgstr ""
2060
2061 #. type: Plain text
2062 #: build/C/man3/getaddrinfo.3:141
2063 msgid ""
2064 "The I<hints> argument points to an I<addrinfo> structure that specifies "
2065 "criteria for selecting the socket address structures returned in the list "
2066 "pointed to by I<res>.  If I<hints> is not NULL it points to an I<addrinfo> "
2067 "structure whose I<ai_family>, I<ai_socktype>, and I<ai_protocol> specify "
2068 "criteria that limit the set of socket addresses returned by "
2069 "B<getaddrinfo>(), as follows:"
2070 msgstr ""
2071
2072 #. type: TP
2073 #: build/C/man3/getaddrinfo.3:141
2074 #, no-wrap
2075 msgid "I<ai_family>"
2076 msgstr ""
2077
2078 #. type: Plain text
2079 #: build/C/man3/getaddrinfo.3:157
2080 msgid ""
2081 "This field specifies the desired address family for the returned addresses.  "
2082 "Valid values for this field include B<AF_INET> and B<AF_INET6>.  The value "
2083 "B<AF_UNSPEC> indicates that B<getaddrinfo>()  should return socket addresses "
2084 "for any address family (either IPv4 or IPv6, for example) that can be used "
2085 "with I<node> and I<service>."
2086 msgstr ""
2087
2088 #. type: TP
2089 #: build/C/man3/getaddrinfo.3:157
2090 #, no-wrap
2091 msgid "I<ai_socktype>"
2092 msgstr ""
2093
2094 #. type: Plain text
2095 #: build/C/man3/getaddrinfo.3:166
2096 msgid ""
2097 "This field specifies the preferred socket type, for example B<SOCK_STREAM> "
2098 "or B<SOCK_DGRAM>.  Specifying 0 in this field indicates that socket "
2099 "addresses of any type can be returned by B<getaddrinfo>()."
2100 msgstr ""
2101
2102 #. type: TP
2103 #: build/C/man3/getaddrinfo.3:166
2104 #, no-wrap
2105 msgid "I<ai_protocol>"
2106 msgstr ""
2107
2108 #. type: Plain text
2109 #: build/C/man3/getaddrinfo.3:172
2110 msgid ""
2111 "This field specifies the protocol for the returned socket addresses.  "
2112 "Specifying 0 in this field indicates that socket addresses with any protocol "
2113 "can be returned by B<getaddrinfo>()."
2114 msgstr ""
2115
2116 #. type: TP
2117 #: build/C/man3/getaddrinfo.3:172
2118 #, no-wrap
2119 msgid "I<ai_flags>"
2120 msgstr ""
2121
2122 #. type: Plain text
2123 #: build/C/man3/getaddrinfo.3:176
2124 msgid ""
2125 "This field specifies additional options, described below.  Multiple flags "
2126 "are specified by bitwise OR-ing them together."
2127 msgstr ""
2128
2129 #. type: Plain text
2130 #: build/C/man3/getaddrinfo.3:194
2131 msgid ""
2132 "All the other fields in the structure pointed to by I<hints> must contain "
2133 "either 0 or a NULL pointer, as appropriate.  Specifying I<hints> as NULL is "
2134 "equivalent to setting I<ai_socktype> and I<ai_protocol> to 0; I<ai_family> "
2135 "to B<AF_UNSPEC>; and I<ai_flags> to B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>."
2136 msgstr ""
2137
2138 #. type: Plain text
2139 #: build/C/man3/getaddrinfo.3:212
2140 msgid ""
2141 "I<node> specifies either a numerical network address (for IPv4, "
2142 "numbers-and-dots notation as supported by B<inet_aton>(3); for IPv6, "
2143 "hexadecimal string format as supported by B<inet_pton>(3)), or a network "
2144 "hostname, whose network addresses are looked up and resolved.  If "
2145 "I<hints.ai_flags> contains the B<AI_NUMERICHOST> flag then I<node> must be a "
2146 "numerical network address.  The B<AI_NUMERICHOST> flag suppresses any "
2147 "potentially lengthy network host address lookups."
2148 msgstr ""
2149
2150 #. type: Plain text
2151 #: build/C/man3/getaddrinfo.3:237
2152 msgid ""
2153 "If the B<AI_PASSIVE> flag is specified in I<hints.ai_flags>, and I<node> is "
2154 "NULL, then the returned socket addresses will be suitable for B<bind>(2)ing "
2155 "a socket that will B<accept>(2)  connections.  The returned socket address "
2156 "will contain the \"wildcard address\" (B<INADDR_ANY> for IPv4 addresses, "
2157 "B<IN6ADDR_ANY_INIT> for IPv6 address).  The wildcard address is used by "
2158 "applications (typically servers)  that intend to accept connections on any "
2159 "of the hosts's network addresses.  If I<node> is not NULL, then the "
2160 "B<AI_PASSIVE> flag is ignored."
2161 msgstr ""
2162
2163 #. type: Plain text
2164 #: build/C/man3/getaddrinfo.3:257
2165 msgid ""
2166 "If the B<AI_PASSIVE> flag is not set in I<hints.ai_flags>, then the returned "
2167 "socket addresses will be suitable for use with B<connect>(2), B<sendto>(2), "
2168 "or B<sendmsg>(2).  If I<node> is NULL, then the network address will be set "
2169 "to the loopback interface address (B<INADDR_LOOPBACK> for IPv4 addresses, "
2170 "B<IN6ADDR_LOOPBACK_INIT> for IPv6 address); this is used by applications "
2171 "that intend to communicate with peers running on the same host."
2172 msgstr ""
2173
2174 #. type: Plain text
2175 #: build/C/man3/getaddrinfo.3:280
2176 msgid ""
2177 "I<service> sets the port in each returned address structure.  If this "
2178 "argument is a service name (see B<services>(5)), it is translated to the "
2179 "corresponding port number.  This argument can also be specified as a decimal "
2180 "number, which is simply converted to binary.  If I<service> is NULL, then "
2181 "the port number of the returned socket addresses will be left "
2182 "uninitialized.  If B<AI_NUMERICSERV> is specified in I<hints.ai_flags> and "
2183 "I<service> is not NULL, then I<service> must point to a string containing a "
2184 "numeric port number.  This flag is used to inhibit the invocation of a name "
2185 "resolution service in cases where it is known not to be required."
2186 msgstr ""
2187
2188 #. type: Plain text
2189 #: build/C/man3/getaddrinfo.3:286
2190 msgid "Either I<node> or I<service>, but not both, may be NULL."
2191 msgstr ""
2192
2193 #. type: Plain text
2194 #: build/C/man3/getaddrinfo.3:302
2195 msgid ""
2196 "The B<getaddrinfo>()  function allocates and initializes a linked list of "
2197 "I<addrinfo> structures, one for each network address that matches I<node> "
2198 "and I<service>, subject to any restrictions imposed by I<hints>, and returns "
2199 "a pointer to the start of the list in I<res>.  The items in the linked list "
2200 "are linked by the I<ai_next> field."
2201 msgstr ""
2202
2203 #. type: Plain text
2204 #: build/C/man3/getaddrinfo.3:324
2205 msgid ""
2206 "There are several reasons why the linked list may have more than one "
2207 "I<addrinfo> structure, including: the network host is multihomed, accessible "
2208 "over multiple protocols (e.g., both B<AF_INET> and B<AF_INET6>); or the same "
2209 "service is available from multiple socket types (one B<SOCK_STREAM> address "
2210 "and another B<SOCK_DGRAM> address, for example).  Normally, the application "
2211 "should try using the addresses in the order in which they are returned.  The "
2212 "sorting function used within B<getaddrinfo>()  is defined in RFC\\ 3484; the "
2213 "order can be tweaked for a particular system by editing I</etc/gai.conf> "
2214 "(available since glibc 2.5)."
2215 msgstr ""
2216
2217 #.  In glibc prior to 2.3.4, the ai_canonname of each addrinfo
2218 #.  structure was set pointing to the canonical name; that was
2219 #.  more than POSIX.1-2001 specified, or other implementations provided.
2220 #.  MTK, Aug 05
2221 #. type: Plain text
2222 #: build/C/man3/getaddrinfo.3:339
2223 msgid ""
2224 "If I<hints.ai_flags> includes the B<AI_CANONNAME> flag, then the "
2225 "I<ai_canonname> field of the first of the I<addrinfo> structures in the "
2226 "returned list is set to point to the official name of the host."
2227 msgstr ""
2228
2229 #. type: Plain text
2230 #: build/C/man3/getaddrinfo.3:343
2231 msgid ""
2232 "The remaining fields of each returned I<addrinfo> structure are initialized "
2233 "as follows:"
2234 msgstr ""
2235
2236 #. type: IP
2237 #: build/C/man3/getaddrinfo.3:343 build/C/man3/getaddrinfo.3:366 build/C/man3/getaddrinfo_a.3:191 build/C/man3/getaddrinfo_a.3:195 build/C/man3/getaddrinfo_a.3:197 build/C/man5/nsswitch.conf.5:144 build/C/man5/nsswitch.conf.5:148 build/C/man7/unix.7:74 build/C/man7/unix.7:89 build/C/man7/unix.7:109
2238 #, no-wrap
2239 msgid "*"
2240 msgstr ""
2241
2242 #. type: Plain text
2243 #: build/C/man3/getaddrinfo.3:366
2244 msgid ""
2245 "The I<ai_family>, I<ai_socktype>, and I<ai_protocol> fields return the "
2246 "socket creation parameters (i.e., these fields have the same meaning as the "
2247 "corresponding arguments of B<socket>(2)).  For example, I<ai_family> might "
2248 "return B<AF_INET> or B<AF_INET6>; I<ai_socktype> might return B<SOCK_DGRAM> "
2249 "or B<SOCK_STREAM>; and I<ai_protocol> returns the protocol for the socket."
2250 msgstr ""
2251
2252 #. type: Plain text
2253 #: build/C/man3/getaddrinfo.3:373
2254 msgid ""
2255 "A pointer to the socket address is placed in the I<ai_addr> field, and the "
2256 "length of the socket address, in bytes, is placed in the I<ai_addrlen> "
2257 "field."
2258 msgstr ""
2259
2260 #. type: Plain text
2261 #: build/C/man3/getaddrinfo.3:385
2262 msgid ""
2263 "If I<hints.ai_flags> includes the B<AI_ADDRCONFIG> flag, then IPv4 addresses "
2264 "are returned in the list pointed to by I<res> only if the local system has "
2265 "at least one IPv4 address configured, and IPv6 addresses are only returned "
2266 "if the local system has at least one IPv6 address configured.  The loopback "
2267 "address is not considered for this case as valid as a configured address."
2268 msgstr ""
2269
2270 #. type: Plain text
2271 #: build/C/man3/getaddrinfo.3:410
2272 msgid ""
2273 "If I<hint.ai_flags> specifies the B<AI_V4MAPPED> flag, and "
2274 "I<hints.ai_family> was specified as B<AF_INET6>, and no matching IPv6 "
2275 "addresses could be found, then return IPv4-mapped IPv6 addresses in the list "
2276 "pointed to by I<res>.  If both B<AI_V4MAPPED> and B<AI_ALL> are specified in "
2277 "I<hints.ai_flags>, then return both IPv6 and IPv4-mapped IPv6 addresses in "
2278 "the list pointed to by I<res>.  B<AI_ALL> is ignored if B<AI_V4MAPPED> is "
2279 "not also specified."
2280 msgstr ""
2281
2282 #. type: Plain text
2283 #: build/C/man3/getaddrinfo.3:416
2284 msgid ""
2285 "The B<freeaddrinfo>()  function frees the memory that was allocated for the "
2286 "dynamically allocated linked list I<res>."
2287 msgstr ""
2288
2289 #. type: SS
2290 #: build/C/man3/getaddrinfo.3:416
2291 #, no-wrap
2292 msgid "Extensions to getaddrinfo() for Internationalized Domain Names"
2293 msgstr ""
2294
2295 #. type: Plain text
2296 #: build/C/man3/getaddrinfo.3:425
2297 msgid ""
2298 "Starting with glibc 2.3.4, B<getaddrinfo>()  has been extended to "
2299 "selectively allow the incoming and outgoing hostnames to be transparently "
2300 "converted to and from the Internationalized Domain Name (IDN) format (see "
2301 "RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>).  Four "
2302 "new flags are defined:"
2303 msgstr ""
2304
2305 #. type: TP
2306 #: build/C/man3/getaddrinfo.3:425
2307 #, no-wrap
2308 msgid "B<AI_IDN>"
2309 msgstr ""
2310
2311 #. type: Plain text
2312 #: build/C/man3/getaddrinfo.3:431
2313 msgid ""
2314 "If this flag is specified, then the node name given in I<node> is converted "
2315 "to IDN format if necessary.  The source encoding is that of the current "
2316 "locale."
2317 msgstr ""
2318
2319 #.  Implementation Detail:
2320 #.  To minimize effects on system performance the implementation might
2321 #.  want to check whether the input string contains any non-ASCII
2322 #.  characters.  If there are none the IDN step can be skipped completely.
2323 #.  On systems which allow not-ASCII safe encodings for a locale this
2324 #.  might be a problem.
2325 #. type: Plain text
2326 #: build/C/man3/getaddrinfo.3:443
2327 msgid ""
2328 "If the input name contains non-ASCII characters, then the IDN encoding is "
2329 "used.  Those parts of the node name (delimited by dots) that contain "
2330 "non-ASCII characters are encoded using ASCII Compatible Encoding (ACE)  "
2331 "before being passed to the name resolution functions."
2332 msgstr ""
2333
2334 #. type: TP
2335 #: build/C/man3/getaddrinfo.3:443
2336 #, no-wrap
2337 msgid "B<AI_CANONIDN>"
2338 msgstr ""
2339
2340 #. type: Plain text
2341 #: build/C/man3/getaddrinfo.3:455
2342 msgid ""
2343 "After a successful name lookup, and if the B<AI_CANONNAME> flag was "
2344 "specified, B<getaddrinfo>()  will return the canonical name of the node "
2345 "corresponding to the I<addrinfo> structure value passed back.  The return "
2346 "value is an exact copy of the value returned by the name resolution "
2347 "function."
2348 msgstr ""
2349
2350 #
2351 #. Implementation Detail:
2352 #. If no component of the returned name starts with xn\-\- the IDN
2353 #. step can be skipped, therefore avoiding unnecessary slowdowns.
2354 #. type: Plain text
2355 #: build/C/man3/getaddrinfo.3:468
2356 msgid ""
2357 "If the name is encoded using ACE, then it will contain the I<xn--> prefix "
2358 "for one or more components of the name.  To convert these components into a "
2359 "readable form the B<AI_CANONIDN> flag can be passed in addition to "
2360 "B<AI_CANONNAME>.  The resulting string is encoded using the current locale's "
2361 "encoding."
2362 msgstr ""
2363
2364 #. type: TP
2365 #: build/C/man3/getaddrinfo.3:468
2366 #, no-wrap
2367 msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>"
2368 msgstr ""
2369
2370 #. type: Plain text
2371 #: build/C/man3/getaddrinfo.3:475 build/C/man3/getnameinfo.3:139
2372 msgid ""
2373 "Setting these flags will enable the IDNA_ALLOW_UNASSIGNED (allow unassigned "
2374 "Unicode code points) and IDNA_USE_STD3_ASCII_RULES (check output to make "
2375 "sure it is a STD3 conforming hostname)  flags respectively to be used in the "
2376 "IDNA handling."
2377 msgstr ""
2378
2379 #. type: SH
2380 #: build/C/man3/getaddrinfo.3:475 build/C/man3/getaddrinfo_a.3:242 build/C/man3/gethostbyname.3:266 build/C/man3/getipnodebyname.3:186 build/C/man3/getnameinfo.3:139 build/C/man3/getnetent.3:113 build/C/man3/getnetent_r.3:118 build/C/man2/getpeername.2:68 build/C/man3/getprotoent.3:107 build/C/man3/getprotoent_r.3:108 build/C/man3/getservent.3:118 build/C/man3/getservent_r.3:107 build/C/man3/inet_ntop.3:83 build/C/man3/inet_pton.3:116 build/C/man3/rcmd.3:239 build/C/man3/resolver.3:245 build/C/man3/setnetgrent.3:86 build/C/man2/shutdown.2:69
2381 #, no-wrap
2382 msgid "RETURN VALUE"
2383 msgstr ""
2384
2385 #.  FIXME glibc defines the following additional errors, some which
2386 #.  can probably be returned by getaddrinfo(); they need to
2387 #.  be documented.
2388 #.  #ifdef __USE_GNU
2389 #.  #define EAI_INPROGRESS  -100  /* Processing request in progress.  */
2390 #.  #define EAI_CANCELED    -101  /* Request canceled.  */
2391 #.  #define EAI_NOTCANCELED -102  /* Request not canceled.  */
2392 #.  #define EAI_ALLDONE     -103  /* All requests done.  */
2393 #.  #define EAI_INTR        -104  /* Interrupted by a signal.  */
2394 #.  #define EAI_IDN_ENCODE  -105  /* IDN encoding failed.  */
2395 #.  #endif
2396 #. type: Plain text
2397 #: build/C/man3/getaddrinfo.3:489
2398 msgid ""
2399 "B<getaddrinfo>()  returns 0 if it succeeds, or one of the following nonzero "
2400 "error codes:"
2401 msgstr ""
2402
2403 #. type: TP
2404 #: build/C/man3/getaddrinfo.3:489
2405 #, no-wrap
2406 msgid "B<EAI_ADDRFAMILY>"
2407 msgstr ""
2408
2409 #.  Not in SUSv3
2410 #. type: Plain text
2411 #: build/C/man3/getaddrinfo.3:494
2412 msgid ""
2413 "The specified network host does not have any network addresses in the "
2414 "requested address family."
2415 msgstr ""
2416
2417 #. type: TP
2418 #: build/C/man3/getaddrinfo.3:494 build/C/man3/getaddrinfo_a.3:247 build/C/man3/getaddrinfo_a.3:264 build/C/man3/getnameinfo.3:155
2419 #, no-wrap
2420 msgid "B<EAI_AGAIN>"
2421 msgstr ""
2422
2423 #. type: Plain text
2424 #: build/C/man3/getaddrinfo.3:498
2425 msgid "The name server returned a temporary failure indication.  Try again later."
2426 msgstr ""
2427
2428 #. type: TP
2429 #: build/C/man3/getaddrinfo.3:498 build/C/man3/getnameinfo.3:159
2430 #, no-wrap
2431 msgid "B<EAI_BADFLAGS>"
2432 msgstr ""
2433
2434 #. type: Plain text
2435 #: build/C/man3/getaddrinfo.3:508
2436 msgid ""
2437 "I<hints.ai_flags> contains invalid flags; or, I<hints.ai_flags> included "
2438 "B<AI_CANONNAME> and I<name> was NULL."
2439 msgstr ""
2440
2441 #. type: TP
2442 #: build/C/man3/getaddrinfo.3:508 build/C/man3/getnameinfo.3:164
2443 #, no-wrap
2444 msgid "B<EAI_FAIL>"
2445 msgstr ""
2446
2447 #. type: Plain text
2448 #: build/C/man3/getaddrinfo.3:511
2449 msgid "The name server returned a permanent failure indication."
2450 msgstr ""
2451
2452 #. type: TP
2453 #: build/C/man3/getaddrinfo.3:511 build/C/man3/getnameinfo.3:167
2454 #, no-wrap
2455 msgid "B<EAI_FAMILY>"
2456 msgstr ""
2457
2458 #. type: Plain text
2459 #: build/C/man3/getaddrinfo.3:514
2460 msgid "The requested address family is not supported."
2461 msgstr ""
2462
2463 #. type: TP
2464 #: build/C/man3/getaddrinfo.3:514 build/C/man3/getaddrinfo_a.3:252 build/C/man3/getnameinfo.3:171
2465 #, no-wrap
2466 msgid "B<EAI_MEMORY>"
2467 msgstr ""
2468
2469 #. type: Plain text
2470 #: build/C/man3/getaddrinfo.3:517 build/C/man3/getaddrinfo_a.3:255 build/C/man3/getnameinfo.3:174 build/C/man7/unix.7:359
2471 msgid "Out of memory."
2472 msgstr ""
2473
2474 #. type: TP
2475 #: build/C/man3/getaddrinfo.3:517
2476 #, no-wrap
2477 msgid "B<EAI_NODATA>"
2478 msgstr ""
2479
2480 #.  Not in SUSv3
2481 #. type: Plain text
2482 #: build/C/man3/getaddrinfo.3:522
2483 msgid ""
2484 "The specified network host exists, but does not have any network addresses "
2485 "defined."
2486 msgstr ""
2487
2488 #. type: TP
2489 #: build/C/man3/getaddrinfo.3:522 build/C/man3/getnameinfo.3:174
2490 #, no-wrap
2491 msgid "B<EAI_NONAME>"
2492 msgstr ""
2493
2494 #. type: Plain text
2495 #: build/C/man3/getaddrinfo.3:539
2496 msgid ""
2497 "The I<node> or I<service> is not known; or both I<node> and I<service> are "
2498 "NULL; or B<AI_NUMERICSERV> was specified in I<hints.ai_flags> and I<service> "
2499 "was not a numeric port-number string."
2500 msgstr ""
2501
2502 #. type: TP
2503 #: build/C/man3/getaddrinfo.3:539
2504 #, no-wrap
2505 msgid "B<EAI_SERVICE>"
2506 msgstr ""
2507
2508 #. type: Plain text
2509 #: build/C/man3/getaddrinfo.3:560
2510 msgid ""
2511 "The requested service is not available for the requested socket type.  It "
2512 "may be available through another socket type.  For example, this error could "
2513 "occur if I<service> was \"shell\" (a service only available on stream "
2514 "sockets), and either I<hints.ai_protocol> was B<IPPROTO_UDP>, or "
2515 "I<hints.ai_socktype> was B<SOCK_DGRAM>; or the error could occur if "
2516 "I<service> was not NULL, and I<hints.ai_socktype> was B<SOCK_RAW> (a socket "
2517 "type that does not support the concept of services)."
2518 msgstr ""
2519
2520 #. type: TP
2521 #: build/C/man3/getaddrinfo.3:560
2522 #, no-wrap
2523 msgid "B<EAI_SOCKTYPE>"
2524 msgstr ""
2525
2526 #. type: Plain text
2527 #: build/C/man3/getaddrinfo.3:572
2528 msgid ""
2529 "The requested socket type is not supported.  This could occur, for example, "
2530 "if I<hints.ai_socktype> and I<hints.ai_protocol> are inconsistent (e.g., "
2531 "B<SOCK_DGRAM> and B<IPPROTO_TCP>, respectively)."
2532 msgstr ""
2533
2534 #. type: TP
2535 #: build/C/man3/getaddrinfo.3:572 build/C/man3/getaddrinfo_a.3:255 build/C/man3/getnameinfo.3:187
2536 #, no-wrap
2537 msgid "B<EAI_SYSTEM>"
2538 msgstr ""
2539
2540 #. type: Plain text
2541 #: build/C/man3/getaddrinfo.3:577
2542 msgid "Other system error, check I<errno> for details."
2543 msgstr ""
2544
2545 #. type: Plain text
2546 #: build/C/man3/getaddrinfo.3:582
2547 msgid ""
2548 "The B<gai_strerror>()  function translates these error codes to a human "
2549 "readable string, suitable for error reporting."
2550 msgstr ""
2551
2552 #. type: Plain text
2553 #: build/C/man3/getaddrinfo.3:589
2554 msgid "POSIX.1-2001.  The B<getaddrinfo>()  function is documented in RFC\\ 2553."
2555 msgstr ""
2556
2557 #. type: Plain text
2558 #: build/C/man3/getaddrinfo.3:594
2559 msgid ""
2560 "B<getaddrinfo>()  supports the I<address>B<%>I<scope-id> notation for "
2561 "specifying the IPv6 scope-ID."
2562 msgstr ""
2563
2564 #. type: Plain text
2565 #: build/C/man3/getaddrinfo.3:602
2566 msgid ""
2567 "B<AI_ADDRCONFIG>, B<AI_ALL>, and B<AI_V4MAPPED> are available since glibc "
2568 "2.3.3.  B<AI_NUMERICSERV> is available since glibc 2.3.4."
2569 msgstr ""
2570
2571 #. type: Plain text
2572 #: build/C/man3/getaddrinfo.3:612
2573 msgid ""
2574 "According to POSIX.1-2001, specifying I<hints> as NULL should cause "
2575 "I<ai_flags> to be assumed as 0.  The GNU C library instead assumes a value "
2576 "of B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> for this case, since this value is "
2577 "considered an improvement on the specification."
2578 msgstr ""
2579
2580 #.  getnameinfo.3 refers to this example
2581 #.  socket.2 refers to this example
2582 #.  bind.2 refers to this example
2583 #.  connect.2 refers to this example
2584 #.  recvfrom.2 refers to this example
2585 #.  sendto.2 refers to this example
2586 #. type: Plain text
2587 #: build/C/man3/getaddrinfo.3:626
2588 msgid ""
2589 "The following programs demonstrate the use of B<getaddrinfo>(), "
2590 "B<gai_strerror>(), B<freeaddrinfo>(), and B<getnameinfo>(3).  The programs "
2591 "are an echo server and client for UDP datagrams."
2592 msgstr ""
2593
2594 #. type: SS
2595 #: build/C/man3/getaddrinfo.3:626
2596 #, no-wrap
2597 msgid "Server program"
2598 msgstr ""
2599
2600 #. type: Plain text
2601 #: build/C/man3/getaddrinfo.3:636
2602 #, no-wrap
2603 msgid ""
2604 "#include E<lt>sys/types.hE<gt>\n"
2605 "#include E<lt>stdio.hE<gt>\n"
2606 "#include E<lt>stdlib.hE<gt>\n"
2607 "#include E<lt>unistd.hE<gt>\n"
2608 "#include E<lt>string.hE<gt>\n"
2609 "#include E<lt>sys/socket.hE<gt>\n"
2610 "#include E<lt>netdb.hE<gt>\n"
2611 msgstr ""
2612
2613 #. type: Plain text
2614 #: build/C/man3/getaddrinfo.3:638 build/C/man3/getaddrinfo.3:733
2615 #, no-wrap
2616 msgid "#define BUF_SIZE 500\n"
2617 msgstr ""
2618
2619 #. type: Plain text
2620 #: build/C/man3/getaddrinfo.3:649
2621 #, no-wrap
2622 msgid ""
2623 "int\n"
2624 "main(int argc, char *argv[])\n"
2625 "{\n"
2626 "    struct addrinfo hints;\n"
2627 "    struct addrinfo *result, *rp;\n"
2628 "    int sfd, s;\n"
2629 "    struct sockaddr_storage peer_addr;\n"
2630 "    socklen_t peer_addr_len;\n"
2631 "    ssize_t nread;\n"
2632 "    char buf[BUF_SIZE];\n"
2633 msgstr ""
2634
2635 #. type: Plain text
2636 #: build/C/man3/getaddrinfo.3:654
2637 #, no-wrap
2638 msgid ""
2639 "    if (argc != 2) {\n"
2640 "        fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n"
2641 "        exit(EXIT_FAILURE);\n"
2642 "    }\n"
2643 msgstr ""
2644
2645 #. type: Plain text
2646 #: build/C/man3/getaddrinfo.3:663
2647 #, no-wrap
2648 msgid ""
2649 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2650 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2651 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2652 "    hints.ai_flags = AI_PASSIVE;    /* For wildcard IP address */\n"
2653 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2654 "    hints.ai_canonname = NULL;\n"
2655 "    hints.ai_addr = NULL;\n"
2656 "    hints.ai_next = NULL;\n"
2657 msgstr ""
2658
2659 #. type: Plain text
2660 #: build/C/man3/getaddrinfo.3:669
2661 #, no-wrap
2662 msgid ""
2663 "    s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
2664 "    if (s != 0) {\n"
2665 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
2666 "        exit(EXIT_FAILURE);\n"
2667 "    }\n"
2668 msgstr ""
2669
2670 #. type: Plain text
2671 #: build/C/man3/getaddrinfo.3:674
2672 #, no-wrap
2673 msgid ""
2674 "    /* getaddrinfo() returns a list of address structures.\n"
2675 "       Try each address until we successfully bind(2).\n"
2676 "       If socket(2) (or bind(2)) fails, we (close the socket\n"
2677 "       and) try the next address. */\n"
2678 msgstr ""
2679
2680 #. type: Plain text
2681 #: build/C/man3/getaddrinfo.3:680
2682 #, no-wrap
2683 msgid ""
2684 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
2685 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
2686 "                rp-E<gt>ai_protocol);\n"
2687 "        if (sfd == -1)\n"
2688 "            continue;\n"
2689 msgstr ""
2690
2691 #. type: Plain text
2692 #: build/C/man3/getaddrinfo.3:683
2693 #, no-wrap
2694 msgid ""
2695 "        if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
2696 "            break;                  /* Success */\n"
2697 msgstr ""
2698
2699 #. type: Plain text
2700 #: build/C/man3/getaddrinfo.3:686 build/C/man3/getaddrinfo.3:779
2701 #, no-wrap
2702 msgid ""
2703 "        close(sfd);\n"
2704 "    }\n"
2705 msgstr ""
2706
2707 #. type: Plain text
2708 #: build/C/man3/getaddrinfo.3:691
2709 #, no-wrap
2710 msgid ""
2711 "    if (rp == NULL) {               /* No address succeeded */\n"
2712 "        fprintf(stderr, \"Could not bind\\en\");\n"
2713 "        exit(EXIT_FAILURE);\n"
2714 "    }\n"
2715 msgstr ""
2716
2717 #. type: Plain text
2718 #: build/C/man3/getaddrinfo.3:693 build/C/man3/getaddrinfo.3:786
2719 #, no-wrap
2720 msgid "    freeaddrinfo(result);           /* No longer needed */\n"
2721 msgstr ""
2722
2723 #. type: Plain text
2724 #: build/C/man3/getaddrinfo.3:695
2725 #, no-wrap
2726 msgid "    /* Read datagrams and echo them back to sender */\n"
2727 msgstr ""
2728
2729 #. type: Plain text
2730 #: build/C/man3/getaddrinfo.3:702
2731 #, no-wrap
2732 msgid ""
2733 "    for (;;) {\n"
2734 "        peer_addr_len = sizeof(struct sockaddr_storage);\n"
2735 "        nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
2736 "                (struct sockaddr *) &peer_addr, &peer_addr_len);\n"
2737 "        if (nread == -1)\n"
2738 "            continue;               /* Ignore failed request */\n"
2739 msgstr ""
2740
2741 #. type: Plain text
2742 #: build/C/man3/getaddrinfo.3:704
2743 #, no-wrap
2744 msgid "        char host[NI_MAXHOST], service[NI_MAXSERV];\n"
2745 msgstr ""
2746
2747 #. type: Plain text
2748 #: build/C/man3/getaddrinfo.3:713
2749 #, no-wrap
2750 msgid ""
2751 "        s = getnameinfo((struct sockaddr *) &peer_addr,\n"
2752 "                        peer_addr_len, host, NI_MAXHOST,\n"
2753 "                        service, NI_MAXSERV, NI_NUMERICSERV);\n"
2754 "       if (s == 0)\n"
2755 "            printf(\"Received %ld bytes from %s:%s\\en\",\n"
2756 "                    (long) nread, host, service);\n"
2757 "        else\n"
2758 "            fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
2759 msgstr ""
2760
2761 #. type: Plain text
2762 #: build/C/man3/getaddrinfo.3:720
2763 #, no-wrap
2764 msgid ""
2765 "        if (sendto(sfd, buf, nread, 0,\n"
2766 "                    (struct sockaddr *) &peer_addr,\n"
2767 "                    peer_addr_len) != nread)\n"
2768 "            fprintf(stderr, \"Error sending response\\en\");\n"
2769 "    }\n"
2770 "}\n"
2771 msgstr ""
2772
2773 #. type: SS
2774 #: build/C/man3/getaddrinfo.3:721
2775 #, no-wrap
2776 msgid "Client program"
2777 msgstr ""
2778
2779 #. type: Plain text
2780 #: build/C/man3/getaddrinfo.3:731
2781 #, no-wrap
2782 msgid ""
2783 "#include E<lt>sys/types.hE<gt>\n"
2784 "#include E<lt>sys/socket.hE<gt>\n"
2785 "#include E<lt>netdb.hE<gt>\n"
2786 "#include E<lt>stdio.hE<gt>\n"
2787 "#include E<lt>stdlib.hE<gt>\n"
2788 "#include E<lt>unistd.hE<gt>\n"
2789 "#include E<lt>string.hE<gt>\n"
2790 msgstr ""
2791
2792 #. type: Plain text
2793 #: build/C/man3/getaddrinfo.3:743
2794 #, no-wrap
2795 msgid ""
2796 "int\n"
2797 "main(int argc, char *argv[])\n"
2798 "{\n"
2799 "    struct addrinfo hints;\n"
2800 "    struct addrinfo *result, *rp;\n"
2801 "    int sfd, s, j;\n"
2802 "    size_t len;\n"
2803 "    ssize_t nread;\n"
2804 "    char buf[BUF_SIZE];\n"
2805 msgstr ""
2806
2807 #. type: Plain text
2808 #: build/C/man3/getaddrinfo.3:748
2809 #, no-wrap
2810 msgid ""
2811 "    if (argc E<lt> 3) {\n"
2812 "        fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n"
2813 "        exit(EXIT_FAILURE);\n"
2814 "    }\n"
2815 msgstr ""
2816
2817 #. type: Plain text
2818 #: build/C/man3/getaddrinfo.3:750
2819 #, no-wrap
2820 msgid "    /* Obtain address(es) matching host/port */\n"
2821 msgstr ""
2822
2823 #. type: Plain text
2824 #: build/C/man3/getaddrinfo.3:756
2825 #, no-wrap
2826 msgid ""
2827 "    memset(&hints, 0, sizeof(struct addrinfo));\n"
2828 "    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */\n"
2829 "    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
2830 "    hints.ai_flags = 0;\n"
2831 "    hints.ai_protocol = 0;          /* Any protocol */\n"
2832 msgstr ""
2833
2834 #. type: Plain text
2835 #: build/C/man3/getaddrinfo.3:762
2836 #, no-wrap
2837 msgid ""
2838 "    s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
2839 "    if (s != 0) {\n"
2840 "        fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
2841 "        exit(EXIT_FAILURE);\n"
2842 "    }\n"
2843 msgstr ""
2844
2845 #. type: Plain text
2846 #: build/C/man3/getaddrinfo.3:767
2847 #, no-wrap
2848 msgid ""
2849 "    /* getaddrinfo() returns a list of address structures.\n"
2850 "       Try each address until we successfully connect(2).\n"
2851 "       If socket(2) (or connect(2)) fails, we (close the socket\n"
2852 "       and) try the next address. */\n"
2853 msgstr ""
2854
2855 #. type: Plain text
2856 #: build/C/man3/getaddrinfo.3:773
2857 #, no-wrap
2858 msgid ""
2859 "    for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
2860 "        sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
2861 "                     rp-E<gt>ai_protocol);\n"
2862 "        if (sfd == -1)\n"
2863 "            continue;\n"
2864 msgstr ""
2865
2866 #. type: Plain text
2867 #: build/C/man3/getaddrinfo.3:776
2868 #, no-wrap
2869 msgid ""
2870 "        if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
2871 "            break;                  /* Success */\n"
2872 msgstr ""
2873
2874 #. type: Plain text
2875 #: build/C/man3/getaddrinfo.3:784
2876 #, no-wrap
2877 msgid ""
2878 "    if (rp == NULL) {               /* No address succeeded */\n"
2879 "        fprintf(stderr, \"Could not connect\\en\");\n"
2880 "        exit(EXIT_FAILURE);\n"
2881 "    }\n"
2882 msgstr ""
2883
2884 #. type: Plain text
2885 #: build/C/man3/getaddrinfo.3:789
2886 #, no-wrap
2887 msgid ""
2888 "    /* Send remaining command-line arguments as separate\n"
2889 "       datagrams, and read responses from server */\n"
2890 msgstr ""
2891
2892 #. type: Plain text
2893 #: build/C/man3/getaddrinfo.3:793
2894 #, no-wrap
2895 msgid ""
2896 "    for (j = 3; j E<lt> argc; j++) {\n"
2897 "        len = strlen(argv[j]) + 1;\n"
2898 "                /* +1 for terminating null byte */\n"
2899 msgstr ""
2900
2901 #. type: Plain text
2902 #: build/C/man3/getaddrinfo.3:799
2903 #, no-wrap
2904 msgid ""
2905 "        if (len + 1 E<gt> BUF_SIZE) {\n"
2906 "            fprintf(stderr,\n"
2907 "                    \"Ignoring long message in argument %d\\en\", j);\n"
2908 "            continue;\n"
2909 "        }\n"
2910 msgstr ""
2911
2912 #. type: Plain text
2913 #: build/C/man3/getaddrinfo.3:804
2914 #, no-wrap
2915 msgid ""
2916 "        if (write(sfd, argv[j], len) != len) {\n"
2917 "            fprintf(stderr, \"partial/failed write\\en\");\n"
2918 "            exit(EXIT_FAILURE);\n"
2919 "        }\n"
2920 msgstr ""
2921
2922 #. type: Plain text
2923 #: build/C/man3/getaddrinfo.3:810
2924 #, no-wrap
2925 msgid ""
2926 "        nread = read(sfd, buf, BUF_SIZE);\n"
2927 "        if (nread == -1) {\n"
2928 "            perror(\"read\");\n"
2929 "            exit(EXIT_FAILURE);\n"
2930 "        }\n"
2931 msgstr ""
2932
2933 #. type: Plain text
2934 #: build/C/man3/getaddrinfo.3:813
2935 #, no-wrap
2936 msgid ""
2937 "        printf(\"Received %ld bytes: %s\\en\", (long) nread, buf);\n"
2938 "    }\n"
2939 msgstr ""
2940
2941 #.  .BR getipnodebyaddr (3),
2942 #.  .BR getipnodebyname (3),
2943 #. type: Plain text
2944 #: build/C/man3/getaddrinfo.3:827
2945 msgid ""
2946 "B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), "
2947 "B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
2948 msgstr ""
2949
2950 #. type: TH
2951 #: build/C/man3/getaddrinfo_a.3:29
2952 #, no-wrap
2953 msgid "GETADDRINFO_A"
2954 msgstr ""
2955
2956 #. type: TH
2957 #: build/C/man3/getaddrinfo_a.3:29
2958 #, no-wrap
2959 msgid "2010-09-27"
2960 msgstr ""
2961
2962 #. type: Plain text
2963 #: build/C/man3/getaddrinfo_a.3:33
2964 msgid ""
2965 "getaddrinfo_a, gai_suspend, gai_error, gai_cancel - asynchronous network "
2966 "address and service translation"
2967 msgstr ""
2968
2969 #. type: Plain text
2970 #: build/C/man3/getaddrinfo_a.3:37
2971 #, no-wrap
2972 msgid ""
2973 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2974 "B<#include E<lt>netdb.hE<gt>>\n"
2975 msgstr ""
2976
2977 #. type: Plain text
2978 #: build/C/man3/getaddrinfo_a.3:40
2979 #, no-wrap
2980 msgid ""
2981 "B<int getaddrinfo_a(int >I<mode>B<, struct gaicb *>I<list[]>B<,>\n"
2982 "B<                int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
2983 msgstr ""
2984
2985 #. type: Plain text
2986 #: build/C/man3/getaddrinfo_a.3:43
2987 #, no-wrap
2988 msgid ""
2989 "B<int gai_suspend(struct gaicb *>I<list[]>B<, int >I<nitems>B<,>\n"
2990 "B<                struct timespec *>I<timeout>B<);>\n"
2991 msgstr ""
2992
2993 #. type: Plain text
2994 #: build/C/man3/getaddrinfo_a.3:45
2995 #, no-wrap
2996 msgid "B<int gai_error(struct gaicb *>I<req>B<);>\n"
2997 msgstr ""
2998
2999 #. type: Plain text
3000 #: build/C/man3/getaddrinfo_a.3:47
3001 #, no-wrap
3002 msgid "B<int gai_cancel(struct gaicb *>I<req>B<);>\n"
3003 msgstr ""
3004
3005 #. type: Plain text
3006 #: build/C/man3/getaddrinfo_a.3:49
3007 #, no-wrap
3008 msgid "Link with I<-lanl>.\n"
3009 msgstr ""
3010
3011 #. type: Plain text
3012 #: build/C/man3/getaddrinfo_a.3:57
3013 msgid ""
3014 "The B<getaddrinfo_a>()  function performs the same task as "
3015 "B<getaddrinfo>(3), but allows multiple name look-ups to be performed "
3016 "asynchronously, with optional notification on completion of look-up "
3017 "operations."
3018 msgstr ""
3019
3020 #. type: Plain text
3021 #: build/C/man3/getaddrinfo_a.3:61
3022 msgid "The I<mode> argument has one of the following values:"
3023 msgstr ""
3024
3025 #. type: TP
3026 #: build/C/man3/getaddrinfo_a.3:61
3027 #, no-wrap
3028 msgid "B<GAI_WAIT>"
3029 msgstr ""
3030
3031 #. type: Plain text
3032 #: build/C/man3/getaddrinfo_a.3:65
3033 msgid ""
3034 "Perform the look-ups synchronously.  The call blocks until the look-ups have "
3035 "completed."
3036 msgstr ""
3037
3038 #. type: TP
3039 #: build/C/man3/getaddrinfo_a.3:65
3040 #, no-wrap
3041 msgid "B<GAI_NOWAIT>"
3042 msgstr ""
3043
3044 #. type: Plain text
3045 #: build/C/man3/getaddrinfo_a.3:73
3046 msgid ""
3047 "Perform the look-ups asynchronously.  The call returns immediately, and the "
3048 "requests are resolved in the background.  See the discussion of the I<sevp> "
3049 "argument below."
3050 msgstr ""
3051
3052 #. type: Plain text
3053 #: build/C/man3/getaddrinfo_a.3:88
3054 msgid ""
3055 "The array I<list> specifies the look-up requests to process.  The I<nitems> "
3056 "argument specifies the number of elements in I<list>.  The requested look-up "
3057 "operations are started in parallel.  NULL elements in I<list> are ignored.  "
3058 "Each request is described by a I<gaicb> structure, defined as follows:"
3059 msgstr ""
3060
3061 #. type: Plain text
3062 #: build/C/man3/getaddrinfo_a.3:97
3063 #, no-wrap
3064 msgid ""
3065 "struct gaicb {\n"
3066 "    const char            *ar_name;\n"
3067 "    const char            *ar_service;\n"
3068 "    const struct addrinfo *ar_request;\n"
3069 "    struct addrinfo       *ar_result;\n"
3070 "};\n"
3071 msgstr ""
3072
3073 #. type: Plain text
3074 #: build/C/man3/getaddrinfo_a.3:128
3075 msgid ""
3076 "The elements of this structure correspond to the arguments of "
3077 "B<getaddrinfo>(3).  Thus, I<ar_name> corresponds to the I<node> argument and "
3078 "I<ar_service> to the I<service> argument, identifying an Internet host and a "
3079 "service.  The I<ar_request> element corresponds to the I<hints> argument, "
3080 "specifying the criteria for selecting the returned socket address "
3081 "structures.  Finally, I<ar_result> corresponds to the I<res> argument; you "
3082 "do not need to initialize this element, it will be automatically set when "
3083 "the request is resolved.  The I<addrinfo> structure referenced by the last "
3084 "two elements is described in B<getaddrinfo>(3)."
3085 msgstr ""
3086
3087 #. type: Plain text
3088 #: build/C/man3/getaddrinfo_a.3:144
3089 msgid ""
3090 "When I<mode> is specified as B<GAI_NOWAIT>, notifications about resolved "
3091 "requests can be obtained by employing the I<sigevent> structure pointed to "
3092 "by the I<sevp> argument.  For the definition and general details of this "
3093 "structure, see B<sigevent>(7).  The I<sevp-E<gt>sigev_notify> field can have "
3094 "the following values:"
3095 msgstr ""
3096
3097 #. type: TP
3098 #: build/C/man3/getaddrinfo_a.3:144
3099 #, no-wrap
3100 msgid "B<SIGEV_NONE>"
3101 msgstr ""
3102
3103 #. type: Plain text
3104 #: build/C/man3/getaddrinfo_a.3:147
3105 msgid "Don't provide any notification."
3106 msgstr ""
3107
3108 #. type: TP
3109 #: build/C/man3/getaddrinfo_a.3:147
3110 #, no-wrap
3111 msgid "B<SIGEV_SIGNAL>"
3112 msgstr ""
3113
3114 #.  si_pid and si_uid are also set, to the values of the calling process,
3115 #.  which doesn't provide useful information, so we'll skip mentioning it.
3116 #. type: Plain text
3117 #: build/C/man3/getaddrinfo_a.3:163
3118 msgid ""
3119 "When a look-up completes, generate the signal I<sigev_signo> for the "
3120 "process.  See B<sigevent>(7)  for general details.  The I<si_code> field of "
3121 "the I<siginfo_t> structure will be set to B<SI_ASYNCNL>."
3122 msgstr ""
3123
3124 #. type: TP
3125 #: build/C/man3/getaddrinfo_a.3:163
3126 #, no-wrap
3127 msgid "B<SIGEV_THREAD>"
3128 msgstr ""
3129
3130 #. type: Plain text
3131 #: build/C/man3/getaddrinfo_a.3:171
3132 msgid ""
3133 "When a look-up completes, invoke I<sigev_notify_function> as if it were the "
3134 "start function of a new thread.  See B<sigevent>(7)  for details."
3135 msgstr ""
3136
3137 #. type: Plain text
3138 #: build/C/man3/getaddrinfo_a.3:180
3139 msgid ""
3140 "For B<SIGEV_SIGNAL> and B<SIGEV_THREAD>, it may be useful to point "
3141 "I<sevp-E<gt>sigev_value.sival_ptr> to I<list>."
3142 msgstr ""
3143
3144 #. type: Plain text
3145 #: build/C/man3/getaddrinfo_a.3:191
3146 msgid ""
3147 "The B<gai_suspend>()  function suspends execution of the calling thread, "
3148 "waiting for the completion of one or more requests in the array I<list>.  "
3149 "The I<nitems> argument specifies the size of the array I<list>.  The call "
3150 "blocks until one of the following occurs:"
3151 msgstr ""
3152
3153 #. type: Plain text
3154 #: build/C/man3/getaddrinfo_a.3:195
3155 msgid "One or more of the operations in I<list> completes."
3156 msgstr ""
3157
3158 #. type: Plain text
3159 #: build/C/man3/getaddrinfo_a.3:197
3160 msgid "The call is interrupted by a signal that is caught."
3161 msgstr ""
3162
3163 #. type: Plain text
3164 #: build/C/man3/getaddrinfo_a.3:210
3165 msgid ""
3166 "The time interval specified in I<timeout> elapses.  This argument specifies "
3167 "a timeout in seconds plus nanoseconds (see B<nanosleep>(2)  for details of "
3168 "the I<timespec> structure).  If I<timeout> is NULL, then the call blocks "
3169 "indefinitely (until one of the events above occurs)."
3170 msgstr ""
3171
3172 #. type: Plain text
3173 #: build/C/man3/getaddrinfo_a.3:215
3174 msgid ""
3175 "No explicit indication of which request was completed is given; you must "
3176 "determine which request(s) have completed by iterating with B<gai_error>()  "
3177 "over the list of requests."
3178 msgstr ""
3179
3180 #. type: Plain text
3181 #: build/C/man3/getaddrinfo_a.3:225
3182 msgid ""
3183 "The B<gai_error>()  function returns the status of the request I<req>: "
3184 "either B<EAI_INPROGRESS> if the request was not completed yet, 0 if it was "
3185 "handled successfully, or an error code if the request could not be resolved."
3186 msgstr ""
3187
3188 #. type: Plain text
3189 #: build/C/man3/getaddrinfo_a.3:242
3190 msgid ""
3191 "The B<gai_cancel>()  function cancels the request I<req>.  If the request "
3192 "has been canceled successfully, the error status of the request will be set "
3193 "to B<EAI_CANCELLED> and normal asynchronous notification will be performed.  "
3194 "The request cannot be canceled if it is currently being processed; in that "
3195 "case, it will be handled as if B<gai_cancel>()  has never been called.  If "
3196 "I<req> is NULL, an attempt is made to cancel all outstanding requests that "
3197 "the process has made."
3198 msgstr ""
3199
3200 #. type: Plain text
3201 #: build/C/man3/getaddrinfo_a.3:247
3202 msgid ""
3203 "The B<getaddrinfo_a>()  function returns 0 if all of the requests have been "
3204 "enqueued successfully, or one of the following nonzero error codes:"
3205 msgstr ""
3206
3207 #. type: Plain text
3208 #: build/C/man3/getaddrinfo_a.3:252
3209 msgid ""
3210 "The resources necessary to enqueue the look-up requests were not available.  "
3211 "The application may check the error status of each request to determine "
3212 "which ones failed."
3213 msgstr ""
3214
3215 #. type: Plain text
3216 #: build/C/man3/getaddrinfo_a.3:259
3217 msgid "I<mode> is invalid."
3218 msgstr ""
3219
3220 #. type: Plain text
3221 #: build/C/man3/getaddrinfo_a.3:264
3222 msgid ""
3223 "The B<gai_suspend>()  function returns 0 if at least one of the listed "
3224 "requests has been completed.  Otherwise, it returns one of the following "
3225 "nonzero error codes:"
3226 msgstr ""
3227
3228 #. type: Plain text
3229 #: build/C/man3/getaddrinfo_a.3:267
3230 msgid "The given timeout expired before any of the requests could be completed."
3231 msgstr ""
3232
3233 #. type: TP
3234 #: build/C/man3/getaddrinfo_a.3:267 build/C/man3/getaddrinfo_a.3:297
3235 #, no-wrap
3236 msgid "B<EAI_ALLDONE>"
3237 msgstr ""
3238
3239 #. type: Plain text
3240 #: build/C/man3/getaddrinfo_a.3:270
3241 msgid "There were no actual requests given to the function."
3242 msgstr ""
3243
3244 #. type: TP
3245 #: build/C/man3/getaddrinfo_a.3:270
3246 #, no-wrap
3247 msgid "B<EAI_INTR>"
3248 msgstr ""
3249
3250 #. type: Plain text
3251 #: build/C/man3/getaddrinfo_a.3:275
3252 msgid ""
3253 "A signal has interrupted the function.  Note that this interruption might "
3254 "have been caused by signal notification of some completed look-up request."
3255 msgstr ""
3256
3257 #. type: Plain text
3258 #: build/C/man3/getaddrinfo_a.3:287
3259 msgid ""
3260 "The B<gai_error>()  function can return B<EAI_INPROGRESS> for an unfinished "
3261 "look-up request, 0 for a successfully completed look-up (as described "
3262 "above), one of the error codes that could be returned by B<getaddrinfo>(3), "
3263 "or the error code B<EAI_CANCELLED> if the request has been canceled "
3264 "explicitly before it could be finished."
3265 msgstr ""
3266
3267 #. type: Plain text
3268 #: build/C/man3/getaddrinfo_a.3:291
3269 msgid "The B<gai_cancel>()  function can return one of these values:"
3270 msgstr ""
3271
3272 #. type: TP
3273 #: build/C/man3/getaddrinfo_a.3:291
3274 #, no-wrap
3275 msgid "B<EAI_CANCELLED>"
3276 msgstr ""
3277
3278 #. type: Plain text
3279 #: build/C/man3/getaddrinfo_a.3:294
3280 msgid "The request has been canceled successfully."
3281 msgstr ""
3282
3283 #. type: TP
3284 #: build/C/man3/getaddrinfo_a.3:294
3285 #, no-wrap
3286 msgid "B<EAI_NOTCANCELLED>"
3287 msgstr ""
3288
3289 #. type: Plain text
3290 #: build/C/man3/getaddrinfo_a.3:297
3291 msgid "The request has not been canceled."
3292 msgstr ""
3293
3294 #. type: Plain text
3295 #: build/C/man3/getaddrinfo_a.3:300
3296 msgid "The request has already completed."
3297 msgstr ""
3298
3299 #. type: Plain text
3300 #: build/C/man3/getaddrinfo_a.3:305 build/C/man3/getnameinfo.3:197
3301 msgid ""
3302 "The B<gai_strerror>(3)  function translates these error codes to a human "
3303 "readable string, suitable for error reporting."
3304 msgstr ""
3305
3306 #. type: Plain text
3307 #: build/C/man3/getaddrinfo_a.3:308
3308 msgid ""
3309 "These functions are GNU extensions; they first appeared in glibc in version "
3310 "2.2.3."
3311 msgstr ""
3312
3313 #. type: Plain text
3314 #: build/C/man3/getaddrinfo_a.3:314
3315 msgid ""
3316 "The interface of B<getaddrinfo_a>()  was modeled after the B<lio_listio>(3)  "
3317 "interface."
3318 msgstr ""
3319
3320 #. type: Plain text
3321 #: build/C/man3/getaddrinfo_a.3:318
3322 msgid ""
3323 "Two examples are provided: a simple example that resolves several requests "
3324 "in parallel synchronously, and a complex example showing some of the "
3325 "asynchronous capabilities."
3326 msgstr ""
3327
3328 #. type: SS
3329 #: build/C/man3/getaddrinfo_a.3:318
3330 #, no-wrap
3331 msgid "Synchronous example"
3332 msgstr ""
3333
3334 #. type: Plain text
3335 #: build/C/man3/getaddrinfo_a.3:323
3336 msgid ""
3337 "The program below simply resolves several hostnames in parallel, giving a "
3338 "speed-up compared to resolving the hostnames sequentially using "
3339 "B<getaddrinfo>(3).  The program might be used like this:"
3340 msgstr ""
3341
3342 #. type: Plain text
3343 #: build/C/man3/getaddrinfo_a.3:330
3344 #, no-wrap
3345 msgid ""
3346 "$ B<./a.out ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz>\n"
3347 "ftp.us.kernel.org: 128.30.2.36\n"
3348 "enoent.linuxfoundation.org: Name or service not known\n"
3349 "gnu.cz: 87.236.197.13\n"
3350 msgstr ""
3351
3352 #. type: Plain text
3353 #: build/C/man3/getaddrinfo_a.3:334
3354 msgid "Here is the program source code"
3355 msgstr ""
3356
3357 #. type: Plain text
3358 #: build/C/man3/getaddrinfo_a.3:341 build/C/man3/getaddrinfo_a.3:430
3359 #, no-wrap
3360 msgid ""
3361 "#define _GNU_SOURCE\n"
3362 "#include E<lt>netdb.hE<gt>\n"
3363 "#include E<lt>stdio.hE<gt>\n"
3364 "#include E<lt>stdlib.hE<gt>\n"
3365 "#include E<lt>string.hE<gt>\n"
3366 msgstr ""
3367
3368 #. type: Plain text
3369 #: build/C/man3/getaddrinfo_a.3:349
3370 #, no-wrap
3371 msgid ""
3372 "int\n"
3373 "main(int argc, char *argv[])\n"
3374 "{\n"
3375 "    int i, ret;\n"
3376 "    struct gaicb *reqs[argc - 1];\n"
3377 "    char host[NI_MAXHOST];\n"
3378 "    struct addrinfo *res;\n"
3379 msgstr ""
3380
3381 #. type: Plain text
3382 #: build/C/man3/getaddrinfo_a.3:354
3383 #, no-wrap
3384 msgid ""
3385 "    if (argc E<lt> 2) {\n"
3386 "        fprintf(stderr, \"Usage: %s HOST...\\en\", argv[0]);\n"
3387 "        exit(EXIT_FAILURE);\n"
3388 "    }\n"
3389 msgstr ""
3390
3391 #. type: Plain text
3392 #: build/C/man3/getaddrinfo_a.3:364
3393 #, no-wrap
3394 msgid ""
3395 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3396 "        reqs[i] = malloc(sizeof(*reqs[0]));\n"
3397 "        if (reqs[i] == NULL) {\n"
3398 "            perror(\"malloc\");\n"
3399 "            exit(EXIT_FAILURE);\n"
3400 "        }\n"
3401 "        memset(reqs[i], 0, sizeof(*reqs[0]));\n"
3402 "        reqs[i]-E<gt>ar_name = argv[i + 1];\n"
3403 "    }\n"
3404 msgstr ""
3405
3406 #. type: Plain text
3407 #: build/C/man3/getaddrinfo_a.3:371
3408 #, no-wrap
3409 msgid ""
3410 "    ret = getaddrinfo_a(GAI_WAIT, reqs, argc - 1, NULL);\n"
3411 "    if (ret != 0) {\n"
3412 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3413 "                gai_strerror(ret));\n"
3414 "        exit(EXIT_FAILURE);\n"
3415 "    }\n"
3416 msgstr ""
3417
3418 #. type: Plain text
3419 #: build/C/man3/getaddrinfo_a.3:377
3420 #, no-wrap
3421 msgid ""
3422 "    for (i = 0; i E<lt> argc - 1; i++) {\n"
3423 "        printf(\"%s: \", reqs[i]-E<gt>ar_name);\n"
3424 "        ret = gai_error(reqs[i]);\n"
3425 "        if (ret == 0) {\n"
3426 "            res = reqs[i]-E<gt>ar_result;\n"
3427 msgstr ""
3428
3429 #. type: Plain text
3430 #: build/C/man3/getaddrinfo_a.3:387
3431 #, no-wrap
3432 msgid ""
3433 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
3434 "                    host, sizeof(host),\n"
3435 "                    NULL, 0, NI_NUMERICHOST);\n"
3436 "            if (ret != 0) {\n"
3437 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
3438 "                        gai_strerror(ret));\n"
3439 "                exit(EXIT_FAILURE);\n"
3440 "            }\n"
3441 "            puts(host);\n"
3442 msgstr ""
3443
3444 #. type: Plain text
3445 #: build/C/man3/getaddrinfo_a.3:394
3446 #, no-wrap
3447 msgid ""
3448 "        } else {\n"
3449 "            puts(gai_strerror(ret));\n"
3450 "        }\n"
3451 "    }\n"
3452 "    exit(EXIT_SUCCESS);\n"
3453 "}\n"
3454 msgstr ""
3455
3456 #. type: SS
3457 #: build/C/man3/getaddrinfo_a.3:395
3458 #, no-wrap
3459 msgid "Asynchronous example"
3460 msgstr ""
3461
3462 #. type: Plain text
3463 #: build/C/man3/getaddrinfo_a.3:400
3464 msgid ""
3465 "This example shows a simple interactive B<getaddrinfo_a>()  front-end.  The "
3466 "notification facility is not demonstrated."
3467 msgstr ""
3468
3469 #. type: Plain text
3470 #: build/C/man3/getaddrinfo_a.3:402
3471 msgid "An example session might look like this:"
3472 msgstr ""
3473
3474 #. type: Plain text
3475 #: build/C/man3/getaddrinfo_a.3:419
3476 #, no-wrap
3477 msgid ""
3478 "$ B<./a.out>\n"
3479 "E<gt> a ftp.us.kernel.org enoent.linuxfoundation.org gnu.cz\n"
3480 "E<gt> c 2\n"
3481 "[2] gnu.cz: Request not canceled\n"
3482 "E<gt> w 0 1\n"
3483 "[00] ftp.us.kernel.org: Finished\n"
3484 "E<gt> l\n"
3485 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3486 "[01] enoent.linuxfoundation.org: Processing request in progress\n"
3487 "[02] gnu.cz: 87.236.197.13\n"
3488 "E<gt> l\n"
3489 "[00] ftp.us.kernel.org: 216.165.129.139\n"
3490 "[01] enoent.linuxfoundation.org: Name or service not known\n"
3491 "[02] gnu.cz: 87.236.197.13\n"
3492 msgstr ""
3493
3494 #. type: Plain text
3495 #: build/C/man3/getaddrinfo_a.3:423
3496 msgid "The program source is as follows:"
3497 msgstr ""
3498
3499 #. type: Plain text
3500 #: build/C/man3/getaddrinfo_a.3:433
3501 #, no-wrap
3502 msgid ""
3503 "static struct gaicb **reqs = NULL;\n"
3504 "static int nreqs = 0;\n"
3505 msgstr ""
3506
3507 #. type: Plain text
3508 #: build/C/man3/getaddrinfo_a.3:438
3509 #, no-wrap
3510 msgid ""
3511 "static char *\n"
3512 "getcmd(void)\n"
3513 "{\n"
3514 "    static char buf[256];\n"
3515 msgstr ""
3516
3517 #. type: Plain text
3518 #: build/C/man3/getaddrinfo_a.3:442
3519 #, no-wrap
3520 msgid ""
3521 "    fputs(\"E<gt> \", stdout); fflush(stdout);\n"
3522 "    if (fgets(buf, sizeof(buf), stdin) == NULL)\n"
3523 "        return NULL;\n"
3524 msgstr ""
3525
3526 #. type: Plain text
3527 #: build/C/man3/getaddrinfo_a.3:445
3528 #, no-wrap
3529 msgid ""
3530 "    if (buf[strlen(buf) - 1] == \\(aq\\en\\(aq)\n"
3531 "        buf[strlen(buf) - 1] = 0;\n"
3532 msgstr ""
3533
3534 #. type: Plain text
3535 #: build/C/man3/getaddrinfo_a.3:448
3536 #, no-wrap
3537 msgid ""
3538 "    return buf;\n"
3539 "}\n"
3540 msgstr ""
3541
3542 #. type: Plain text
3543 #: build/C/man3/getaddrinfo_a.3:456
3544 #, no-wrap
3545 msgid ""
3546 "/* Add requests for specified hostnames */\n"
3547 "static void\n"
3548 "add_requests(void)\n"
3549 "{\n"
3550 "    int nreqs_base = nreqs;\n"
3551 "    char *host;\n"
3552 "    int ret;\n"
3553 msgstr ""
3554
3555 #. type: Plain text
3556 #: build/C/man3/getaddrinfo_a.3:460
3557 #, no-wrap
3558 msgid ""
3559 "    while ((host = strtok(NULL, \" \"))) {\n"
3560 "        nreqs++;\n"
3561 "        reqs = realloc(reqs, nreqs * sizeof(reqs[0]));\n"
3562 msgstr ""
3563
3564 #. type: Plain text
3565 #: build/C/man3/getaddrinfo_a.3:464
3566 #, no-wrap
3567 msgid ""
3568 "        reqs[nreqs - 1] = calloc(1, sizeof(*reqs[0]));\n"
3569 "        reqs[nreqs - 1]-E<gt>ar_name = strdup(host);\n"
3570 "    }\n"
3571 msgstr ""
3572
3573 #. type: Plain text
3574 #: build/C/man3/getaddrinfo_a.3:466
3575 #, no-wrap
3576 msgid "    /* Queue nreqs_base..nreqs requests. */\n"
3577 msgstr ""
3578
3579 #. type: Plain text
3580 #: build/C/man3/getaddrinfo_a.3:475
3581 #, no-wrap
3582 msgid ""
3583 "    ret = getaddrinfo_a(GAI_NOWAIT, &reqs[nreqs_base],\n"
3584 "                        nreqs - nreqs_base, NULL);\n"
3585 "    if (ret) {\n"
3586 "        fprintf(stderr, \"getaddrinfo_a() failed: %s\\en\",\n"
3587 "                gai_strerror(ret));\n"
3588 "        exit(EXIT_FAILURE);\n"
3589 "    }\n"
3590 "}\n"
3591 msgstr ""
3592
3593 #. type: Plain text
3594 #: build/C/man3/getaddrinfo_a.3:484
3595 #, no-wrap
3596 msgid ""
3597 "/* Wait until at least one of specified requests completes */\n"
3598 "static void\n"
3599 "wait_requests(void)\n"
3600 "{\n"
3601 "    char *id;\n"
3602 "    int i, ret, n;\n"
3603 "    struct gaicb const **wait_reqs = calloc(nreqs, sizeof(*wait_reqs));\n"
3604 "                /* NULL elements are ignored by gai_suspend(). */\n"
3605 msgstr ""
3606
3607 #. type: Plain text
3608 #: build/C/man3/getaddrinfo_a.3:487 build/C/man3/getaddrinfo_a.3:524
3609 #, no-wrap
3610 msgid ""
3611 "    while ((id = strtok(NULL, \" \")) != NULL) {\n"
3612 "        n = atoi(id);\n"
3613 msgstr ""
3614
3615 #. type: Plain text
3616 #: build/C/man3/getaddrinfo_a.3:492 build/C/man3/getaddrinfo_a.3:529
3617 #, no-wrap
3618 msgid ""
3619 "        if (n E<gt>= nreqs) {\n"
3620 "            printf(\"Bad request number: %s\\en\", id);\n"
3621 "            return;\n"
3622 "        }\n"
3623 msgstr ""
3624
3625 #. type: Plain text
3626 #: build/C/man3/getaddrinfo_a.3:495
3627 #, no-wrap
3628 msgid ""
3629 "        wait_reqs[n] = reqs[n];\n"
3630 "    }\n"
3631 msgstr ""
3632
3633 #. type: Plain text
3634 #: build/C/man3/getaddrinfo_a.3:501
3635 #, no-wrap
3636 msgid ""
3637 "    ret = gai_suspend(wait_reqs, nreqs, NULL);\n"
3638 "    if (ret) {\n"
3639 "        printf(\"gai_suspend(): %s\\en\", gai_strerror(ret));\n"
3640 "        return;\n"
3641 "    }\n"
3642 msgstr ""
3643
3644 #. type: Plain text
3645 #: build/C/man3/getaddrinfo_a.3:505
3646 #, no-wrap
3647 msgid ""
3648 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3649 "        if (wait_reqs[i] == NULL)\n"
3650 "            continue;\n"
3651 msgstr ""
3652
3653 #. type: Plain text
3654 #: build/C/man3/getaddrinfo_a.3:509
3655 #, no-wrap
3656 msgid ""
3657 "        ret = gai_error(reqs[i]);\n"
3658 "        if (ret == EAI_INPROGRESS)\n"
3659 "            continue;\n"
3660 msgstr ""
3661
3662 #. type: Plain text
3663 #: build/C/man3/getaddrinfo_a.3:514
3664 #, no-wrap
3665 msgid ""
3666 "        printf(\"[%02d] %s: %s\\en\", i, reqs[i]-E<gt>ar_name,\n"
3667 "               ret == 0 ? \"Finished\" : gai_strerror(ret));\n"
3668 "    }\n"
3669 "}\n"
3670 msgstr ""
3671
3672 #. type: Plain text
3673 #: build/C/man3/getaddrinfo_a.3:521
3674 #, no-wrap
3675 msgid ""
3676 "/* Cancel specified requests */\n"
3677 "static void\n"
3678 "cancel_requests(void)\n"
3679 "{\n"
3680 "    char *id;\n"
3681 "    int ret, n;\n"
3682 msgstr ""
3683
3684 #. type: Plain text
3685 #: build/C/man3/getaddrinfo_a.3:535
3686 #, no-wrap
3687 msgid ""
3688 "        ret = gai_cancel(reqs[n]);\n"
3689 "        printf(\"[%s] %s: %s\\en\", id, reqs[atoi(id)]-E<gt>ar_name,\n"
3690 "               gai_strerror(ret));\n"
3691 "    }\n"
3692 "}\n"
3693 msgstr ""
3694
3695 #. type: Plain text
3696 #: build/C/man3/getaddrinfo_a.3:543
3697 #, no-wrap
3698 msgid ""
3699 "/* List all requests */\n"
3700 "static void\n"
3701 "list_requests(void)\n"
3702 "{\n"
3703 "    int i, ret;\n"
3704 "    char host[NI_MAXHOST];\n"
3705 "    struct addrinfo *res;\n"
3706 msgstr ""
3707
3708 #. type: Plain text
3709 #: build/C/man3/getaddrinfo_a.3:547
3710 #, no-wrap
3711 msgid ""
3712 "    for (i = 0; i E<lt> nreqs; i++) {\n"
3713 "        printf(\"[%02d] %s: \", i, reqs[i]-E<gt>ar_name);\n"
3714 "        ret = gai_error(reqs[i]);\n"
3715 msgstr ""
3716
3717 #. type: Plain text
3718 #: build/C/man3/getaddrinfo_a.3:550
3719 #, no-wrap
3720 msgid ""
3721 "        if (!ret) {\n"
3722 "            res = reqs[i]-E<gt>ar_result;\n"
3723 msgstr ""
3724
3725 #. type: Plain text
3726 #: build/C/man3/getaddrinfo_a.3:565
3727 #, no-wrap
3728 msgid ""
3729 "            ret = getnameinfo(res-E<gt>ai_addr, res-E<gt>ai_addrlen,\n"
3730 "                              host, sizeof(host),\n"
3731 "                              NULL, 0, NI_NUMERICHOST);\n"
3732 "            if (ret) {\n"
3733 "                fprintf(stderr, \"getnameinfo() failed: %s\\en\",\n"
3734 "                        gai_strerror(ret));\n"
3735 "                exit(EXIT_FAILURE);\n"
3736 "            }\n"
3737 "            puts(host);\n"
3738 "        } else {\n"
3739 "            puts(gai_strerror(ret));\n"
3740 "        }\n"
3741 "    }\n"
3742 "}\n"
3743 msgstr ""
3744
3745 #. type: Plain text
3746 #: build/C/man3/getaddrinfo_a.3:571
3747 #, no-wrap
3748 msgid ""
3749 "int\n"
3750 "main(int argc, char *argv[])\n"
3751 "{\n"
3752 "    char *cmdline;\n"
3753 "    char *cmd;\n"
3754 msgstr ""
3755
3756 #. type: Plain text
3757 #: build/C/man3/getaddrinfo_a.3:574
3758 #, no-wrap
3759 msgid ""
3760 "    while ((cmdline = getcmd()) != NULL) {\n"
3761 "        cmd = strtok(cmdline, \" \");\n"
3762 msgstr ""
3763
3764 #. type: Plain text
3765 #: build/C/man3/getaddrinfo_a.3:599
3766 #, no-wrap
3767 msgid ""
3768 "        if (cmd == NULL) {\n"
3769 "            list_requests();\n"
3770 "        } else {\n"
3771 "            switch (cmd[0]) {\n"
3772 "            case \\(aqa\\(aq:\n"
3773 "                add_requests();\n"
3774 "                break;\n"
3775 "            case \\(aqw\\(aq:\n"
3776 "                wait_requests();\n"
3777 "                break;\n"
3778 "            case \\(aqc\\(aq:\n"
3779 "                cancel_requests();\n"
3780 "                break;\n"
3781 "            case \\(aql\\(aq:\n"
3782 "                list_requests();\n"
3783 "                break;\n"
3784 "            default:\n"
3785 "                fprintf(stderr, \"Bad command: %c\\en\", cmd[0]);\n"
3786 "                break;\n"
3787 "            }\n"
3788 "        }\n"
3789 "    }\n"
3790 "    exit(EXIT_SUCCESS);\n"
3791 "}\n"
3792 msgstr ""
3793
3794 #. type: Plain text
3795 #: build/C/man3/getaddrinfo_a.3:607
3796 msgid ""
3797 "B<getaddrinfo>(3), B<inet>(3), B<lio_listio>(3), B<hostname>(7), B<ip>(7), "
3798 "B<sigevent>(7)"
3799 msgstr ""
3800
3801 #. type: TH
3802 #: build/C/man1/getent.1:24
3803 #, no-wrap
3804 msgid "GETENT"
3805 msgstr ""
3806
3807 #. type: TH
3808 #: build/C/man1/getent.1:24
3809 #, no-wrap
3810 msgid "2013-03-15"
3811 msgstr ""
3812
3813 #. type: TH
3814 #: build/C/man1/getent.1:24
3815 #, no-wrap
3816 msgid "User Commands"
3817 msgstr ""
3818
3819 #. type: Plain text
3820 #: build/C/man1/getent.1:27
3821 msgid "getent - get entries from Name Service Switch libraries"
3822 msgstr ""
3823
3824 #. type: Plain text
3825 #: build/C/man1/getent.1:30
3826 msgid "B<getent> I<database> [I<key> ...]"
3827 msgstr ""
3828
3829 #. type: Plain text
3830 #: build/C/man1/getent.1:45
3831 msgid ""
3832 "The B<getent> command displays entries from databases supported by the Name "
3833 "Service Switch libraries, which are configured in I</etc/nsswitch.conf>.  If "
3834 "one or more I<key> arguments are provided, then only the entries that match "
3835 "the supplied keys will be displayed.  Otherwise, if no I<key> is provided, "
3836 "all entries will be displayed (unless the database does not support "
3837 "enumeration)."
3838 msgstr ""
3839
3840 #. type: Plain text
3841 #: build/C/man1/getent.1:49
3842 msgid ""
3843 "The I<database> may be any of those supported by the GNU C Library, listed "
3844 "below:"
3845 msgstr ""
3846
3847 #. type: TP
3848 #: build/C/man1/getent.1:50
3849 #, no-wrap
3850 msgid "B<ahosts>"
3851 msgstr ""
3852
3853 #. type: Plain text
3854 #: build/C/man1/getent.1:71
3855 msgid ""
3856 "When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and "
3857 "B<endhostent>(3)  to enumerate the hosts database.  This is identical to "
3858 "using B<hosts>.  When one or more I<key> arguments are provided, pass each "
3859 "I<key> in succession to B<getaddrinfo>(3)  with the address family "
3860 "B<AF_UNSPEC>, enumerating each socket address structure returned."
3861 msgstr ""
3862
3863 #. type: TP
3864 #: build/C/man1/getent.1:71
3865 #, no-wrap
3866 msgid "B<ahostsv4>"
3867 msgstr ""
3868
3869 #. type: Plain text
3870 #: build/C/man1/getent.1:77
3871 msgid "Same as B<ahosts>, but use the address family B<AF_INET>."
3872 msgstr ""
3873
3874 #. type: TP
3875 #: build/C/man1/getent.1:77
3876 #, no-wrap
3877 msgid "B<ahostsv6>"
3878 msgstr ""
3879
3880 #. type: Plain text
3881 #: build/C/man1/getent.1:88
3882 msgid ""
3883 "Same as B<ahosts>, but use the address family B<AF_INET6>.  The call to "
3884 "B<getaddrinfo>(3)  in this case includes the B<AI_V4MAPPED> flag."
3885 msgstr ""
3886
3887 #. type: TP
3888 #: build/C/man1/getent.1:88 build/C/man5/nsswitch.conf.5:44
3889 #, no-wrap
3890 msgid "B<aliases>"
3891 msgstr ""
3892
3893 #. type: Plain text
3894 #: build/C/man1/getent.1:105
3895 msgid ""
3896 "When no I<key> is provided, use B<setaliasent>(3), B<getaliasent>(3), and "
3897 "B<endaliasent>(3)  to enumerate the aliases database.  When one or more "
3898 "I<key> arguments are provided, pass each I<key> in succession to "
3899 "B<getaliasbyname>(3)  and display the result."
3900 msgstr ""
3901
3902 #. type: TP
3903 #: build/C/man1/getent.1:105 build/C/man5/nsswitch.conf.5:49
3904 #, no-wrap
3905 msgid "B<ethers>"
3906 msgstr ""
3907
3908 #. type: Plain text
3909 #: build/C/man1/getent.1:121
3910 msgid ""
3911 "When one or more I<key> arguments are provided, pass each I<key> in "
3912 "succession to B<ether_aton>(3)  and B<ether_hostton>(3)  until a result is "
3913 "obtained, and display the result.  Enumeration is not supported on "
3914 "B<ethers>, so a I<key> must be provided."
3915 msgstr ""
3916
3917 #. type: TP
3918 #: build/C/man1/getent.1:121 build/C/man5/nsswitch.conf.5:52
3919 #, no-wrap
3920 msgid "B<group>"
3921 msgstr ""
3922
3923 #. type: Plain text
3924 #: build/C/man1/getent.1:142
3925 msgid ""
3926 "When no I<key> is provided, use B<setgrent>(3), B<getgrent>(3), and "
3927 "B<endgrent>(3)  to enumerate the group database.  When one or more I<key> "
3928 "arguments are provided, pass each numeric I<key> to B<getgrgid>(3)  and each "
3929 "nonnumeric I<key> to B<getgrnam>(3)  and display the result."
3930 msgstr ""
3931
3932 #. type: TP
3933 #: build/C/man1/getent.1:142
3934 #, no-wrap
3935 msgid "B<gshadow>"
3936 msgstr ""
3937
3938 #. type: Plain text
3939 #: build/C/man1/getent.1:159
3940 msgid ""
3941 "When no I<key> is provided, use B<setsgent>(3), B<getsgent>(3), and "
3942 "B<endsgent>(3)  to enumerate the gshadow database.  When one or more I<key> "
3943 "arguments are provided, pass each I<key> in succession to B<getsgnam>(3)  "
3944 "and display the result."
3945 msgstr ""
3946
3947 #. type: TP
3948 #: build/C/man1/getent.1:159 build/C/man5/nsswitch.conf.5:57
3949 #, no-wrap
3950 msgid "B<hosts>"
3951 msgstr ""
3952
3953 #. type: Plain text
3954 #: build/C/man1/getent.1:182
3955 msgid ""
3956 "When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and "
3957 "B<endhostent>(3)  to enumerate the hosts database.  When one or more I<key> "
3958 "arguments are provided, pass each I<key> to B<gethostbyaddr>(3)  or "
3959 "B<gethostbyname2>(3), depending on whether a call to B<inet_pton>(3)  "
3960 "indicates that the I<key> is an IPv6 or IPv4 address or not, and display the "
3961 "result."
3962 msgstr ""
3963
3964 #. type: TP
3965 #: build/C/man1/getent.1:182 build/C/man5/nsswitch.conf.5:62
3966 #, no-wrap
3967 msgid "B<initgroups>"
3968 msgstr ""
3969
3970 #. type: Plain text
3971 #: build/C/man1/getent.1:196
3972 msgid ""
3973 "When one or more I<key> arguments are provided, pass each I<key> in "
3974 "succession to B<getgrouplist>(3)  and display the result.  Enumeration is "
3975 "not supported on B<initgroups>, so a I<key> must be provided."
3976 msgstr ""
3977
3978 #. type: TP
3979 #: build/C/man1/getent.1:196 build/C/man5/nsswitch.conf.5:67
3980 #, no-wrap
3981 msgid "B<netgroup>"
3982 msgstr ""
3983
3984 #. type: Plain text
3985 #: build/C/man1/getent.1:222
3986 msgid ""
3987 "When one I<key> is provided, pass the I<key> to B<setnetgrent>(3)  and, "
3988 "using B<getnetgrent>(3)  display the resulting string triple (I<hostname>, "
3989 "I<username>, I<domainname>).  Alternatively, three I<keys> may be provided, "
3990 "which are interpreted as the I<hostname>, I<username> and I<domainname> to "
3991 "match to a netgroup name via B<innetgr>(3).  Enumeration is not supported on "
3992 "B<netgroup>, so either one or three I<keys> must be provided."
3993 msgstr ""
3994
3995 #. type: TP
3996 #: build/C/man1/getent.1:222 build/C/man5/nsswitch.conf.5:71
3997 #, no-wrap
3998 msgid "B<networks>"
3999 msgstr ""
4000
4001 #. type: Plain text
4002 #: build/C/man1/getent.1:243
4003 msgid ""
4004 "When no I<key> is provided, use B<setnetent>(3), B<getnetent>(3), and "
4005 "B<endnetent>(3)  to enumerate the networks database.  When one or more "
4006 "I<key> arguments are provided, pass each numeric I<key> to "
4007 "B<getnetbyaddr>(3)  and each nonnumeric I<key> to B<getnetbyname>(3)  and "
4008 "display the result."
4009 msgstr ""
4010
4011 #. type: TP
4012 #: build/C/man1/getent.1:243 build/C/man5/nsswitch.conf.5:76
4013 #, no-wrap
4014 msgid "B<passwd>"
4015 msgstr ""
4016
4017 #. type: Plain text
4018 #: build/C/man1/getent.1:264
4019 msgid ""
4020 "When no I<key> is provided, use B<setpwent>(3), B<getpwent>(3), and "
4021 "B<endpwent>(3)  to enumerate the passwd database.  When one or more I<key> "
4022 "arguments are provided, pass each numeric I<key> to B<getpwuid>(3)  and each "
4023 "nonnumeric I<key> to B<getpwnam>(3)  and display the result."
4024 msgstr ""
4025
4026 #. type: TP
4027 #: build/C/man1/getent.1:264 build/C/man5/nsswitch.conf.5:81
4028 #, no-wrap
4029 msgid "B<protocols>"
4030 msgstr ""
4031
4032 #. type: Plain text
4033 #: build/C/man1/getent.1:285
4034 msgid ""
4035 "When no I<key> is provided, use B<setprotoent>(3), B<getprotoent>(3), and "
4036 "B<endprotoent>(3)  to enumerate the protocols database.  When one or more "
4037 "I<key> arguments are provided, pass each numeric I<key> to "
4038 "B<getprotobynumber>(3)  and each nonnumeric I<key> to B<getprotobyname>(3)  "
4039 "and display the result."
4040 msgstr ""
4041
4042 #. type: TP
4043 #: build/C/man1/getent.1:285 build/C/man5/nsswitch.conf.5:89
4044 #, no-wrap
4045 msgid "B<rpc>"
4046 msgstr ""
4047
4048 #. type: Plain text
4049 #: build/C/man1/getent.1:306
4050 msgid ""
4051 "When no I<key> is provided, use B<setrpcent>(3), B<getrpcent>(3), and "
4052 "B<endrpcent>(3)  to enumerate the rpc database.  When one or more I<key> "
4053 "arguments are provided, pass each numeric I<key> to B<getrpcbynumber>(3)  "
4054 "and each nonnumeric I<key> to B<getrpcbyname>(3)  and display the result."
4055 msgstr ""
4056
4057 #. type: TP
4058 #: build/C/man1/getent.1:306 build/C/man5/nsswitch.conf.5:94
4059 #, no-wrap
4060 msgid "B<services>"
4061 msgstr ""
4062
4063 #. type: Plain text
4064 #: build/C/man1/getent.1:327
4065 msgid ""
4066 "When no I<key> is provided, use B<setservent>(3), B<getservent>(3), and "
4067 "B<endservent>(3)  to enumerate the services database.  When one or more "
4068 "I<key> arguments are provided, pass each numeric I<key> to "
4069 "B<getservbynumber>(3)  and each nonnumeric I<key> to B<getservbyname>(3)  "
4070 "and display the result."
4071 msgstr ""
4072
4073 #. type: TP
4074 #: build/C/man1/getent.1:327 build/C/man5/nsswitch.conf.5:99
4075 #, no-wrap
4076 msgid "B<shadow>"
4077 msgstr ""
4078
4079 #. type: Plain text
4080 #: build/C/man1/getent.1:344
4081 msgid ""
4082 "When no I<key> is provided, use B<setspent>(3), B<getspent>(3), and "
4083 "B<endspent>(3)  to enumerate the shadow database.  When one or more I<key> "
4084 "arguments are provided, pass each I<key> in succession to B<getspnam>(3)  "
4085 "and display the result."
4086 msgstr ""
4087
4088 #. type: SH
4089 #: build/C/man1/getent.1:345
4090 #, no-wrap
4091 msgid "EXIT STATUS"
4092 msgstr ""
4093
4094 #. type: Plain text
4095 #: build/C/man1/getent.1:348
4096 msgid "One of the following exit values can be returned by B<getent>:"
4097 msgstr ""
4098
4099 #. type: TP
4100 #: build/C/man1/getent.1:349
4101 #, no-wrap
4102 msgid "B<0>"
4103 msgstr ""
4104
4105 #. type: Plain text
4106 #: build/C/man1/getent.1:352
4107 msgid "Command completed successfully."
4108 msgstr ""
4109
4110 #. type: TP
4111 #: build/C/man1/getent.1:352
4112 #, no-wrap
4113 msgid "B<1>"
4114 msgstr ""
4115
4116 #. type: Plain text
4117 #: build/C/man1/getent.1:357
4118 msgid "Missing arguments, or I<database> unknown."
4119 msgstr ""
4120
4121 #. type: TP
4122 #: build/C/man1/getent.1:357
4123 #, no-wrap
4124 msgid "B<2>"
4125 msgstr ""
4126
4127 #. type: Plain text
4128 #: build/C/man1/getent.1:363
4129 msgid "One or more supplied I<key> could not be found in the I<database>."
4130 msgstr ""
4131
4132 #. type: TP
4133 #: build/C/man1/getent.1:363
4134 #, no-wrap
4135 msgid "B<3>"
4136 msgstr ""
4137
4138 #. type: Plain text
4139 #: build/C/man1/getent.1:367
4140 msgid "Enumeration not supported on this I<database>."
4141 msgstr ""
4142
4143 #. type: Plain text
4144 #: build/C/man1/getent.1:370
4145 msgid "B<nsswitch.conf>(5)"
4146 msgstr ""
4147
4148 #. type: TH
4149 #: build/C/man3/gethostbyname.3:38
4150 #, no-wrap
4151 msgid "GETHOSTBYNAME"
4152 msgstr ""
4153
4154 #. type: TH
4155 #: build/C/man3/gethostbyname.3:38
4156 #, no-wrap
4157 msgid "2010-10-04"
4158 msgstr ""
4159
4160 #. type: Plain text
4161 #: build/C/man3/gethostbyname.3:46
4162 msgid ""
4163 "gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno, "
4164 "herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r, "
4165 "gethostbyname_r, gethostent_r - get network host entry"
4166 msgstr ""
4167
4168 #. type: Plain text
4169 #: build/C/man3/gethostbyname.3:50
4170 #, no-wrap
4171 msgid ""
4172 "B<#include E<lt>netdb.hE<gt>>\n"
4173 "B<extern int h_errno;>\n"
4174 msgstr ""
4175
4176 #. type: Plain text
4177 #: build/C/man3/gethostbyname.3:52
4178 #, no-wrap
4179 msgid "B<struct hostent *gethostbyname(const char *>I<name>B<);>\n"
4180 msgstr ""
4181
4182 #. type: Plain text
4183 #: build/C/man3/gethostbyname.3:56
4184 #, no-wrap
4185 msgid ""
4186 "B<#include E<lt>sys/socket.hE<gt>>       /* for AF_INET */\n"
4187 "B<struct hostent *gethostbyaddr(const void *>I<addr>B<,>\n"
4188 "B<                              socklen_t >I<len>B<, int >I<type>B<);>\n"
4189 msgstr ""
4190
4191 #. type: Plain text
4192 #: build/C/man3/gethostbyname.3:58
4193 #, no-wrap
4194 msgid "B<void sethostent(int >I<stayopen>B<);>\n"
4195 msgstr ""
4196
4197 #. type: Plain text
4198 #: build/C/man3/gethostbyname.3:60
4199 #, no-wrap
4200 msgid "B<void endhostent(void);>\n"
4201 msgstr ""
4202
4203 #. type: Plain text
4204 #: build/C/man3/gethostbyname.3:62
4205 #, no-wrap
4206 msgid "B<void herror(const char *>I<s>B<);>\n"
4207 msgstr ""
4208
4209 #. type: Plain text
4210 #: build/C/man3/gethostbyname.3:64
4211 #, no-wrap
4212 msgid "B<const char *hstrerror(int >I<err>B<);>\n"
4213 msgstr ""
4214
4215 #. type: Plain text
4216 #: build/C/man3/gethostbyname.3:66
4217 #, no-wrap
4218 msgid "/* System V/POSIX extension */\n"
4219 msgstr ""
4220
4221 #. type: Plain text
4222 #: build/C/man3/gethostbyname.3:68
4223 #, no-wrap
4224 msgid "B<struct hostent *gethostent(void);>\n"
4225 msgstr ""
4226
4227 #. type: Plain text
4228 #: build/C/man3/gethostbyname.3:72
4229 #, no-wrap
4230 msgid "B<struct hostent *gethostbyname2(const char *>I<name>B<, int >I<af>B<);>\n"
4231 msgstr ""
4232
4233 #. type: Plain text
4234 #: build/C/man3/gethostbyname.3:76
4235 #, no-wrap
4236 msgid ""
4237 "B<int gethostent_r(>\n"
4238 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t "
4239 ">I<buflen>B<,>\n"
4240 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4241 msgstr ""
4242
4243 #. type: Plain text
4244 #: build/C/man3/gethostbyname.3:80
4245 #, no-wrap
4246 msgid ""
4247 "B<int gethostbyaddr_r(const void *>I<addr>B<, socklen_t >I<len>B<, int "
4248 ">I<type>B<,>\n"
4249 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t "
4250 ">I<buflen>B<,>\n"
4251 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4252 msgstr ""
4253
4254 #. type: Plain text
4255 #: build/C/man3/gethostbyname.3:84
4256 #, no-wrap
4257 msgid ""
4258 "B<int gethostbyname_r(const char *>I<name>B<,>\n"
4259 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t "
4260 ">I<buflen>B<,>\n"
4261 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4262 msgstr ""
4263
4264 #. type: Plain text
4265 #: build/C/man3/gethostbyname.3:88
4266 #, no-wrap
4267 msgid ""
4268 "B<int gethostbyname2_r(const char *>I<name>B<, int >I<af,>\n"
4269 "B<        struct hostent *>I<ret>B<, char *>I<buf>B<, size_t "
4270 ">I<buflen>B<,>\n"
4271 "B<        struct hostent **>I<result>B<, int *>I<h_errnop>B<);>\n"
4272 msgstr ""
4273
4274 #. type: Plain text
4275 #: build/C/man3/gethostbyname.3:102
4276 msgid ""
4277 "B<gethostbyname2>(), B<gethostent_r>(), B<gethostbyaddr_r>(), "
4278 "B<gethostbyname_r>(), B<gethostbyname2_r>():"
4279 msgstr ""
4280
4281 #. type: Plain text
4282 #: build/C/man3/gethostbyname.3:104 build/C/man3/getnetent_r.3:60 build/C/man3/getprotoent_r.3:57 build/C/man3/getservent_r.3:57
4283 msgid "_BSD_SOURCE || _SVID_SOURCE"
4284 msgstr ""
4285
4286 #. type: Plain text
4287 #: build/C/man3/gethostbyname.3:108
4288 msgid "B<herror>(), B<hstrerror>():"
4289 msgstr ""
4290
4291 #. type: TP
4292 #: build/C/man3/gethostbyname.3:109
4293 #, no-wrap
4294 msgid "Since glibc 2.8:"
4295 msgstr ""
4296
4297 #. type: Plain text
4298 #: build/C/man3/gethostbyname.3:112
4299 msgid "_BSD_SOURCE || _SVID_SOURCE || _GNU_SOURCE"
4300 msgstr ""
4301
4302 #. type: TP
4303 #: build/C/man3/gethostbyname.3:112
4304 #, no-wrap
4305 msgid "Before glibc 2.8:"
4306 msgstr ""
4307
4308 #. type: Plain text
4309 #: build/C/man3/gethostbyname.3:115
4310 msgid "none"
4311 msgstr ""
4312
4313 #. type: Plain text
4314 #: build/C/man3/gethostbyname.3:129
4315 msgid ""
4316 "The B<gethostbyname*>()  and B<gethostbyaddr*>()  functions are obsolete.  "
4317 "Applications should use B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead."
4318 msgstr ""
4319
4320 #. type: Plain text
4321 #: build/C/man3/gethostbyname.3:170
4322 msgid ""
4323 "The B<gethostbyname>()  function returns a structure of type I<hostent> for "
4324 "the given host I<name>.  Here I<name> is either a hostname, or an IPv4 "
4325 "address in standard dot notation (as for B<inet_addr>(3)), or an IPv6 "
4326 "address in colon (and possibly dot) notation.  (See RFC\\ 1884 for the "
4327 "description of IPv6 addresses.)  If I<name> is an IPv4 or IPv6 address, no "
4328 "lookup is performed and B<gethostbyname>()  simply copies I<name> into the "
4329 "I<h_name> field and its I<struct in_addr> equivalent into the "
4330 "I<h_addr_list[0]> field of the returned I<hostent> structure.  If I<name> "
4331 "doesn't end in a dot and the environment variable B<HOSTALIASES> is set, the "
4332 "alias file pointed to by B<HOSTALIASES> will first be searched for I<name> "
4333 "(see B<hostname>(7)  for the file format).  The current domain and its "
4334 "parents are searched unless I<name> ends in a dot."
4335 msgstr ""
4336
4337 #. type: Plain text
4338 #: build/C/man3/gethostbyname.3:186
4339 msgid ""
4340 "The B<gethostbyaddr>()  function returns a structure of type I<hostent> for "
4341 "the given host address I<addr> of length I<len> and address type I<type>.  "
4342 "Valid address types are B<AF_INET> and B<AF_INET6>.  The host address "
4343 "argument is a pointer to a struct of a type depending on the address type, "
4344 "for example a I<struct in_addr *> (probably obtained via a call to "
4345 "B<inet_addr>(3))  for address type B<AF_INET>."
4346 msgstr ""
4347
4348 #. type: Plain text
4349 #: build/C/man3/gethostbyname.3:193
4350 msgid ""
4351 "The B<sethostent>()  function specifies, if I<stayopen> is true (1), that a "
4352 "connected TCP socket should be used for the name server queries and that the "
4353 "connection should remain open during successive queries.  Otherwise, name "
4354 "server queries will use UDP datagrams."
4355 msgstr ""
4356
4357 #. type: Plain text
4358 #: build/C/man3/gethostbyname.3:198
4359 msgid ""
4360 "The B<endhostent>()  function ends the use of a TCP connection for name "
4361 "server queries."
4362 msgstr ""
4363
4364 #. type: Plain text
4365 #: build/C/man3/gethostbyname.3:203
4366 msgid ""
4367 "The (obsolete)  B<herror>()  function prints the error message associated "
4368 "with the current value of I<h_errno> on I<stderr>."
4369 msgstr ""
4370
4371 #. type: Plain text
4372 #: build/C/man3/gethostbyname.3:208
4373 msgid ""
4374 "The (obsolete)  B<hstrerror>()  function takes an error number (typically "
4375 "I<h_errno>) and returns the corresponding message string."
4376 msgstr ""
4377
4378 #.  (See
4379 #.  .BR resolv+ (8)).
4380 #. type: Plain text
4381 #: build/C/man3/gethostbyname.3:225
4382 msgid ""
4383 "The domain name queries carried out by B<gethostbyname>()  and "
4384 "B<gethostbyaddr>()  use a combination of any or all of the name server "
4385 "B<named>(8), a broken out line from I</etc/hosts>, and the Network "
4386 "Information Service (NIS or YP), depending upon the contents of the I<order> "
4387 "line in I</etc/host.conf>.  The default action is to query B<named>(8), "
4388 "followed by I</etc/hosts>."
4389 msgstr ""
4390
4391 #. type: Plain text
4392 #: build/C/man3/gethostbyname.3:227
4393 msgid "The I<hostent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
4394 msgstr ""
4395
4396 #. type: Plain text
4397 #: build/C/man3/gethostbyname.3:239
4398 #, no-wrap
4399 msgid ""
4400 "struct hostent {\n"
4401 "    char  *h_name;            /* official name of host */\n"
4402 "    char **h_aliases;         /* alias list */\n"
4403 "    int    h_addrtype;        /* host address type */\n"
4404 "    int    h_length;          /* length of address */\n"
4405 "    char **h_addr_list;       /* list of addresses */\n"
4406 "}\n"
4407 "#define h_addr h_addr_list[0] /* for backward compatibility */\n"
4408 msgstr ""
4409
4410 #. type: Plain text
4411 #: build/C/man3/gethostbyname.3:243
4412 msgid "The members of the I<hostent> structure are:"
4413 msgstr ""
4414
4415 #. type: TP
4416 #: build/C/man3/gethostbyname.3:243 build/C/man3/getipnodebyname.3:210
4417 #, no-wrap
4418 msgid "I<h_name>"
4419 msgstr ""
4420
4421 #. type: Plain text
4422 #: build/C/man3/gethostbyname.3:246
4423 msgid "The official name of the host."
4424 msgstr ""
4425
4426 #. type: TP
4427 #: build/C/man3/gethostbyname.3:246 build/C/man3/getipnodebyname.3:213
4428 #, no-wrap
4429 msgid "I<h_aliases>"
4430 msgstr ""
4431
4432 #. type: Plain text
4433 #: build/C/man3/gethostbyname.3:249
4434 msgid "An array of alternative names for the host, terminated by a NULL pointer."
4435 msgstr ""
4436
4437 #. type: TP
4438 #: build/C/man3/gethostbyname.3:249 build/C/man3/getipnodebyname.3:217
4439 #, no-wrap
4440 msgid "I<h_addrtype>"
4441 msgstr ""
4442
4443 #. type: Plain text
4444 #: build/C/man3/gethostbyname.3:256
4445 msgid "The type of address; always B<AF_INET> or B<AF_INET6> at present."
4446 msgstr ""
4447
4448 #. type: TP
4449 #: build/C/man3/gethostbyname.3:256 build/C/man3/getipnodebyname.3:239
4450 #, no-wrap
4451 msgid "I<h_length>"
4452 msgstr ""
4453
4454 #. type: Plain text
4455 #: build/C/man3/gethostbyname.3:259
4456 msgid "The length of the address in bytes."
4457 msgstr ""
4458
4459 #. type: TP
4460 #: build/C/man3/gethostbyname.3:259 build/C/man3/getipnodebyname.3:253
4461 #, no-wrap
4462 msgid "I<h_addr_list>"
4463 msgstr ""
4464
4465 #. type: Plain text
4466 #: build/C/man3/gethostbyname.3:263
4467 msgid ""
4468 "An array of pointers to network addresses for the host (in network byte "
4469 "order), terminated by a NULL pointer."
4470 msgstr ""
4471
4472 #. type: TP
4473 #: build/C/man3/gethostbyname.3:263
4474 #, no-wrap
4475 msgid "I<h_addr>"
4476 msgstr ""
4477
4478 #. type: Plain text
4479 #: build/C/man3/gethostbyname.3:266
4480 msgid "The first address in I<h_addr_list> for backward compatibility."
4481 msgstr ""
4482
4483 #. type: Plain text
4484 #: build/C/man3/gethostbyname.3:278
4485 msgid ""
4486 "The B<gethostbyname>()  and B<gethostbyaddr>()  functions return the "
4487 "I<hostent> structure or a NULL pointer if an error occurs.  On error, the "
4488 "I<h_errno> variable holds an error number.  When non-NULL, the return value "
4489 "may point at static data, see the notes below."
4490 msgstr ""
4491
4492 #. type: Plain text
4493 #: build/C/man3/gethostbyname.3:280
4494 msgid "The variable I<h_errno> can have the following values:"
4495 msgstr ""
4496
4497 #. type: TP
4498 #: build/C/man3/gethostbyname.3:280 build/C/man3/getipnodebyname.3:190
4499 #, no-wrap
4500 msgid "B<HOST_NOT_FOUND>"
4501 msgstr ""
4502
4503 #. type: Plain text
4504 #: build/C/man3/gethostbyname.3:283
4505 msgid "The specified host is unknown."
4506 msgstr ""
4507
4508 #. type: TP
4509 #: build/C/man3/gethostbyname.3:283
4510 #, no-wrap
4511 msgid "B<NO_ADDRESS> or B<NO_DATA>"
4512 msgstr ""
4513
4514 #. type: Plain text
4515 #: build/C/man3/gethostbyname.3:286
4516 msgid "The requested name is valid but does not have an IP address."
4517 msgstr ""
4518
4519 #. type: TP
4520 #: build/C/man3/gethostbyname.3:286 build/C/man3/getipnodebyname.3:199
4521 #, no-wrap
4522 msgid "B<NO_RECOVERY>"
4523 msgstr ""
4524
4525 #. type: Plain text
4526 #: build/C/man3/gethostbyname.3:289
4527 msgid "A nonrecoverable name server error occurred."
4528 msgstr ""
4529
4530 #. type: TP
4531 #: build/C/man3/gethostbyname.3:289 build/C/man3/getipnodebyname.3:202
4532 #, no-wrap
4533 msgid "B<TRY_AGAIN>"
4534 msgstr ""
4535
4536 #. type: Plain text
4537 #: build/C/man3/gethostbyname.3:293
4538 msgid ""
4539 "A temporary error occurred on an authoritative name server.  Try again "
4540 "later."
4541 msgstr ""
4542
4543 #. type: TP
4544 #: build/C/man3/gethostbyname.3:294 build/C/man5/host.conf.5:181
4545 #, no-wrap
4546 msgid "I</etc/host.conf>"
4547 msgstr ""
4548
4549 #. type: Plain text
4550 #: build/C/man3/gethostbyname.3:297
4551 msgid "resolver configuration file"
4552 msgstr ""
4553
4554 #. type: Plain text
4555 #: build/C/man3/gethostbyname.3:297 build/C/man5/host.conf.5:187 build/C/man5/hosts.5:88
4556 #, no-wrap
4557 msgid "I</etc/hosts>"
4558 msgstr ""
4559
4560 #. type: Plain text
4561 #: build/C/man3/gethostbyname.3:300
4562 msgid "host database file"
4563 msgstr ""
4564
4565 #. type: Plain text
4566 #: build/C/man3/gethostbyname.3:300 build/C/man5/nsswitch.conf.5:306 build/C/man3/setnetgrent.3:92
4567 #, no-wrap
4568 msgid "I</etc/nsswitch.conf>"
4569 msgstr ""
4570
4571 #. type: Plain text
4572 #: build/C/man3/gethostbyname.3:303
4573 msgid "name service switch configuration"
4574 msgstr ""
4575
4576 #. type: Plain text
4577 #: build/C/man3/gethostbyname.3:327
4578 msgid ""
4579 "POSIX.1-2001 specifies B<gethostbyname>(), B<gethostbyaddr>(), "
4580 "B<sethostent>(), B<endhostent>(), B<gethostent>(), and I<h_errno>; "
4581 "B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno> are marked "
4582 "obsolescent in that standard.  POSIX.1-2008 removes the specifications of "
4583 "B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno>, recommending the use "
4584 "of B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead."
4585 msgstr ""
4586
4587 #. type: Plain text
4588 #: build/C/man3/gethostbyname.3:337
4589 msgid ""
4590 "The functions B<gethostbyname>()  and B<gethostbyaddr>()  may return "
4591 "pointers to static data, which may be overwritten by later calls.  Copying "
4592 "the I<struct hostent> does not suffice, since it contains pointers; a deep "
4593 "copy is required."
4594 msgstr ""
4595
4596 #. type: Plain text
4597 #: build/C/man3/gethostbyname.3:361
4598 msgid ""
4599 "In the original BSD implementation the I<len> argument of B<gethostbyname>()  "
4600 "was an I<int>.  The SUSv2 standard is buggy and declares the I<len> argument "
4601 "of B<gethostbyaddr>()  to be of type I<size_t>.  (That is wrong, because it "
4602 "has to be I<int>, and I<size_t> is not.  POSIX.1-2001 makes it I<socklen_t>, "
4603 "which is OK.)  See also B<accept>(2)."
4604 msgstr ""
4605
4606 #. type: Plain text
4607 #: build/C/man3/gethostbyname.3:367
4608 msgid ""
4609 "The BSD prototype for B<gethostbyaddr>()  uses I<const char *> for the first "
4610 "argument."
4611 msgstr ""
4612
4613 #. type: SS
4614 #: build/C/man3/gethostbyname.3:367
4615 #, no-wrap
4616 msgid "System V/POSIX extension"
4617 msgstr ""
4618
4619 #.  e.g., Linux, FreeBSD, UnixWare, HP-UX
4620 #.  e.g., FreeBSD, AIX
4621 #. type: Plain text
4622 #: build/C/man3/gethostbyname.3:384
4623 msgid ""
4624 "POSIX requires the B<gethostent>()  call, that should return the next entry "
4625 "in the host data base.  When using DNS/BIND this does not make much sense, "
4626 "but it may be reasonable if the host data base is a file that can be read "
4627 "line by line.  On many systems a routine of this name reads from the file "
4628 "I</etc/hosts>.  It may be available only when the library was built without "
4629 "DNS support.  The glibc version will ignore ipv6 entries.  This function is "
4630 "not reentrant, and glibc adds a reentrant version B<gethostent_r>()."
4631 msgstr ""
4632
4633 #. type: SS
4634 #: build/C/man3/gethostbyname.3:384
4635 #, no-wrap
4636 msgid "GNU extensions"
4637 msgstr ""
4638
4639 #. type: Plain text
4640 #: build/C/man3/gethostbyname.3:390
4641 msgid ""
4642 "Glibc2 also has a B<gethostbyname2>()  that works like B<gethostbyname>(), "
4643 "but permits to specify the address family to which the address must belong."
4644 msgstr ""
4645
4646 #. type: Plain text
4647 #: build/C/man3/gethostbyname.3:424
4648 msgid ""
4649 "Glibc2 also has reentrant versions B<gethostent_r>(), B<gethostbyaddr_r>(), "
4650 "B<gethostbyname_r>()  and B<gethostbyname2_r>().  The caller supplies a "
4651 "I<hostent> structure I<ret> which will be filled in on success, and a "
4652 "temporary work buffer I<buf> of size I<buflen>.  After the call, I<result> "
4653 "will point to the result on success.  In case of an error or if no entry is "
4654 "found I<result> will be NULL.  The functions return 0 on success and a "
4655 "nonzero error number on failure.  In addition to the errors returned by the "
4656 "nonreentrant versions of these functions, if I<buf> is too small, the "
4657 "functions will return B<ERANGE>, and the call should be retried with a "
4658 "larger buffer.  The global variable I<h_errno> is not modified, but the "
4659 "address of a variable in which to store error numbers is passed in "
4660 "I<h_errnop>."
4661 msgstr ""
4662
4663 #.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973
4664 #. type: Plain text
4665 #: build/C/man3/gethostbyname.3:429
4666 msgid ""
4667 "B<gethostbyname>()  does not recognize components of a dotted IPv4 address "
4668 "string that are expressed in hexadecimal."
4669 msgstr ""
4670
4671 #.  .BR getipnodebyaddr (3),
4672 #.  .BR getipnodebyname (3),
4673 #.  .BR resolv+ (8)
4674 #. type: Plain text
4675 #: build/C/man3/gethostbyname.3:443
4676 msgid ""
4677 "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet>(3), B<inet_ntop>(3), "
4678 "B<inet_pton>(3), B<resolver>(3), B<hosts>(5), B<nsswitch.conf>(5), "
4679 "B<hostname>(7), B<named>(8)"
4680 msgstr ""
4681
4682 #. type: TH
4683 #: build/C/man3/getipnodebyname.3:26
4684 #, no-wrap
4685 msgid "GETIPNODEBYNAME"
4686 msgstr ""
4687
4688 #. type: TH
4689 #: build/C/man3/getipnodebyname.3:26
4690 #, no-wrap
4691 msgid "2010-09-04"
4692 msgstr ""
4693
4694 #. type: Plain text
4695 #: build/C/man3/getipnodebyname.3:30
4696 msgid ""
4697 "getipnodebyname, getipnodebyaddr, freehostent - get network hostnames and "
4698 "addresses"
4699 msgstr ""
4700
4701 #. type: Plain text
4702 #: build/C/man3/getipnodebyname.3:38
4703 #, no-wrap
4704 msgid ""
4705 "B<struct hostent *getipnodebyname(const char *>I<name>B<, int >I<af>B<,>\n"
4706 "B<                                int >I<flags>B<, int *>I<error_num>B<);>\n"
4707 msgstr ""
4708
4709 #. type: Plain text
4710 #: build/C/man3/getipnodebyname.3:41
4711 #, no-wrap
4712 msgid ""
4713 "B<struct hostent *getipnodebyaddr(const void *>I<addr>B<, size_t "
4714 ">I<len>B<,>\n"
4715 "B<                                int >I<af>B<, int *>I<error_num>B<);>\n"
4716 msgstr ""
4717
4718 #. type: Plain text
4719 #: build/C/man3/getipnodebyname.3:43
4720 #, no-wrap
4721 msgid "B<void freehostent(struct hostent *>I<ip>B<);>\n"
4722 msgstr ""
4723
4724 #. type: Plain text
4725 #: build/C/man3/getipnodebyname.3:51
4726 msgid ""
4727 "These functions are deprecated (and unavailable in glibc).  Use "
4728 "B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead."
4729 msgstr ""
4730
4731 #. type: Plain text
4732 #: build/C/man3/getipnodebyname.3:59
4733 msgid ""
4734 "The B<getipnodebyname>()  and B<getipnodebyaddr>()  functions return the "
4735 "names and addresses of a network host.  These functions return a pointer to "
4736 "the following structure:"
4737 msgstr ""
4738
4739 #. type: Plain text
4740 #: build/C/man3/getipnodebyname.3:69
4741 #, no-wrap
4742 msgid ""
4743 "struct hostent {\n"
4744 "    char  *h_name;\n"
4745 "    char **h_aliases;\n"
4746 "    int    h_addrtype;\n"
4747 "    int    h_length;\n"
4748 "    char **h_addr_list;\n"
4749 "};\n"
4750 msgstr ""
4751
4752 #. type: Plain text
4753 #: build/C/man3/getipnodebyname.3:82
4754 msgid ""
4755 "These functions replace the B<gethostbyname>(3)  and B<gethostbyaddr>(3)  "
4756 "functions, which could only access the IPv4 network address family.  The "
4757 "B<getipnodebyname>()  and B<getipnodebyaddr>()  functions can access "
4758 "multiple network address families."
4759 msgstr ""
4760
4761 #. type: Plain text
4762 #: build/C/man3/getipnodebyname.3:93
4763 msgid ""
4764 "Unlike the B<gethostby> functions, these functions return pointers to "
4765 "dynamically allocated memory.  The B<freehostent>()  function is used to "
4766 "release the dynamically allocated memory after the caller no longer needs "
4767 "the I<hostent> structure."
4768 msgstr ""
4769
4770 #. type: SS
4771 #: build/C/man3/getipnodebyname.3:93
4772 #, no-wrap
4773 msgid "getipnodebyname() arguments"
4774 msgstr ""
4775
4776 #. type: Plain text
4777 #: build/C/man3/getipnodebyname.3:104
4778 msgid ""
4779 "The B<getipnodebyname>()  function looks up network addresses for the host "
4780 "specified by the I<name> argument.  The I<af> argument specifies one of the "
4781 "following values:"
4782 msgstr ""
4783
4784 #. type: TP
4785 #: build/C/man3/getipnodebyname.3:104 build/C/man3/getipnodebyname.3:166 build/C/man3/inet_ntop.3:57 build/C/man3/inet_pton.3:53
4786 #, no-wrap
4787 msgid "B<AF_INET>"
4788 msgstr ""
4789
4790 #. type: Plain text
4791 #: build/C/man3/getipnodebyname.3:110
4792 msgid ""
4793 "The I<name> argument points to a dotted-quad IPv4 address or a name of an "
4794 "IPv4 network host."
4795 msgstr ""
4796
4797 #. type: TP
4798 #: build/C/man3/getipnodebyname.3:110 build/C/man3/getipnodebyname.3:176 build/C/man3/inet_ntop.3:70 build/C/man3/inet_pton.3:67
4799 #, no-wrap
4800 msgid "B<AF_INET6>"
4801 msgstr ""
4802
4803 #. type: Plain text
4804 #: build/C/man3/getipnodebyname.3:116
4805 msgid ""
4806 "The I<name> argument points to a hexadecimal IPv6 address or a name of an "
4807 "IPv6 network host."
4808 msgstr ""
4809
4810 #. type: Plain text
4811 #: build/C/man3/getipnodebyname.3:125
4812 msgid ""
4813 "The I<flags> argument specifies additional options.  More than one option "
4814 "can be specified by bitwise OR-ing them together.  I<flags> should be set to "
4815 "0 if no options are desired."
4816 msgstr ""
4817
4818 #. type: TP
4819 #: build/C/man3/getipnodebyname.3:125
4820 #, no-wrap
4821 msgid "B<AI_V4MAPPED>"
4822 msgstr ""
4823
4824 #. type: Plain text
4825 #: build/C/man3/getipnodebyname.3:132
4826 msgid ""
4827 "This flag is used with B<AF_INET6> to request a query for IPv4 addresses "
4828 "instead of IPv6 addresses; the IPv4 addresses will be mapped to IPv6 "
4829 "addresses."
4830 msgstr ""
4831
4832 #. type: TP
4833 #: build/C/man3/getipnodebyname.3:132
4834 #, no-wrap
4835 msgid "B<AI_ALL>"
4836 msgstr ""
4837
4838 #. type: Plain text
4839 #: build/C/man3/getipnodebyname.3:138
4840 msgid ""
4841 "This flag is used with B<AI_V4MAPPED> to request a query for both IPv4 and "
4842 "IPv6 addresses.  Any IPv4 address found will be mapped to an IPv6 address."
4843 msgstr ""
4844
4845 #. type: TP
4846 #: build/C/man3/getipnodebyname.3:138
4847 #, no-wrap
4848 msgid "B<AI_ADDRCONFIG>"
4849 msgstr ""
4850
4851 #. type: Plain text
4852 #: build/C/man3/getipnodebyname.3:150
4853 msgid ""
4854 "This flag is used with B<AF_INET6> to further request that queries for IPv6 "
4855 "addresses should not be made unless the system has at least one IPv6 address "
4856 "assigned to a network interface, and that queries for IPv4 addresses should "
4857 "not be made unless the system has at least one IPv4 address assigned to a "
4858 "network interface.  This flag may be used by itself or with the "
4859 "B<AI_V4MAPPED> flag."
4860 msgstr ""
4861
4862 #. type: TP
4863 #: build/C/man3/getipnodebyname.3:150
4864 #, no-wrap
4865 msgid "B<AI_DEFAULT>"
4866 msgstr ""
4867
4868 #. type: Plain text
4869 #: build/C/man3/getipnodebyname.3:154
4870 msgid "This flag is equivalent to B<(AI_ADDRCONFIG | AI_V4MAPPED)>."
4871 msgstr ""
4872
4873 #. type: SS
4874 #: build/C/man3/getipnodebyname.3:154
4875 #, no-wrap
4876 msgid "getipnodebyaddr() arguments"
4877 msgstr ""
4878
4879 #. type: Plain text
4880 #: build/C/man3/getipnodebyname.3:166
4881 msgid ""
4882 "The B<getipnodebyaddr>()  function looks up the name of the host whose "
4883 "network address is specified by the I<addr> argument.  The I<af> argument "
4884 "specifies one of the following values:"
4885 msgstr ""
4886
4887 #. type: Plain text
4888 #: build/C/man3/getipnodebyname.3:176
4889 msgid ""
4890 "The I<addr> argument points to a I<struct in_addr> and I<len> must be set to "
4891 "I<sizeof(struct in_addr)>."
4892 msgstr ""
4893
4894 #. type: Plain text
4895 #: build/C/man3/getipnodebyname.3:186
4896 msgid ""
4897 "The I<addr> argument points to a I<struct in6_addr> and I<len> must be set "
4898 "to I<sizeof(struct in6_addr)>."
4899 msgstr ""
4900
4901 #. type: Plain text
4902 #: build/C/man3/getipnodebyname.3:190
4903 msgid ""
4904 "A NULL pointer is returned if an error occurred, and I<error_num> will "
4905 "contain an error code from the following list:"
4906 msgstr ""
4907
4908 #. type: Plain text
4909 #: build/C/man3/getipnodebyname.3:193
4910 msgid "The hostname or network address was not found."
4911 msgstr ""
4912
4913 #. type: TP
4914 #: build/C/man3/getipnodebyname.3:193
4915 #, no-wrap
4916 msgid "B<NO_ADDRESS>"
4917 msgstr ""
4918
4919 #. type: Plain text
4920 #: build/C/man3/getipnodebyname.3:199
4921 msgid ""
4922 "The domain name server recognized the network address or name, but no answer "
4923 "was returned.  This can happen if the network host has only IPv4 addresses "
4924 "and a request has been made for IPv6 information only, or vice versa."
4925 msgstr ""
4926
4927 #. type: Plain text
4928 #: build/C/man3/getipnodebyname.3:202
4929 msgid "The domain name server returned a permanent failure response."
4930 msgstr ""
4931
4932 #. type: Plain text
4933 #: build/C/man3/getipnodebyname.3:206
4934 msgid ""
4935 "The domain name server returned a temporary failure response.  You might "
4936 "have better luck next time."
4937 msgstr ""
4938
4939 #. type: Plain text
4940 #: build/C/man3/getipnodebyname.3:210
4941 msgid ""
4942 "A successful query returns a pointer to a I<hostent> structure that contains "
4943 "the following fields:"
4944 msgstr ""
4945
4946 #. type: Plain text
4947 #: build/C/man3/getipnodebyname.3:213
4948 msgid "This is the official name of this network host."
4949 msgstr ""
4950
4951 #. type: Plain text
4952 #: build/C/man3/getipnodebyname.3:217
4953 msgid ""
4954 "This is an array of pointers to unofficial aliases for the same host.  The "
4955 "array is terminated by a NULL pointer."
4956 msgstr ""
4957
4958 #. type: Plain text
4959 #: build/C/man3/getipnodebyname.3:239
4960 msgid ""
4961 "This is a copy of the I<af> argument to B<getipnodebyname>()  or "
4962 "B<getipnodebyaddr>().  I<h_addrtype> will always be B<AF_INET> if the I<af> "
4963 "argument was B<AF_INET>.  I<h_addrtype> will always be B<AF_INET6> if the "
4964 "I<af> argument was B<AF_INET6>."
4965 msgstr ""
4966
4967 #. type: Plain text
4968 #: build/C/man3/getipnodebyname.3:253
4969 msgid ""
4970 "This field will be set to I<sizeof(struct in_addr)> if I<h_addrtype> is "
4971 "B<AF_INET>, and to I<sizeof(struct in6_addr)> if I<h_addrtype> is "
4972 "B<AF_INET6>."
4973 msgstr ""
4974
4975 #. type: Plain text
4976 #: build/C/man3/getipnodebyname.3:258
4977 msgid ""
4978 "This is an array of one or more pointers to network address structures for "
4979 "the network host.  The array is terminated by a NULL pointer."
4980 msgstr ""
4981
4982 #.  Not in POSIX.1-2001.
4983 #. type: Plain text
4984 #: build/C/man3/getipnodebyname.3:261
4985 msgid "RFC\\ 2553."
4986 msgstr ""
4987
4988 #. type: Plain text
4989 #: build/C/man3/getipnodebyname.3:266
4990 msgid ""
4991 "These functions were present in glibc 2.1.91-95, but were removed again.  "
4992 "Several UNIX-like systems support them, but all call them deprecated."
4993 msgstr ""
4994
4995 #. type: Plain text
4996 #: build/C/man3/getipnodebyname.3:271
4997 msgid "B<getaddrinfo>(3), B<getnameinfo>(3), B<inet_ntop>(3), B<inet_pton>(3)"
4998 msgstr ""
4999
5000 #. type: TH
5001 #: build/C/man3/getnameinfo.3:10
5002 #, no-wrap
5003 msgid "GETNAMEINFO"
5004 msgstr ""
5005
5006 #. type: Plain text
5007 #: build/C/man3/getnameinfo.3:13
5008 msgid "getnameinfo - address-to-name translation in protocol-independent manner"
5009 msgstr ""
5010
5011 #. type: Plain text
5012 #: build/C/man3/getnameinfo.3:17
5013 #, no-wrap
5014 msgid ""
5015 "B<#include E<lt>sys/socket.hE<gt>>\n"
5016 "B<#include E<lt>netdb.hE<gt>>\n"
5017 msgstr ""
5018
5019 #. type: Plain text
5020 #: build/C/man3/getnameinfo.3:21
5021 #, no-wrap
5022 msgid ""
5023 "B<int getnameinfo(const struct sockaddr *>I<sa>B<, socklen_t >I<salen>B<,>\n"
5024 "B<                char *>I<host>B<, size_t >I<hostlen>B<,>\n"
5025 "B<                char *>I<serv>B<, size_t >I<servlen>B<, int "
5026 ">I<flags>B<);>\n"
5027 msgstr ""
5028
5029 #. type: Plain text
5030 #: build/C/man3/getnameinfo.3:31
5031 msgid ""
5032 "B<getnameinfo>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
5033 "_POSIX_SOURCE"
5034 msgstr ""
5035
5036 #. type: Plain text
5037 #: build/C/man3/getnameinfo.3:47
5038 msgid ""
5039 "The B<getnameinfo>()  function is the inverse of B<getaddrinfo>(3): it "
5040 "converts a socket address to a corresponding host and service, in a "
5041 "protocol-independent manner.  It combines the functionality of "
5042 "B<gethostbyaddr>(3)  and B<getservbyport>(3), but unlike those functions, "
5043 "B<getnameinfo>()  is reentrant and allows programs to eliminate "
5044 "IPv4-versus-IPv6 dependencies."
5045 msgstr ""
5046
5047 #. type: Plain text
5048 #: build/C/man3/getnameinfo.3:70
5049 msgid ""
5050 "The I<sa> argument is a pointer to a generic socket address structure (of "
5051 "type I<sockaddr_in> or I<sockaddr_in6>)  of size I<salen> that holds the "
5052 "input IP address and port number.  The arguments I<host> and I<serv> are "
5053 "pointers to caller-allocated buffers (of size I<hostlen> and I<servlen> "
5054 "respectively) into which B<getnameinfo>()  places null-terminated strings "
5055 "containing the host and service names respectively."
5056 msgstr ""
5057
5058 #. type: Plain text
5059 #: build/C/man3/getnameinfo.3:83
5060 msgid ""
5061 "The caller can specify that no hostname (or no service name)  is required by "
5062 "providing a NULL I<host> (or I<serv>)  argument or a zero I<hostlen> (or "
5063 "I<servlen>)  argument.  However, at least one of hostname or service name "
5064 "must be requested."
5065 msgstr ""
5066
5067 #. type: Plain text
5068 #: build/C/man3/getnameinfo.3:89
5069 msgid "The I<flags> argument modifies the behavior of B<getnameinfo>()  as follows:"
5070 msgstr ""
5071
5072 #. type: TP
5073 #: build/C/man3/getnameinfo.3:89
5074 #, no-wrap
5075 msgid "B<NI_NAMEREQD>"
5076 msgstr ""
5077
5078 #. type: Plain text
5079 #: build/C/man3/getnameinfo.3:92
5080 msgid "If set, then an error is returned if the hostname cannot be determined."
5081 msgstr ""
5082
5083 #. type: TP
5084 #: build/C/man3/getnameinfo.3:92
5085 #, no-wrap
5086 msgid "B<NI_DGRAM>"
5087 msgstr ""
5088
5089 #. type: Plain text
5090 #: build/C/man3/getnameinfo.3:98
5091 msgid ""
5092 "If set, then the service is datagram (UDP) based rather than stream (TCP) "
5093 "based.  This is required for the few ports (512-514)  that have different "
5094 "services for UDP and TCP."
5095 msgstr ""
5096
5097 #. type: TP
5098 #: build/C/man3/getnameinfo.3:98
5099 #, no-wrap
5100 msgid "B<NI_NOFQDN>"
5101 msgstr ""
5102
5103 #. type: Plain text
5104 #: build/C/man3/getnameinfo.3:102
5105 msgid ""
5106 "If set, return only the hostname part of the fully qualified domain name for "
5107 "local hosts."
5108 msgstr ""
5109
5110 #. type: TP
5111 #: build/C/man3/getnameinfo.3:102
5112 #, no-wrap
5113 msgid "B<NI_NUMERICHOST>"
5114 msgstr ""
5115
5116 #.  For example, by calling
5117 #.  .BR inet_ntop ()
5118 #.  instead of
5119 #.  .BR gethostbyaddr ().
5120 #.  POSIX.1-2003 has NI_NUMERICSCOPE, but glibc doesn't have it.
5121 #. type: Plain text
5122 #: build/C/man3/getnameinfo.3:112
5123 msgid ""
5124 "If set, then the numeric form of the hostname is returned.  (When not set, "
5125 "this will still happen in case the node's name cannot be determined.)"
5126 msgstr ""
5127
5128 #. type: TP
5129 #: build/C/man3/getnameinfo.3:112
5130 #, no-wrap
5131 msgid "B<NI_NUMERICSERV>"
5132 msgstr ""
5133
5134 #. type: Plain text
5135 #: build/C/man3/getnameinfo.3:117
5136 msgid ""
5137 "If set, then the numeric form of the service address is returned.  (When not "
5138 "set, this will still happen in case the service's name cannot be "
5139 "determined.)"
5140 msgstr ""
5141
5142 #. type: SS
5143 #: build/C/man3/getnameinfo.3:117
5144 #, no-wrap
5145 msgid "Extensions to getnameinfo() for Internationalized Domain Names"
5146 msgstr ""
5147
5148 #. type: Plain text
5149 #: build/C/man3/getnameinfo.3:126
5150 msgid ""
5151 "Starting with glibc 2.3.4, B<getnameinfo>()  has been extended to "
5152 "selectively allow hostnames to be transparently converted to and from the "
5153 "Internationalized Domain Name (IDN) format (see RFC 3490, "
5154 "I<Internationalizing Domain Names in Applications (IDNA)>).  Three new flags "
5155 "are defined:"
5156 msgstr ""
5157
5158 #. type: TP
5159 #: build/C/man3/getnameinfo.3:126
5160 #, no-wrap
5161 msgid "B<NI_IDN>"
5162 msgstr ""
5163
5164 #. type: Plain text
5165 #: build/C/man3/getnameinfo.3:132
5166 msgid ""
5167 "If this flag is used, then the name found in the lookup process is converted "
5168 "from IDN format to the locale's encoding if necessary.  ASCII-only names are "
5169 "not affected by the conversion, which makes this flag usable in existing "
5170 "programs and environments."
5171 msgstr ""
5172
5173 #. type: TP
5174 #: build/C/man3/getnameinfo.3:132
5175 #, no-wrap
5176 msgid "B<NI_IDN_ALLOW_UNASSIGNED>, B<NI_IDN_USE_STD3_ASCII_RULES>"
5177 msgstr ""
5178
5179 #.  FIXME glibc defines the following additional errors, some which
5180 #.  can probably be returned by getnameinfo(); they need to
5181 #.  be documented.
5182 #.  #ifdef __USE_GNU
5183 #.  #define EAI_INPROGRESS  -100  /* Processing request in progress.  */
5184 #.  #define EAI_CANCELED    -101  /* Request canceled.  */
5185 #.  #define EAI_NOTCANCELED -102  /* Request not canceled.  */
5186 #.  #define EAI_ALLDONE     -103  /* All requests done.  */
5187 #.  #define EAI_INTR        -104  /* Interrupted by a signal.  */
5188 #.  #define EAI_IDN_ENCODE  -105  /* IDN encoding failed.  */
5189 #.  #endif
5190 #. type: Plain text
5191 #: build/C/man3/getnameinfo.3:155
5192 msgid ""
5193 "On success 0 is returned, and node and service names, if requested, are "
5194 "filled with null-terminated strings, possibly truncated to fit the specified "
5195 "buffer lengths.  On error one of the following nonzero error codes is "
5196 "returned:"
5197 msgstr ""
5198
5199 #. type: Plain text
5200 #: build/C/man3/getnameinfo.3:159
5201 msgid "The name could not be resolved at this time.  Try again later."
5202 msgstr ""
5203
5204 #. type: Plain text
5205 #: build/C/man3/getnameinfo.3:164
5206 msgid "The I<flags> argument has an invalid value."
5207 msgstr ""
5208
5209 #. type: Plain text
5210 #: build/C/man3/getnameinfo.3:167
5211 msgid "A nonrecoverable error occurred."
5212 msgstr ""
5213
5214 #. type: Plain text
5215 #: build/C/man3/getnameinfo.3:171
5216 msgid ""
5217 "The address family was not recognized, or the address length was invalid for "
5218 "the specified family."
5219 msgstr ""
5220
5221 #. type: Plain text
5222 #: build/C/man3/getnameinfo.3:180
5223 msgid ""
5224 "The name does not resolve for the supplied arguments.  B<NI_NAMEREQD> is set "
5225 "and the host's name cannot be located, or neither hostname nor service name "
5226 "were requested."
5227 msgstr ""
5228
5229 #. type: TP
5230 #: build/C/man3/getnameinfo.3:180
5231 #, no-wrap
5232 msgid "B<EAI_OVERFLOW>"
5233 msgstr ""
5234
5235 #. type: Plain text
5236 #: build/C/man3/getnameinfo.3:187
5237 msgid "The buffer pointed to by I<host> or I<serv> was too small."
5238 msgstr ""
5239
5240 #. type: Plain text
5241 #: build/C/man3/getnameinfo.3:192
5242 msgid "A system error occurred.  The error code can be found in I<errno>."
5243 msgstr ""
5244
5245 #. type: Plain text
5246 #: build/C/man3/getnameinfo.3:199
5247 msgid "/etc/hosts"
5248 msgstr ""
5249
5250 #. type: Plain text
5251 #: build/C/man3/getnameinfo.3:201
5252 msgid "/etc/nsswitch.conf"
5253 msgstr ""
5254
5255 #. type: Plain text
5256 #: build/C/man3/getnameinfo.3:203
5257 msgid "/etc/resolv.conf"
5258 msgstr ""
5259
5260 #. type: Plain text
5261 #: build/C/man3/getnameinfo.3:206
5262 msgid "B<getnameinfo>()  is provided in glibc since version 2.1."
5263 msgstr ""
5264
5265 #. type: Plain text
5266 #: build/C/man3/getnameinfo.3:208
5267 msgid "RFC\\ 2553, POSIX.1-2001."
5268 msgstr ""
5269
5270 #. type: Plain text
5271 #: build/C/man3/getnameinfo.3:213
5272 msgid ""
5273 "In order to assist the programmer in choosing reasonable sizes for the "
5274 "supplied buffers, I<E<lt>netdb.hE<gt>> defines the constants"
5275 msgstr ""
5276
5277 #. type: Plain text
5278 #: build/C/man3/getnameinfo.3:218
5279 #, no-wrap
5280 msgid ""
5281 "#define NI_MAXHOST      1025\n"
5282 "#define NI_MAXSERV      32\n"
5283 msgstr ""
5284
5285 #. type: Plain text
5286 #: build/C/man3/getnameinfo.3:228
5287 msgid ""
5288 "Since glibc 2.8, these definitions are exposed only if one of the feature "
5289 "test macros B<_BSD_SOURCE>, B<_SVID_SOURCE>, or B<_GNU_SOURCE> is defined."
5290 msgstr ""
5291
5292 #. type: Plain text
5293 #: build/C/man3/getnameinfo.3:236
5294 msgid ""
5295 "The former is the constant B<MAXDNAME> in recent versions of BIND's "
5296 "I<E<lt>arpa/nameser.hE<gt>> header file.  The latter is a guess based on the "
5297 "services listed in the current Assigned Numbers RFC."
5298 msgstr ""
5299
5300 #. type: Plain text
5301 #: build/C/man3/getnameinfo.3:241
5302 msgid ""
5303 "The following code tries to get the numeric hostname and service name, for a "
5304 "given socket address.  Note that there is no hardcoded reference to a "
5305 "particular address family."
5306 msgstr ""
5307
5308 #. type: Plain text
5309 #: build/C/man3/getnameinfo.3:247
5310 #, no-wrap
5311 msgid ""
5312 "struct sockaddr *sa;    /* input */\n"
5313 "socklen_t len;         /* input */\n"
5314 "char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];\n"
5315 msgstr ""
5316
5317 #. type: Plain text
5318 #: build/C/man3/getnameinfo.3:251
5319 #, no-wrap
5320 msgid ""
5321 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf), sbuf,\n"
5322 "            sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV) == 0)\n"
5323 "    printf(\"host=%s, serv=%s\\en\", hbuf, sbuf);\n"
5324 msgstr ""
5325
5326 #. type: Plain text
5327 #: build/C/man3/getnameinfo.3:256
5328 msgid ""
5329 "The following version checks if the socket address has a reverse address "
5330 "mapping."
5331 msgstr ""
5332
5333 #. type: Plain text
5334 #: build/C/man3/getnameinfo.3:262
5335 #, no-wrap
5336 msgid ""
5337 "struct sockaddr *sa;    /* input */\n"
5338 "socklen_t len;         /* input */\n"
5339 "char hbuf[NI_MAXHOST];\n"
5340 msgstr ""
5341
5342 #. type: Plain text
5343 #: build/C/man3/getnameinfo.3:268
5344 #, no-wrap
5345 msgid ""
5346 "if (getnameinfo(sa, len, hbuf, sizeof(hbuf),\n"
5347 "            NULL, 0, NI_NAMEREQD))\n"
5348 "    printf(\"could not resolve hostname\");\n"
5349 "else\n"
5350 "    printf(\"host=%s\\en\", hbuf);\n"
5351 msgstr ""
5352
5353 #. type: Plain text
5354 #: build/C/man3/getnameinfo.3:275
5355 msgid ""
5356 "An example program using B<getnameinfo>()  can be found in "
5357 "B<getaddrinfo>(3)."
5358 msgstr ""
5359
5360 #. type: Plain text
5361 #: build/C/man3/getnameinfo.3:290
5362 msgid ""
5363 "B<accept>(2), B<getpeername>(2), B<getsockname>(2), B<recvfrom>(2), "
5364 "B<socket>(2), B<getaddrinfo>(3), B<gethostbyaddr>(3), B<getservbyname>(3), "
5365 "B<getservbyport>(3), B<inet_ntop>(3), B<hosts>(5), B<services>(5), "
5366 "B<hostname>(7), B<named>(8)"
5367 msgstr ""
5368
5369 #. type: Plain text
5370 #: build/C/man3/getnameinfo.3:294
5371 msgid ""
5372 "R. Gilligan, S. Thomson, J. Bound and W. Stevens, I<Basic Socket Interface "
5373 "Extensions for IPv6>, RFC\\ 2553, March 1999."
5374 msgstr ""
5375
5376 #. type: Plain text
5377 #: build/C/man3/getnameinfo.3:300
5378 msgid ""
5379 "Tatsuya Jinmei and Atsushi Onoe, I<An Extension of Format for IPv6 Scoped "
5380 "Addresses>, internet draft, work in progress E<.UR "
5381 "ftp://ftp.ietf.org\\:/internet-drafts\\:/draft-ietf-ipngwg-scopedaddr-format-02.txt> "
5382 "E<.UE .>"
5383 msgstr ""
5384
5385 #. type: Plain text
5386 #: build/C/man3/getnameinfo.3:305
5387 msgid ""
5388 "Craig Metz, I<Protocol Independence Using the Sockets API>, Proceedings of "
5389 "the freenix track: 2000 USENIX annual technical conference, June 2000"
5390 msgstr ""
5391
5392 #. type: Plain text
5393 #: build/C/man3/getnameinfo.3:308
5394 msgid ""
5395 "E<.UR "
5396 "http://www.usenix.org\\:/publications\\:/library\\:/proceedings\\:/usenix2000\\:/freenix\\:/metzprotocol.html> "
5397 "E<.UE .>"
5398 msgstr ""
5399
5400 #. type: TH
5401 #: build/C/man3/getnetent.3:30
5402 #, no-wrap
5403 msgid "GETNETENT"
5404 msgstr ""
5405
5406 #. type: TH
5407 #: build/C/man3/getnetent.3:30 build/C/man3/getprotoent.3:30 build/C/man3/getservent.3:34
5408 #, no-wrap
5409 msgid "2008-08-19"
5410 msgstr ""
5411
5412 #. type: Plain text
5413 #: build/C/man3/getnetent.3:34
5414 msgid ""
5415 "getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - get network "
5416 "entry"
5417 msgstr ""
5418
5419 #. type: Plain text
5420 #: build/C/man3/getnetent.3:37 build/C/man3/getnetent_r.3:33 build/C/man3/getprotoent.3:37 build/C/man3/getprotoent_r.3:33 build/C/man3/getservent.3:41 build/C/man3/getservent_r.3:33 build/C/man3/setnetgrent.3:17
5421 #, no-wrap
5422 msgid "B<#include E<lt>netdb.hE<gt>>\n"
5423 msgstr ""
5424
5425 #. type: Plain text
5426 #: build/C/man3/getnetent.3:39
5427 #, no-wrap
5428 msgid "B<struct netent *getnetent(void);>\n"
5429 msgstr ""
5430
5431 #. type: Plain text
5432 #: build/C/man3/getnetent.3:41
5433 #, no-wrap
5434 msgid "B<struct netent *getnetbyname(const char *>I<name>B<);>\n"
5435 msgstr ""
5436
5437 #. type: Plain text
5438 #: build/C/man3/getnetent.3:43
5439 #, no-wrap
5440 msgid "B<struct netent *getnetbyaddr(uint32_t >I<net>B<, int >I<type>B<);>\n"
5441 msgstr ""
5442
5443 #. type: Plain text
5444 #: build/C/man3/getnetent.3:45
5445 #, no-wrap
5446 msgid "B<void setnetent(int >I<stayopen>B<);>\n"
5447 msgstr ""
5448
5449 #. type: Plain text
5450 #: build/C/man3/getnetent.3:47
5451 #, no-wrap
5452 msgid "B<void endnetent(void);>\n"
5453 msgstr ""
5454
5455 #. type: Plain text
5456 #: build/C/man3/getnetent.3:55
5457 msgid ""
5458 "The B<getnetent>()  function reads the next entry from the networks database "
5459 "and returns a I<netent> structure containing the broken-out fields from the "
5460 "entry.  A connection is opened to the database if necessary."
5461 msgstr ""
5462
5463 #. type: Plain text
5464 #: build/C/man3/getnetent.3:61
5465 msgid ""
5466 "The B<getnetbyname>()  function returns a I<netent> structure for the entry "
5467 "from the database that matches the network I<name>."
5468 msgstr ""
5469
5470 #. type: Plain text
5471 #: build/C/man3/getnetent.3:71
5472 msgid ""
5473 "The B<getnetbyaddr>()  function returns a I<netent> structure for the entry "
5474 "from the database that matches the network number I<net> of type I<type>.  "
5475 "The I<net> argument must be in host byte order."
5476 msgstr ""
5477
5478 #. type: Plain text
5479 #: build/C/man3/getnetent.3:81
5480 msgid ""
5481 "The B<setnetent>()  function opens a connection to the database, and sets "
5482 "the next entry to the first entry.  If I<stayopen> is nonzero, then the "
5483 "connection to the database will not be closed between calls to one of the "
5484 "B<getnet*>()  functions."
5485 msgstr ""
5486
5487 #. type: Plain text
5488 #: build/C/man3/getnetent.3:85
5489 msgid "The B<endnetent>()  function closes the connection to the database."
5490 msgstr ""
5491
5492 #. type: Plain text
5493 #: build/C/man3/getnetent.3:87
5494 msgid "The I<netent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
5495 msgstr ""
5496
5497 #. type: Plain text
5498 #: build/C/man3/getnetent.3:96
5499 #, no-wrap
5500 msgid ""
5501 "struct netent {\n"
5502 "    char      *n_name;     /* official network name */\n"
5503 "    char     **n_aliases;  /* alias list */\n"
5504 "    int        n_addrtype; /* net address type */\n"
5505 "    uint32_t   n_net;      /* network number */\n"
5506 "}\n"
5507 msgstr ""
5508
5509 #. type: Plain text
5510 #: build/C/man3/getnetent.3:100
5511 msgid "The members of the I<netent> structure are:"
5512 msgstr ""
5513
5514 #. type: TP
5515 #: build/C/man3/getnetent.3:100
5516 #, no-wrap
5517 msgid "I<n_name>"
5518 msgstr ""
5519
5520 #. type: Plain text
5521 #: build/C/man3/getnetent.3:103
5522 msgid "The official name of the network."
5523 msgstr ""
5524
5525 #. type: TP
5526 #: build/C/man3/getnetent.3:103
5527 #, no-wrap
5528 msgid "I<n_aliases>"
5529 msgstr ""
5530
5531 #. type: Plain text
5532 #: build/C/man3/getnetent.3:106
5533 msgid "A NULL-terminated list of alternative names for the network."
5534 msgstr ""
5535
5536 #. type: TP
5537 #: build/C/man3/getnetent.3:106
5538 #, no-wrap
5539 msgid "I<n_addrtype>"
5540 msgstr ""
5541
5542 #. type: Plain text
5543 #: build/C/man3/getnetent.3:110
5544 msgid "The type of the network number; always B<AF_INET>."
5545 msgstr ""
5546
5547 #. type: TP
5548 #: build/C/man3/getnetent.3:110
5549 #, no-wrap
5550 msgid "I<n_net>"
5551 msgstr ""
5552
5553 #. type: Plain text
5554 #: build/C/man3/getnetent.3:113
5555 msgid "The network number in host byte order."
5556 msgstr ""
5557
5558 #. type: Plain text
5559 #: build/C/man3/getnetent.3:122
5560 msgid ""
5561 "The B<getnetent>(), B<getnetbyname>()  and B<getnetbyaddr>()  functions "
5562 "return a pointer to a statically allocated I<netent> structure, or a NULL "
5563 "pointer if an error occurs or the end of the file is reached."
5564 msgstr ""
5565
5566 #. type: TP
5567 #: build/C/man3/getnetent.3:123 build/C/man5/networks.5:71
5568 #, no-wrap
5569 msgid "I</etc/networks>"
5570 msgstr ""
5571
5572 #. type: Plain text
5573 #: build/C/man3/getnetent.3:126
5574 msgid "networks database file"
5575 msgstr ""
5576
5577 #. type: Plain text
5578 #: build/C/man3/getnetent.3:128 build/C/man3/getprotoent.3:124 build/C/man3/getservent.3:133
5579 msgid "4.3BSD, POSIX.1-2001."
5580 msgstr ""
5581
5582 #. type: Plain text
5583 #: build/C/man3/getnetent.3:135
5584 msgid ""
5585 "In glibc versions before 2.2, the I<net> argument of B<getnetbyaddr>()  was "
5586 "of type I<long>."
5587 msgstr ""
5588
5589 #.  .BR networks (5)
5590 #. type: Plain text
5591 #: build/C/man3/getnetent.3:140
5592 msgid "B<getnetent_r>(3), B<getprotoent>(3), B<getservent>(3)"
5593 msgstr ""
5594
5595 #. type: Plain text
5596 #: build/C/man3/getnetent.3:142
5597 msgid "RFC\\ 1101"
5598 msgstr ""
5599
5600 #. type: TH
5601 #: build/C/man3/getnetent_r.3:26
5602 #, no-wrap
5603 msgid "GETNETENT_R"
5604 msgstr ""
5605
5606 #. type: Plain text
5607 #: build/C/man3/getnetent_r.3:30
5608 msgid "getnetent_r, getnetbyname_r, getnetbyaddr_r - get network entry (reentrant)"
5609 msgstr ""
5610
5611 #. type: Plain text
5612 #: build/C/man3/getnetent_r.3:37
5613 #, no-wrap
5614 msgid ""
5615 "B<int getnetent_r(struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5616 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5617 "B<                int *>I<h_errnop>B<);>\n"
5618 msgstr ""
5619
5620 #. type: Plain text
5621 #: build/C/man3/getnetent_r.3:42
5622 #, no-wrap
5623 msgid ""
5624 "B<int getnetbyname_r(const char *>I<name>B<,>\n"
5625 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5626 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5627 "B<                int *>I<h_errnop>B<);>\n"
5628 msgstr ""
5629
5630 #. type: Plain text
5631 #: build/C/man3/getnetent_r.3:47
5632 #, no-wrap
5633 msgid ""
5634 "B<int getnetbyaddr_r(uint32_t >I<net>B<, int >I<type>B<,>\n"
5635 "B<                struct netent *>I<result_buf>B<, char *>I<buf>B<,>\n"
5636 "B<                size_t >I<buflen>B<, struct netent **>I<result>B<,>\n"
5637 "B<                int *>I<h_errnop>B<);>\n"
5638 msgstr ""
5639
5640 #. type: Plain text
5641 #: build/C/man3/getnetent_r.3:58
5642 msgid "B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>():"
5643 msgstr ""
5644
5645 #. type: Plain text
5646 #: build/C/man3/getnetent_r.3:79
5647 msgid ""
5648 "The B<getnetent_r>(), B<getnetbyname_r>(), and B<getnetbyaddr_r>()  "
5649 "functions are the reentrant equivalents of, respectively, B<getnetent>(3), "
5650 "B<getnetbyname>(3), and B<getnetbynumber>(3).  They differ in the way that "
5651 "the I<netent> structure is returned, and in the function calling signature "
5652 "and return value.  This manual page describes just the differences from the "
5653 "nonreentrant functions."
5654 msgstr ""
5655
5656 #. type: Plain text
5657 #: build/C/man3/getnetent_r.3:85
5658 msgid ""
5659 "Instead of returning a pointer to a statically allocated I<netent> structure "
5660 "as the function result, these functions copy the structure into the location "
5661 "pointed to by I<result_buf>."
5662 msgstr ""
5663
5664 #.  I can find no information on the required/recommended buffer size;
5665 #.  the nonreentrant functions use a 1024 byte buffer -- mtk.
5666 #. type: Plain text
5667 #: build/C/man3/getnetent_r.3:102
5668 msgid ""
5669 "The I<buf> array is used to store the string fields pointed to by the "
5670 "returned I<netent> structure.  (The nonreentrant functions allocate these "
5671 "strings in static storage.)  The size of this array is specified in "
5672 "I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, "
5673 "and the caller must try again with a larger buffer.  (A buffer of length "
5674 "1024 bytes should be sufficient for most applications.)"
5675 msgstr ""
5676
5677 #. type: Plain text
5678 #: build/C/man3/getnetent_r.3:110
5679 msgid ""
5680 "If the function call successfully obtains a network record, then I<*result> "
5681 "is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
5682 msgstr ""
5683
5684 #.  getnetent.3 doesn't document any use of h_errno, but nevertheless
5685 #.  the nonreentrant functions no seem to set h_errno.
5686 #. type: Plain text
5687 #: build/C/man3/getnetent_r.3:118
5688 msgid ""
5689 "The buffer pointed to by I<h_errnop> is used to return the value that would "
5690 "be stored in the global variable I<h_errno> by the nonreentrant versions of "
5691 "these functions."
5692 msgstr ""
5693
5694 #. type: Plain text
5695 #: build/C/man3/getnetent_r.3:121 build/C/man3/getprotoent_r.3:111
5696 msgid ""
5697 "On success, these functions return 0.  On error, they return one of the "
5698 "positive error numbers listed in ERRORS."
5699 msgstr ""
5700
5701 #. type: Plain text
5702 #: build/C/man3/getnetent_r.3:129
5703 msgid ""
5704 "On error, record not found (B<getnetbyname_r>(), B<getnetbyaddr_r>()), or "
5705 "end of input (B<getnetent_r>())  I<result> is set to NULL."
5706 msgstr ""
5707
5708 #. type: Plain text
5709 #: build/C/man3/getnetent_r.3:134
5710 msgid "(B<getnetent_r>())  No more records in database."
5711 msgstr ""
5712
5713 #. type: TP
5714 #: build/C/man3/getnetent_r.3:134 build/C/man3/getprotoent_r.3:124 build/C/man3/getservent_r.3:123
5715 #, no-wrap
5716 msgid "B<ERANGE>"
5717 msgstr ""
5718
5719 #. type: Plain text
5720 #: build/C/man3/getnetent_r.3:141 build/C/man3/getprotoent_r.3:131 build/C/man3/getservent_r.3:130
5721 msgid ""
5722 "I<buf> is too small.  Try again with a larger buffer (and increased "
5723 "I<buflen>)."
5724 msgstr ""
5725
5726 #. type: Plain text
5727 #: build/C/man3/getnetent_r.3:145 build/C/man3/getprotoent_r.3:135 build/C/man3/getservent_r.3:134
5728 msgid ""
5729 "These functions are GNU extensions.  Functions with similar names exist on "
5730 "some other systems, though typically with different calling signatures."
5731 msgstr ""
5732
5733 #. type: Plain text
5734 #: build/C/man3/getnetent_r.3:148
5735 msgid "B<getnetent>(3), B<networks>(5)"
5736 msgstr ""
5737
5738 #. type: TH
5739 #: build/C/man2/getpeername.2:42
5740 #, no-wrap
5741 msgid "GETPEERNAME"
5742 msgstr ""
5743
5744 #. type: TH
5745 #: build/C/man2/getpeername.2:42 build/C/man7/ip.7:39 build/C/man5/nscd.conf.5:20 build/C/man5/nsswitch.conf.5:25
5746 #, no-wrap
5747 msgid "2013-02-12"
5748 msgstr ""
5749
5750 #. type: Plain text
5751 #: build/C/man2/getpeername.2:45
5752 msgid "getpeername - get name of connected peer socket"
5753 msgstr ""
5754
5755 #. type: Plain text
5756 #: build/C/man2/getpeername.2:50
5757 msgid ""
5758 "B<int getpeername(int >I<sockfd>B<, struct sockaddr *>I<addr>B<, socklen_t "
5759 "*>I<addrlen>B<);>"
5760 msgstr ""
5761
5762 #. type: Plain text
5763 #: build/C/man2/getpeername.2:63
5764 msgid ""
5765 "B<getpeername>()  returns the address of the peer connected to the socket "
5766 "I<sockfd>, in the buffer pointed to by I<addr>.  The I<addrlen> argument "
5767 "should be initialized to indicate the amount of space pointed to by "
5768 "I<addr>.  On return it contains the actual size of the name returned (in "
5769 "bytes).  The name is truncated if the buffer provided is too small."
5770 msgstr ""
5771
5772 #. type: Plain text
5773 #: build/C/man2/getpeername.2:68
5774 msgid ""
5775 "The returned address is truncated if the buffer provided is too small; in "
5776 "this case, I<addrlen> will return a value greater than was supplied to the "
5777 "call."
5778 msgstr ""
5779
5780 #. type: Plain text
5781 #: build/C/man2/getpeername.2:73 build/C/man2/shutdown.2:74
5782 msgid ""
5783 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
5784 "appropriately."
5785 msgstr ""
5786
5787 #. type: TP
5788 #: build/C/man2/getpeername.2:74 build/C/man2/shutdown.2:75
5789 #, no-wrap
5790 msgid "B<EBADF>"
5791 msgstr ""
5792
5793 #. type: Plain text
5794 #: build/C/man2/getpeername.2:79
5795 msgid "The argument I<sockfd> is not a valid descriptor."
5796 msgstr ""
5797
5798 #. type: TP
5799 #: build/C/man2/getpeername.2:79 build/C/man7/packet.7:250 build/C/man7/raw.7:149 build/C/man7/unix.7:334
5800 #, no-wrap
5801 msgid "B<EFAULT>"
5802 msgstr ""
5803
5804 #. type: Plain text
5805 #: build/C/man2/getpeername.2:85
5806 msgid ""
5807 "The I<addr> argument points to memory not in a valid part of the process "
5808 "address space."
5809 msgstr ""
5810
5811 #. type: Plain text
5812 #: build/C/man2/getpeername.2:89
5813 msgid "I<addrlen> is invalid (e.g., is negative)."
5814 msgstr ""
5815
5816 #. type: TP
5817 #: build/C/man2/getpeername.2:89 build/C/man7/packet.7:262
5818 #, no-wrap
5819 msgid "B<ENOBUFS>"
5820 msgstr ""
5821
5822 #. type: Plain text
5823 #: build/C/man2/getpeername.2:93
5824 msgid ""
5825 "Insufficient resources were available in the system to perform the "
5826 "operation."
5827 msgstr ""
5828
5829 #. type: Plain text
5830 #: build/C/man2/getpeername.2:96
5831 msgid "The socket is not connected."
5832 msgstr ""
5833
5834 #. type: TP
5835 #: build/C/man2/getpeername.2:96 build/C/man2/shutdown.2:87
5836 #, no-wrap
5837 msgid "B<ENOTSOCK>"
5838 msgstr ""
5839
5840 #. type: Plain text
5841 #: build/C/man2/getpeername.2:101
5842 msgid "The argument I<sockfd> is a file, not a socket."
5843 msgstr ""
5844
5845 #. type: Plain text
5846 #: build/C/man2/getpeername.2:105
5847 msgid ""
5848 "SVr4, 4.4BSD (the B<getpeername>()  function call first appeared in 4.2BSD), "
5849 "POSIX.1-2001."
5850 msgstr ""
5851
5852 #. type: Plain text
5853 #: build/C/man2/getpeername.2:116
5854 msgid ""
5855 "The third argument of B<getpeername>()  is in reality an I<int *> (and this "
5856 "is what 4.x BSD and libc4 and libc5 have).  Some POSIX confusion resulted in "
5857 "the present I<socklen_t>, also used by glibc.  See also B<accept>(2)."
5858 msgstr ""
5859
5860 #. type: Plain text
5861 #: build/C/man2/getpeername.2:143
5862 msgid ""
5863 "For stream sockets, once a B<connect>(2)  has been performed, either socket "
5864 "can call B<getpeername>()  to obtain the address of the peer socket.  On the "
5865 "other hand, datagram sockets are connectionless.  Calling B<connect>(2)  on "
5866 "a datagram socket merely sets the peer address for outgoing datagrams sent "
5867 "with B<write>(2)  or B<recv>(2).  The caller of B<connect>(2)  can use "
5868 "B<getpeername>()  to obtain the peer address that it earlier set for the "
5869 "socket.  However, the peer socket is unaware of this information, and "
5870 "calling B<getpeername>()  on the peer socket will return no useful "
5871 "information (unless a B<connect>(2)  call was also executed on the peer).  "
5872 "Note also that the receiver of a datagram can obtain the address of the "
5873 "sender when using B<recvfrom>(2)."
5874 msgstr ""
5875
5876 #. type: Plain text
5877 #: build/C/man2/getpeername.2:150
5878 msgid ""
5879 "B<accept>(2), B<bind>(2), B<getsockname>(2), B<ip>(7), B<socket>(7), "
5880 "B<unix>(7)"
5881 msgstr ""
5882
5883 #. type: TH
5884 #: build/C/man3/getprotoent.3:30
5885 #, no-wrap
5886 msgid "GETPROTOENT"
5887 msgstr ""
5888
5889 #. type: Plain text
5890 #: build/C/man3/getprotoent.3:34
5891 msgid ""
5892 "getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - "
5893 "get protocol entry"
5894 msgstr ""
5895
5896 #. type: Plain text
5897 #: build/C/man3/getprotoent.3:39
5898 #, no-wrap
5899 msgid "B<struct protoent *getprotoent(void);>\n"
5900 msgstr ""
5901
5902 #. type: Plain text
5903 #: build/C/man3/getprotoent.3:41
5904 #, no-wrap
5905 msgid "B<struct protoent *getprotobyname(const char *>I<name>B<);>\n"
5906 msgstr ""
5907
5908 #. type: Plain text
5909 #: build/C/man3/getprotoent.3:43
5910 #, no-wrap
5911 msgid "B<struct protoent *getprotobynumber(int >I<proto>B<);>\n"
5912 msgstr ""
5913
5914 #. type: Plain text
5915 #: build/C/man3/getprotoent.3:45
5916 #, no-wrap
5917 msgid "B<void setprotoent(int >I<stayopen>B<);>\n"
5918 msgstr ""
5919
5920 #. type: Plain text
5921 #: build/C/man3/getprotoent.3:47
5922 #, no-wrap
5923 msgid "B<void endprotoent(void);>\n"
5924 msgstr ""
5925
5926 #. type: Plain text
5927 #: build/C/man3/getprotoent.3:56
5928 msgid ""
5929 "The B<getprotoent>()  function reads the next entry from the protocols "
5930 "database (see B<protocols>(5))  and returns a I<protoent> structure "
5931 "containing the broken-out fields from the entry.  A connection is opened to "
5932 "the database if necessary."
5933 msgstr ""
5934
5935 #. type: Plain text
5936 #: build/C/man3/getprotoent.3:63
5937 msgid ""
5938 "The B<getprotobyname>()  function returns a I<protoent> structure for the "
5939 "entry from the database that matches the protocol name I<name>.  A "
5940 "connection is opened to the database if necessary."
5941 msgstr ""
5942
5943 #. type: Plain text
5944 #: build/C/man3/getprotoent.3:70
5945 msgid ""
5946 "The B<getprotobynumber>()  function returns a I<protoent> structure for the "
5947 "entry from the database that matches the protocol number I<number>.  A "
5948 "connection is opened to the database if necessary."
5949 msgstr ""
5950
5951 #. type: Plain text
5952 #: build/C/man3/getprotoent.3:80
5953 msgid ""
5954 "The B<setprotoent>()  function opens a connection to the database, and sets "
5955 "the next entry to the first entry.  If I<stayopen> is nonzero, then the "
5956 "connection to the database will not be closed between calls to one of the "
5957 "B<getproto*>()  functions."
5958 msgstr ""
5959
5960 #. type: Plain text
5961 #: build/C/man3/getprotoent.3:84
5962 msgid "The B<endprotoent>()  function closes the connection to the database."
5963 msgstr ""
5964
5965 #. type: Plain text
5966 #: build/C/man3/getprotoent.3:86
5967 msgid "The I<protoent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
5968 msgstr ""
5969
5970 #. type: Plain text
5971 #: build/C/man3/getprotoent.3:94
5972 #, no-wrap
5973 msgid ""
5974 "struct protoent {\n"
5975 "    char  *p_name;       /* official protocol name */\n"
5976 "    char **p_aliases;    /* alias list */\n"
5977 "    int    p_proto;      /* protocol number */\n"
5978 "}\n"
5979 msgstr ""
5980
5981 #. type: Plain text
5982 #: build/C/man3/getprotoent.3:98
5983 msgid "The members of the I<protoent> structure are:"
5984 msgstr ""
5985
5986 #. type: TP
5987 #: build/C/man3/getprotoent.3:98
5988 #, no-wrap
5989 msgid "I<p_name>"
5990 msgstr ""
5991
5992 #. type: Plain text
5993 #: build/C/man3/getprotoent.3:101
5994 msgid "The official name of the protocol."
5995 msgstr ""
5996
5997 #. type: TP
5998 #: build/C/man3/getprotoent.3:101
5999 #, no-wrap
6000 msgid "I<p_aliases>"
6001 msgstr ""
6002
6003 #. type: Plain text
6004 #: build/C/man3/getprotoent.3:104
6005 msgid "A NULL-terminated list of alternative names for the protocol."
6006 msgstr ""
6007
6008 #. type: TP
6009 #: build/C/man3/getprotoent.3:104
6010 #, no-wrap
6011 msgid "I<p_proto>"
6012 msgstr ""
6013
6014 #. type: Plain text
6015 #: build/C/man3/getprotoent.3:107
6016 msgid "The protocol number."
6017 msgstr ""
6018
6019 #. type: Plain text
6020 #: build/C/man3/getprotoent.3:116
6021 msgid ""
6022 "The B<getprotoent>(), B<getprotobyname>()  and B<getprotobynumber>()  "
6023 "functions return a pointer to a statically allocated I<protoent> structure, "
6024 "or a NULL pointer if an error occurs or the end of the file is reached."
6025 msgstr ""
6026
6027 #. type: TP
6028 #: build/C/man3/getprotoent.3:118 build/C/man5/protocols.5:78
6029 #, no-wrap
6030 msgid "I</etc/protocols>"
6031 msgstr ""
6032
6033 #. type: Plain text
6034 #: build/C/man3/getprotoent.3:121
6035 msgid "protocol database file"
6036 msgstr ""
6037
6038 #. type: Plain text
6039 #: build/C/man3/getprotoent.3:129
6040 msgid "B<getnetent>(3), B<getprotoent_r>(3), B<getservent>(3), B<protocols>(5)"
6041 msgstr ""
6042
6043 #. type: TH
6044 #: build/C/man3/getprotoent_r.3:26
6045 #, no-wrap
6046 msgid "GETPROTOENT_R"
6047 msgstr ""
6048
6049 #. type: Plain text
6050 #: build/C/man3/getprotoent_r.3:30
6051 msgid ""
6052 "getprotoent_r, getprotobyname_r, getprotobynumber_r - get protocol entry "
6053 "(reentrant)"
6054 msgstr ""
6055
6056 #. type: Plain text
6057 #: build/C/man3/getprotoent_r.3:36
6058 #, no-wrap
6059 msgid ""
6060 "B<int getprotoent_r(struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6061 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6062 msgstr ""
6063
6064 #. type: Plain text
6065 #: build/C/man3/getprotoent_r.3:40
6066 #, no-wrap
6067 msgid ""
6068 "B<int getprotobyname_r(const char *>I<name>B<,>\n"
6069 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6070 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6071 msgstr ""
6072
6073 #. type: Plain text
6074 #: build/C/man3/getprotoent_r.3:44
6075 #, no-wrap
6076 msgid ""
6077 "B<int getprotobynumber_r(int >I<proto>B<,>\n"
6078 "B<                struct protoent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6079 "B<                size_t >I<buflen>B<, struct protoent **>I<result>B<);>\n"
6080 msgstr ""
6081
6082 #. type: Plain text
6083 #: build/C/man3/getprotoent_r.3:55
6084 msgid "B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>():"
6085 msgstr ""
6086
6087 #. type: Plain text
6088 #: build/C/man3/getprotoent_r.3:76
6089 msgid ""
6090 "The B<getprotoent_r>(), B<getprotobyname_r>(), and B<getprotobynumber_r>()  "
6091 "functions are the reentrant equivalents of, respectively, B<getprotoent>(3), "
6092 "B<getprotobyname>(3), and B<getprotobynumber>(3).  They differ in the way "
6093 "that the I<protoent> structure is returned, and in the function calling "
6094 "signature and return value.  This manual page describes just the differences "
6095 "from the nonreentrant functions."
6096 msgstr ""
6097
6098 #. type: Plain text
6099 #: build/C/man3/getprotoent_r.3:82
6100 msgid ""
6101 "Instead of returning a pointer to a statically allocated I<protoent> "
6102 "structure as the function result, these functions copy the structure into "
6103 "the location pointed to by I<result_buf>."
6104 msgstr ""
6105
6106 #.  I can find no information on the required/recommended buffer size;
6107 #.  the nonreentrant functions use a 1024 byte buffer.
6108 #.  The 1024 byte value is also what the Solaris man page suggests. -- mtk
6109 #. type: Plain text
6110 #: build/C/man3/getprotoent_r.3:100
6111 msgid ""
6112 "The I<buf> array is used to store the string fields pointed to by the "
6113 "returned I<protoent> structure.  (The nonreentrant functions allocate these "
6114 "strings in static storage.)  The size of this array is specified in "
6115 "I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, "
6116 "and the caller must try again with a larger buffer.  (A buffer of length "
6117 "1024 bytes should be sufficient for most applications.)"
6118 msgstr ""
6119
6120 #. type: Plain text
6121 #: build/C/man3/getprotoent_r.3:108
6122 msgid ""
6123 "If the function call successfully obtains a protocol record, then I<*result> "
6124 "is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
6125 msgstr ""
6126
6127 #. type: Plain text
6128 #: build/C/man3/getprotoent_r.3:119
6129 msgid ""
6130 "On error, record not found (B<getprotobyname_r>(), B<getprotobynumber_r>()), "
6131 "or end of input (B<getprotoent_r>())  I<result> is set to NULL."
6132 msgstr ""
6133
6134 #. type: Plain text
6135 #: build/C/man3/getprotoent_r.3:124
6136 msgid "(B<getprotoent_r>())  No more records in database."
6137 msgstr ""
6138
6139 #. type: Plain text
6140 #: build/C/man3/getprotoent_r.3:149
6141 msgid ""
6142 "The program below uses B<getprotobyname_r>()  to retrieve the protocol "
6143 "record for the protocol named in its first command-line argument.  If a "
6144 "second (integer) command-line argument is supplied, it is used as the "
6145 "initial value for I<buflen>; if B<getprotobyname_r>()  fails with the error "
6146 "B<ERANGE>, the program retries with larger buffer sizes.  The following "
6147 "shell session shows a couple of sample runs:"
6148 msgstr ""
6149
6150 #. type: Plain text
6151 #: build/C/man3/getprotoent_r.3:160
6152 #, no-wrap
6153 msgid ""
6154 "$B< ./a.out tcp 1>\n"
6155 "ERANGE! Retrying with larger buffer\n"
6156 "getprotobyname_r() returned: 0 (success)  (buflen=78)\n"
6157 "p_name=tcp; p_proto=6; aliases=TCP\n"
6158 "$B< ./a.out xxx 1>\n"
6159 "ERANGE! Retrying with larger buffer\n"
6160 "getprotobyname_r() returned: 0 (success)  (buflen=100)\n"
6161 "Call failed/record not found\n"
6162 msgstr ""
6163
6164 #. type: Plain text
6165 #: build/C/man3/getprotoent_r.3:172 build/C/man3/getservent_r.3:170
6166 #, no-wrap
6167 msgid ""
6168 "#define _GNU_SOURCE\n"
6169 "#include E<lt>ctype.hE<gt>\n"
6170 "#include E<lt>netdb.hE<gt>\n"
6171 "#include E<lt>stdlib.hE<gt>\n"
6172 "#include E<lt>stdio.hE<gt>\n"
6173 "#include E<lt>errno.hE<gt>\n"
6174 "#include E<lt>string.hE<gt>\n"
6175 msgstr ""
6176
6177 #. type: Plain text
6178 #: build/C/man3/getprotoent_r.3:174 build/C/man3/getservent_r.3:172
6179 #, no-wrap
6180 msgid "#define MAX_BUF 10000\n"
6181 msgstr ""
6182
6183 #. type: Plain text
6184 #: build/C/man3/getprotoent_r.3:183
6185 #, no-wrap
6186 msgid ""
6187 "int\n"
6188 "main(int argc, char *argv[])\n"
6189 "{\n"
6190 "    int buflen, erange_cnt, s;\n"
6191 "    struct protoent result_buf;\n"
6192 "    struct protoent *result;\n"
6193 "    char buf[MAX_BUF];\n"
6194 "    char **p;\n"
6195 msgstr ""
6196
6197 #. type: Plain text
6198 #: build/C/man3/getprotoent_r.3:188
6199 #, no-wrap
6200 msgid ""
6201 "    if (argc E<lt> 2) {\n"
6202 "        printf(\"Usage: %s proto-name [buflen]\\en\", argv[0]);\n"
6203 "        exit(EXIT_FAILURE);\n"
6204 "    }\n"
6205 msgstr ""
6206
6207 #. type: Plain text
6208 #: build/C/man3/getprotoent_r.3:192
6209 #, no-wrap
6210 msgid ""
6211 "    buflen = 1024;\n"
6212 "    if (argc E<gt> 2)\n"
6213 "        buflen = atoi(argv[2]);\n"
6214 msgstr ""
6215
6216 #. type: Plain text
6217 #: build/C/man3/getprotoent_r.3:197 build/C/man3/getservent_r.3:200
6218 #, no-wrap
6219 msgid ""
6220 "    if (buflen E<gt> MAX_BUF) {\n"
6221 "        printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6222 "        exit(EXIT_FAILURE);\n"
6223 "    }\n"
6224 msgstr ""
6225
6226 #. type: Plain text
6227 #: build/C/man3/getprotoent_r.3:206
6228 #, no-wrap
6229 msgid ""
6230 "    erange_cnt = 0;\n"
6231 "    do {\n"
6232 "        s = getprotobyname_r(argv[1], &result_buf,\n"
6233 "                     buf, buflen, &result);\n"
6234 "        if (s == ERANGE) {\n"
6235 "            if (erange_cnt == 0)\n"
6236 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6237 "            erange_cnt++;\n"
6238 msgstr ""
6239
6240 #. type: Plain text
6241 #: build/C/man3/getprotoent_r.3:209 build/C/man3/getservent_r.3:212
6242 #, no-wrap
6243 msgid ""
6244 "            /* Increment a byte at a time so we can see exactly\n"
6245 "               what size buffer was required */\n"
6246 msgstr ""
6247
6248 #. type: Plain text
6249 #: build/C/man3/getprotoent_r.3:211 build/C/man3/getservent_r.3:214
6250 #, no-wrap
6251 msgid "            buflen++;\n"
6252 msgstr ""
6253
6254 #. type: Plain text
6255 #: build/C/man3/getprotoent_r.3:218 build/C/man3/getservent_r.3:221
6256 #, no-wrap
6257 msgid ""
6258 "            if (buflen E<gt> MAX_BUF) {\n"
6259 "                printf(\"Exceeded buffer limit (%d)\\en\", MAX_BUF);\n"
6260 "                exit(EXIT_FAILURE);\n"
6261 "            }\n"
6262 "        }\n"
6263 "    } while (s == ERANGE);\n"
6264 msgstr ""
6265
6266 #. type: Plain text
6267 #: build/C/man3/getprotoent_r.3:222
6268 #, no-wrap
6269 msgid ""
6270 "    printf(\"getprotobyname_r() returned: %s  (buflen=%d)\\en\",\n"
6271 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6272 "            strerror(s), buflen);\n"
6273 msgstr ""
6274
6275 #. type: Plain text
6276 #: build/C/man3/getprotoent_r.3:227 build/C/man3/getservent_r.3:230
6277 #, no-wrap
6278 msgid ""
6279 "    if (s != 0 || result == NULL) {\n"
6280 "        printf(\"Call failed/record not found\\en\");\n"
6281 "        exit(EXIT_FAILURE);\n"
6282 "    }\n"
6283 msgstr ""
6284
6285 #. type: Plain text
6286 #: build/C/man3/getprotoent_r.3:233
6287 #, no-wrap
6288 msgid ""
6289 "    printf(\"p_name=%s; p_proto=%d; aliases=\",\n"
6290 "                result_buf.p_name, result_buf.p_proto);\n"
6291 "    for (p = result_buf.p_aliases; *p != NULL; p++)\n"
6292 "        printf(\"%s \", *p);\n"
6293 "    printf(\"\\en\");\n"
6294 msgstr ""
6295
6296 #. type: Plain text
6297 #: build/C/man3/getprotoent_r.3:240
6298 msgid "B<getprotoent>(3), B<protocols>(5)"
6299 msgstr ""
6300
6301 #. type: TH
6302 #: build/C/man3/getservent.3:34
6303 #, no-wrap
6304 msgid "GETSERVENT"
6305 msgstr ""
6306
6307 #. type: Plain text
6308 #: build/C/man3/getservent.3:38
6309 msgid ""
6310 "getservent, getservbyname, getservbyport, setservent, endservent - get "
6311 "service entry"
6312 msgstr ""
6313
6314 #. type: Plain text
6315 #: build/C/man3/getservent.3:43
6316 #, no-wrap
6317 msgid "B<struct servent *getservent(void);>\n"
6318 msgstr ""
6319
6320 #. type: Plain text
6321 #: build/C/man3/getservent.3:45
6322 #, no-wrap
6323 msgid ""
6324 "B<struct servent *getservbyname(const char *>I<name>B<, const char "
6325 "*>I<proto>B<);>\n"
6326 msgstr ""
6327
6328 #. type: Plain text
6329 #: build/C/man3/getservent.3:47
6330 #, no-wrap
6331 msgid "B<struct servent *getservbyport(int >I<port>B<, const char *>I<proto>B<);>\n"
6332 msgstr ""
6333
6334 #. type: Plain text
6335 #: build/C/man3/getservent.3:49
6336 #, no-wrap
6337 msgid "B<void setservent(int >I<stayopen>B<);>\n"
6338 msgstr ""
6339
6340 #. type: Plain text
6341 #: build/C/man3/getservent.3:51
6342 #, no-wrap
6343 msgid "B<void endservent(void);>\n"
6344 msgstr ""
6345
6346 #. type: Plain text
6347 #: build/C/man3/getservent.3:60
6348 msgid ""
6349 "The B<getservent>()  function reads the next entry from the services "
6350 "database (see B<services>(5))  and returns a I<servent> structure containing "
6351 "the broken-out fields from the entry.  A connection is opened to the "
6352 "database if necessary."
6353 msgstr ""
6354
6355 #. type: Plain text
6356 #: build/C/man3/getservent.3:68
6357 msgid ""
6358 "The B<getservbyname>()  function returns a I<servent> structure for the "
6359 "entry from the database that matches the service I<name> using protocol "
6360 "I<proto>.  If I<proto> is NULL, any protocol will be matched.  A connection "
6361 "is opened to the database if necessary."
6362 msgstr ""
6363
6364 #. type: Plain text
6365 #: build/C/man3/getservent.3:77
6366 msgid ""
6367 "The B<getservbyport>()  function returns a I<servent> structure for the "
6368 "entry from the database that matches the port I<port> (given in network byte "
6369 "order)  using protocol I<proto>.  If I<proto> is NULL, any protocol will be "
6370 "matched.  A connection is opened to the database if necessary."
6371 msgstr ""
6372
6373 #. type: Plain text
6374 #: build/C/man3/getservent.3:87
6375 msgid ""
6376 "The B<setservent>()  function opens a connection to the database, and sets "
6377 "the next entry to the first entry.  If I<stayopen> is nonzero, then the "
6378 "connection to the database will not be closed between calls to one of the "
6379 "B<getserv*>()  functions."
6380 msgstr ""
6381
6382 #. type: Plain text
6383 #: build/C/man3/getservent.3:91
6384 msgid "The B<endservent>()  function closes the connection to the database."
6385 msgstr ""
6386
6387 #. type: Plain text
6388 #: build/C/man3/getservent.3:93
6389 msgid "The I<servent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:"
6390 msgstr ""
6391
6392 #. type: Plain text
6393 #: build/C/man3/getservent.3:102
6394 #, no-wrap
6395 msgid ""
6396 "struct servent {\n"
6397 "    char  *s_name;       /* official service name */\n"
6398 "    char **s_aliases;    /* alias list */\n"
6399 "    int    s_port;       /* port number */\n"
6400 "    char  *s_proto;      /* protocol to use */\n"
6401 "}\n"
6402 msgstr ""
6403
6404 #. type: Plain text
6405 #: build/C/man3/getservent.3:106
6406 msgid "The members of the I<servent> structure are:"
6407 msgstr ""
6408
6409 #. type: TP
6410 #: build/C/man3/getservent.3:106
6411 #, no-wrap
6412 msgid "I<s_name>"
6413 msgstr ""
6414
6415 #. type: Plain text
6416 #: build/C/man3/getservent.3:109
6417 msgid "The official name of the service."
6418 msgstr ""
6419
6420 #. type: TP
6421 #: build/C/man3/getservent.3:109
6422 #, no-wrap
6423 msgid "I<s_aliases>"
6424 msgstr ""
6425
6426 #. type: Plain text
6427 #: build/C/man3/getservent.3:112
6428 msgid "A NULL-terminated list of alternative names for the service."
6429 msgstr ""
6430
6431 #. type: TP
6432 #: build/C/man3/getservent.3:112
6433 #, no-wrap
6434 msgid "I<s_port>"
6435 msgstr ""
6436
6437 #. type: Plain text
6438 #: build/C/man3/getservent.3:115
6439 msgid "The port number for the service given in network byte order."
6440 msgstr ""
6441
6442 #. type: TP
6443 #: build/C/man3/getservent.3:115
6444 #, no-wrap
6445 msgid "I<s_proto>"
6446 msgstr ""
6447
6448 #. type: Plain text
6449 #: build/C/man3/getservent.3:118
6450 msgid "The name of the protocol to use with this service."
6451 msgstr ""
6452
6453 #. type: Plain text
6454 #: build/C/man3/getservent.3:127
6455 msgid ""
6456 "The B<getservent>(), B<getservbyname>()  and B<getservbyport>()  functions "
6457 "return a pointer to a statically allocated I<servent> structure, or a NULL "
6458 "pointer if an error occurs or the end of the file is reached."
6459 msgstr ""
6460
6461 #. type: TP
6462 #: build/C/man3/getservent.3:128 build/C/man5/services.5:185
6463 #, no-wrap
6464 msgid "I</etc/services>"
6465 msgstr ""
6466
6467 #. type: Plain text
6468 #: build/C/man3/getservent.3:131
6469 msgid "services database file"
6470 msgstr ""
6471
6472 #. type: Plain text
6473 #: build/C/man3/getservent.3:138
6474 msgid "B<getnetent>(3), B<getprotoent>(3), B<getservent_r>(3), B<services>(5)"
6475 msgstr ""
6476
6477 #. type: TH
6478 #: build/C/man3/getservent_r.3:26
6479 #, no-wrap
6480 msgid "GETSERVENT_R"
6481 msgstr ""
6482
6483 #. type: Plain text
6484 #: build/C/man3/getservent_r.3:30
6485 msgid ""
6486 "getservent_r, getservbyname_r, getservbyport_r - get service entry "
6487 "(reentrant)"
6488 msgstr ""
6489
6490 #. type: Plain text
6491 #: build/C/man3/getservent_r.3:36
6492 #, no-wrap
6493 msgid ""
6494 "B<int getservent_r(struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6495 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6496 msgstr ""
6497
6498 #. type: Plain text
6499 #: build/C/man3/getservent_r.3:40
6500 #, no-wrap
6501 msgid ""
6502 "B<int getservbyname_r(const char *>I<name>B<, const char *>I<proto>B<,>\n"
6503 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6504 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6505 msgstr ""
6506
6507 #. type: Plain text
6508 #: build/C/man3/getservent_r.3:44
6509 #, no-wrap
6510 msgid ""
6511 "B<int getservbyport_r(int >I<port>B<, const char *>I<proto>B<,>\n"
6512 "B<                struct servent *>I<result_buf>B<, char *>I<buf>B<,>\n"
6513 "B<                size_t >I<buflen>B<, struct servent **>I<result>B<);>\n"
6514 msgstr ""
6515
6516 #. type: Plain text
6517 #: build/C/man3/getservent_r.3:55
6518 msgid "B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>():"
6519 msgstr ""
6520
6521 #. type: Plain text
6522 #: build/C/man3/getservent_r.3:76
6523 msgid ""
6524 "The B<getservent_r>(), B<getservbyname_r>(), and B<getservbyport_r>()  "
6525 "functions are the reentrant equivalents of, respectively, B<getservent>(3), "
6526 "B<getservbyname>(3), and B<getservbyport>(3).  They differ in the way that "
6527 "the I<servent> structure is returned, and in the function calling signature "
6528 "and return value.  This manual page describes just the differences from the "
6529 "nonreentrant functions."
6530 msgstr ""
6531
6532 #. type: Plain text
6533 #: build/C/man3/getservent_r.3:82
6534 msgid ""
6535 "Instead of returning a pointer to a statically allocated I<servent> "
6536 "structure as the function result, these functions copy the structure into "
6537 "the location pointed to by I<result_buf>."
6538 msgstr ""
6539
6540 #.  I can find no information on the required/recommended buffer size;
6541 #.  the nonreentrant functions use a 1024 byte buffer -- mtk.
6542 #. type: Plain text
6543 #: build/C/man3/getservent_r.3:99
6544 msgid ""
6545 "The I<buf> array is used to store the string fields pointed to by the "
6546 "returned I<servent> structure.  (The nonreentrant functions allocate these "
6547 "strings in static storage.)  The size of this array is specified in "
6548 "I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, "
6549 "and the caller must try again with a larger buffer.  (A buffer of length "
6550 "1024 bytes should be sufficient for most applications.)"
6551 msgstr ""
6552
6553 #. type: Plain text
6554 #: build/C/man3/getservent_r.3:107
6555 msgid ""
6556 "If the function call successfully obtains a service record, then I<*result> "
6557 "is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
6558 msgstr ""
6559
6560 #. type: Plain text
6561 #: build/C/man3/getservent_r.3:110
6562 msgid ""
6563 "On success, these functions return 0.  On error, they return one of the "
6564 "positive error numbers listed in errors."
6565 msgstr ""
6566
6567 #. type: Plain text
6568 #: build/C/man3/getservent_r.3:118
6569 msgid ""
6570 "On error, record not found (B<getservbyname_r>(), B<getservbyport_r>()), or "
6571 "end of input (B<getservent_r>())  I<result> is set to NULL."
6572 msgstr ""
6573
6574 #. type: Plain text
6575 #: build/C/man3/getservent_r.3:123
6576 msgid "(B<getservent_r>())  No more records in database."
6577 msgstr ""
6578
6579 #. type: Plain text
6580 #: build/C/man3/getservent_r.3:148
6581 msgid ""
6582 "The program below uses B<getservbyport_r>()  to retrieve the service record "
6583 "for the port and protocol named in its first command-line argument.  If a "
6584 "third (integer) command-line argument is supplied, it is used as the initial "
6585 "value for I<buflen>; if B<getservbyport_r>()  fails with the error "
6586 "B<ERANGE>, the program retries with larger buffer sizes.  The following "
6587 "shell session shows a couple of sample runs:"
6588 msgstr ""
6589
6590 #. type: Plain text
6591 #: build/C/man3/getservent_r.3:158
6592 #, no-wrap
6593 msgid ""
6594 "$B< ./a.out 7 tcp 1>\n"
6595 "ERANGE! Retrying with larger buffer\n"
6596 "getservbyport_r() returned: 0 (success)  (buflen=87)\n"
6597 "s_name=echo; s_proto=tcp; s_port=7; aliases=\n"
6598 "$B< ./a.out 77777 tcp>\n"
6599 "getservbyport_r() returned: 0 (success)  (buflen=1024)\n"
6600 "Call failed/record not found\n"
6601 msgstr ""
6602
6603 #. type: Plain text
6604 #: build/C/man3/getservent_r.3:182
6605 #, no-wrap
6606 msgid ""
6607 "int\n"
6608 "main(int argc, char *argv[])\n"
6609 "{\n"
6610 "    int buflen, erange_cnt, port, s;\n"
6611 "    struct servent result_buf;\n"
6612 "    struct servent *result;\n"
6613 "    char buf[MAX_BUF];\n"
6614 "    char *protop;\n"
6615 "    char **p;\n"
6616 msgstr ""
6617
6618 #. type: Plain text
6619 #: build/C/man3/getservent_r.3:187
6620 #, no-wrap
6621 msgid ""
6622 "    if (argc E<lt> 3) {\n"
6623 "        printf(\"Usage: %s port-num proto-name [buflen]\\en\", argv[0]);\n"
6624 "        exit(EXIT_FAILURE);\n"
6625 "    }\n"
6626 msgstr ""
6627
6628 #. type: Plain text
6629 #: build/C/man3/getservent_r.3:191
6630 #, no-wrap
6631 msgid ""
6632 "    port = htons(atoi(argv[1]));\n"
6633 "    protop = (strcmp(argv[2], \"null\") == 0 ||\n"
6634 "\t      strcmp(argv[2], \"NULL\") == 0) ?  NULL : argv[2];\n"
6635 msgstr ""
6636
6637 #. type: Plain text
6638 #: build/C/man3/getservent_r.3:195
6639 #, no-wrap
6640 msgid ""
6641 "    buflen = 1024;\n"
6642 "    if (argc E<gt> 3)\n"
6643 "        buflen = atoi(argv[3]);\n"
6644 msgstr ""
6645
6646 #. type: Plain text
6647 #: build/C/man3/getservent_r.3:209
6648 #, no-wrap
6649 msgid ""
6650 "    erange_cnt = 0;\n"
6651 "    do {\n"
6652 "        s = getservbyport_r(port, protop, &result_buf,\n"
6653 "                     buf, buflen, &result);\n"
6654 "        if (s == ERANGE) {\n"
6655 "            if (erange_cnt == 0)\n"
6656 "                printf(\"ERANGE! Retrying with larger buffer\\en\");\n"
6657 "            erange_cnt++;\n"
6658 msgstr ""
6659
6660 #. type: Plain text
6661 #: build/C/man3/getservent_r.3:225
6662 #, no-wrap
6663 msgid ""
6664 "    printf(\"getservbyport_r() returned: %s  (buflen=%d)\\en\",\n"
6665 "            (s == 0) ? \"0 (success)\" : (s == ENOENT) ? \"ENOENT\" :\n"
6666 "            strerror(s), buflen);\n"
6667 msgstr ""
6668
6669 #. type: Plain text
6670 #: build/C/man3/getservent_r.3:237
6671 #, no-wrap
6672 msgid ""
6673 "    printf(\"s_name=%s; s_proto=%s; s_port=%d; aliases=\",\n"
6674 "                result_buf.s_name, result_buf.s_proto,\n"
6675 "                ntohs(result_buf.s_port));\n"
6676 "    for (p = result_buf.s_aliases; *p != NULL; p++)\n"
6677 "        printf(\"%s \", *p);\n"
6678 "    printf(\"\\en\");\n"
6679 msgstr ""
6680
6681 #. type: Plain text
6682 #: build/C/man3/getservent_r.3:244
6683 msgid "B<getservent>(3), B<services>(5)"
6684 msgstr ""
6685
6686 #. type: TH
6687 #: build/C/man5/host.conf.5:26
6688 #, no-wrap
6689 msgid "HOST.CONF"
6690 msgstr ""
6691
6692 #. type: TH
6693 #: build/C/man5/host.conf.5:26
6694 #, no-wrap
6695 msgid "2003-08-23"
6696 msgstr ""
6697
6698 #. type: TH
6699 #: build/C/man5/host.conf.5:26 build/C/man5/networks.5:26
6700 #, no-wrap
6701 msgid "Linux System Administration"
6702 msgstr ""
6703
6704 #. type: Plain text
6705 #: build/C/man5/host.conf.5:29
6706 msgid "host.conf - resolver configuration file"
6707 msgstr ""
6708
6709 #. type: Plain text
6710 #: build/C/man5/host.conf.5:38
6711 msgid ""
6712 "The file I</etc/host.conf> contains configuration information specific to "
6713 "the resolver library.  It should contain one configuration keyword per line, "
6714 "followed by appropriate configuration information.  The keywords recognized "
6715 "are I<order>, I<trim>, I<multi>, I<nospoof>, I<spoof>, and I<reorder>.  "
6716 "These keywords are described below."
6717 msgstr ""
6718
6719 #. type: TP
6720 #: build/C/man5/host.conf.5:38
6721 #, no-wrap
6722 msgid "I<order>"
6723 msgstr ""
6724
6725 #. type: Plain text
6726 #: build/C/man5/host.conf.5:44
6727 msgid ""
6728 "This keyword specifies how host lookups are to be performed.  It should be "
6729 "followed by one or more lookup methods, separated by commas.  Valid methods "
6730 "are I<bind>, I<hosts>, and I<nis>."
6731 msgstr ""
6732
6733 #. type: TP
6734 #: build/C/man5/host.conf.5:44
6735 #, no-wrap
6736 msgid "I<trim>"
6737 msgstr ""
6738
6739 #. type: Plain text
6740 #: build/C/man5/host.conf.5:61
6741 msgid ""
6742 "This keyword may be listed more than once.  Each time it should be followed "
6743 "by a list of domains, separated by colons (\\(aq:\\(aq), semicolons "
6744 "(\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot.  When set, the "
6745 "resolv+ library will automatically trim the given domain name from the end "
6746 "of any hostname resolved via DNS.  This is intended for use with local hosts "
6747 "and domains.  (Related note: trim will not affect hostnames gathered via NIS "
6748 "or the hosts file.  Care should be taken to ensure that the first hostname "
6749 "for each entry in the hosts file is fully qualified or unqualified, as "
6750 "appropriate for the local installation.)"
6751 msgstr ""
6752
6753 #. type: TP
6754 #: build/C/man5/host.conf.5:61
6755 #, no-wrap
6756 msgid "I<multi>"
6757 msgstr ""
6758
6759 #. type: Plain text
6760 #: build/C/man5/host.conf.5:76
6761 msgid ""
6762 "Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library "
6763 "will return all valid addresses for a host that appears in the I</etc/hosts> "
6764 "file, instead of only the first.  This is I<off> by default, as it may cause "
6765 "a substantial performance loss at sites with large hosts files."
6766 msgstr ""
6767
6768 #. type: TP
6769 #: build/C/man5/host.conf.5:76
6770 #, no-wrap
6771 msgid "I<nospoof>"
6772 msgstr ""
6773
6774 #. type: Plain text
6775 #: build/C/man5/host.conf.5:91
6776 msgid ""
6777 "Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library "
6778 "will attempt to prevent hostname spoofing to enhance the security of "
6779 "B<rlogin> and B<rsh>.  It works as follows: after performing a host address "
6780 "lookup, resolv+ will perform a hostname lookup for that address.  If the two "
6781 "hostnames do not match, the query will fail.  The default value is I<off>."
6782 msgstr ""
6783
6784 #. type: TP
6785 #: build/C/man5/host.conf.5:91
6786 #, no-wrap
6787 msgid "I<spoofalert>"
6788 msgstr ""
6789
6790 #. type: Plain text
6791 #: build/C/man5/host.conf.5:103
6792 msgid ""
6793 "Valid values are I<on> and I<off>.  If this option is set to I<on> and the "
6794 "I<nospoof> option is also set, resolv+ will log a warning of the error via "
6795 "the syslog facility.  The default value is I<off>."
6796 msgstr ""
6797
6798 #. type: TP
6799 #: build/C/man5/host.conf.5:103
6800 #, no-wrap
6801 msgid "I<spoof>"
6802 msgstr ""
6803
6804 #. type: Plain text
6805 #: build/C/man5/host.conf.5:122
6806 msgid ""
6807 "Valid values are I<off>, I<nowarn> and I<warn>.  If this option is set to "
6808 "I<off>, spoofed addresses are permitted and no warnings will be emitted via "
6809 "the syslog facility.  If this option is set to I<warn>, resolv+ will attempt "
6810 "to prevent hostname spoofing to enhance the security and log a warning of "
6811 "the error via the syslog facility.  If this option is set to I<nowarn>, the "
6812 "resolv+ library will attempt to prevent hostname spoofing to enhance the "
6813 "security but not emit warnings via the syslog facility.  Setting this option "
6814 "to anything else is equal to setting it to I<nowarn>."
6815 msgstr ""
6816
6817 #. type: TP
6818 #: build/C/man5/host.conf.5:122
6819 #, no-wrap
6820 msgid "I<reorder>"
6821 msgstr ""
6822
6823 #. type: Plain text
6824 #: build/C/man5/host.conf.5:135
6825 msgid ""
6826 "Valid values are I<on> and I<off>.  If set to I<on>, resolv+ will attempt to "
6827 "reorder host addresses so that local addresses (i.e., on the same subnet) "
6828 "are listed first when a B<gethostbyname>(3)  is performed.  Reordering is "
6829 "done for all lookup methods.  The default value is I<off>."
6830 msgstr ""
6831
6832 #. type: SH
6833 #: build/C/man5/host.conf.5:135
6834 #, no-wrap
6835 msgid "ENVIRONMENT"
6836 msgstr ""
6837
6838 #. type: Plain text
6839 #: build/C/man5/host.conf.5:139
6840 msgid ""
6841 "There are six environment variables that can be used to allow users to "
6842 "override the behavior which is configured in I</etc/host.conf>."
6843 msgstr ""
6844
6845 #. type: TP
6846 #: build/C/man5/host.conf.5:139
6847 #, no-wrap
6848 msgid "B<RESOLV_HOST_CONF>"
6849 msgstr ""
6850
6851 #. type: Plain text
6852 #: build/C/man5/host.conf.5:143
6853 msgid ""
6854 "If set this variable points to a file that should be read instead of "
6855 "I</etc/host.conf>."
6856 msgstr ""
6857
6858 #. type: TP
6859 #: build/C/man5/host.conf.5:143
6860 #, no-wrap
6861 msgid "B<RESOLV_SERV_ORDER>"
6862 msgstr ""
6863
6864 #. type: Plain text
6865 #: build/C/man5/host.conf.5:148
6866 msgid "Overrides the I<order> command."
6867 msgstr ""
6868
6869 #. type: TP
6870 #: build/C/man5/host.conf.5:148
6871 #, no-wrap
6872 msgid "B<RESOLV_SPOOF_CHECK>"
6873 msgstr ""
6874
6875 #. type: Plain text
6876 #: build/C/man5/host.conf.5:157
6877 msgid ""
6878 "Overrides the I<nospoof>, I<spoofalert> and I<spoof> commands in the same "
6879 "way as the I<spoof> command is parsed.  Valid values are I<off>, I<nowarn> "
6880 "and I<warn>."
6881 msgstr ""
6882
6883 #. type: TP
6884 #: build/C/man5/host.conf.5:157
6885 #, no-wrap
6886 msgid "B<RESOLV_MULTI>"
6887 msgstr ""
6888
6889 #. type: Plain text
6890 #: build/C/man5/host.conf.5:162
6891 msgid "Overrides the I<multi> command."
6892 msgstr ""
6893
6894 #. type: TP
6895 #: build/C/man5/host.conf.5:162
6896 #, no-wrap
6897 msgid "B<RESOLV_REORDER>"
6898 msgstr ""
6899
6900 #. type: Plain text
6901 #: build/C/man5/host.conf.5:167
6902 msgid "Overrides the I<reorder> command."
6903 msgstr ""
6904
6905 #. type: TP
6906 #: build/C/man5/host.conf.5:167
6907 #, no-wrap
6908 msgid "B<RESOLV_ADD_TRIM_DOMAINS>"
6909 msgstr ""
6910
6911 #. type: Plain text
6912 #: build/C/man5/host.conf.5:172
6913 msgid ""
6914 "A list of domains, separated by colons (\\(aq:\\(aq), semicolons "
6915 "(\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot, which will be "
6916 "added to the list of domains that should be trimmed."
6917 msgstr ""
6918
6919 #. type: TP
6920 #: build/C/man5/host.conf.5:172
6921 #, no-wrap
6922 msgid "B<RESOLV_OVERRIDE_TRIM_DOMAINS>"
6923 msgstr ""
6924
6925 #. type: Plain text
6926 #: build/C/man5/host.conf.5:180
6927 msgid ""
6928 "A list of domains, separated by colons (\\(aq:\\(aq), semicolons "
6929 "(\\(aq;\\(aq) or commas (\\(aq,\\(aq), with the leading dot, which will "
6930 "replace the list of domains that should be trimmed.  Overrides the I<trim> "
6931 "command."
6932 msgstr ""
6933
6934 #. type: Plain text
6935 #: build/C/man5/host.conf.5:184 build/C/man5/host.conf.5:187
6936 msgid "Resolver configuration file"
6937 msgstr ""
6938
6939 #. type: TP
6940 #: build/C/man5/host.conf.5:184
6941 #, no-wrap
6942 msgid "I</etc/resolv.conf>"
6943 msgstr ""
6944
6945 #. type: Plain text
6946 #: build/C/man5/host.conf.5:190
6947 msgid "Local hosts database"
6948 msgstr ""
6949
6950 #. type: Plain text
6951 #: build/C/man5/host.conf.5:199
6952 msgid ""
6953 "The following differences exist compared to the original implementation.  A "
6954 "new command I<spoof> and a new environment variable B<RESOLV_SPOOF_CHECK> "
6955 "can take arguments like I<off>, I<nowarn> and I<warn>.  Line comments can "
6956 "appear anywhere and not only at the beginning of a line."
6957 msgstr ""
6958
6959 #. type: Plain text
6960 #: build/C/man5/host.conf.5:204
6961 msgid "B<gethostbyname>(3), B<hostname>(7), B<named>(8), B<resolv+>(8)"
6962 msgstr ""
6963
6964 #. type: TH
6965 #: build/C/man7/hostname.7:39
6966 #, no-wrap
6967 msgid "HOSTNAME"
6968 msgstr ""
6969
6970 #. type: TH
6971 #: build/C/man7/hostname.7:39
6972 #, no-wrap
6973 msgid "2010-11-07"
6974 msgstr ""
6975
6976 #. type: Plain text
6977 #: build/C/man7/hostname.7:42
6978 msgid "hostname - hostname resolution description"
6979 msgstr ""
6980
6981 #. type: Plain text
6982 #: build/C/man7/hostname.7:46
6983 msgid ""
6984 "Hostnames are domains, where a domain is a hierarchical, dot-separated list "
6985 "of subdomains; for example, the machine monet, in the Berkeley subdomain of "
6986 "the EDU domain would be represented as \"monet.Berkeley.EDU\"."
6987 msgstr ""
6988
6989 #. type: Plain text
6990 #: build/C/man7/hostname.7:55
6991 msgid ""
6992 "Hostnames are often used with network client and server programs, which must "
6993 "generally translate the name to an address for use.  (This task is generally "
6994 "performed by either B<getaddrinfo>(3)  or the obsolete B<gethostbyname>(3).)  "
6995 "Hostnames are resolved by the Internet name resolver in the following "
6996 "fashion."
6997 msgstr ""
6998
6999 #. type: Plain text
7000 #: build/C/man7/hostname.7:68
7001 msgid ""
7002 "If the name consists of a single component, that is, contains no dot, and if "
7003 "the environment variable B<HOSTALIASES> is set to the name of a file, that "
7004 "file is searched for any string matching the input hostname.  The file "
7005 "should consist of lines made up of two white-space separated strings, the "
7006 "first of which is the hostname alias, and the second of which is the "
7007 "complete hostname to be substituted for that alias.  If a case-insensitive "
7008 "match is found between the hostname to be resolved and the first field of a "
7009 "line in the file, the substituted name is looked up with no further "
7010 "processing."
7011 msgstr ""
7012
7013 #. type: Plain text
7014 #: build/C/man7/hostname.7:72
7015 msgid ""
7016 "If the input name ends with a trailing dot, the trailing dot is removed, and "
7017 "the remaining name is looked up with no further processing."
7018 msgstr ""
7019
7020 #. type: Plain text
7021 #: build/C/man7/hostname.7:85
7022 msgid ""
7023 "If the input name does not end with a trailing dot, it is looked up by "
7024 "searching through a list of domains until a match is found.  The default "
7025 "search list includes first the local domain, then its parent domains with at "
7026 "least 2 name components (longest first).  For example, in the domain "
7027 "CS.Berkeley.EDU, the name lithium.CChem will be checked first as "
7028 "lithium.CChem.CS.Berkeley.EDU and then as lithium.CChem.Berkeley.EDU.  "
7029 "Lithium.CChem.EDU will not be tried, as there is only one component "
7030 "remaining from the local domain.  The search path can be changed from the "
7031 "default by a system-wide configuration file (see B<resolver>(5))."
7032 msgstr ""
7033
7034 #.  .SH HISTORY
7035 #.  Hostname appeared in
7036 #.  4.2BSD.
7037 #. type: Plain text
7038 #: build/C/man7/hostname.7:93
7039 msgid "B<gethostbyname>(3), B<resolver>(5), B<mailaddr>(7), B<named>(8)"
7040 msgstr ""
7041
7042 #. type: TH
7043 #: build/C/man5/hosts.5:27
7044 #, no-wrap
7045 msgid "HOSTS"
7046 msgstr ""
7047
7048 #. type: TH
7049 #: build/C/man5/hosts.5:27
7050 #, no-wrap
7051 msgid "2002-06-16"
7052 msgstr ""
7053
7054 #. type: Plain text
7055 #: build/C/man5/hosts.5:30
7056 msgid "hosts - static table lookup for hostnames"
7057 msgstr ""
7058
7059 #. type: Plain text
7060 #: build/C/man5/hosts.5:32
7061 msgid "B</etc/hosts>"
7062 msgstr ""
7063
7064 #. type: Plain text
7065 #: build/C/man5/hosts.5:40
7066 msgid ""
7067 "This manual page describes the format of the I</etc/hosts> file.  This file "
7068 "is a simple text file that associates IP addresses with hostnames, one line "
7069 "per IP address.  For each host a single line should be present with the "
7070 "following information:"
7071 msgstr ""
7072
7073 #. type: Plain text
7074 #: build/C/man5/hosts.5:43
7075 msgid "IP_address canonical_hostname [aliases...]"
7076 msgstr ""
7077
7078 #. type: Plain text
7079 #: build/C/man5/hosts.5:56
7080 msgid ""
7081 "Fields of the entry are separated by any number of blanks and/or tab "
7082 "characters.  Text from a \"#\" character until the end of the line is a "
7083 "comment, and is ignored.  Host names may contain only alphanumeric "
7084 "characters, minus signs (\"-\"), and periods (\".\").  They must begin with "
7085 "an alphabetic character and end with an alphanumeric character.  Optional "
7086 "aliases provide for name changes, alternate spellings, shorter hostnames, or "
7087 "generic hostnames (for example, I<localhost>)."
7088 msgstr ""
7089
7090 #. type: Plain text
7091 #: build/C/man5/hosts.5:64
7092 msgid ""
7093 "The Berkeley Internet Name Domain (BIND) Server implements the Internet name "
7094 "server for UNIX systems.  It augments or replaces the I</etc/hosts> file or "
7095 "hostname lookup, and frees a host from relying on I</etc/hosts> being up to "
7096 "date and complete."
7097 msgstr ""
7098
7099 #. type: Plain text
7100 #: build/C/man5/hosts.5:67
7101 msgid ""
7102 "In modern systems, even though the host table has been superseded by DNS, it "
7103 "is still widely used for:"
7104 msgstr ""
7105
7106 #. type: TP
7107 #: build/C/man5/hosts.5:67
7108 #, no-wrap
7109 msgid "B<bootstrapping>"
7110 msgstr ""
7111
7112 #. type: Plain text
7113 #: build/C/man5/hosts.5:73
7114 msgid ""
7115 "Most systems have a small host table containing the name and address "
7116 "information for important hosts on the local network.  This is useful when "
7117 "DNS is not running, for example during system bootup."
7118 msgstr ""
7119
7120 #. type: TP
7121 #: build/C/man5/hosts.5:73
7122 #, no-wrap
7123 msgid "B<NIS>"
7124 msgstr ""
7125
7126 #. type: Plain text
7127 #: build/C/man5/hosts.5:79
7128 msgid ""
7129 "Sites that use NIS use the host table as input to the NIS host database.  "
7130 "Even though NIS can be used with DNS, most NIS sites still use the host "
7131 "table with an entry for all local hosts as a backup."
7132 msgstr ""
7133
7134 #. type: TP
7135 #: build/C/man5/hosts.5:79
7136 #, no-wrap
7137 msgid "B<isolated nodes>"
7138 msgstr ""
7139
7140 #. type: Plain text
7141 #: build/C/man5/hosts.5:86
7142 msgid ""
7143 "Very small sites that are isolated from the network use the host table "
7144 "instead of DNS.  If the local information rarely changes, and the network is "
7145 "not connected to the Internet, DNS offers little advantage."
7146 msgstr ""
7147
7148 #. type: Plain text
7149 #: build/C/man5/hosts.5:91
7150 msgid ""
7151 "Modifications to this file normally take effect immediately, except in cases "
7152 "where the file is cached by applications."
7153 msgstr ""
7154
7155 #. type: SS
7156 #: build/C/man5/hosts.5:91
7157 #, no-wrap
7158 msgid "Historical notes"
7159 msgstr ""
7160
7161 #. type: Plain text
7162 #: build/C/man5/hosts.5:94
7163 msgid ""
7164 "RFC\\ 952 gave the original format for the host table, though it has since "
7165 "changed."
7166 msgstr ""
7167
7168 #. type: Plain text
7169 #: build/C/man5/hosts.5:107
7170 msgid ""
7171 "Before the advent of DNS, the host table was the only way of resolving "
7172 "hostnames on the fledgling Internet.  Indeed, this file could be created "
7173 "from the official host data base maintained at the Network Information "
7174 "Control Center (NIC), though local changes were often required to bring it "
7175 "up to date regarding unofficial aliases and/or unknown hosts.  The NIC no "
7176 "longer maintains the hosts.txt files, though looking around at the time of "
7177 "writing (circa 2000), there are historical hosts.txt files on the WWW.  I "
7178 "just found three, from 92, 94, and 95."
7179 msgstr ""
7180
7181 #. type: Plain text
7182 #: build/C/man5/hosts.5:114
7183 #, no-wrap
7184 msgid ""
7185 "127.0.0.1       localhost\n"
7186 "192.168.1.10    foo.mydomain.org       foo\n"
7187 "192.168.1.13    bar.mydomain.org       bar\n"
7188 "146.82.138.7    master.debian.org      master\n"
7189 "209.237.226.90  www.opensource.org\n"
7190 msgstr ""
7191
7192 #. type: Plain text
7193 #: build/C/man5/hosts.5:121
7194 msgid "B<hostname>(1), B<resolver>(3), B<resolver>(5), B<hostname>(7), B<named>(8)"
7195 msgstr ""
7196
7197 #.  .SH AUTHOR
7198 #.  This manual page was written by Manoj Srivastava <srivasta@debian.org>,
7199 #.  for the Debian GNU/Linux system.
7200 #. type: Plain text
7201 #: build/C/man5/hosts.5:126
7202 msgid "Internet RFC\\ 952"
7203 msgstr ""
7204
7205 #. type: TH
7206 #: build/C/man5/hosts.equiv.5:6
7207 #, no-wrap
7208 msgid "HOSTS.EQUIV"
7209 msgstr ""
7210
7211 #. type: TH
7212 #: build/C/man5/hosts.equiv.5:6
7213 #, no-wrap
7214 msgid "2003-08-24"
7215 msgstr ""
7216
7217 #. type: Plain text
7218 #: build/C/man5/hosts.equiv.5:10
7219 msgid ""
7220 "/etc/hosts.equiv - list of hosts and users that are granted \"trusted\" B<r> "
7221 "command access to your system"
7222 msgstr ""
7223
7224 #. type: Plain text
7225 #: build/C/man5/hosts.equiv.5:14
7226 msgid ""
7227 "The B<hosts.equiv> file allows or denies hosts and users to use the "
7228 "B<r>-commands (e.g., B<rlogin>, B<rsh> or B<rcp>) without supplying a "
7229 "password."
7230 msgstr ""
7231
7232 #. type: Plain text
7233 #: build/C/man5/hosts.equiv.5:16
7234 msgid "The file uses the following format:"
7235 msgstr ""
7236
7237 #. type: TP
7238 #: build/C/man5/hosts.equiv.5:16
7239 #, no-wrap
7240 msgid "I<[ + | - ]> I<[hostname]> I<[username]>"
7241 msgstr ""
7242
7243 #. type: Plain text
7244 #: build/C/man5/hosts.equiv.5:30
7245 msgid ""
7246 "The I<hostname> is the name of a host which is logically equivalent to the "
7247 "local host.  Users logged into that host are allowed to access like-named "
7248 "user accounts on the local host without supplying a password.  The "
7249 "I<hostname> may be (optionally) preceded by a plus (+) sign.  If the plus "
7250 "sign is used alone it allows any host to access your system.  You can "
7251 "explicitly deny access to a host by preceding the I<hostname> by a minus (-) "
7252 "sign.  Users from that host must always supply a password.  For security "
7253 "reasons you should always use the FQDN of the hostname and not the short "
7254 "hostname."
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: build/C/man5/hosts.equiv.5:42
7259 msgid ""
7260 "The I<username> entry grants a specific user access to all user accounts "
7261 "(except root) without supplying a password.  That means the user is NOT "
7262 "restricted to like-named accounts.  The I<username> may be (optionally) "
7263 "preceded by a plus (+) sign.  You can also explicitly deny access to a "
7264 "specific user by preceding the I<username> with a minus (-) sign.  This says "
7265 "that the user is not trusted no matter what other entries for that host "
7266 "exist."
7267 msgstr ""
7268
7269 #. type: Plain text
7270 #: build/C/man5/hosts.equiv.5:44
7271 msgid "Netgroups can be specified by preceding the netgroup by an @ sign."
7272 msgstr ""
7273
7274 #. type: Plain text
7275 #: build/C/man5/hosts.equiv.5:50
7276 msgid ""
7277 "Be extremely careful when using the plus (+) sign.  A simple typographical "
7278 "error could result in a standalone plus sign.  A standalone plus sign is a "
7279 "wildcard character that means \"any host\"!"
7280 msgstr ""
7281
7282 #. type: Plain text
7283 #: build/C/man5/hosts.equiv.5:52
7284 msgid "I</etc/hosts.equiv>"
7285 msgstr ""
7286
7287 #. type: Plain text
7288 #: build/C/man5/hosts.equiv.5:57
7289 msgid ""
7290 "Some systems will only honor the contents of this file when it has owner "
7291 "root and no write permission for anybody else.  Some exceptionally paranoid "
7292 "systems even require that there be no other hard links to the file."
7293 msgstr ""
7294
7295 #. type: Plain text
7296 #: build/C/man5/hosts.equiv.5:65
7297 msgid ""
7298 "Modern systems use the Pluggable Authentication Modules library (PAM).  With "
7299 "PAM a standalone plus sign is only considered a wildcard character which "
7300 "means \"any host\" when the word I<promiscuous> is added to the auth "
7301 "component line in your PAM file for the particular service (e.g., "
7302 "B<rlogin>)."
7303 msgstr ""
7304
7305 #. type: Plain text
7306 #: build/C/man5/hosts.equiv.5:69
7307 msgid "B<rhosts>(5), B<rlogind>(8), B<rshd>(8)"
7308 msgstr ""
7309
7310 #. type: TH
7311 #: build/C/man7/icmp.7:12
7312 #, no-wrap
7313 msgid "ICMP"
7314 msgstr ""
7315
7316 #. type: TH
7317 #: build/C/man7/icmp.7:12 build/C/man8/nscd.8:23 build/C/man7/packet.7:12 build/C/man7/raw.7:13 build/C/man7/unix.7:18
7318 #, no-wrap
7319 msgid "2012-05-10"
7320 msgstr ""
7321
7322 #. type: Plain text
7323 #: build/C/man7/icmp.7:15
7324 msgid "icmp - Linux IPv4 ICMP kernel module."
7325 msgstr ""
7326
7327 #. type: Plain text
7328 #: build/C/man7/icmp.7:23
7329 msgid ""
7330 "This kernel protocol module implements the Internet Control Message Protocol "
7331 "defined in RFC\\ 792.  It is used to signal error conditions and for "
7332 "diagnosis.  The user doesn't interact directly with this module; instead it "
7333 "communicates with the other protocols in the kernel and these pass the ICMP "
7334 "errors to the application layers.  The kernel ICMP module also answers ICMP "
7335 "requests."
7336 msgstr ""
7337
7338 #. type: Plain text
7339 #: build/C/man7/icmp.7:35
7340 msgid ""
7341 "A user protocol may receive ICMP packets for all local sockets by opening a "
7342 "raw socket with the protocol B<IPPROTO_ICMP>.  See B<raw>(7)  for more "
7343 "information.  The types of ICMP packets passed to the socket can be filtered "
7344 "using the B<ICMP_FILTER> socket option.  ICMP packets are always processed "
7345 "by the kernel too, even when passed to a user socket."
7346 msgstr ""
7347
7348 #. type: Plain text
7349 #: build/C/man7/icmp.7:41
7350 msgid ""
7351 "Linux limits the rate of ICMP error packets to each destination.  "
7352 "B<ICMP_REDIRECT> and B<ICMP_DEST_UNREACH> are also limited by the "
7353 "destination route of the incoming packets."
7354 msgstr ""
7355
7356 #.  FIXME better description needed
7357 #. type: Plain text
7358 #: build/C/man7/icmp.7:54
7359 msgid ""
7360 "ICMP supports a set of I</proc> interfaces to configure some global IP "
7361 "parameters.  The parameters can be accessed by reading or writing files in "
7362 "the directory I</proc/sys/net/ipv4/>.  Most of these parameters are rate "
7363 "limitations for specific ICMP types.  Linux 2.2 uses a token bucket filter "
7364 "to limit ICMPs.  The value is the timeout in jiffies until the token bucket "
7365 "filter is cleared after a burst.  A jiffy is a system dependent unit, "
7366 "usually 10ms on i386 and about 1ms on alpha and ia64."
7367 msgstr ""
7368
7369 #. type: TP
7370 #: build/C/man7/icmp.7:54
7371 #, no-wrap
7372 msgid "I<icmp_destunreach_rate> (Linux 2.2 to 2.4.9)"
7373 msgstr ""
7374
7375 #.  Precisely: from 2.1.102
7376 #. type: Plain text
7377 #: build/C/man7/icmp.7:63
7378 msgid ""
7379 "Maximum rate to send ICMP Destination Unreachable packets.  This limits the "
7380 "rate at which packets are sent to any individual route or destination.  The "
7381 "limit does not affect sending of B<ICMP_FRAG_NEEDED> packets needed for path "
7382 "MTU discovery."
7383 msgstr ""
7384
7385 #. type: TP
7386 #: build/C/man7/icmp.7:63
7387 #, no-wrap
7388 msgid "I<icmp_echo_ignore_all> (since Linux 2.2)"
7389 msgstr ""
7390
7391 #.  Precisely: 2.1.68
7392 #. type: Plain text
7393 #: build/C/man7/icmp.7:69
7394 msgid "If this value is nonzero, Linux will ignore all B<ICMP_ECHO> requests."
7395 msgstr ""
7396
7397 #. type: TP
7398 #: build/C/man7/icmp.7:69
7399 #, no-wrap
7400 msgid "I<icmp_echo_ignore_broadcasts> (since Linux 2.2)"
7401 msgstr ""
7402
7403 #.  Precisely: from 2.1.68
7404 #. type: Plain text
7405 #: build/C/man7/icmp.7:75
7406 msgid ""
7407 "If this value is nonzero, Linux will ignore all B<ICMP_ECHO> packets sent to "
7408 "broadcast addresses."
7409 msgstr ""
7410
7411 #. type: TP
7412 #: build/C/man7/icmp.7:75
7413 #, no-wrap
7414 msgid "I<icmp_echoreply_rate> (Linux 2.2 to 2.4.9)"
7415 msgstr ""
7416
7417 #.  Precisely: from 2.1.102
7418 #. type: Plain text
7419 #: build/C/man7/icmp.7:83
7420 msgid ""
7421 "Maximum rate for sending B<ICMP_ECHOREPLY> packets in response to "
7422 "B<ICMP_ECHOREQUEST> packets."
7423 msgstr ""
7424
7425 #. type: TP
7426 #: build/C/man7/icmp.7:83
7427 #, no-wrap
7428 msgid ""
7429 "I<icmp_errors_use_inbound_ifaddr> (Boolean; default: disabled; since Linux "
7430 "2.6.12)"
7431 msgstr ""
7432
7433 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7434 #. type: Plain text
7435 #: build/C/man7/icmp.7:88
7436 msgid ""
7437 "If disabled, ICMP error messages are sent with the primary address of the "
7438 "exiting interface."
7439 msgstr ""
7440
7441 #. type: Plain text
7442 #: build/C/man7/icmp.7:94
7443 msgid ""
7444 "If enabled, the message will be sent with the primary address of the "
7445 "interface that received the packet that caused the ICMP error.  This is the "
7446 "behavior that many network administrators will expect from a router.  And it "
7447 "can make debugging complicated network layouts much easier."
7448 msgstr ""
7449
7450 #. type: Plain text
7451 #: build/C/man7/icmp.7:98
7452 msgid ""
7453 "Note that if no primary address exists for the interface selected, then the "
7454 "primary address of the first non-loopback interface that has one will be "
7455 "used regardless of this setting."
7456 msgstr ""
7457
7458 #. type: TP
7459 #: build/C/man7/icmp.7:98
7460 #, no-wrap
7461 msgid ""
7462 "I<icmp_ignore_bogus_error_responses> (Boolean; default: disabled; since "
7463 "Linux 2.2)"
7464 msgstr ""
7465
7466 #.  precisely: since 2.1.32
7467 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7468 #. type: Plain text
7469 #: build/C/man7/icmp.7:106
7470 msgid ""
7471 "Some routers violate RFC1122 by sending bogus responses to broadcast "
7472 "frames.  Such violations are normally logged via a kernel warning.  If this "
7473 "parameter is enabled, the kernel will not give such warnings, which will "
7474 "avoid log file clutter."
7475 msgstr ""
7476
7477 #. type: TP
7478 #: build/C/man7/icmp.7:106
7479 #, no-wrap
7480 msgid "I<icmp_paramprob_rate> (Linux 2.2 to 2.4.9)"
7481 msgstr ""
7482
7483 #.  Precisely: from 2.1.102
7484 #. type: Plain text
7485 #: build/C/man7/icmp.7:113
7486 msgid ""
7487 "Maximum rate for sending B<ICMP_PARAMETERPROB> packets.  These packets are "
7488 "sent when a packet arrives with an invalid IP header."
7489 msgstr ""
7490
7491 #. type: TP
7492 #: build/C/man7/icmp.7:113
7493 #, no-wrap
7494 msgid "I<icmp_ratelimit> (integer; default: 1000; since Linux 2.4.10)"
7495 msgstr ""
7496
7497 #.  The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
7498 #. type: Plain text
7499 #: build/C/man7/icmp.7:121
7500 msgid ""
7501 "Limit the maximum rates for sending ICMP packets whose type matches "
7502 "I<icmp_ratemask> (see below) to specific targets.  0 to disable any "
7503 "limiting, otherwise the minimum space between responses in milliseconds."
7504 msgstr ""
7505
7506 #. type: TP
7507 #: build/C/man7/icmp.7:121
7508 #, no-wrap
7509 msgid "I<icmp_ratemask> (integer; default: see below; since Linux 2.4.10)"
7510 msgstr ""
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:125
7515 msgid "Mask made of ICMP types for which rates are being limited."
7516 msgstr ""
7517
7518 #. type: Plain text
7519 #: build/C/man7/icmp.7:127
7520 msgid "Significant bits: IHGFEDCBA9876543210"
7521 msgstr ""
7522
7523 #. type: Plain text
7524 #: build/C/man7/icmp.7:129
7525 msgid "Default mask: 0000001100000011000 (0x1818)"
7526 msgstr ""
7527
7528 #. type: Plain text
7529 #: build/C/man7/icmp.7:132
7530 msgid "Bit definitions (see the Linux kernel source file I<include/linux/icmp.h>):"
7531 msgstr ""
7532
7533 #. type: Plain text
7534 #: build/C/man7/icmp.7:148
7535 #, no-wrap
7536 msgid ""
7537 "0 Echo Reply\n"
7538 "3 Destination Unreachable *\n"
7539 "4 Source Quench *\n"
7540 "5 Redirect\n"
7541 "8 Echo Request\n"
7542 "B Time Exceeded *\n"
7543 "C Parameter Problem *\n"
7544 "D Timestamp Request\n"
7545 "E Timestamp Reply\n"
7546 "F Info Request\n"
7547 "G Info Reply\n"
7548 "H Address Mask Request\n"
7549 "I Address Mask Reply\n"
7550 msgstr ""
7551
7552 #. type: Plain text
7553 #: build/C/man7/icmp.7:153
7554 msgid ""
7555 "The bits marked with an asterisk are rate limited by default (see the "
7556 "default mask above)."
7557 msgstr ""
7558
7559 #. type: TP
7560 #: build/C/man7/icmp.7:153
7561 #, no-wrap
7562 msgid "I<icmp_timeexceed_rate> (Linux 2.2 to 2.4.9)"
7563 msgstr ""
7564
7565 #. type: Plain text
7566 #: build/C/man7/icmp.7:160
7567 msgid ""
7568 "Maximum rate for sending B<ICMP_TIME_EXCEEDED> packets.  These packets are "
7569 "sent to prevent loops when a packet has crossed too many hops."
7570 msgstr ""
7571
7572 #. type: Plain text
7573 #: build/C/man7/icmp.7:164
7574 msgid "Support for the B<ICMP_ADDRESS> request was removed in 2.2."
7575 msgstr ""
7576
7577 #. type: Plain text
7578 #: build/C/man7/icmp.7:168
7579 msgid "Support for B<ICMP_SOURCE_QUENCH> was removed in Linux 2.2."
7580 msgstr ""
7581
7582 #.  not really true ATM
7583 #.  .PP
7584 #.  Linux ICMP should be compliant to RFC 1122.
7585 #. type: Plain text
7586 #: build/C/man7/icmp.7:176
7587 msgid ""
7588 "As many other implementations don't support B<IPPROTO_ICMP> raw sockets, "
7589 "this feature should not be relied on in portable programs."
7590 msgstr ""
7591
7592 #. type: Plain text
7593 #: build/C/man7/icmp.7:181
7594 msgid ""
7595 "B<ICMP_REDIRECT> packets are not sent when Linux is not acting as a router.  "
7596 "They are also only accepted from the old gateway defined in the routing "
7597 "table and the redirect routes are expired after some time."
7598 msgstr ""
7599
7600 #. type: Plain text
7601 #: build/C/man7/icmp.7:185
7602 msgid ""
7603 "The 64-bit timestamp returned by B<ICMP_TIMESTAMP> is in milliseconds since "
7604 "the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
7605 msgstr ""
7606
7607 #. type: Plain text
7608 #: build/C/man7/icmp.7:190
7609 msgid ""
7610 "Linux ICMP internally uses a raw socket to send ICMPs.  This raw socket may "
7611 "appear in B<netstat>(8)  output with a zero inode."
7612 msgstr ""
7613
7614 #. type: Plain text
7615 #: build/C/man7/icmp.7:192
7616 msgid "B<ip>(7)"
7617 msgstr ""
7618
7619 #. type: Plain text
7620 #: build/C/man7/icmp.7:194
7621 msgid "RFC\\ 792 for a description of the ICMP protocol."
7622 msgstr ""
7623
7624 #. type: TH
7625 #: build/C/man3/inet.3:42
7626 #, no-wrap
7627 msgid "INET"
7628 msgstr ""
7629
7630 #. type: TH
7631 #: build/C/man3/inet.3:42
7632 #, no-wrap
7633 msgid "2013-02-10"
7634 msgstr ""
7635
7636 #. type: Plain text
7637 #: build/C/man3/inet.3:46
7638 msgid ""
7639 "inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, "
7640 "inet_netof - Internet address manipulation routines"
7641 msgstr ""
7642
7643 #. type: Plain text
7644 #: build/C/man3/inet.3:51
7645 #, no-wrap
7646 msgid ""
7647 "B<#include E<lt>sys/socket.hE<gt>>\n"
7648 "B<#include E<lt>netinet/in.hE<gt>>\n"
7649 "B<#include E<lt>arpa/inet.hE<gt>>\n"
7650 msgstr ""
7651
7652 #. type: Plain text
7653 #: build/C/man3/inet.3:53
7654 #, no-wrap
7655 msgid "B<int inet_aton(const char *>I<cp>B<, struct in_addr *>I<inp>B<);>\n"
7656 msgstr ""
7657
7658 #. type: Plain text
7659 #: build/C/man3/inet.3:55
7660 #, no-wrap
7661 msgid "B<in_addr_t inet_addr(const char *>I<cp>B<);>\n"
7662 msgstr ""
7663
7664 #. type: Plain text
7665 #: build/C/man3/inet.3:57
7666 #, no-wrap
7667 msgid "B<in_addr_t inet_network(const char *>I<cp>B<);>\n"
7668 msgstr ""
7669
7670 #. type: Plain text
7671 #: build/C/man3/inet.3:59
7672 #, no-wrap
7673 msgid "B<char *inet_ntoa(struct in_addr >I<in>B<);>\n"
7674 msgstr ""
7675
7676 #. type: Plain text
7677 #: build/C/man3/inet.3:61
7678 #, no-wrap
7679 msgid "B<struct in_addr inet_makeaddr(int >I<net>B<, int >I<host>B<);>\n"
7680 msgstr ""
7681
7682 #. type: Plain text
7683 #: build/C/man3/inet.3:63
7684 #, no-wrap
7685 msgid "B<in_addr_t inet_lnaof(struct in_addr >I<in>B<);>\n"
7686 msgstr ""
7687
7688 #. type: Plain text
7689 #: build/C/man3/inet.3:65
7690 #, no-wrap
7691 msgid "B<in_addr_t inet_netof(struct in_addr >I<in>B<);>\n"
7692 msgstr ""
7693
7694 #. type: Plain text
7695 #: build/C/man3/inet.3:75
7696 msgid "B<inet_aton>(), B<inet_ntoa>(): _BSD_SOURCE || _SVID_SOURCE"
7697 msgstr ""
7698
7699 #. type: Plain text
7700 #: build/C/man3/inet.3:85
7701 msgid ""
7702 "B<inet_aton>()  converts the Internet host address I<cp> from the IPv4 "
7703 "numbers-and-dots notation into binary form (in network byte order)  and "
7704 "stores it in the structure that I<inp> points to.  B<inet_aton>()  returns "
7705 "nonzero if the address is valid, zero if not.  The address supplied in I<cp> "
7706 "can have one of the following forms:"
7707 msgstr ""
7708
7709 #. type: TP
7710 #: build/C/man3/inet.3:85
7711 #, no-wrap
7712 msgid "I<a.b.c.d>"
7713 msgstr ""
7714
7715 #. type: Plain text
7716 #: build/C/man3/inet.3:89
7717 msgid ""
7718 "Each of the four numeric parts specifies a byte of the address; the bytes "
7719 "are assigned in left-to-right order to produce the binary address."
7720 msgstr ""
7721
7722 #. type: TP
7723 #: build/C/man3/inet.3:89
7724 #, no-wrap
7725 msgid "I<a.b.c>"
7726 msgstr ""
7727
7728 #. type: Plain text
7729 #: build/C/man3/inet.3:102
7730 msgid ""
7731 "Parts I<a> and I<b> specify the first two bytes of the binary address.  Part "
7732 "I<c> is interpreted as a 16-bit value that defines the rightmost two bytes "
7733 "of the binary address.  This notation is suitable for specifying (outmoded) "
7734 "Class B network addresses."
7735 msgstr ""
7736
7737 #. type: TP
7738 #: build/C/man3/inet.3:102
7739 #, no-wrap
7740 msgid "I<a.b>"
7741 msgstr ""
7742
7743 #. type: Plain text
7744 #: build/C/man3/inet.3:113
7745 msgid ""
7746 "Part I<a> specifies the first byte of the binary address.  Part I<b> is "
7747 "interpreted as a 24-bit value that defines the rightmost three bytes of the "
7748 "binary address.  This notation is suitable for specifying (outmoded) Class C "
7749 "network addresses."
7750 msgstr ""
7751
7752 #. type: TP
7753 #: build/C/man3/inet.3:113
7754 #, no-wrap
7755 msgid "I<a>"
7756 msgstr ""
7757
7758 #. type: Plain text
7759 #: build/C/man3/inet.3:119
7760 msgid ""
7761 "The value I<a> is interpreted as a 32-bit value that is stored directly into "
7762 "the binary address without any byte rearrangement."
7763 msgstr ""
7764
7765 #. type: Plain text
7766 #: build/C/man3/inet.3:132
7767 msgid ""
7768 "In all of the above forms, components of the dotted address can be specified "
7769 "in decimal, octal (with a leading I<0>), or hexadecimal, with a leading "
7770 "I<0X>).  Addresses in any of these forms are collectively termed I<IPV4 "
7771 "numbers-and-dots notation>.  The form that uses exactly four decimal numbers "
7772 "is referred to as I<IPv4 dotted-decimal notation> (or sometimes: I<IPv4 "
7773 "dotted-quad notation>)."
7774 msgstr ""
7775
7776 #. type: Plain text
7777 #: build/C/man3/inet.3:149
7778 msgid ""
7779 "The B<inet_addr>()  function converts the Internet host address I<cp> from "
7780 "IPv4 numbers-and-dots notation into binary data in network byte order.  If "
7781 "the input is invalid, B<INADDR_NONE> (usually -1) is returned.  Use of this "
7782 "function is problematic because -1 is a valid address (255.255.255.255).  "
7783 "Avoid its use in favor of B<inet_aton>(), B<inet_pton>(3), or "
7784 "B<getaddrinfo>(3)  which provide a cleaner way to indicate error return."
7785 msgstr ""
7786
7787 #. type: Plain text
7788 #: build/C/man3/inet.3:159
7789 msgid ""
7790 "The B<inet_network>()  function converts I<cp>, a string in IPv4 "
7791 "numbers-and-dots notation, into a number in host byte order suitable for use "
7792 "as an Internet network address.  On success, the converted address is "
7793 "returned.  If the input is invalid, -1 is returned."
7794 msgstr ""
7795
7796 #. type: Plain text
7797 #: build/C/man3/inet.3:167
7798 msgid ""
7799 "The B<inet_ntoa>()  function converts the Internet host address I<in>, given "
7800 "in network byte order, to a string in IPv4 dotted-decimal notation.  The "
7801 "string is returned in a statically allocated buffer, which subsequent calls "
7802 "will overwrite."
7803 msgstr ""
7804
7805 #. type: Plain text
7806 #: build/C/man3/inet.3:173
7807 msgid ""
7808 "The B<inet_lnaof>()  function returns the local network address part of the "
7809 "Internet address I<in>.  The returned value is in host byte order."
7810 msgstr ""
7811
7812 #. type: Plain text
7813 #: build/C/man3/inet.3:179
7814 msgid ""
7815 "The B<inet_netof>()  function returns the network number part of the "
7816 "Internet address I<in>.  The returned value is in host byte order."
7817 msgstr ""
7818
7819 #. type: Plain text
7820 #: build/C/man3/inet.3:190
7821 msgid ""
7822 "The B<inet_makeaddr>()  function is the converse of B<inet_netof>()  and "
7823 "B<inet_lnaof>().  It returns an Internet host address in network byte order, "
7824 "created by combining the network number I<net> with the local address "
7825 "I<host>, both in host byte order."
7826 msgstr ""
7827
7828 #. type: Plain text
7829 #: build/C/man3/inet.3:200
7830 msgid ""
7831 "The structure I<in_addr> as used in B<inet_ntoa>(), B<inet_makeaddr>(), "
7832 "B<inet_lnaof>()  and B<inet_netof>()  is defined in "
7833 "I<E<lt>netinet/in.hE<gt>> as:"
7834 msgstr ""
7835
7836 #. type: Plain text
7837 #: build/C/man3/inet.3:204
7838 #, no-wrap
7839 msgid "typedef uint32_t in_addr_t;\n"
7840 msgstr ""
7841
7842 #. type: Plain text
7843 #: build/C/man3/inet.3:208
7844 #, no-wrap
7845 msgid ""
7846 "struct in_addr {\n"
7847 "    in_addr_t s_addr;\n"
7848 "};\n"
7849 msgstr ""
7850
7851 #. type: Plain text
7852 #: build/C/man3/inet.3:218
7853 msgid ""
7854 "4.3BSD.  B<inet_addr>()  and B<inet_ntoa>()  are specified in POSIX.1-2001.  "
7855 "B<inet_aton>()  is not specified in POSIX.1-2001, but is available on most "
7856 "systems."
7857 msgstr ""
7858
7859 #. type: Plain text
7860 #: build/C/man3/inet.3:222
7861 msgid ""
7862 "On the i386 the host byte order is Least Significant Byte first (little "
7863 "endian), whereas the network byte order, as used on the Internet, is Most "
7864 "Significant Byte first (big endian)."
7865 msgstr ""
7866
7867 #. type: Plain text
7868 #: build/C/man3/inet.3:231
7869 msgid ""
7870 "B<inet_lnaof>(), B<inet_netof>(), and B<inet_makeaddr>()  are legacy "
7871 "functions that assume they are dealing with I<classful network addresses>.  "
7872 "Classful networking divides IPv4 network addresses into host and network "
7873 "components at byte boundaries, as follows:"
7874 msgstr ""
7875
7876 #. type: TP
7877 #: build/C/man3/inet.3:231
7878 #, no-wrap
7879 msgid "Class A"
7880 msgstr ""
7881
7882 #. type: Plain text
7883 #: build/C/man3/inet.3:237
7884 msgid ""
7885 "This address type is indicated by the value 0 in the most significant bit of "
7886 "the (network byte ordered) address.  The network address is contained in the "
7887 "most significant byte, and the host address occupies the remaining three "
7888 "bytes."
7889 msgstr ""
7890
7891 #. type: TP
7892 #: build/C/man3/inet.3:237
7893 #, no-wrap
7894 msgid "Class B"
7895 msgstr ""
7896
7897 #. type: Plain text
7898 #: build/C/man3/inet.3:243
7899 msgid ""
7900 "This address type is indicated by the binary value 10 in the most "
7901 "significant two bits of the address.  The network address is contained in "
7902 "the two most significant bytes, and the host address occupies the remaining "
7903 "two bytes."
7904 msgstr ""
7905
7906 #. type: TP
7907 #: build/C/man3/inet.3:243
7908 #, no-wrap
7909 msgid "Class C"
7910 msgstr ""
7911
7912 #. type: Plain text
7913 #: build/C/man3/inet.3:249
7914 msgid ""
7915 "This address type is indicated by the binary value 110 in the most "
7916 "significant three bits of the address.  The network address is contained in "
7917 "the three most significant bytes, and the host address occupies the "
7918 "remaining byte."
7919 msgstr ""
7920
7921 #. type: Plain text
7922 #: build/C/man3/inet.3:254
7923 msgid ""
7924 "Classful network addresses are now obsolete, having been superseded by "
7925 "Classless Inter-Domain Routing (CIDR), which divides addresses into network "
7926 "and host components at arbitrary bit (rather than byte) boundaries."
7927 msgstr ""
7928
7929 #. type: Plain text
7930 #: build/C/man3/inet.3:261
7931 msgid ""
7932 "An example of the use of B<inet_aton>()  and B<inet_ntoa>()  is shown "
7933 "below.  Here are some example runs:"
7934 msgstr ""
7935
7936 #. type: Plain text
7937 #: build/C/man3/inet.3:268
7938 #, no-wrap
7939 msgid ""
7940 "$B< ./a.out 226.000.000.037>      # Last byte is in octal\n"
7941 "226.0.0.31\n"
7942 "$B< ./a.out 0x7f.1         >      # First byte is in hex\n"
7943 "127.0.0.1\n"
7944 msgstr ""
7945
7946 #. type: Plain text
7947 #: build/C/man3/inet.3:277
7948 #, no-wrap
7949 msgid ""
7950 "#define _BSD_SOURCE\n"
7951 "#include E<lt>arpa/inet.hE<gt>\n"
7952 "#include E<lt>stdio.hE<gt>\n"
7953 "#include E<lt>stdlib.hE<gt>\n"
7954 msgstr ""
7955
7956 #. type: Plain text
7957 #: build/C/man3/inet.3:282
7958 #, no-wrap
7959 msgid ""
7960 "int\n"
7961 "main(int argc, char *argv[])\n"
7962 "{\n"
7963 "    struct in_addr addr;\n"
7964 msgstr ""
7965
7966 #. type: Plain text
7967 #: build/C/man3/inet.3:287
7968 #, no-wrap
7969 msgid ""
7970 "    if (argc != 2) {\n"
7971 "        fprintf(stderr, \"%s E<lt>dotted-addressE<gt>\\en\", argv[0]);\n"
7972 "        exit(EXIT_FAILURE);\n"
7973 "    }\n"
7974 msgstr ""
7975
7976 #. type: Plain text
7977 #: build/C/man3/inet.3:292
7978 #, no-wrap
7979 msgid ""
7980 "    if (inet_aton(argv[1], &addr) == 0) {\n"
7981 "        fprintf(stderr, \"Invalid address\\en\");\n"
7982 "        exit(EXIT_FAILURE);\n"
7983 "    }\n"
7984 msgstr ""
7985
7986 #. type: Plain text
7987 #: build/C/man3/inet.3:296
7988 #, no-wrap
7989 msgid ""
7990 "    printf(\"%s\\en\", inet_ntoa(addr));\n"
7991 "    exit(EXIT_SUCCESS);\n"
7992 "}\n"
7993 msgstr ""
7994
7995 #. type: Plain text
7996 #: build/C/man3/inet.3:307
7997 msgid ""
7998 "B<byteorder>(3), B<getaddrinfo>(3), B<gethostbyname>(3), B<getnameinfo>(3), "
7999 "B<getnetent>(3), B<inet_ntop>(3), B<inet_pton>(3), B<hosts>(5), "
8000 "B<networks>(5)"
8001 msgstr ""
8002
8003 #. type: TH
8004 #: build/C/man3/inet_ntop.3:26
8005 #, no-wrap
8006 msgid "INET_NTOP"
8007 msgstr ""
8008
8009 #. type: TH
8010 #: build/C/man3/inet_ntop.3:26
8011 #, no-wrap
8012 msgid "2008-11-11"
8013 msgstr ""
8014
8015 #. type: Plain text
8016 #: build/C/man3/inet_ntop.3:29
8017 msgid "inet_ntop - convert IPv4 and IPv6 addresses from binary to text form"
8018 msgstr ""
8019
8020 #. type: Plain text
8021 #: build/C/man3/inet_ntop.3:35
8022 #, no-wrap
8023 msgid ""
8024 "B<const char *inet_ntop(int >I<af>B<, const void *>I<src>B<,>\n"
8025 "B<                      char *>I<dst>B<, socklen_t >I<size>B<);>\n"
8026 msgstr ""
8027
8028 #. type: Plain text
8029 #: build/C/man3/inet_ntop.3:48
8030 msgid ""
8031 "This function converts the network address structure I<src> in the I<af> "
8032 "address family into a character string.  The resulting string is copied to "
8033 "the buffer pointed to by I<dst>, which must be a non-NULL pointer.  The "
8034 "caller specifies the number of bytes available in this buffer in the "
8035 "argument I<size>."
8036 msgstr ""
8037
8038 #. type: Plain text
8039 #: build/C/man3/inet_ntop.3:57
8040 msgid ""
8041 "B<inet_ntop>()  extends the B<inet_ntoa>(3)  function to support multiple "
8042 "address families, B<inet_ntoa>(3)  is now considered to be deprecated in "
8043 "favor of B<inet_ntop>().  The following address families are currently "
8044 "supported:"
8045 msgstr ""
8046
8047 #. type: Plain text
8048 #: build/C/man3/inet_ntop.3:70
8049 msgid ""
8050 "I<src> points to a I<struct in_addr> (in network byte order)  which is "
8051 "converted to an IPv4 network address in the dotted-decimal format, "
8052 "\"I<ddd.ddd.ddd.ddd>\".  The buffer I<dst> must be at least "
8053 "B<INET_ADDRSTRLEN> bytes long."
8054 msgstr ""
8055
8056 #. type: Plain text
8057 #: build/C/man3/inet_ntop.3:83
8058 msgid ""
8059 "I<src> points to a I<struct in6_addr> (in network byte order)  which is "
8060 "converted to a representation of this address in the most appropriate IPv6 "
8061 "network address format for this address.  The buffer I<dst> must be at least "
8062 "B<INET6_ADDRSTRLEN> bytes long."
8063 msgstr ""
8064
8065 #. type: Plain text
8066 #: build/C/man3/inet_ntop.3:91
8067 msgid ""
8068 "On success, B<inet_ntop>()  returns a non-NULL pointer to I<dst>.  NULL is "
8069 "returned if there was an error, with I<errno> set to indicate the error."
8070 msgstr ""
8071
8072 #. type: TP
8073 #: build/C/man3/inet_ntop.3:92
8074 #, no-wrap
8075 msgid "B<EAFNOSUPPORT>"
8076 msgstr ""
8077
8078 #. type: Plain text
8079 #: build/C/man3/inet_ntop.3:96
8080 msgid "I<af> was not a valid address family."
8081 msgstr ""
8082
8083 #. type: TP
8084 #: build/C/man3/inet_ntop.3:96
8085 #, no-wrap
8086 msgid "B<ENOSPC>"
8087 msgstr ""
8088
8089 #. type: Plain text
8090 #: build/C/man3/inet_ntop.3:100
8091 msgid "The converted address string would exceed the size given by I<size>."
8092 msgstr ""
8093
8094 #.  2.1.3: size_t, 2.1.91: socklen_t
8095 #. type: Plain text
8096 #: build/C/man3/inet_ntop.3:112
8097 msgid ""
8098 "POSIX.1-2001.  Note that RFC\\ 2553 defines a prototype where the last "
8099 "argument I<size> is of type I<size_t>.  Many systems follow RFC\\ 2553.  "
8100 "Glibc 2.0 and 2.1 have I<size_t>, but 2.2 and later have I<socklen_t>."
8101 msgstr ""
8102
8103 #. type: Plain text
8104 #: build/C/man3/inet_ntop.3:115
8105 msgid "B<AF_INET6> converts IPv4-mapped IPv6 addresses into an IPv6 format."
8106 msgstr ""
8107
8108 #. type: Plain text
8109 #: build/C/man3/inet_ntop.3:118
8110 msgid "See B<inet_pton>(3)."
8111 msgstr ""
8112
8113 #. type: Plain text
8114 #: build/C/man3/inet_ntop.3:122
8115 msgid "B<getnameinfo>(3), B<inet>(3), B<inet_pton>(3)"
8116 msgstr ""
8117
8118 #. type: TH
8119 #: build/C/man3/inet_pton.3:27
8120 #, no-wrap
8121 msgid "INET_PTON"
8122 msgstr ""
8123
8124 #. type: TH
8125 #: build/C/man3/inet_pton.3:27
8126 #, no-wrap
8127 msgid "2008-06-18"
8128 msgstr ""
8129
8130 #. type: Plain text
8131 #: build/C/man3/inet_pton.3:30
8132 msgid "inet_pton - convert IPv4 and IPv6 addresses from text to binary form"
8133 msgstr ""
8134
8135 #. type: Plain text
8136 #: build/C/man3/inet_pton.3:35
8137 #, no-wrap
8138 msgid "B<int inet_pton(int >I<af>B<, const char *>I<src>B<, void *>I<dst>B<);>\n"
8139 msgstr ""
8140
8141 #. type: Plain text
8142 #: build/C/man3/inet_pton.3:51
8143 msgid ""
8144 "This function converts the character string I<src> into a network address "
8145 "structure in the I<af> address family, then copies the network address "
8146 "structure to I<dst>.  The I<af> argument must be either B<AF_INET> or "
8147 "B<AF_INET6>."
8148 msgstr ""
8149
8150 #. type: Plain text
8151 #: build/C/man3/inet_pton.3:53
8152 msgid "The following address families are currently supported:"
8153 msgstr ""
8154
8155 #. type: Plain text
8156 #: build/C/man3/inet_pton.3:67
8157 msgid ""
8158 "I<src> points to a character string containing an IPv4 network address in "
8159 "dotted-decimal format, \"I<ddd.ddd.ddd.ddd>\", where I<ddd> is a decimal "
8160 "number of up to three digits in the range 0 to 255.  The address is "
8161 "converted to a I<struct in_addr> and copied to I<dst>, which must be "
8162 "I<sizeof(struct in_addr)> (4) bytes (32 bits) long."
8163 msgstr ""
8164
8165 #. type: Plain text
8166 #: build/C/man3/inet_pton.3:79
8167 msgid ""
8168 "I<src> points to a character string containing an IPv6 network address.  The "
8169 "address is converted to a I<struct in6_addr> and copied to I<dst>, which "
8170 "must be I<sizeof(struct in6_addr)> (16) bytes (128 bits) long.  The allowed "
8171 "formats for IPv6 addresses follow these rules:"
8172 msgstr ""
8173
8174 #. type: IP
8175 #: build/C/man3/inet_pton.3:80
8176 #, no-wrap
8177 msgid "1."
8178 msgstr ""
8179
8180 #. type: Plain text
8181 #: build/C/man3/inet_pton.3:87
8182 msgid ""
8183 "The preferred format is I<x:x:x:x:x:x:x:x>.  This form consists of eight "
8184 "hexadecimal numbers, each of which expresses a 16-bit value (i.e., each I<x> "
8185 "can be up to 4 hex digits)."
8186 msgstr ""
8187
8188 #. type: IP
8189 #: build/C/man3/inet_pton.3:87
8190 #, no-wrap
8191 msgid "2."
8192 msgstr ""
8193
8194 #. type: Plain text
8195 #: build/C/man3/inet_pton.3:100
8196 msgid ""
8197 "A series of contiguous zero values in the preferred format can be "
8198 "abbreviated to I<::>.  Only one instance of I<::> can occur in an address.  "
8199 "For example, the loopback address I<0:0:0:0:0:0:0:1> can be abbreviated as "
8200 "I<::1>.  The wildcard address, consisting of all zeros, can be written as "
8201 "I<::>."
8202 msgstr ""
8203
8204 #. type: IP
8205 #: build/C/man3/inet_pton.3:100
8206 #, no-wrap
8207 msgid "3."
8208 msgstr ""
8209
8210 #. type: Plain text
8211 #: build/C/man3/inet_pton.3:113
8212 msgid ""
8213 "An alternate format is useful for expressing IPv4-mapped IPv6 addresses.  "
8214 "This form is written as I<x:x:x:x:x:x:d.d.d.d>, where the six leading I<x>s "
8215 "are hexadecimal values that define the six most-significant 16-bit pieces of "
8216 "the address (i.e., 96 bits), and the I<d>s express a value in dotted-decimal "
8217 "notation that defines the least significant 32 bits of the address.  An "
8218 "example of such an address is I<::FFFF:204.152.189.116>."
8219 msgstr ""
8220
8221 #. type: Plain text
8222 #: build/C/man3/inet_pton.3:116
8223 msgid "See RFC 2373 for further details on the representation of IPv6 addresses."
8224 msgstr ""
8225
8226 #. type: Plain text
8227 #: build/C/man3/inet_pton.3:129
8228 msgid ""
8229 "B<inet_pton>()  returns 1 on success (network address was successfully "
8230 "converted).  0 is returned if I<src> does not contain a character string "
8231 "representing a valid network address in the specified address family.  If "
8232 "I<af> does not contain a valid address family, -1 is returned and I<errno> "
8233 "is set to B<EAFNOSUPPORT>."
8234 msgstr ""
8235
8236 #. type: Plain text
8237 #: build/C/man3/inet_pton.3:150
8238 msgid ""
8239 "Unlike B<inet_aton>(3)  and B<inet_addr>(3), B<inet_pton>()  supports IPv6 "
8240 "addresses.  On the other hand, B<inet_pton>()  only accepts IPv4 addresses "
8241 "in dotted-decimal notation, whereas B<inet_aton>(3)  and B<inet_addr>(3)  "
8242 "allow the more general numbers-and-dots notation (hexadecimal and octal "
8243 "number formats, and formats that don't require all four bytes to be "
8244 "explicitly written).  For an interface that handles both IPv6 addresses, and "
8245 "IPv4 addresses in numbers-and-dots notation, see B<getaddrinfo>(3)."
8246 msgstr ""
8247
8248 #. type: Plain text
8249 #: build/C/man3/inet_pton.3:156
8250 msgid ""
8251 "B<AF_INET6> does not recognize IPv4 addresses.  An explicit IPv4-mapped IPv6 "
8252 "address must be supplied in I<src> instead."
8253 msgstr ""
8254
8255 #. type: Plain text
8256 #: build/C/man3/inet_pton.3:162
8257 msgid ""
8258 "The program below demonstrates the use of B<inet_pton>()  and "
8259 "B<inet_ntop>(3).  Here are some example runs:"
8260 msgstr ""
8261
8262 #. type: Plain text
8263 #: build/C/man3/inet_pton.3:171
8264 #, no-wrap
8265 msgid ""
8266 "$B< ./a.out i6 0:0:0:0:0:0:0:0>\n"
8267 "::\n"
8268 "$B< ./a.out i6 1:0:0:0:0:0:0:8>\n"
8269 "1::8\n"
8270 "$B< ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116>\n"
8271 "::ffff:204.152.189.116\n"
8272 msgstr ""
8273
8274 #. type: Plain text
8275 #: build/C/man3/inet_pton.3:180
8276 #, no-wrap
8277 msgid ""
8278 "#include E<lt>arpa/inet.hE<gt>\n"
8279 "#include E<lt>stdio.hE<gt>\n"
8280 "#include E<lt>stdlib.hE<gt>\n"
8281 "#include E<lt>string.hE<gt>\n"
8282 msgstr ""
8283
8284 #. type: Plain text
8285 #: build/C/man3/inet_pton.3:187
8286 #, no-wrap
8287 msgid ""
8288 "int\n"
8289 "main(int argc, char *argv[])\n"
8290 "{\n"
8291 "    unsigned char buf[sizeof(struct in6_addr)];\n"
8292 "    int domain, s;\n"
8293 "    char str[INET6_ADDRSTRLEN];\n"
8294 msgstr ""
8295
8296 #. type: Plain text
8297 #: build/C/man3/inet_pton.3:192
8298 #, no-wrap
8299 msgid ""
8300 "    if (argc != 3) {\n"
8301 "        fprintf(stderr, \"Usage: %s {i4|i6|E<lt>numE<gt>} string\\en\", "
8302 "argv[0]);\n"
8303 "        exit(EXIT_FAILURE);\n"
8304 "    }\n"
8305 msgstr ""
8306
8307 #. type: Plain text
8308 #: build/C/man3/inet_pton.3:195
8309 #, no-wrap
8310 msgid ""
8311 "    domain = (strcmp(argv[1], \"i4\") == 0) ? AF_INET :\n"
8312 "             (strcmp(argv[1], \"i6\") == 0) ? AF_INET6 : atoi(argv[1]);\n"
8313 msgstr ""
8314
8315 #. type: Plain text
8316 #: build/C/man3/inet_pton.3:204
8317 #, no-wrap
8318 msgid ""
8319 "    s = inet_pton(domain, argv[2], buf);\n"
8320 "    if (s E<lt>= 0) {\n"
8321 "        if (s == 0)\n"
8322 "            fprintf(stderr, \"Not in presentation format\");\n"
8323 "        else\n"
8324 "            perror(\"inet_pton\");\n"
8325 "        exit(EXIT_FAILURE);\n"
8326 "    }\n"
8327 msgstr ""
8328
8329 #. type: Plain text
8330 #: build/C/man3/inet_pton.3:209
8331 #, no-wrap
8332 msgid ""
8333 "    if (inet_ntop(domain, buf, str, INET6_ADDRSTRLEN) == NULL) {\n"
8334 "        perror(\"inet_ntop\");\n"
8335 "        exit(EXIT_FAILURE);\n"
8336 "    }\n"
8337 msgstr ""
8338
8339 #. type: Plain text
8340 #: build/C/man3/inet_pton.3:211
8341 #, no-wrap
8342 msgid "    printf(\"%s\\en\", str);\n"
8343 msgstr ""
8344
8345 #. type: Plain text
8346 #: build/C/man3/inet_pton.3:219
8347 msgid "B<getaddrinfo>(3), B<inet>(3), B<inet_ntop>(3)"
8348 msgstr ""
8349
8350 #. type: TH
8351 #: build/C/man7/ip.7:39
8352 #, no-wrap
8353 msgid "IP"
8354 msgstr ""
8355
8356 #. type: Plain text
8357 #: build/C/man7/ip.7:42
8358 msgid "ip - Linux IPv4 protocol implementation"
8359 msgstr ""
8360
8361 #. type: Plain text
8362 #: build/C/man7/ip.7:48 build/C/man7/ipv6.7:93 build/C/man7/raw.7:20 build/C/man7/tcp.7:72 build/C/man7/udp.7:19
8363 msgid "B<#include E<lt>netinet/in.hE<gt>>"
8364 msgstr ""
8365
8366 #. type: Plain text
8367 #: build/C/man7/ip.7:50
8368 msgid "B<#include E<lt>netinet/ip.hE<gt> >/* superset of previous */"
8369 msgstr ""
8370
8371 #. type: Plain text
8372 #: build/C/man7/ip.7:52
8373 msgid "I<tcp_socket>B< = socket(AF_INET, SOCK_STREAM, 0);>"
8374 msgstr ""
8375
8376 #. type: Plain text
8377 #: build/C/man7/ip.7:54
8378 msgid "I<udp_socket>B< = socket(AF_INET, SOCK_DGRAM, 0);>"
8379 msgstr ""
8380
8381 #. type: Plain text
8382 #: build/C/man7/ip.7:56
8383 msgid "I<raw_socket>B< = socket(AF_INET, SOCK_RAW, >I<protocol>B<);>"
8384 msgstr ""
8385
8386 #.  FIXME has someone verified that 2.1 is really 1812 compliant?
8387 #. type: Plain text
8388 #: build/C/man7/ip.7:63
8389 msgid ""
8390 "Linux implements the Internet Protocol, version 4, described in RFC\\ 791 "
8391 "and RFC\\ 1122.  B<ip> contains a level 2 multicasting implementation "
8392 "conforming to RFC\\ 1112.  It also contains an IP router including a packet "
8393 "filter."
8394 msgstr ""
8395
8396 #. type: Plain text
8397 #: build/C/man7/ip.7:67
8398 msgid ""
8399 "The programming interface is BSD-sockets compatible.  For more information "
8400 "on sockets, see B<socket>(7)."
8401 msgstr ""
8402
8403 #. type: Plain text
8404 #: build/C/man7/ip.7:98
8405 msgid ""
8406 "An IP socket is created by calling the B<socket>(2)  function as "
8407 "B<socket(AF_INET, >I<socket_type>B<, >I<protocol>B<)>.  Valid socket types "
8408 "are B<SOCK_STREAM> to open a B<tcp>(7)  socket, B<SOCK_DGRAM> to open a "
8409 "B<udp>(7)  socket, or B<SOCK_RAW> to open a B<raw>(7)  socket to access the "
8410 "IP protocol directly.  I<protocol> is the IP protocol in the IP header to be "
8411 "received or sent.  The only valid values for I<protocol> are 0 and "
8412 "B<IPPROTO_TCP> for TCP sockets, and 0 and B<IPPROTO_UDP> for UDP sockets.  "
8413 "For B<SOCK_RAW> you may specify a valid IANA IP protocol defined in RFC\\ "
8414 "1700 assigned numbers."
8415 msgstr ""
8416
8417 #. type: Plain text
8418 #: build/C/man7/ip.7:120
8419 msgid ""
8420 "When a process wants to receive new incoming packets or connections, it "
8421 "should bind a socket to a local interface address using B<bind>(2).  In this "
8422 "case, only one IP socket may be bound to any given local (address, port) "
8423 "pair.  When B<INADDR_ANY> is specified in the bind call, the socket will be "
8424 "bound to I<all> local interfaces.  When B<listen>(2)  is called on an "
8425 "unbound socket, the socket is automatically bound to a random free port with "
8426 "the local address set to B<INADDR_ANY>.  When B<connect>(2)  is called on an "
8427 "unbound socket, the socket is automatically bound to a random free port or "
8428 "to a usable shared port with the local address set to B<INADDR_ANY>."
8429 msgstr ""
8430
8431 #. type: Plain text
8432 #: build/C/man7/ip.7:126
8433 msgid ""
8434 "A TCP local socket address that has been bound is unavailable for some time "
8435 "after closing, unless the B<SO_REUSEADDR> flag has been set.  Care should be "
8436 "taken when using this flag as it makes TCP less reliable."
8437 msgstr ""
8438
8439 #. type: Plain text
8440 #: build/C/man7/ip.7:137
8441 msgid ""
8442 "An IP socket address is defined as a combination of an IP interface address "
8443 "and a 16-bit port number.  The basic IP protocol does not supply port "
8444 "numbers, they are implemented by higher level protocols like B<udp>(7)  and "
8445 "B<tcp>(7).  On raw sockets I<sin_port> is set to the IP protocol."
8446 msgstr ""
8447
8448 #. type: Plain text
8449 #: build/C/man7/ip.7:145
8450 #, no-wrap
8451 msgid ""
8452 "struct sockaddr_in {\n"
8453 "    sa_family_t    sin_family; /* address family: AF_INET */\n"
8454 "    in_port_t      sin_port;   /* port in network byte order */\n"
8455 "    struct in_addr sin_addr;   /* internet address */\n"
8456 "};\n"
8457 msgstr ""
8458
8459 #. type: Plain text
8460 #: build/C/man7/ip.7:150
8461 #, no-wrap
8462 msgid ""
8463 "/* Internet address. */\n"
8464 "struct in_addr {\n"
8465 "    uint32_t       s_addr;     /* address in network byte order */\n"
8466 "};\n"
8467 msgstr ""
8468
8469 #. type: Plain text
8470 #: build/C/man7/ip.7:175
8471 msgid ""
8472 "I<sin_family> is always set to B<AF_INET>.  This is required; in Linux 2.2 "
8473 "most networking functions return B<EINVAL> when this setting is missing.  "
8474 "I<sin_port> contains the port in network byte order.  The port numbers below "
8475 "1024 are called I<privileged ports> (or sometimes: I<reserved ports>).  Only "
8476 "privileged processes (i.e., those having the B<CAP_NET_BIND_SERVICE> "
8477 "capability) may B<bind>(2)  to these sockets.  Note that the raw IPv4 "
8478 "protocol as such has no concept of a port, they are only implemented by "
8479 "higher protocols like B<tcp>(7)  and B<udp>(7)."
8480 msgstr ""
8481
8482 #. type: Plain text
8483 #: build/C/man7/ip.7:194
8484 msgid ""
8485 "I<sin_addr> is the IP host address.  The I<s_addr> member of I<struct "
8486 "in_addr> contains the host interface address in network byte order.  "
8487 "I<in_addr> should be assigned one of the B<INADDR_*> values (e.g., "
8488 "B<INADDR_ANY>)  or set using the B<inet_aton>(3), B<inet_addr>(3), "
8489 "B<inet_makeaddr>(3)  library functions or directly with the name resolver "
8490 "(see B<gethostbyname>(3))."
8491 msgstr ""
8492
8493 #.  Leave a loophole for XTP @)
8494 #. type: Plain text
8495 #: build/C/man7/ip.7:206
8496 msgid ""
8497 "IPv4 addresses are divided into unicast, broadcast and multicast addresses.  "
8498 "Unicast addresses specify a single interface of a host, broadcast addresses "
8499 "specify all hosts on a network and multicast addresses address all hosts in "
8500 "a multicast group.  Datagrams to broadcast addresses can be only sent or "
8501 "received when the B<SO_BROADCAST> socket flag is set.  In the current "
8502 "implementation, connection-oriented sockets are only allowed to use unicast "
8503 "addresses."
8504 msgstr ""
8505
8506 #. type: Plain text
8507 #: build/C/man7/ip.7:214
8508 msgid ""
8509 "Note that the address and the port are always stored in network byte order.  "
8510 "In particular, this means that you need to call B<htons>(3)  on the number "
8511 "that is assigned to a port.  All address/port manipulation functions in the "
8512 "standard library work in network byte order."
8513 msgstr ""
8514
8515 #. type: Plain text
8516 #: build/C/man7/ip.7:227
8517 msgid ""
8518 "There are several special addresses: B<INADDR_LOOPBACK> (127.0.0.1)  always "
8519 "refers to the local host via the loopback device; B<INADDR_ANY> (0.0.0.0)  "
8520 "means any address for binding; B<INADDR_BROADCAST> (255.255.255.255)  means "
8521 "any host and has the same effect on bind as B<INADDR_ANY> for historical "
8522 "reasons."
8523 msgstr ""
8524
8525 #.  or SOL_IP on Linux
8526 #. type: Plain text
8527 #: build/C/man7/ip.7:236
8528 msgid ""
8529 "IP supports some protocol-specific socket options that can be set with "
8530 "B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level "
8531 "for IP is B<IPPROTO_IP>.  A boolean integer flag is zero when it is false, "
8532 "otherwise true."
8533 msgstr ""
8534
8535 #. type: TP
8536 #: build/C/man7/ip.7:236
8537 #, no-wrap
8538 msgid "B<IP_ADD_MEMBERSHIP> (since Linux 1.2)"
8539 msgstr ""
8540
8541 #. type: Plain text
8542 #: build/C/man7/ip.7:242
8543 msgid "Join a multicast group.  Argument is an I<ip_mreqn> structure."
8544 msgstr ""
8545
8546 #. type: Plain text
8547 #: build/C/man7/ip.7:252
8548 #, no-wrap
8549 msgid ""
8550 "struct ip_mreqn {\n"
8551 "    struct in_addr imr_multiaddr; /* IP multicast group\n"
8552 "                                     address */\n"
8553 "    struct in_addr imr_address;   /* IP address of local\n"
8554 "                                     interface */\n"
8555 "    int            imr_ifindex;   /* interface index */\n"
8556 "};\n"
8557 msgstr ""
8558
8559 #.  (i.e., within the 224.0.0.0-239.255.255.255 range)
8560 #. type: Plain text
8561 #: build/C/man7/ip.7:273
8562 msgid ""
8563 "I<imr_multiaddr> contains the address of the multicast group the application "
8564 "wants to join or leave.  It must be a valid multicast address (or "
8565 "B<setsockopt>(2)  fails with the error B<EINVAL>).  I<imr_address> is the "
8566 "address of the local interface with which the system should join the "
8567 "multicast group; if it is equal to B<INADDR_ANY> an appropriate interface is "
8568 "chosen by the system.  I<imr_ifindex> is the interface index of the "
8569 "interface that should join/leave the I<imr_multiaddr> group, or 0 to "
8570 "indicate any interface."
8571 msgstr ""
8572
8573 #. type: Plain text
8574 #: build/C/man7/ip.7:288
8575 msgid ""
8576 "The I<ip_mreqn> structure is available only since Linux 2.2.  For "
8577 "compatibility, the old I<ip_mreq> structure (present since Linux 1.2) is "
8578 "still supported; it differs from I<ip_mreqn> only by not including the "
8579 "I<imr_ifindex> field.  Only valid as a B<setsockopt>(2)."
8580 msgstr ""
8581
8582 #. type: TP
8583 #: build/C/man7/ip.7:288
8584 #, no-wrap
8585 msgid "B<IP_ADD_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)"
8586 msgstr ""
8587
8588 #. type: Plain text
8589 #: build/C/man7/ip.7:295
8590 msgid ""
8591 "Join a multicast group and allow receiving data only from a specified "
8592 "source.  Argument is an I<ip_mreq_source> structure."
8593 msgstr ""
8594
8595 #. type: Plain text
8596 #: build/C/man7/ip.7:306
8597 #, no-wrap
8598 msgid ""
8599 "struct ip_mreq_source {\n"
8600 "    struct in_addr imr_multiaddr;  /* IP multicast group\n"
8601 "                                      address */\n"
8602 "    struct in_addr imr_interface;  /* IP address of local\n"
8603 "                                      interface */\n"
8604 "    struct in_addr imr_sourceaddr; /* IP address of\n"
8605 "                                      multicast source */\n"
8606 "};\n"
8607 msgstr ""
8608
8609 #. type: Plain text
8610 #: build/C/man7/ip.7:327
8611 msgid ""
8612 "The I<ip_mreq_source> structure is similar to I<ip_mreqn> described under "
8613 "B<IP_ADD_MEMBERSIP>.  The I<imr_multiaddr> field contains the address of the "
8614 "multicast group the application wants to join or leave.  The "
8615 "I<imr_interface> field is the address of the local interface with which the "
8616 "system should join the multicast group.  Finally, the I<imr_sourceaddr> "
8617 "field contains the address of the source the application wants to receive "
8618 "data from."
8619 msgstr ""
8620
8621 #. type: Plain text
8622 #: build/C/man7/ip.7:330
8623 msgid ""
8624 "This option can be used multiple times to allow receiving data from more "
8625 "than one source."
8626 msgstr ""
8627
8628 #. type: TP
8629 #: build/C/man7/ip.7:330
8630 #, no-wrap
8631 msgid "B<IP_BLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)"
8632 msgstr ""
8633
8634 #. type: Plain text
8635 #: build/C/man7/ip.7:338
8636 msgid ""
8637 "Stop receiving multicast data from a specific source in a given group.  This "
8638 "is valid only after the application has subscribed to the multicast group "
8639 "using either B<IP_ADD_MEMBERSHIP> or B<IP_ADD_SOURCE_MEMBERSHIP>."
8640 msgstr ""
8641
8642 #. type: Plain text
8643 #: build/C/man7/ip.7:343 build/C/man7/ip.7:365 build/C/man7/ip.7:909
8644 msgid ""
8645 "Argument is an I<ip_mreq_source> structure as described under "
8646 "B<IP_ADD_SOURCE_MEMBERSHIP>."
8647 msgstr ""
8648
8649 #. type: TP
8650 #: build/C/man7/ip.7:343
8651 #, no-wrap
8652 msgid "B<IP_DROP_MEMBERSHIP> (since Linux 1.2)"
8653 msgstr ""
8654
8655 #. type: Plain text
8656 #: build/C/man7/ip.7:352
8657 msgid ""
8658 "Leave a multicast group.  Argument is an I<ip_mreqn> or I<ip_mreq> structure "
8659 "similar to B<IP_ADD_MEMBERSHIP>."
8660 msgstr ""
8661
8662 #. type: TP
8663 #: build/C/man7/ip.7:352
8664 #, no-wrap
8665 msgid "B<IP_DROP_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)"
8666 msgstr ""
8667
8668 #. type: Plain text
8669 #: build/C/man7/ip.7:360
8670 msgid ""
8671 "Leave a source-specific group\\(emthat is, stop receiving data from a given "
8672 "multicast group that come from a given source.  If the application has "
8673 "subscribed to multiple sources within the same group, data from the "
8674 "remaining sources will still be delivered.  To stop receiving data from all "
8675 "sources at once, use B<IP_LEAVE_GROUP>."
8676 msgstr ""
8677
8678 #. type: TP
8679 #: build/C/man7/ip.7:365
8680 #, no-wrap
8681 msgid "B<IP_FREEBIND> (since Linux 2.4)"
8682 msgstr ""
8683
8684 #.  Precisely: 2.4.0-test10
8685 #. type: Plain text
8686 #: build/C/man7/ip.7:378
8687 msgid ""
8688 "If enabled, this boolean option allows binding to an IP address that is "
8689 "nonlocal or does not (yet) exist.  This permits listening on a socket, "
8690 "without requiring the underlying network interface or the specified dynamic "
8691 "IP address to be up at the time that the application is trying to bind to "
8692 "it.  This option is the per-socket equivalent of the I<ip_nonlocal_bind> "
8693 "I</proc> interface described below."
8694 msgstr ""
8695
8696 #. type: TP
8697 #: build/C/man7/ip.7:378
8698 #, no-wrap
8699 msgid "B<IP_HDRINCL> (since Linux 2.0)"
8700 msgstr ""
8701
8702 #. type: Plain text
8703 #: build/C/man7/ip.7:394
8704 msgid ""
8705 "If enabled, the user supplies an IP header in front of the user data.  Only "
8706 "valid for B<SOCK_RAW> sockets.  See B<raw>(7)  for more information.  When "
8707 "this flag is enabled the values set by B<IP_OPTIONS>, B<IP_TTL> and "
8708 "B<IP_TOS> are ignored."
8709 msgstr ""
8710
8711 #. type: TP
8712 #: build/C/man7/ip.7:394
8713 #, no-wrap
8714 msgid "B<IP_MSFILTER> (since Linux 2.4.22 / 2.5.68)"
8715 msgstr ""
8716
8717 #. type: Plain text
8718 #: build/C/man7/ip.7:400
8719 msgid ""
8720 "This option provides access to the advanced full-state filtering API.  "
8721 "Argument is an I<ip_msfilter> structure."
8722 msgstr ""
8723
8724 #. type: Plain text
8725 #: build/C/man7/ip.7:409
8726 #, no-wrap
8727 msgid ""
8728 "struct ip_msfilter {\n"
8729 "    struct in_addr imsf_multiaddr; /* IP multicast group\n"
8730 "                                      address */\n"
8731 "    struct in_addr imsf_interface; /* IP address of local\n"
8732 "                                      interface */\n"
8733 "    uint32_t       imsf_fmode;     /* Filter-mode */\n"
8734 msgstr ""
8735
8736 #. type: Plain text
8737 #: build/C/man7/ip.7:415
8738 #, no-wrap
8739 msgid ""
8740 "    uint32_t       imsf_numsrc;    /* Number of sources in\n"
8741 "                                      the following array */\n"
8742 "    struct in_addr imsf_slist[1];  /* Array of source\n"
8743 "                                      addresses */\n"
8744 "};\n"
8745 msgstr ""
8746
8747 #. type: Plain text
8748 #: build/C/man7/ip.7:430
8749 msgid ""
8750 "There are two macros, B<MCAST_INCLUDE> and B<MCAST_EXCLUDE>, which can be "
8751 "used to specify the filtering mode.  Additionally, the "
8752 "B<IP_MSFILTER_SIZE>(n)  macro exists to determine how much memory is needed "
8753 "to store I<ip_msfilter> structure with I<n> sources in the source list."
8754 msgstr ""
8755
8756 #. type: Plain text
8757 #: build/C/man7/ip.7:433
8758 msgid "For the full description of multicast source filtering refer to RFC 3376."
8759 msgstr ""
8760
8761 #. type: TP
8762 #: build/C/man7/ip.7:433
8763 #, no-wrap
8764 msgid "B<IP_MTU> (since Linux 2.2)"
8765 msgstr ""
8766
8767 #.  Precisely: 2.1.124
8768 #. type: Plain text
8769 #: build/C/man7/ip.7:441
8770 msgid ""
8771 "Retrieve the current known path MTU of the current socket.  Only valid when "
8772 "the socket has been connected.  Returns an integer.  Only valid as a "
8773 "B<getsockopt>(2)."
8774 msgstr ""
8775
8776 #. type: TP
8777 #: build/C/man7/ip.7:441
8778 #, no-wrap
8779 msgid "B<IP_MTU_DISCOVER> (since Linux 2.2)"
8780 msgstr ""
8781
8782 #.  Precisely: 2.1.124
8783 #. type: Plain text
8784 #: build/C/man7/ip.7:462
8785 msgid ""
8786 "Set or receive the Path MTU Discovery setting for a socket.  When enabled, "
8787 "Linux will perform Path MTU Discovery as defined in RFC\\ 1191 on "
8788 "B<SOCK_STREAM> sockets.  For non-B<SOCK_STREAM> sockets, B<IP_PMTUDISC_DO> "
8789 "forces the don't-fragment flag to be set on all outgoing packets.  It is the "
8790 "user's responsibility to packetize the data in MTU-sized chunks and to do "
8791 "the retransmits if necessary.  The kernel will reject (with B<EMSGSIZE>)  "
8792 "datagrams that are bigger than the known path MTU.  B<IP_PMTUDISC_WANT> will "
8793 "fragment a datagram if needed according to the path MTU, or will set the "
8794 "don't-fragment flag otherwise."
8795 msgstr ""
8796
8797 #. type: Plain text
8798 #: build/C/man7/ip.7:470
8799 msgid ""
8800 "The system-wide default can be toggled between B<IP_PMTUDISC_WANT> and "
8801 "B<IP_PMTUDISC_DONT> by writing (respectively, zero and nonzero values) to "
8802 "the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file."
8803 msgstr ""
8804
8805 #. type: tbl table
8806 #: build/C/man7/ip.7:474
8807 #, no-wrap
8808 msgid "Path MTU discovery value:Meaning\n"
8809 msgstr ""
8810
8811 #. type: tbl table
8812 #: build/C/man7/ip.7:475
8813 #, no-wrap
8814 msgid "IP_PMTUDISC_WANT:Use per-route settings.\n"
8815 msgstr ""
8816
8817 #. type: tbl table
8818 #: build/C/man7/ip.7:476
8819 #, no-wrap
8820 msgid "IP_PMTUDISC_DONT:Never do Path MTU Discovery.\n"
8821 msgstr ""
8822
8823 #. type: tbl table
8824 #: build/C/man7/ip.7:477
8825 #, no-wrap
8826 msgid "IP_PMTUDISC_DO:Always do Path MTU Discovery.\n"
8827 msgstr ""
8828
8829 #. type: tbl table
8830 #: build/C/man7/ip.7:478
8831 #, no-wrap
8832 msgid "IP_PMTUDISC_PROBE:Set DF but ignore Path MTU.\n"
8833 msgstr ""
8834
8835 #. type: Plain text
8836 #: build/C/man7/ip.7:496
8837 msgid ""
8838 "When PMTU discovery is enabled, the kernel automatically keeps track of the "
8839 "path MTU per destination host.  When it is connected to a specific peer with "
8840 "B<connect>(2), the currently known path MTU can be retrieved conveniently "
8841 "using the B<IP_MTU> socket option (e.g., after an B<EMSGSIZE> error "
8842 "occurred).  The path MTU may change over time.  For connectionless sockets "
8843 "with many destinations, the new MTU for a given destination can also be "
8844 "accessed using the error queue (see B<IP_RECVERR>).  A new error will be "
8845 "queued for every incoming MTU update."
8846 msgstr ""
8847
8848 #. type: Plain text
8849 #: build/C/man7/ip.7:501
8850 msgid ""
8851 "While MTU discovery is in progress, initial packets from datagram sockets "
8852 "may be dropped.  Applications using UDP should be aware of this and not take "
8853 "it into account for their packet retransmit strategy."
8854 msgstr ""
8855
8856 #.  FIXME this is an ugly hack
8857 #. type: Plain text
8858 #: build/C/man7/ip.7:506
8859 msgid ""
8860 "To bootstrap the path MTU discovery process on unconnected sockets, it is "
8861 "possible to start with a big datagram size (up to 64K-headers bytes long) "
8862 "and let it shrink by updates of the path MTU."
8863 msgstr ""
8864
8865 #. type: Plain text
8866 #: build/C/man7/ip.7:515
8867 msgid ""
8868 "To get an initial estimate of the path MTU, connect a datagram socket to the "
8869 "destination address using B<connect>(2)  and retrieve the MTU by calling "
8870 "B<getsockopt>(2)  with the B<IP_MTU> option."
8871 msgstr ""
8872
8873 #. type: Plain text
8874 #: build/C/man7/ip.7:527
8875 msgid ""
8876 "It is possible to implement RFC 4821 MTU probing with B<SOCK_DGRAM> or "
8877 "B<SOCK_RAW> sockets by setting a value of B<IP_PMTUDISC_PROBE> (available "
8878 "since Linux 2.6.22).  This is also particularly useful for diagnostic tools "
8879 "such as B<tracepath>(8)  that wish to deliberately send probe packets larger "
8880 "than the observed Path MTU."
8881 msgstr ""
8882
8883 #. type: TP
8884 #: build/C/man7/ip.7:527
8885 #, no-wrap
8886 msgid "B<IP_MULTICAST_IF> (since Linux 1.2)"
8887 msgstr ""
8888
8889 #. type: Plain text
8890 #: build/C/man7/ip.7:536
8891 msgid ""
8892 "Set the local device for a multicast socket.  Argument is an I<ip_mreqn> or "
8893 "I<ip_mreq> structure similar to B<IP_ADD_MEMBERSHIP>."
8894 msgstr ""
8895
8896 #. type: Plain text
8897 #: build/C/man7/ip.7:540
8898 msgid "When an invalid socket option is passed, B<ENOPROTOOPT> is returned."
8899 msgstr ""
8900
8901 #. type: TP
8902 #: build/C/man7/ip.7:540
8903 #, no-wrap
8904 msgid "B<IP_MULTICAST_LOOP> (since Linux 1.2)"
8905 msgstr ""
8906
8907 #. type: Plain text
8908 #: build/C/man7/ip.7:544
8909 msgid ""
8910 "Set or read a boolean integer argument that determines whether sent "
8911 "multicast packets should be looped back to the local sockets."
8912 msgstr ""
8913
8914 #. type: TP
8915 #: build/C/man7/ip.7:544
8916 #, no-wrap
8917 msgid "B<IP_MULTICAST_TTL> (since Linux 1.2)"
8918 msgstr ""
8919
8920 #. type: Plain text
8921 #: build/C/man7/ip.7:552
8922 msgid ""
8923 "Set or read the time-to-live value of outgoing multicast packets for this "
8924 "socket.  It is very important for multicast packets to set the smallest TTL "
8925 "possible.  The default is 1 which means that multicast packets don't leave "
8926 "the local network unless the user program explicitly requests it.  Argument "
8927 "is an integer."
8928 msgstr ""
8929
8930 #. type: TP
8931 #: build/C/man7/ip.7:552
8932 #, no-wrap
8933 msgid "B<IP_NODEFRAG> (since Linux 2.6.36)"
8934 msgstr ""
8935
8936 #. type: Plain text
8937 #: build/C/man7/ip.7:560
8938 msgid ""
8939 "If enabled (argument is nonzero), the reassembly of outgoing packets is "
8940 "disabled in the netfilter layer.  This option is only valid for B<SOCK_RAW> "
8941 "sockets.  The argument is an integer."
8942 msgstr ""
8943
8944 #. type: TP
8945 #: build/C/man7/ip.7:560
8946 #, no-wrap
8947 msgid "B<IP_OPTIONS> (since Linux 2.0)"
8948 msgstr ""
8949
8950 #.  Precisely: 1.3.30
8951 #. type: Plain text
8952 #: build/C/man7/ip.7:589
8953 msgid ""
8954 "Set or get the IP options to be sent with every packet from this socket.  "
8955 "The arguments are a pointer to a memory buffer containing the options and "
8956 "the option length.  The B<setsockopt>(2)  call sets the IP options "
8957 "associated with a socket.  The maximum option size for IPv4 is 40 bytes.  "
8958 "See RFC\\ 791 for the allowed options.  When the initial connection request "
8959 "packet for a B<SOCK_STREAM> socket contains IP options, the IP options will "
8960 "be set automatically to the options from the initial packet with routing "
8961 "headers reversed.  Incoming packets are not allowed to change options after "
8962 "the connection is established.  The processing of all incoming source "
8963 "routing options is disabled by default and can be enabled by using the "
8964 "I<accept_source_route> I</proc> interface.  Other options like timestamps "
8965 "are still handled.  For datagram sockets, IP options can be only set by the "
8966 "local user.  Calling B<getsockopt>(2)  with B<IP_OPTIONS> puts the current "
8967 "IP options used for sending into the supplied buffer."
8968 msgstr ""
8969
8970 #. type: TP
8971 #: build/C/man7/ip.7:589
8972 #, no-wrap
8973 msgid "B<IP_PKTINFO> (since Linux 2.2)"
8974 msgstr ""
8975
8976 #.  Precisely: 2.1.68
8977 #. type: Plain text
8978 #: build/C/man7/ip.7:606
8979 msgid ""
8980 "Pass an B<IP_PKTINFO> ancillary message that contains a I<pktinfo> structure "
8981 "that supplies some information about the incoming packet.  This only works "
8982 "for datagram oriented sockets.  The argument is a flag that tells the socket "
8983 "whether the B<IP_PKTINFO> message should be passed or not.  The message "
8984 "itself can only be sent/retrieved as control message with a packet using "
8985 "B<recvmsg>(2)  or B<sendmsg>(2)."
8986 msgstr ""
8987
8988 #. type: Plain text
8989 #: build/C/man7/ip.7:615
8990 #, no-wrap
8991 msgid ""
8992 "struct in_pktinfo {\n"
8993 "    unsigned int   ipi_ifindex;  /* Interface index */\n"
8994 "    struct in_addr ipi_spec_dst; /* Local address */\n"
8995 "    struct in_addr ipi_addr;     /* Header Destination\n"
8996 "                                    address */\n"
8997 "};\n"
8998 msgstr ""
8999
9000 #.  FIXME elaborate on that.
9001 #.  This field is grossly misnamed
9002 #. type: Plain text
9003 #: build/C/man7/ip.7:640
9004 msgid ""
9005 "I<ipi_ifindex> is the unique index of the interface the packet was received "
9006 "on.  I<ipi_spec_dst> is the local address of the packet and I<ipi_addr> is "
9007 "the destination address in the packet header.  If B<IP_PKTINFO> is passed to "
9008 "B<sendmsg>(2)  and I<ipi_spec_dst> is not zero, then it is used as the local "
9009 "source address for the routing table lookup and for setting up IP source "
9010 "route options.  When I<ipi_ifindex> is not zero, the primary local address "
9011 "of the interface specified by the index overwrites I<ipi_spec_dst> for the "
9012 "routing table lookup."
9013 msgstr ""
9014
9015 #. type: TP
9016 #: build/C/man7/ip.7:640
9017 #, no-wrap
9018 msgid "B<IP_RECVERR> (since Linux 2.2)"
9019 msgstr ""
9020
9021 #.  Precisely: 2.1.15
9022 #.  or SOL_IP on Linux
9023 #. type: Plain text
9024 #: build/C/man7/ip.7:662
9025 msgid ""
9026 "Enable extended reliable error message passing.  When enabled on a datagram "
9027 "socket, all generated errors will be queued in a per-socket error queue.  "
9028 "When the user receives an error from a socket operation, the errors can be "
9029 "received by calling B<recvmsg>(2)  with the B<MSG_ERRQUEUE> flag set.  The "
9030 "I<sock_extended_err> structure describing the error will be passed in an "
9031 "ancillary message with the type B<IP_RECVERR> and the level B<IPPROTO_IP>.  "
9032 "This is useful for reliable error handling on unconnected sockets.  The "
9033 "received data portion of the error queue contains the error packet."
9034 msgstr ""
9035
9036 #. type: Plain text
9037 #: build/C/man7/ip.7:668
9038 msgid "The B<IP_RECVERR> control message contains a I<sock_extended_err> structure:"
9039 msgstr ""
9040
9041 #. type: Plain text
9042 #: build/C/man7/ip.7:676
9043 #, no-wrap
9044 msgid ""
9045 "#define SO_EE_ORIGIN_NONE    0\n"
9046 "#define SO_EE_ORIGIN_LOCAL   1\n"
9047 "#define SO_EE_ORIGIN_ICMP    2\n"
9048 "#define SO_EE_ORIGIN_ICMP6   3\n"
9049 msgstr ""
9050
9051 #. type: Plain text
9052 #: build/C/man7/ip.7:687
9053 #, no-wrap
9054 msgid ""
9055 "struct sock_extended_err {\n"
9056 "    uint32_t ee_errno;   /* error number */\n"
9057 "    uint8_t  ee_origin;  /* where the error originated */\n"
9058 "    uint8_t  ee_type;    /* type */\n"
9059 "    uint8_t  ee_code;    /* code */\n"
9060 "    uint8_t  ee_pad;\n"
9061 "    uint32_t ee_info;    /* additional information */\n"
9062 "    uint32_t ee_data;    /* other data */\n"
9063 "    /* More data may follow */\n"
9064 "};\n"
9065 msgstr ""
9066
9067 #. type: Plain text
9068 #: build/C/man7/ip.7:689
9069 #, no-wrap
9070 msgid "struct sockaddr *SO_EE_OFFENDER(struct sock_extended_err *);\n"
9071 msgstr ""
9072
9073 #. type: Plain text
9074 #: build/C/man7/ip.7:712
9075 msgid ""
9076 "I<ee_errno> contains the I<errno> number of the queued error.  I<ee_origin> "
9077 "is the origin code of where the error originated.  The other fields are "
9078 "protocol-specific.  The macro B<SO_EE_OFFENDER> returns a pointer to the "
9079 "address of the network object where the error originated from given a "
9080 "pointer to the ancillary message.  If this address is not known, the "
9081 "I<sa_family> member of the I<sockaddr> contains B<AF_UNSPEC> and the other "
9082 "fields of the I<sockaddr> are undefined."
9083 msgstr ""
9084
9085 #.  FIXME . Is it a good idea to document that? It is a dubious feature.
9086 #.  On
9087 #.  .B SOCK_STREAM
9088 #.  sockets,
9089 #.  .B IP_RECVERR
9090 #.  has slightly different semantics. Instead of
9091 #.  saving the errors for the next timeout, it passes all incoming
9092 #.  errors immediately to the user.
9093 #.  This might be useful for very short-lived TCP connections which
9094 #.  need fast error handling. Use this option with care:
9095 #.  it makes TCP unreliable
9096 #.  by not allowing it to recover properly from routing
9097 #.  shifts and other normal
9098 #.  conditions and breaks the protocol specification.
9099 #. type: Plain text
9100 #: build/C/man7/ip.7:771
9101 msgid ""
9102 "IP uses the I<sock_extended_err> structure as follows: I<ee_origin> is set "
9103 "to B<SO_EE_ORIGIN_ICMP> for errors received as an ICMP packet, or "
9104 "B<SO_EE_ORIGIN_LOCAL> for locally generated errors.  Unknown values should "
9105 "be ignored.  I<ee_type> and I<ee_code> are set from the type and code fields "
9106 "of the ICMP header.  I<ee_info> contains the discovered MTU for B<EMSGSIZE> "
9107 "errors.  The message also contains the I<sockaddr_in of the node> caused the "
9108 "error, which can be accessed with the B<SO_EE_OFFENDER> macro.  The "
9109 "I<sin_family> field of the B<SO_EE_OFFENDER> address is B<AF_UNSPEC> when "
9110 "the source was unknown.  When the error originated from the network, all IP "
9111 "options (B<IP_OPTIONS>, B<IP_TTL>, etc.) enabled on the socket and contained "
9112 "in the error packet are passed as control messages.  The payload of the "
9113 "packet causing the error is returned as normal payload.  Note that TCP has "
9114 "no error queue; B<MSG_ERRQUEUE> is not permitted on B<SOCK_STREAM> sockets.  "
9115 "B<IP_RECVERR> is valid for TCP, but all errors are returned by socket "
9116 "function return or B<SO_ERROR> only."
9117 msgstr ""
9118
9119 #. type: Plain text
9120 #: build/C/man7/ip.7:776
9121 msgid ""
9122 "For raw sockets, B<IP_RECVERR> enables passing of all received ICMP errors "
9123 "to the application, otherwise errors are only reported on connected sockets"
9124 msgstr ""
9125
9126 #. type: Plain text
9127 #: build/C/man7/ip.7:780
9128 msgid ""
9129 "It sets or retrieves an integer boolean flag.  B<IP_RECVERR> defaults to "
9130 "off."
9131 msgstr ""
9132
9133 #. type: TP
9134 #: build/C/man7/ip.7:780
9135 #, no-wrap
9136 msgid "B<IP_RECVOPTS> (since Linux 2.2)"
9137 msgstr ""
9138
9139 #.  Precisely: 2.1.15
9140 #. type: Plain text
9141 #: build/C/man7/ip.7:791
9142 msgid ""
9143 "Pass all incoming IP options to the user in a B<IP_OPTIONS> control "
9144 "message.  The routing header and other options are already filled in for the "
9145 "local host.  Not supported for B<SOCK_STREAM> sockets."
9146 msgstr ""
9147
9148 #. type: TP
9149 #: build/C/man7/ip.7:791
9150 #, no-wrap
9151 msgid "B<IP_RECVORIGDSTADDR> (since Linux 2.6.29)"
9152 msgstr ""
9153
9154 #.  commit e8b2dfe9b4501ed0047459b2756ba26e5a940a69
9155 #. type: Plain text
9156 #: build/C/man7/ip.7:802
9157 msgid ""
9158 "This boolean option enables the B<IP_ORIGDSTADDR> ancillary message in "
9159 "B<recvmsg>(2), in which the kernel returns the original destination address "
9160 "of the datagram being received.  The ancillary message contains a I<struct "
9161 "sockaddr_in>."
9162 msgstr ""
9163
9164 #. type: TP
9165 #: build/C/man7/ip.7:802
9166 #, no-wrap
9167 msgid "B<IP_RECVTOS> (since Linux 2.2)"
9168 msgstr ""
9169
9170 #.  Precisely: 2.1.68
9171 #. type: Plain text
9172 #: build/C/man7/ip.7:811
9173 msgid ""
9174 "If enabled the B<IP_TOS> ancillary message is passed with incoming packets.  "
9175 "It contains a byte which specifies the Type of Service/Precedence field of "
9176 "the packet header.  Expects a boolean integer flag."
9177 msgstr ""
9178
9179 #. type: TP
9180 #: build/C/man7/ip.7:811
9181 #, no-wrap
9182 msgid "B<IP_RECVTTL> (since Linux 2.2)"
9183 msgstr ""
9184
9185 #.  Precisely: 2.1.68
9186 #. type: Plain text
9187 #: build/C/man7/ip.7:821
9188 msgid ""
9189 "When this flag is set, pass a B<IP_TTL> control message with the time to "
9190 "live field of the received packet as a byte.  Not supported for "
9191 "B<SOCK_STREAM> sockets."
9192 msgstr ""
9193
9194 #. type: TP
9195 #: build/C/man7/ip.7:821
9196 #, no-wrap
9197 msgid "B<IP_RETOPTS> (since Linux 2.2)"
9198 msgstr ""
9199
9200 #.  Precisely: 2.1.15
9201 #. type: Plain text
9202 #: build/C/man7/ip.7:828
9203 msgid ""
9204 "Identical to B<IP_RECVOPTS>, but returns raw unprocessed options with "
9205 "timestamp and route record options not filled in for this hop."
9206 msgstr ""
9207
9208 #. type: TP
9209 #: build/C/man7/ip.7:828
9210 #, no-wrap
9211 msgid "B<IP_ROUTER_ALERT> (since Linux 2.2)"
9212 msgstr ""
9213
9214 #.  Precisely: 2.1.68
9215 #. type: Plain text
9216 #: build/C/man7/ip.7:840
9217 msgid ""
9218 "Pass all to-be forwarded packets with the IP Router Alert option set to this "
9219 "socket.  Only valid for raw sockets.  This is useful, for instance, for "
9220 "user-space RSVP daemons.  The tapped packets are not forwarded by the "
9221 "kernel; it is the user's responsibility to send them out again.  Socket "
9222 "binding is ignored, such packets are only filtered by protocol.  Expects an "
9223 "integer flag."
9224 msgstr ""
9225
9226 #. type: TP
9227 #: build/C/man7/ip.7:840
9228 #, no-wrap
9229 msgid "B<IP_TOS> (since Linux 1.0)"
9230 msgstr ""
9231
9232 #.  FIXME elaborate on this
9233 #.  Needs CAP_NET_ADMIN
9234 #.  Boolean
9235 #.  Since Linux 2.6.27
9236 #.  Author: KOVACS Krisztian <hidden@sch.bme.hu>
9237 #.  http://lwn.net/Articles/252545/
9238 #. type: Plain text
9239 #: build/C/man7/ip.7:874
9240 msgid ""
9241 "Set or receive the Type-Of-Service (TOS) field that is sent with every IP "
9242 "packet originating from this socket.  It is used to prioritize packets on "
9243 "the network.  TOS is a byte.  There are some standard TOS flags defined: "
9244 "B<IPTOS_LOWDELAY> to minimize delays for interactive traffic, "
9245 "B<IPTOS_THROUGHPUT> to optimize throughput, B<IPTOS_RELIABILITY> to optimize "
9246 "for reliability, B<IPTOS_MINCOST> should be used for \"filler data\" where "
9247 "slow transmission doesn't matter.  At most one of these TOS values can be "
9248 "specified.  Other bits are invalid and shall be cleared.  Linux sends "
9249 "B<IPTOS_LOWDELAY> datagrams first by default, but the exact behavior depends "
9250 "on the configured queueing discipline.  Some high priority levels may "
9251 "require superuser privileges (the B<CAP_NET_ADMIN> capability).  The "
9252 "priority can also be set in a protocol independent way by the "
9253 "(B<SOL_SOCKET>, B<SO_PRIORITY>)  socket option (see B<socket>(7))."
9254 msgstr ""
9255
9256 #. type: TP
9257 #: build/C/man7/ip.7:874
9258 #, no-wrap
9259 msgid "B<IP_TRANSPARENT> (since Linux 2.6.24)"
9260 msgstr ""
9261
9262 #.  commit f5715aea4564f233767ea1d944b2637a5fd7cd2e
9263 #.      This patch introduces the IP_TRANSPARENT socket option: enabling that
9264 #.      will make the IPv4 routing omit the non-local source address check on
9265 #.      output. Setting IP_TRANSPARENT requires NET_ADMIN capability.
9266 #.  http://lwn.net/Articles/252545/
9267 #. type: Plain text
9268 #: build/C/man7/ip.7:891
9269 msgid ""
9270 "Setting this boolean option enables transparent proxying on this socket.  "
9271 "This socket option allows the calling application to bind to a nonlocal IP "
9272 "address and operate both as a client and a server with the foreign address "
9273 "as the local endpoint.  NOTE: this requires that routing be set up in a way "
9274 "that packets going to the foreign address are routed through the TProxy "
9275 "box.  Enabling this socket option requires superuser privileges (the "
9276 "B<CAP_NET_ADMIN> capability)."
9277 msgstr ""
9278
9279 #. type: Plain text
9280 #: build/C/man7/ip.7:894
9281 msgid ""
9282 "TProxy redirection with the iptables TPROXY target also requires that this "
9283 "option be set on the redirected socket."
9284 msgstr ""
9285
9286 #. type: TP
9287 #: build/C/man7/ip.7:894
9288 #, no-wrap
9289 msgid "B<IP_TTL> (since Linux 1.0)"
9290 msgstr ""
9291
9292 #. type: Plain text
9293 #: build/C/man7/ip.7:898
9294 msgid ""
9295 "Set or retrieve the current time-to-live field that is used in every packet "
9296 "sent from this socket."
9297 msgstr ""
9298
9299 #. type: TP
9300 #: build/C/man7/ip.7:898
9301 #, no-wrap
9302 msgid "B<IP_UNBLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)"
9303 msgstr ""
9304
9305 #. type: Plain text
9306 #: build/C/man7/ip.7:904
9307 msgid ""
9308 "Unblock previously blocked multicast source.  Returns B<EADDRNOTAVAIL> when "
9309 "given source is not being blocked."
9310 msgstr ""
9311
9312 #.  FIXME As at 2.6.12, 14 Jun 2005, the following are undocumented:
9313 #.      ip_queue_maxlen
9314 #.      ip_conntrack_max
9315 #. type: Plain text
9316 #: build/C/man7/ip.7:925
9317 msgid ""
9318 "The IP protocol supports a set of I</proc> interfaces to configure some "
9319 "global parameters.  The parameters can be accessed by reading or writing "
9320 "files in the directory I</proc/sys/net/ipv4/>.  Interfaces described as "
9321 "I<Boolean> take an integer value, with a nonzero value (\"true\") meaning "
9322 "that the corresponding option is enabled, and a zero value (\"false\")  "
9323 "meaning that the option is disabled."
9324 msgstr ""
9325
9326 #. type: TP
9327 #: build/C/man7/ip.7:925
9328 #, no-wrap
9329 msgid "I<ip_always_defrag> (Boolean; since Linux 2.2.13)"
9330 msgstr ""
9331
9332 #. type: Plain text
9333 #: build/C/man7/ip.7:931
9334 msgid ""
9335 "[New with kernel 2.2.13; in earlier kernel versions this feature was "
9336 "controlled at compile time by the B<CONFIG_IP_ALWAYS_DEFRAG> option; this "
9337 "option is not present in 2.4.x and later]"
9338 msgstr ""
9339
9340 #. type: Plain text
9341 #: build/C/man7/ip.7:938
9342 msgid ""
9343 "When this boolean flag is enabled (not equal 0), incoming fragments (parts "
9344 "of IP packets that arose when some host between origin and destination "
9345 "decided that the packets were too large and cut them into pieces) will be "
9346 "reassembled (defragmented) before being processed, even if they are about to "
9347 "be forwarded."
9348 msgstr ""
9349
9350 #. type: Plain text
9351 #: build/C/man7/ip.7:945
9352 msgid ""
9353 "Only enable if running either a firewall that is the sole link to your "
9354 "network or a transparent proxy; never ever use it for a normal router or "
9355 "host.  Otherwise fragmented communication can be disturbed if the fragments "
9356 "travel over different links.  Defragmentation also has a large memory and "
9357 "CPU time cost."
9358 msgstr ""
9359
9360 #. type: Plain text
9361 #: build/C/man7/ip.7:949
9362 msgid ""
9363 "This is automagically turned on when masquerading or transparent proxying "
9364 "are configured."
9365 msgstr ""
9366
9367 #. type: TP
9368 #: build/C/man7/ip.7:949
9369 #, no-wrap
9370 msgid "I<ip_autoconfig> (since Linux 2.2 to 2.6.17)"
9371 msgstr ""
9372
9373 #.  Precisely: since 2.1.68
9374 #.  FIXME document ip_autoconfig
9375 #. type: Plain text
9376 #: build/C/man7/ip.7:955
9377 msgid "Not documented."
9378 msgstr ""
9379
9380 #. type: TP
9381 #: build/C/man7/ip.7:955
9382 #, no-wrap
9383 msgid "I<ip_default_ttl> (integer; default: 64; since Linux 2.2)"
9384 msgstr ""
9385
9386 #.  Precisely: 2.1.15
9387 #. type: Plain text
9388 #: build/C/man7/ip.7:963
9389 msgid ""
9390 "Set the default time-to-live value of outgoing packets.  This can be changed "
9391 "per socket with the B<IP_TTL> option."
9392 msgstr ""
9393
9394 #. type: TP
9395 #: build/C/man7/ip.7:963
9396 #, no-wrap
9397 msgid "I<ip_dynaddr> (Boolean; default: disabled; since Linux 2.0.31)"
9398 msgstr ""
9399
9400 #. type: Plain text
9401 #: build/C/man7/ip.7:970
9402 msgid ""
9403 "Enable dynamic socket address and masquerading entry rewriting on interface "
9404 "address change.  This is useful for dialup interface with changing IP "
9405 "addresses.  0 means no rewriting, 1 turns it on and 2 enables verbose mode."
9406 msgstr ""
9407
9408 #. type: TP
9409 #: build/C/man7/ip.7:970
9410 #, no-wrap
9411 msgid "I<ip_forward> (Boolean; default: disabled; since Linux 1.2)"
9412 msgstr ""
9413
9414 #. type: Plain text
9415 #: build/C/man7/ip.7:975
9416 msgid ""
9417 "Enable IP forwarding with a boolean flag.  IP forwarding can be also set on "
9418 "a per-interface basis."
9419 msgstr ""
9420
9421 #. type: TP
9422 #: build/C/man7/ip.7:975
9423 #, no-wrap
9424 msgid "I<ip_local_port_range> (since Linux 2.2)"
9425 msgstr ""
9426
9427 #.  Precisely: since 2.1.68
9428 #. type: Plain text
9429 #: build/C/man7/ip.7:989
9430 msgid ""
9431 "Contains two integers that define the default local port range allocated to "
9432 "sockets.  Allocation starts with the first number and ends with the second "
9433 "number.  Note that these should not conflict with the ports used by "
9434 "masquerading (although the case is handled).  Also arbitrary choices may "
9435 "cause problems with some firewall packet filters that make assumptions about "
9436 "the local ports in use.  First number should be at least greater than 1024, "
9437 "or better, greater than 4096, to avoid clashes with well known ports and to "
9438 "minimize firewall problems."
9439 msgstr ""
9440
9441 #. type: TP
9442 #: build/C/man7/ip.7:989
9443 #, no-wrap
9444 msgid "I<ip_no_pmtu_disc> (Boolean; default: disabled; since Linux 2.2)"
9445 msgstr ""
9446
9447 #.  Precisely: 2.1.15
9448 #
9449 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9450 #. type: Plain text
9451 #: build/C/man7/ip.7:1001
9452 msgid ""
9453 "If enabled, don't do Path MTU Discovery for TCP sockets by default.  Path "
9454 "MTU discovery may fail if misconfigured firewalls (that drop all ICMP "
9455 "packets) or misconfigured interfaces (e.g., a point-to-point link where the "
9456 "both ends don't agree on the MTU) are on the path.  It is better to fix the "
9457 "broken routers on the path than to turn off Path MTU Discovery globally, "
9458 "because not doing it incurs a high cost to the network."
9459 msgstr ""
9460
9461 #. type: TP
9462 #: build/C/man7/ip.7:1001
9463 #, no-wrap
9464 msgid "I<ip_nonlocal_bind> (Boolean; default: disabled; since Linux 2.4)"
9465 msgstr ""
9466
9467 #.  Precisely: patch-2.4.0-test10
9468 #
9469 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9470 #. type: Plain text
9471 #: build/C/man7/ip.7:1010
9472 msgid ""
9473 "If set, allows processes to B<bind>(2)  to nonlocal IP addresses, which can "
9474 "be quite useful, but may break some applications."
9475 msgstr ""
9476
9477 #. type: TP
9478 #: build/C/man7/ip.7:1010
9479 #, no-wrap
9480 msgid "I<ip6frag_time> (integer; default: 30)"
9481 msgstr ""
9482
9483 #
9484 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
9485 #. type: Plain text
9486 #: build/C/man7/ip.7:1015
9487 msgid "Time in seconds to keep an IPv6 fragment in memory."
9488 msgstr ""
9489
9490 #. type: TP
9491 #: build/C/man7/ip.7:1015
9492 #, no-wrap
9493 msgid "I<ip6frag_secret_interval> (integer; default: 600)"
9494 msgstr ""
9495
9496 #. type: Plain text
9497 #: build/C/man7/ip.7:1019
9498 msgid ""
9499 "Regeneration interval (in seconds) of the hash secret (or lifetime for the "
9500 "hash secret) for IPv6 fragments."
9501 msgstr ""
9502
9503 #. type: TP
9504 #: build/C/man7/ip.7:1019
9505 #, no-wrap
9506 msgid "I<ipfrag_high_thresh> (integer), I<ipfrag_low_thresh> (integer)"
9507 msgstr ""
9508
9509 #. type: Plain text
9510 #: build/C/man7/ip.7:1026
9511 msgid ""
9512 "If the amount of queued IP fragments reaches I<ipfrag_high_thresh>, the "
9513 "queue is pruned down to I<ipfrag_low_thresh>.  Contains an integer with the "
9514 "number of bytes."
9515 msgstr ""
9516
9517 #. type: TP
9518 #: build/C/man7/ip.7:1026
9519 #, no-wrap
9520 msgid "I<neigh/*>"
9521 msgstr ""
9522
9523 #.  FIXME Document the conf/*/* interfaces
9524 #.  FIXME Document the route/* interfaces
9525 #.  FIXME document them all
9526 #. type: Plain text
9527 #: build/C/man7/ip.7:1033
9528 msgid "See B<arp>(7)."
9529 msgstr ""
9530
9531 #.  2006-04-02, mtk
9532 #.  commented out the following because ipchains is obsolete
9533 #.  .PP
9534 #.  The ioctls to configure firewalling are documented in
9535 #.  .BR ipfw (4)
9536 #.  from the
9537 #.  .B ipchains
9538 #.  package.
9539 #. type: Plain text
9540 #: build/C/man7/ip.7:1046
9541 msgid "All ioctls described in B<socket>(7)  apply to B<ip>."
9542 msgstr ""
9543
9544 #.  FIXME Add a discussion of multicasting
9545 #. type: Plain text
9546 #: build/C/man7/ip.7:1050
9547 msgid ""
9548 "Ioctls to configure generic device parameters are described in "
9549 "B<netdevice>(7)."
9550 msgstr ""
9551
9552 #. type: Plain text
9553 #: build/C/man7/ip.7:1070
9554 msgid ""
9555 "The user tried to execute an operation without the necessary permissions.  "
9556 "These include: sending a packet to a broadcast address without having the "
9557 "B<SO_BROADCAST> flag set; sending a packet via a I<prohibit> route; "
9558 "modifying firewall settings without superuser privileges (the "
9559 "B<CAP_NET_ADMIN> capability); binding to a privileged port without superuser "
9560 "privileges (the B<CAP_NET_BIND_SERVICE> capability)."
9561 msgstr ""
9562
9563 #. type: Plain text
9564 #: build/C/man7/ip.7:1083
9565 msgid "An connection operation on a nonblocking socket is already in progress."
9566 msgstr ""
9567
9568 #. type: Plain text
9569 #: build/C/man7/ip.7:1092
9570 msgid ""
9571 "No valid routing table entry matches the destination address.  This error "
9572 "can be caused by a ICMP message from a remote router or for the local "
9573 "routing table."
9574 msgstr ""
9575
9576 #. type: Plain text
9577 #: build/C/man7/ip.7:1098
9578 msgid ""
9579 "Invalid argument passed.  For send operations this can be caused by sending "
9580 "to a I<blackhole> route."
9581 msgstr ""
9582
9583 #. type: Plain text
9584 #: build/C/man7/ip.7:1105
9585 msgid "Datagram is bigger than an MTU on the path and it cannot be fragmented."
9586 msgstr ""
9587
9588 #. type: TP
9589 #: build/C/man7/ip.7:1105
9590 #, no-wrap
9591 msgid "B<ENOBUFS>, B<ENOMEM>"
9592 msgstr ""
9593
9594 #. type: Plain text
9595 #: build/C/man7/ip.7:1110
9596 msgid ""
9597 "Not enough free memory.  This often means that the memory allocation is "
9598 "limited by the socket buffer limits, not by the system memory, but this is "
9599 "not 100% consistent."
9600 msgstr ""
9601
9602 #. type: Plain text
9603 #: build/C/man7/ip.7:1128
9604 msgid ""
9605 "User doesn't have permission to set high priority, change configuration, or "
9606 "send signals to the requested process or group."
9607 msgstr ""
9608
9609 #. type: Plain text
9610 #: build/C/man7/ip.7:1134
9611 msgid "The socket is not configured or an unknown socket type was requested."
9612 msgstr ""
9613
9614 #. type: Plain text
9615 #: build/C/man7/ip.7:1141
9616 msgid ""
9617 "Other errors may be generated by the overlaying protocols; see B<tcp>(7), "
9618 "B<raw>(7), B<udp>(7)  and B<socket>(7)."
9619 msgstr ""
9620
9621 #.  IP_PASSSEC is Linux-specific
9622 #.  IP_XFRM_POLICY is Linux-specific
9623 #.  IP_IPSEC_POLICY is a nonstandard extension, also present on some BSDs
9624 #. type: Plain text
9625 #: build/C/man7/ip.7:1156
9626 msgid ""
9627 "B<IP_FREEBIND>, B<IP_MSFILTER>, B<IP_MTU>, B<IP_MTU_DISCOVER>, "
9628 "B<IP_RECVORIGDSTADDR>, B<IP_PKTINFO>, B<IP_RECVERR>, B<IP_ROUTER_ALERT>, and "
9629 "B<IP_TRANSPARENT> are Linux-specific."
9630 msgstr ""
9631
9632 #. type: Plain text
9633 #: build/C/man7/ip.7:1165
9634 msgid ""
9635 "Be very careful with the B<SO_BROADCAST> option - it is not privileged in "
9636 "Linux.  It is easy to overload the network with careless broadcasts.  For "
9637 "new application protocols it is better to use a multicast group instead of "
9638 "broadcasting.  Broadcasting is discouraged."
9639 msgstr ""
9640
9641 #. type: Plain text
9642 #: build/C/man7/ip.7:1175
9643 msgid ""
9644 "Some other BSD sockets implementations provide B<IP_RCVDSTADDR> and "
9645 "B<IP_RECVIF> socket options to get the destination address and the interface "
9646 "of received datagrams.  Linux has the more general B<IP_PKTINFO> for the "
9647 "same task."
9648 msgstr ""
9649
9650 #. type: Plain text
9651 #: build/C/man7/ip.7:1184
9652 msgid ""
9653 "Some BSD sockets implementations also provide an B<IP_RECVTTL> option, but "
9654 "an ancillary message with type B<IP_RECVTTL> is passed with the incoming "
9655 "packet.  This is different from the B<IP_TTL> option used in Linux."
9656 msgstr ""
9657
9658 #. type: Plain text
9659 #: build/C/man7/ip.7:1190
9660 msgid ""
9661 "Using B<SOL_IP> socket options level isn't portable, BSD-based stacks use "
9662 "B<IPPROTO_IP> level."
9663 msgstr ""
9664
9665 #. type: Plain text
9666 #: build/C/man7/ip.7:1203
9667 msgid ""
9668 "For compatibility with Linux 2.0, the obsolete B<socket(AF_INET, "
9669 "SOCK_PACKET, >I<protocol>B<)> syntax is still supported to open a "
9670 "B<packet>(7)  socket.  This is deprecated and should be replaced by "
9671 "B<socket(AF_PACKET, SOCK_RAW, >I<protocol>B<)> instead.  The main difference "
9672 "is the new I<sockaddr_ll> address structure for generic link layer "
9673 "information instead of the old B<sockaddr_pkt>."
9674 msgstr ""
9675
9676 #. type: Plain text
9677 #: build/C/man7/ip.7:1208
9678 msgid ""
9679 "The ioctls to configure IP-specific interface options and ARP tables are not "
9680 "described."
9681 msgstr ""
9682
9683 #. type: Plain text
9684 #: build/C/man7/ip.7:1212
9685 msgid ""
9686 "Some versions of glibc forget to declare I<in_pktinfo>.  Workaround "
9687 "currently is to copy it into your program from this man page."
9688 msgstr ""
9689
9690 #.  .SH AUTHORS
9691 #.  This man page was written by Andi Kleen.
9692 #. type: Plain text
9693 #: build/C/man7/ip.7:1222
9694 msgid ""
9695 "Receiving the original destination address with B<MSG_ERRQUEUE> in "
9696 "I<msg_name> by B<recvmsg>(2)  does not work in some 2.2 kernels."
9697 msgstr ""
9698
9699 #. type: Plain text
9700 #: build/C/man7/ip.7:1235
9701 msgid ""
9702 "B<recvmsg>(2), B<sendmsg>(2), B<byteorder>(3), B<ipfw>(4), "
9703 "B<capabilities>(7), B<icmp>(7), B<ipv6>(7), B<netlink>(7), B<raw>(7), "
9704 "B<socket>(7), B<tcp>(7), B<udp>(7)"
9705 msgstr ""
9706
9707 #.  FIXME autobind INADDR REUSEADDR
9708 #. type: Plain text
9709 #: build/C/man7/ip.7:1240
9710 msgid ""
9711 "RFC\\ 791 for the original IP specification.  RFC\\ 1122 for the IPv4 host "
9712 "requirements.  RFC\\ 1812 for the IPv4 router requirements."
9713 msgstr ""
9714
9715 #. type: TH
9716 #: build/C/man7/ipv6.7:86
9717 #, no-wrap
9718 msgid "IPV6"
9719 msgstr ""
9720
9721 #. type: TH
9722 #: build/C/man7/ipv6.7:86
9723 #, no-wrap
9724 msgid "2012-12-16"
9725 msgstr ""
9726
9727 #. type: Plain text
9728 #: build/C/man7/ipv6.7:89
9729 msgid "ipv6 - Linux IPv6 protocol implementation"
9730 msgstr ""
9731
9732 #. type: Plain text
9733 #: build/C/man7/ipv6.7:95
9734 msgid "I<tcp6_socket>B< = socket(AF_INET6, SOCK_STREAM, 0);>"
9735 msgstr ""
9736
9737 #. type: Plain text
9738 #: build/C/man7/ipv6.7:97
9739 msgid "I<raw6_socket>B< = socket(AF_INET6, SOCK_RAW, >I<protocol>B<);>"
9740 msgstr ""
9741
9742 #. type: Plain text
9743 #: build/C/man7/ipv6.7:99
9744 msgid "I<udp6_socket>B< = socket(AF_INET6, SOCK_DGRAM, >I<protocol>B<);>"
9745 msgstr ""
9746
9747 #. type: Plain text
9748 #: build/C/man7/ipv6.7:106
9749 msgid ""
9750 "Linux 2.2 optionally implements the Internet Protocol, version 6.  This man "
9751 "page contains a description of the IPv6 basic API as implemented by the "
9752 "Linux kernel and glibc 2.1.  The interface is based on the BSD sockets "
9753 "interface; see B<socket>(7)."
9754 msgstr ""
9755
9756 #. type: Plain text
9757 #: build/C/man7/ipv6.7:111
9758 msgid ""
9759 "The IPv6 API aims to be mostly compatible with the IPv4 API (see B<ip>(7)).  "
9760 "Only differences are described in this man page."
9761 msgstr ""
9762
9763 #. type: Plain text
9764 #: build/C/man7/ipv6.7:123
9765 msgid ""
9766 "To bind an B<AF_INET6> socket to any process, the local address should be "
9767 "copied from the I<in6addr_any> variable which has I<in6_addr> type.  In "
9768 "static initializations, B<IN6ADDR_ANY_INIT> may also be used, which expands "
9769 "to a constant expression.  Both of them are in network byte order."
9770 msgstr ""
9771
9772 #. type: Plain text
9773 #: build/C/man7/ipv6.7:130
9774 msgid ""
9775 "The IPv6 loopback address (::1) is available in the global "
9776 "I<in6addr_loopback> variable.  For initializations, B<IN6ADDR_LOOPBACK_INIT> "
9777 "should be used."
9778 msgstr ""
9779
9780 #. type: Plain text
9781 #: build/C/man7/ipv6.7:137
9782 msgid ""
9783 "IPv4 connections can be handled with the v6 API by using the v4-mapped-on-v6 "
9784 "address type; thus a program only needs to support this API type to support "
9785 "both protocols.  This is handled transparently by the address handling "
9786 "functions in the C library."
9787 msgstr ""
9788
9789 #. type: Plain text
9790 #: build/C/man7/ipv6.7:142
9791 msgid ""
9792 "IPv4 and IPv6 share the local port space.  When you get an IPv4 connection "
9793 "or packet to a IPv6 socket, its source address will be mapped to v6 and it "
9794 "will be mapped to v6."
9795 msgstr ""
9796
9797 #. type: Plain text
9798 #: build/C/man7/ipv6.7:152
9799 #, no-wrap
9800 msgid ""
9801 "struct sockaddr_in6 {\n"
9802 "    sa_family_t     sin6_family;   /* AF_INET6 */\n"
9803 "    in_port_t       sin6_port;     /* port number */\n"
9804 "    uint32_t        sin6_flowinfo; /* IPv6 flow information */\n"
9805 "    struct in6_addr sin6_addr;     /* IPv6 address */\n"
9806 "    uint32_t        sin6_scope_id; /* Scope ID (new in 2.4) */\n"
9807 "};\n"
9808 msgstr ""
9809
9810 #. type: Plain text
9811 #: build/C/man7/ipv6.7:156
9812 #, no-wrap
9813 msgid ""
9814 "struct in6_addr {\n"
9815 "    unsigned char   s6_addr[16];   /* IPv6 address */\n"
9816 "};\n"
9817 msgstr ""
9818
9819 #. type: Plain text
9820 #: build/C/man7/ipv6.7:178
9821 msgid ""
9822 "I<sin6_family> is always set to B<AF_INET6>; I<sin6_port> is the protocol "
9823 "port (see I<sin_port> in B<ip>(7)); I<sin6_flowinfo> is the IPv6 flow "
9824 "identifier; I<sin6_addr> is the 128-bit IPv6 address.  I<sin6_scope_id> is "
9825 "an ID depending on the scope of the address.  It is new in Linux 2.4.  Linux "
9826 "only supports it for link-local addresses, in that case I<sin6_scope_id> "
9827 "contains the interface index (see B<netdevice>(7))"
9828 msgstr ""
9829
9830 #. type: Plain text
9831 #: build/C/man7/ipv6.7:184
9832 msgid ""
9833 "IPv6 supports several address types: unicast to address a single host, "
9834 "multicast to address a group of hosts, anycast to address the nearest member "
9835 "of a group of hosts (not implemented in Linux), IPv4-on-IPv6 to address a "
9836 "IPv4 host, and other reserved address types."
9837 msgstr ""
9838
9839 #. type: Plain text
9840 #: build/C/man7/ipv6.7:190
9841 msgid ""
9842 "The address notation for IPv6 is a group of 8 4-digit hexadecimal numbers, "
9843 "separated with a \\(aq:\\(aq.  \\&\"::\" stands for a string of 0 bits.  "
9844 "Special addresses are ::1 for loopback and ::FFFF:E<lt>IPv4 addressE<gt> for "
9845 "IPv4-mapped-on-IPv6."
9846 msgstr ""
9847
9848 #. type: Plain text
9849 #: build/C/man7/ipv6.7:192
9850 msgid "The port space of IPv6 is shared with IPv4."
9851 msgstr ""
9852
9853 #. type: Plain text
9854 #: build/C/man7/ipv6.7:200
9855 msgid ""
9856 "IPv6 supports some protocol-specific socket options that can be set with "
9857 "B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level "
9858 "for IPv6 is B<IPPROTO_IPV6>.  A boolean integer flag is zero when it is "
9859 "false, otherwise true."
9860 msgstr ""
9861
9862 #. type: TP
9863 #: build/C/man7/ipv6.7:200
9864 #, no-wrap
9865 msgid "B<IPV6_ADDRFORM>"
9866 msgstr ""
9867
9868 #. type: Plain text
9869 #: build/C/man7/ipv6.7:214
9870 msgid ""
9871 "Turn an B<AF_INET6> socket into a socket of a different address family.  "
9872 "Only B<AF_INET> is currently supported for that.  It is only allowed for "
9873 "IPv6 sockets that are connected and bound to a v4-mapped-on-v6 address.  The "
9874 "argument is a pointer to an integer containing B<AF_INET>.  This is useful "
9875 "to pass v4-mapped sockets as file descriptors to programs that don't know "
9876 "how to deal with the IPv6 API."
9877 msgstr ""
9878
9879 #. type: TP
9880 #: build/C/man7/ipv6.7:214
9881 #, no-wrap
9882 msgid "B<IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP>"
9883 msgstr ""
9884
9885 #. type: Plain text
9886 #: build/C/man7/ipv6.7:219
9887 msgid ""
9888 "Control membership in multicast groups.  Argument is a pointer to a I<struct "
9889 "ipv6_mreq>."
9890 msgstr ""
9891
9892 #. type: TP
9893 #: build/C/man7/ipv6.7:219
9894 #, no-wrap
9895 msgid "B<IPV6_MTU>"
9896 msgstr ""
9897
9898 #. type: Plain text
9899 #: build/C/man7/ipv6.7:225
9900 msgid ""
9901 "B<getsockopt>(): Retrieve the current known path MTU of the current socket.  "
9902 "Only valid when the socket has been connected.  Returns an integer."
9903 msgstr ""
9904
9905 #. type: Plain text
9906 #: build/C/man7/ipv6.7:231
9907 msgid ""
9908 "B<setsockopt>(): Set the MTU to be used for the socket.  The MTU is limited "
9909 "by the device MTU or the path MTU when path MTU discovery is enabled.  "
9910 "Argument is a pointer to integer."
9911 msgstr ""
9912
9913 #. type: TP
9914 #: build/C/man7/ipv6.7:231
9915 #, no-wrap
9916 msgid "B<IPV6_MTU_DISCOVER>"
9917 msgstr ""
9918
9919 #. type: Plain text
9920 #: build/C/man7/ipv6.7:239
9921 msgid ""
9922 "Control path-MTU discovery on the socket.  See B<IP_MTU_DISCOVER> in "
9923 "B<ip>(7)  for details."
9924 msgstr ""
9925
9926 #. type: TP
9927 #: build/C/man7/ipv6.7:239
9928 #, no-wrap
9929 msgid "B<IPV6_MULTICAST_HOPS>"
9930 msgstr ""
9931
9932 #. type: Plain text
9933 #: build/C/man7/ipv6.7:246
9934 msgid ""
9935 "Set the multicast hop limit for the socket.  Argument is a pointer to an "
9936 "integer.  -1 in the value means use the route default, otherwise it should "
9937 "be between 0 and 255."
9938 msgstr ""
9939
9940 #. type: TP
9941 #: build/C/man7/ipv6.7:246
9942 #, no-wrap
9943 msgid "B<IPV6_MULTICAST_IF>"
9944 msgstr ""
9945
9946 #. type: Plain text
9947 #: build/C/man7/ipv6.7:258
9948 msgid ""
9949 "Set the device for outgoing multicast packets on the socket.  This is only "
9950 "allowed for B<SOCK_DGRAM> and B<SOCK_RAW> socket.  The argument is a pointer "
9951 "to an interface index (see B<netdevice>(7))  in an integer."
9952 msgstr ""
9953
9954 #. type: TP
9955 #: build/C/man7/ipv6.7:258
9956 #, no-wrap
9957 msgid "B<IPV6_MULTICAST_LOOP>"
9958 msgstr ""
9959
9960 #. type: Plain text
9961 #: build/C/man7/ipv6.7:262
9962 msgid ""
9963 "Control whether the socket sees multicast packets that it has send itself.  "
9964 "Argument is a pointer to boolean."
9965 msgstr ""
9966
9967 #. type: TP
9968 #: build/C/man7/ipv6.7:262
9969 #, no-wrap
9970 msgid "B<IPV6_RECVPKTINFO> (since Linux 2.6.14)"
9971 msgstr ""
9972
9973 #. type: Plain text
9974 #: build/C/man7/ipv6.7:276
9975 msgid ""
9976 "Set delivery of the B<IPV6_PKTINFO> control message on incoming datagrams.  "
9977 "Such control messages contain a I<struct in6_pktinfo>, as per RFC 3542.  "
9978 "Only allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a "
9979 "pointer to a boolean value in an integer."
9980 msgstr ""
9981
9982 #. type: Plain text
9983 #: build/C/man7/ipv6.7:279
9984 msgid ""
9985 "B<IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, "
9986 "IPV6_HOPLIMIT>"
9987 msgstr ""
9988
9989 #. type: Plain text
9990 #: build/C/man7/ipv6.7:304
9991 msgid ""
9992 "Set delivery of control messages for incoming datagrams containing extension "
9993 "headers from the received packet.  B<IPV6_RTHDR> delivers the routing "
9994 "header, B<IPV6_AUTHHDR> delivers the authentication header, B<IPV6_DSTOPTS> "
9995 "delivers the destination options, B<IPV6_HOPOPTS> delivers the hop options, "
9996 "B<IPV6_FLOWINFO> delivers an integer containing the flow ID, "
9997 "B<IPV6_HOPLIMIT> delivers an integer containing the hop count of the "
9998 "packet.  The control messages have the same type as the socket option.  All "
9999 "these header options can also be set for outgoing packets by putting the "
10000 "appropriate control message into the control buffer of B<sendmsg>(2).  Only "
10001 "allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a pointer to "
10002 "a boolean value."
10003 msgstr ""
10004
10005 #. type: TP
10006 #: build/C/man7/ipv6.7:304
10007 #, no-wrap
10008 msgid "B<IPV6_RECVERR>"
10009 msgstr ""
10010
10011 #. type: Plain text
10012 #: build/C/man7/ipv6.7:313
10013 msgid ""
10014 "Control receiving of asynchronous error options.  See B<IP_RECVERR> in "
10015 "B<ip>(7)  for details.  Argument is a pointer to boolean."
10016 msgstr ""
10017
10018 #. type: TP
10019 #: build/C/man7/ipv6.7:313
10020 #, no-wrap
10021 msgid "B<IPV6_ROUTER_ALERT>"
10022 msgstr ""
10023
10024 #. type: Plain text
10025 #: build/C/man7/ipv6.7:326
10026 msgid ""
10027 "Pass forwarded packets containing a router alert hop-by-hop option to this "
10028 "socket.  Only allowed for SOCK_RAW sockets.  The tapped packets are not "
10029 "forwarded by the kernel, it is the user's responsibility to send them out "
10030 "again.  Argument is a pointer to an integer.  A positive integer indicates a "
10031 "router alert option value to intercept.  Packets carrying a router alert "
10032 "option with a value field containing this integer will be delivered to the "
10033 "socket.  A negative integer disables delivery of packets with router alert "
10034 "options to this socket."
10035 msgstr ""
10036
10037 #. type: TP
10038 #: build/C/man7/ipv6.7:326
10039 #, no-wrap
10040 msgid "B<IPV6_UNICAST_HOPS>"
10041 msgstr ""
10042
10043 #. type: Plain text
10044 #: build/C/man7/ipv6.7:332
10045 msgid ""
10046 "Set the unicast hop limit for the socket.  Argument is a pointer to an "
10047 "integer.  -1 in the value means use the route default, otherwise it should "
10048 "be between 0 and 255."
10049 msgstr ""
10050
10051 #. type: TP
10052 #: build/C/man7/ipv6.7:332
10053 #, no-wrap
10054 msgid "B<IPV6_V6ONLY> (since Linux 2.4.21 and 2.6)"
10055 msgstr ""
10056
10057 #.  See RFC 3493
10058 #. type: Plain text
10059 #: build/C/man7/ipv6.7:339
10060 msgid ""
10061 "If this flag is set to true (nonzero), then the socket is restricted to "
10062 "sending and receiving IPv6 packets only.  In this case, an IPv4 and an IPv6 "
10063 "application can bind to a single port at the same time."
10064 msgstr ""
10065
10066 #. type: Plain text
10067 #: build/C/man7/ipv6.7:343
10068 msgid ""
10069 "If this flag is set to false (zero), then the socket can be used to send and "
10070 "receive packets to and from an IPv6 address or an IPv4-mapped IPv6 address."
10071 msgstr ""
10072
10073 #. type: Plain text
10074 #: build/C/man7/ipv6.7:345
10075 msgid "The argument is a pointer to a boolean value in an integer."
10076 msgstr ""
10077
10078 #.  FLOWLABEL_MGR, FLOWINFO_SEND
10079 #. type: Plain text
10080 #: build/C/man7/ipv6.7:350
10081 msgid ""
10082 "The default value for this flag is defined by the contents of the file "
10083 "I</proc/sys/net/ipv6/bindv6only>.  The default value for that file is 0 "
10084 "(false)."
10085 msgstr ""
10086
10087 #. type: Plain text
10088 #: build/C/man7/ipv6.7:362
10089 msgid ""
10090 "The user tried to B<bind>(2)  to a link-local IPv6 address, but the "
10091 "I<sin6_scope_id> in the supplied I<sockaddr_in6> structure is not a valid "
10092 "interface index."
10093 msgstr ""
10094
10095 #. type: Plain text
10096 #: build/C/man7/ipv6.7:367
10097 msgid ""
10098 "The older I<libinet6> libc5 based IPv6 API implementation for Linux is not "
10099 "described here and may vary in details."
10100 msgstr ""
10101
10102 #. type: Plain text
10103 #: build/C/man7/ipv6.7:383
10104 msgid ""
10105 "Linux 2.4 will break binary compatibility for the I<sockaddr_in6> for 64-bit "
10106 "hosts by changing the alignment of I<in6_addr> and adding an additional "
10107 "I<sin6_scope_id> field.  The kernel interfaces stay compatible, but a "
10108 "program including I<sockaddr_in6> or I<in6_addr> into other structures may "
10109 "not be.  This is not a problem for 32-bit hosts like i386."
10110 msgstr ""
10111
10112 #. type: Plain text
10113 #: build/C/man7/ipv6.7:391
10114 msgid ""
10115 "The I<sin6_flowinfo> field is new in Linux 2.4.  It is transparently "
10116 "passed/read by the kernel when the passed address length contains it.  Some "
10117 "programs that pass a longer address buffer and then check the outgoing "
10118 "address length may break."
10119 msgstr ""
10120
10121 #. type: Plain text
10122 #: build/C/man7/ipv6.7:401
10123 msgid ""
10124 "The I<sockaddr_in6> structure is bigger than the generic I<sockaddr>.  "
10125 "Programs that assume that all address types can be stored safely in a "
10126 "I<struct sockaddr> need to be changed to use I<struct sockaddr_storage> for "
10127 "that instead."
10128 msgstr ""
10129
10130 #. type: Plain text
10131 #: build/C/man7/ipv6.7:406
10132 msgid ""
10133 "The IPv6 extended API as in RFC\\ 2292 is currently only partly implemented; "
10134 "although the 2.2 kernel has near complete support for receiving options, the "
10135 "macros for generating IPv6 options are missing in glibc 2.1."
10136 msgstr ""
10137
10138 #. type: Plain text
10139 #: build/C/man7/ipv6.7:408
10140 msgid "IPSec support for EH and AH headers is missing."
10141 msgstr ""
10142
10143 #. type: Plain text
10144 #: build/C/man7/ipv6.7:410
10145 msgid "Flow label management is not complete and not documented here."
10146 msgstr ""
10147
10148 #. type: Plain text
10149 #: build/C/man7/ipv6.7:412
10150 msgid "This man page is not complete."
10151 msgstr ""
10152
10153 #. type: Plain text
10154 #: build/C/man7/ipv6.7:415
10155 msgid "B<cmsg>(3), B<ip>(7)"
10156 msgstr ""
10157
10158 #. type: Plain text
10159 #: build/C/man7/ipv6.7:419
10160 msgid ""
10161 "RFC\\ 2553: IPv6 BASIC API; Linux tries to be compliant to this.  RFC\\ "
10162 "2460: IPv6 specification."
10163 msgstr ""
10164
10165 #. type: TH
10166 #: build/C/man7/netdevice.7:18
10167 #, no-wrap
10168 msgid "NETDEVICE"
10169 msgstr ""
10170
10171 #. type: TH
10172 #: build/C/man7/netdevice.7:18
10173 #, no-wrap
10174 msgid "2012-04-26"
10175 msgstr ""
10176
10177 #. type: Plain text
10178 #: build/C/man7/netdevice.7:21
10179 msgid "netdevice - low-level access to Linux network devices"
10180 msgstr ""
10181
10182 #. type: Plain text
10183 #: build/C/man7/netdevice.7:23
10184 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
10185 msgstr ""
10186
10187 #. type: Plain text
10188 #: build/C/man7/netdevice.7:25
10189 msgid "B<#include E<lt>net/if.hE<gt>>"
10190 msgstr ""
10191
10192 #. type: Plain text
10193 #: build/C/man7/netdevice.7:28
10194 msgid ""
10195 "This man page describes the sockets interface which is used to configure "
10196 "network devices."
10197 msgstr ""
10198
10199 #. type: Plain text
10200 #: build/C/man7/netdevice.7:35
10201 msgid ""
10202 "Linux supports some standard ioctls to configure network devices.  They can "
10203 "be used on any socket's file descriptor regardless of the family or type.  "
10204 "They pass an I<ifreq> structure:"
10205 msgstr ""
10206
10207 #. type: Plain text
10208 #: build/C/man7/netdevice.7:56
10209 #, no-wrap
10210 msgid ""
10211 "struct ifreq {\n"
10212 "    char ifr_name[IFNAMSIZ]; /* Interface name */\n"
10213 "    union {\n"
10214 "        struct sockaddr ifr_addr;\n"
10215 "        struct sockaddr ifr_dstaddr;\n"
10216 "        struct sockaddr ifr_broadaddr;\n"
10217 "        struct sockaddr ifr_netmask;\n"
10218 "        struct sockaddr ifr_hwaddr;\n"
10219 "        short           ifr_flags;\n"
10220 "        int             ifr_ifindex;\n"
10221 "        int             ifr_metric;\n"
10222 "        int             ifr_mtu;\n"
10223 "        struct ifmap    ifr_map;\n"
10224 "        char            ifr_slave[IFNAMSIZ];\n"
10225 "        char            ifr_newname[IFNAMSIZ];\n"
10226 "        char           *ifr_data;\n"
10227 "    };\n"
10228 "};\n"
10229 msgstr ""
10230
10231 #. type: Plain text
10232 #: build/C/man7/netdevice.7:64
10233 #, no-wrap
10234 msgid ""
10235 "struct ifconf {\n"
10236 "    int                 ifc_len; /* size of buffer */\n"
10237 "    union {\n"
10238 "        char           *ifc_buf; /* buffer address */\n"
10239 "        struct ifreq   *ifc_req; /* array of structures */\n"
10240 "    };\n"
10241 "};\n"
10242 msgstr ""
10243
10244 #. type: Plain text
10245 #: build/C/man7/netdevice.7:72
10246 msgid ""
10247 "Normally, the user specifies which device to affect by setting I<ifr_name> "
10248 "to the name of the interface.  All other members of the structure may share "
10249 "memory."
10250 msgstr ""
10251
10252 #. type: Plain text
10253 #: build/C/man7/netdevice.7:80
10254 msgid ""
10255 "If an ioctl is marked as privileged then using it requires an effective user "
10256 "ID of 0 or the B<CAP_NET_ADMIN> capability.  If this is not the case "
10257 "B<EPERM> will be returned."
10258 msgstr ""
10259
10260 #. type: TP
10261 #: build/C/man7/netdevice.7:80
10262 #, no-wrap
10263 msgid "B<SIOCGIFNAME>"
10264 msgstr ""
10265
10266 #. type: Plain text
10267 #: build/C/man7/netdevice.7:88
10268 msgid ""
10269 "Given the I<ifr_ifindex>, return the name of the interface in I<ifr_name>.  "
10270 "This is the only ioctl which returns its result in I<ifr_name>."
10271 msgstr ""
10272
10273 #. type: TP
10274 #: build/C/man7/netdevice.7:88
10275 #, no-wrap
10276 msgid "B<SIOCGIFINDEX>"
10277 msgstr ""
10278
10279 #. type: Plain text
10280 #: build/C/man7/netdevice.7:92
10281 msgid "Retrieve the interface index of the interface into I<ifr_ifindex>."
10282 msgstr ""
10283
10284 #. type: TP
10285 #: build/C/man7/netdevice.7:92
10286 #, no-wrap
10287 msgid "B<SIOCGIFFLAGS>, B<SIOCSIFFLAGS>"
10288 msgstr ""
10289
10290 #.  Do not right adjust text blocks in tables
10291 #. type: Plain text
10292 #: build/C/man7/netdevice.7:98
10293 msgid ""
10294 "Get or set the active flag word of the device.  I<ifr_flags> contains a bit "
10295 "mask of the following values:"
10296 msgstr ""
10297
10298 #. type: tbl table
10299 #: build/C/man7/netdevice.7:103
10300 #, no-wrap
10301 msgid "Device flags\n"
10302 msgstr ""
10303
10304 #. type: tbl table
10305 #: build/C/man7/netdevice.7:104
10306 #, no-wrap
10307 msgid "IFF_UP:Interface is running.\n"
10308 msgstr ""
10309
10310 #. type: tbl table
10311 #: build/C/man7/netdevice.7:105
10312 #, no-wrap
10313 msgid "IFF_BROADCAST:Valid broadcast address set.\n"
10314 msgstr ""
10315
10316 #. type: tbl table
10317 #: build/C/man7/netdevice.7:106
10318 #, no-wrap
10319 msgid "IFF_DEBUG:Internal debugging flag.\n"
10320 msgstr ""
10321
10322 #. type: tbl table
10323 #: build/C/man7/netdevice.7:107
10324 #, no-wrap
10325 msgid "IFF_LOOPBACK:Interface is a loopback interface.\n"
10326 msgstr ""
10327
10328 #. type: tbl table
10329 #: build/C/man7/netdevice.7:108
10330 #, no-wrap
10331 msgid "IFF_POINTOPOINT:Interface is a point-to-point link.\n"
10332 msgstr ""
10333
10334 #. type: tbl table
10335 #: build/C/man7/netdevice.7:109
10336 #, no-wrap
10337 msgid "IFF_RUNNING:Resources allocated.\n"
10338 msgstr ""
10339
10340 #. type: tbl table
10341 #: build/C/man7/netdevice.7:110
10342 #, no-wrap
10343 msgid "IFF_NOARP:T{\n"
10344 msgstr ""
10345
10346 #. type: tbl table
10347 #: build/C/man7/netdevice.7:111
10348 #, no-wrap
10349 msgid "No arp protocol, L2 destination address not set.\n"
10350 msgstr ""
10351
10352 #. type: tbl table
10353 #: build/C/man7/netdevice.7:112 build/C/man7/netdevice.7:123
10354 #, no-wrap
10355 msgid "T}\n"
10356 msgstr ""
10357
10358 #. type: tbl table
10359 #: build/C/man7/netdevice.7:113
10360 #, no-wrap
10361 msgid "IFF_PROMISC:Interface is in promiscuous mode.\n"
10362 msgstr ""
10363
10364 #. type: tbl table
10365 #: build/C/man7/netdevice.7:114
10366 #, no-wrap
10367 msgid "IFF_NOTRAILERS:Avoid use of trailers.\n"
10368 msgstr ""
10369
10370 #. type: tbl table
10371 #: build/C/man7/netdevice.7:115
10372 #, no-wrap
10373 msgid "IFF_ALLMULTI:Receive all multicast packets.\n"
10374 msgstr ""
10375
10376 #. type: tbl table
10377 #: build/C/man7/netdevice.7:116
10378 #, no-wrap
10379 msgid "IFF_MASTER:Master of a load balancing bundle.\n"
10380 msgstr ""
10381
10382 #. type: tbl table
10383 #: build/C/man7/netdevice.7:117
10384 #, no-wrap
10385 msgid "IFF_SLAVE:Slave of a load balancing bundle.\n"
10386 msgstr ""
10387
10388 #. type: tbl table
10389 #: build/C/man7/netdevice.7:118
10390 #, no-wrap
10391 msgid "IFF_MULTICAST:Supports multicast\n"
10392 msgstr ""
10393
10394 #. type: tbl table
10395 #: build/C/man7/netdevice.7:119
10396 #, no-wrap
10397 msgid "IFF_PORTSEL:Is able to select media type via ifmap.\n"
10398 msgstr ""
10399
10400 #. type: tbl table
10401 #: build/C/man7/netdevice.7:120
10402 #, no-wrap
10403 msgid "IFF_AUTOMEDIA:Auto media selection active.\n"
10404 msgstr ""
10405
10406 #. type: tbl table
10407 #: build/C/man7/netdevice.7:121
10408 #, no-wrap
10409 msgid "IFF_DYNAMIC:T{\n"
10410 msgstr ""
10411
10412 #. type: tbl table
10413 #: build/C/man7/netdevice.7:122
10414 #, no-wrap
10415 msgid "The addresses are lost when the interface goes down.\n"
10416 msgstr ""
10417
10418 #. type: tbl table
10419 #: build/C/man7/netdevice.7:124
10420 #, no-wrap
10421 msgid "IFF_LOWER_UP:Driver signals L1 up (since Linux 2.6.17)\n"
10422 msgstr ""
10423
10424 #. type: tbl table
10425 #: build/C/man7/netdevice.7:125
10426 #, no-wrap
10427 msgid "IFF_DORMANT:Driver signals dormant (since Linux 2.6.17)\n"
10428 msgstr ""
10429
10430 #. type: tbl table
10431 #: build/C/man7/netdevice.7:126
10432 #, no-wrap
10433 msgid "IFF_ECHO:Echo sent packets (since Linux 2.6.25)\n"
10434 msgstr ""
10435
10436 #. type: Plain text
10437 #: build/C/man7/netdevice.7:132
10438 msgid ""
10439 "Setting the active flag word is a privileged operation, but any process may "
10440 "read it."
10441 msgstr ""
10442
10443 #. type: TP
10444 #: build/C/man7/netdevice.7:132
10445 #, no-wrap
10446 msgid "B<SIOCGIFPFLAGS>, B<SIOCSIFPFLAGS>"
10447 msgstr ""
10448
10449 #. type: Plain text
10450 #: build/C/man7/netdevice.7:137
10451 msgid ""
10452 "Get or set extended (private) flags for the device.  I<ifr_flags> contains a "
10453 "bit mask of the following values:"
10454 msgstr ""
10455
10456 #. type: tbl table
10457 #: build/C/man7/netdevice.7:141
10458 #, no-wrap
10459 msgid "Private flags\n"
10460 msgstr ""
10461
10462 #. type: tbl table
10463 #: build/C/man7/netdevice.7:142
10464 #, no-wrap
10465 msgid "IFF_802_1Q_VLAN:Interface is 802.1Q VLAN device.\n"
10466 msgstr ""
10467
10468 #. type: tbl table
10469 #: build/C/man7/netdevice.7:143
10470 #, no-wrap
10471 msgid "IFF_EBRIDGE:Interface is Ethernet bridging device.\n"
10472 msgstr ""
10473
10474 #. type: tbl table
10475 #: build/C/man7/netdevice.7:144
10476 #, no-wrap
10477 msgid "IFF_SLAVE_INACTIVE:Interface is inactive bonding slave.\n"
10478 msgstr ""
10479
10480 #. type: tbl table
10481 #: build/C/man7/netdevice.7:145
10482 #, no-wrap
10483 msgid "IFF_MASTER_8023AD:Interface is 802.3ad bonding master.\n"
10484 msgstr ""
10485
10486 #. type: tbl table
10487 #: build/C/man7/netdevice.7:146
10488 #, no-wrap
10489 msgid "IFF_MASTER_ALB:Interface is balanced-alb bonding master.\n"
10490 msgstr ""
10491
10492 #. type: tbl table
10493 #: build/C/man7/netdevice.7:147
10494 #, no-wrap
10495 msgid "IFF_BONDING:Interface is a bonding master or slave.\n"
10496 msgstr ""
10497
10498 #. type: tbl table
10499 #: build/C/man7/netdevice.7:148
10500 #, no-wrap
10501 msgid "IFF_SLAVE_NEEDARP:Interface needs ARPs for validation.\n"
10502 msgstr ""
10503
10504 #. type: tbl table
10505 #: build/C/man7/netdevice.7:149
10506 #, no-wrap
10507 msgid "IFF_ISATAP:Interface is RFC4214 ISATAP interface.\n"
10508 msgstr ""
10509
10510 #. type: Plain text
10511 #: build/C/man7/netdevice.7:153
10512 msgid "Setting the extended (private) interface flags is a privileged operation."
10513 msgstr ""
10514
10515 #. type: TP
10516 #: build/C/man7/netdevice.7:153
10517 #, no-wrap
10518 msgid "B<SIOCGIFADDR>, B<SIOCSIFADDR>"
10519 msgstr ""
10520
10521 #. type: Plain text
10522 #: build/C/man7/netdevice.7:161
10523 msgid ""
10524 "Get or set the address of the device using I<ifr_addr>.  Setting the "
10525 "interface address is a privileged operation.  For compatibility, only "
10526 "B<AF_INET> addresses are accepted or returned."
10527 msgstr ""
10528
10529 #. type: TP
10530 #: build/C/man7/netdevice.7:161
10531 #, no-wrap
10532 msgid "B<SIOCGIFDSTADDR>, B<SIOCSIFDSTADDR>"
10533 msgstr ""
10534
10535 #. type: Plain text
10536 #: build/C/man7/netdevice.7:169
10537 msgid ""
10538 "Get or set the destination address of a point-to-point device using "
10539 "I<ifr_dstaddr>.  For compatibility, only B<AF_INET> addresses are accepted "
10540 "or returned.  Setting the destination address is a privileged operation."
10541 msgstr ""
10542
10543 #. type: TP
10544 #: build/C/man7/netdevice.7:169
10545 #, no-wrap
10546 msgid "B<SIOCGIFBRDADDR>, B<SIOCSIFBRDADDR>"
10547 msgstr ""
10548
10549 #. type: Plain text
10550 #: build/C/man7/netdevice.7:177
10551 msgid ""
10552 "Get or set the broadcast address for a device using I<ifr_brdaddr>.  For "
10553 "compatibility, only B<AF_INET> addresses are accepted or returned.  Setting "
10554 "the broadcast address is a privileged operation."
10555 msgstr ""
10556
10557 #. type: TP
10558 #: build/C/man7/netdevice.7:177
10559 #, no-wrap
10560 msgid "B<SIOCGIFNETMASK>, B<SIOCSIFNETMASK>"
10561 msgstr ""
10562
10563 #. type: Plain text
10564 #: build/C/man7/netdevice.7:185
10565 msgid ""
10566 "Get or set the network mask for a device using I<ifr_netmask>.  For "
10567 "compatibility, only B<AF_INET> addresses are accepted or returned.  Setting "
10568 "the network mask is a privileged operation."
10569 msgstr ""
10570
10571 #. type: TP
10572 #: build/C/man7/netdevice.7:185
10573 #, no-wrap
10574 msgid "B<SIOCGIFMETRIC>, B<SIOCSIFMETRIC>"
10575 msgstr ""
10576
10577 #. type: Plain text
10578 #: build/C/man7/netdevice.7:194
10579 msgid ""
10580 "Get or set the metric of the device using I<ifr_metric>.  This is currently "
10581 "not implemented; it sets I<ifr_metric> to 0 if you attempt to read it and "
10582 "returns B<EOPNOTSUPP> if you attempt to set it."
10583 msgstr ""
10584
10585 #. type: TP
10586 #: build/C/man7/netdevice.7:194
10587 #, no-wrap
10588 msgid "B<SIOCGIFMTU>, B<SIOCSIFMTU>"
10589 msgstr ""
10590
10591 #. type: Plain text
10592 #: build/C/man7/netdevice.7:201
10593 msgid ""
10594 "Get or set the MTU (Maximum Transfer Unit) of a device using I<ifr_mtu>.  "
10595 "Setting the MTU is a privileged operation.  Setting the MTU to too small "
10596 "values may cause kernel crashes."
10597 msgstr ""
10598
10599 #. type: TP
10600 #: build/C/man7/netdevice.7:201
10601 #, no-wrap
10602 msgid "B<SIOCGIFHWADDR>, B<SIOCSIFHWADDR>"
10603 msgstr ""
10604
10605 #. type: Plain text
10606 #: build/C/man7/netdevice.7:212
10607 msgid ""
10608 "Get or set the hardware address of a device using I<ifr_hwaddr>.  The "
10609 "hardware address is specified in a struct I<sockaddr>.  I<sa_family> "
10610 "contains the ARPHRD_* device type, I<sa_data> the L2 hardware address "
10611 "starting from byte 0.  Setting the hardware address is a privileged "
10612 "operation."
10613 msgstr ""
10614
10615 #. type: TP
10616 #: build/C/man7/netdevice.7:212
10617 #, no-wrap
10618 msgid "B<SIOCSIFHWBROADCAST>"
10619 msgstr ""
10620
10621 #. type: Plain text
10622 #: build/C/man7/netdevice.7:217
10623 msgid ""
10624 "Set the hardware broadcast address of a device from I<ifr_hwaddr>.  This is "
10625 "a privileged operation."
10626 msgstr ""
10627
10628 #. type: TP
10629 #: build/C/man7/netdevice.7:217
10630 #, no-wrap
10631 msgid "B<SIOCGIFMAP>, B<SIOCSIFMAP>"
10632 msgstr ""
10633
10634 #. type: Plain text
10635 #: build/C/man7/netdevice.7:222
10636 msgid ""
10637 "Get or set the interface's hardware parameters using I<ifr_map>.  Setting "
10638 "the parameters is a privileged operation."
10639 msgstr ""
10640
10641 #. type: Plain text
10642 #: build/C/man7/netdevice.7:233
10643 #, no-wrap
10644 msgid ""
10645 "struct ifmap {\n"
10646 "    unsigned long   mem_start;\n"
10647 "    unsigned long   mem_end;\n"
10648 "    unsigned short  base_addr;\n"
10649 "    unsigned char   irq;\n"
10650 "    unsigned char   dma;\n"
10651 "    unsigned char   port;\n"
10652 "};\n"
10653 msgstr ""
10654
10655 #. type: Plain text
10656 #: build/C/man7/netdevice.7:238
10657 msgid ""
10658 "The interpretation of the ifmap structure depends on the device driver and "
10659 "the architecture."
10660 msgstr ""
10661
10662 #. type: TP
10663 #: build/C/man7/netdevice.7:238
10664 #, no-wrap
10665 msgid "B<SIOCADDMULTI>, B<SIOCDELMULTI>"
10666 msgstr ""
10667
10668 #. type: Plain text
10669 #: build/C/man7/netdevice.7:247
10670 msgid ""
10671 "Add an address to or delete an address from the device's link layer "
10672 "multicast filters using I<ifr_hwaddr>.  These are privileged operations.  "
10673 "See also B<packet>(7)  for an alternative."
10674 msgstr ""
10675
10676 #. type: TP
10677 #: build/C/man7/netdevice.7:247
10678 #, no-wrap
10679 msgid "B<SIOCGIFTXQLEN>, B<SIOCSIFTXQLEN>"
10680 msgstr ""
10681
10682 #. type: Plain text
10683 #: build/C/man7/netdevice.7:252
10684 msgid ""
10685 "Get or set the transmit queue length of a device using I<ifr_qlen>.  Setting "
10686 "the transmit queue length is a privileged operation."
10687 msgstr ""
10688
10689 #. type: TP
10690 #: build/C/man7/netdevice.7:252
10691 #, no-wrap
10692 msgid "B<SIOCSIFNAME>"
10693 msgstr ""
10694
10695 #. type: Plain text
10696 #: build/C/man7/netdevice.7:261
10697 msgid ""
10698 "Changes the name of the interface specified in I<ifr_name> to "
10699 "I<ifr_newname>.  This is a privileged operation.  It is only allowed when "
10700 "the interface is not up."
10701 msgstr ""
10702
10703 #. type: TP
10704 #: build/C/man7/netdevice.7:261
10705 #, no-wrap
10706 msgid "B<SIOCGIFCONF>"
10707 msgstr ""
10708
10709 #.  Slaving isn't supported in 2.2
10710 #.  .
10711 #.  .TP
10712 #.  .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
10713 #.  Get or set the slave device using
10714 #.  .IR ifr_slave .
10715 #.  Setting the slave device is a privileged operation.
10716 #.  .PP
10717 #.  FIXME add amateur radio stuff.
10718 #. type: Plain text
10719 #: build/C/man7/netdevice.7:301
10720 msgid ""
10721 "Return a list of interface (transport layer) addresses.  This currently "
10722 "means only addresses of the B<AF_INET> (IPv4) family for compatibility.  The "
10723 "user passes a I<ifconf> structure as argument to the ioctl.  It contains a "
10724 "pointer to an array of I<ifreq> structures in I<ifc_req> and its length in "
10725 "bytes in I<ifc_len>.  The kernel fills the ifreqs with all current L3 "
10726 "interface addresses that are running: I<ifr_name> contains the interface "
10727 "name (eth0:1 etc.), I<ifr_addr> the address.  The kernel returns with the "
10728 "actual length in I<ifc_len>.  If I<ifc_len> is equal to the original length "
10729 "the buffer probably has overflowed and you should retry with a bigger buffer "
10730 "to get all addresses.  When no error occurs the ioctl returns 0; otherwise "
10731 "-1.  Overflow is not an error."
10732 msgstr ""
10733
10734 #. type: Plain text
10735 #: build/C/man7/netdevice.7:307
10736 msgid ""
10737 "Most protocols support their own ioctls to configure protocol-specific "
10738 "interface options.  See the protocol man pages for a description.  For "
10739 "configuring IP addresses see B<ip>(7)."
10740 msgstr ""
10741
10742 #. type: Plain text
10743 #: build/C/man7/netdevice.7:310
10744 msgid ""
10745 "In addition some devices support private ioctls.  These are not described "
10746 "here."
10747 msgstr ""
10748
10749 #. type: Plain text
10750 #: build/C/man7/netdevice.7:318
10751 msgid ""
10752 "Strictly speaking, B<SIOCGIFCONF> and the other ioctls that only accept or "
10753 "return B<AF_INET> socket addresses, are IP specific and belong in B<ip>(7)."
10754 msgstr ""
10755
10756 #. type: Plain text
10757 #: build/C/man7/netdevice.7:323
10758 msgid ""
10759 "The names of interfaces with no addresses or that don't have the "
10760 "B<IFF_RUNNING> flag set can be found via I</proc/net/dev>."
10761 msgstr ""
10762
10763 #. type: Plain text
10764 #: build/C/man7/netdevice.7:328
10765 msgid ""
10766 "Local IPv6 IP addresses can be found via I</proc/net> or via "
10767 "B<rtnetlink>(7)."
10768 msgstr ""
10769
10770 #. type: Plain text
10771 #: build/C/man7/netdevice.7:334
10772 msgid ""
10773 "glibc 2.1 is missing the I<ifr_newname> macro in I<E<lt>net/if.hE<gt>>.  Add "
10774 "the following to your program as a workaround:"
10775 msgstr ""
10776
10777 #. type: Plain text
10778 #: build/C/man7/netdevice.7:340
10779 #, no-wrap
10780 msgid ""
10781 "#ifndef ifr_newname\n"
10782 "#define ifr_newname     ifr_ifru.ifru_slave\n"
10783 "#endif\n"
10784 msgstr ""
10785
10786 #. type: Plain text
10787 #: build/C/man7/netdevice.7:347
10788 msgid "B<proc>(5), B<capabilities>(7), B<ip>(7), B<rtnetlink>(7)"
10789 msgstr ""
10790
10791 #. type: TH
10792 #: build/C/man5/networks.5:26
10793 #, no-wrap
10794 msgid "NETWORKS"
10795 msgstr ""
10796
10797 #. type: TH
10798 #: build/C/man5/networks.5:26
10799 #, no-wrap
10800 msgid "2008-09-04"
10801 msgstr ""
10802
10803 #. type: TH
10804 #: build/C/man5/networks.5:26
10805 #, no-wrap
10806 msgid "GNU/Linux"
10807 msgstr ""
10808
10809 #. type: Plain text
10810 #: build/C/man5/networks.5:29
10811 msgid "networks - network name information"
10812 msgstr ""
10813
10814 #. type: Plain text
10815 #: build/C/man5/networks.5:35
10816 msgid ""
10817 "The file I</etc/networks> is a plain ASCII file that describes known DARPA "
10818 "networks and symbolic names for these networks.  Each line represents a "
10819 "network and has the following structure:"
10820 msgstr ""
10821
10822 #. type: Plain text
10823 #: build/C/man5/networks.5:38
10824 msgid "I<name number aliases ...>"
10825 msgstr ""
10826
10827 #. type: Plain text
10828 #: build/C/man5/networks.5:46
10829 msgid ""
10830 "where the fields are delimited by spaces or tabs.  Empty lines are ignored.  "
10831 "The hash character (B<#>) indicates the start of a comment: this character, "
10832 "and the remaining characters up to the end of the current line, are ignored "
10833 "by library functions that process the file."
10834 msgstr ""
10835
10836 #. type: Plain text
10837 #: build/C/man5/networks.5:48 build/C/man5/protocols.5:59
10838 msgid "The field descriptions are:"
10839 msgstr ""
10840
10841 #. type: TP
10842 #: build/C/man5/networks.5:48
10843 #, no-wrap
10844 msgid "I<name>"
10845 msgstr ""
10846
10847 #. type: Plain text
10848 #: build/C/man5/networks.5:53
10849 msgid ""
10850 "The symbolic name for the network.  Network names can contain any printable "
10851 "characters execept white-space characters or the comment character."
10852 msgstr ""
10853
10854 #. type: TP
10855 #: build/C/man5/networks.5:53 build/C/man5/protocols.5:67
10856 #, no-wrap
10857 msgid "I<number>"
10858 msgstr ""
10859
10860 #. type: Plain text
10861 #: build/C/man5/networks.5:58
10862 msgid ""
10863 "The official number for this network in numbers-and-dots notation (see "
10864 "B<inet>(3)).  The trailing \".0\" (for the host component of the network "
10865 "address) may be omitted."
10866 msgstr ""
10867
10868 #. type: TP
10869 #: build/C/man5/networks.5:58 build/C/man5/protocols.5:71 build/C/man5/services.5:120
10870 #, no-wrap
10871 msgid "I<aliases>"
10872 msgstr ""
10873
10874 #. type: Plain text
10875 #: build/C/man5/networks.5:61
10876 msgid "Optional aliases for the network."
10877 msgstr ""
10878
10879 #. type: Plain text
10880 #: build/C/man5/networks.5:70
10881 msgid ""
10882 "This file is read by the B<route>(8)  and B<netstat>(8)  utilities.  Only "
10883 "Class A, B or C networks are supported, partitioned networks (i.e., "
10884 "network/26 or network/28) are not supported by this facility."
10885 msgstr ""
10886
10887 #. type: Plain text
10888 #: build/C/man5/networks.5:74
10889 msgid "The networks definition file."
10890 msgstr ""
10891
10892 #. type: Plain text
10893 #: build/C/man5/networks.5:80
10894 msgid ""
10895 "B<getnetbyaddr>(3), B<getnetbyname>(3), B<getnetent>(3), B<netstat>(8), "
10896 "B<route>(8)"
10897 msgstr ""
10898
10899 #. type: TH
10900 #: build/C/man8/nscd.8:23
10901 #, no-wrap
10902 msgid "NSCD"
10903 msgstr ""
10904
10905 #. type: Plain text
10906 #: build/C/man8/nscd.8:26
10907 msgid "nscd - name service cache daemon"
10908 msgstr ""
10909
10910 #. type: Plain text
10911 #: build/C/man8/nscd.8:34
10912 msgid ""
10913 "Nscd is a daemon that provides a cache for the most common name service "
10914 "requests.  The default configuration file, I</etc/nscd.conf>, determines the "
10915 "behavior of the cache daemon.  See B<nscd.conf>(5)."
10916 msgstr ""
10917
10918 #. type: Plain text
10919 #: build/C/man8/nscd.8:47
10920 msgid ""
10921 "Nscd provides caching for accesses of the B<passwd>(5), B<group>(5), and "
10922 "B<hosts>(5)  databases through standard libc interfaces, such as "
10923 "B<getpwnam>(3), B<getpwuid>(3), B<getgrnam>(3), B<getgrgid>(3), "
10924 "B<gethostbyname>(3), and others."
10925 msgstr ""
10926
10927 #. type: Plain text
10928 #: build/C/man8/nscd.8:56
10929 msgid ""
10930 "There are two caches for each database: a positive one for items found, and "
10931 "a negative one for items not found.  Each cache has a separate TTL "
10932 "(time-to-live)  period for its data.  Note that the shadow file is "
10933 "specifically not cached.  B<getspnam>(3)  calls remain uncached as a result."
10934 msgstr ""
10935
10936 #. type: SH
10937 #: build/C/man8/nscd.8:56
10938 #, no-wrap
10939 msgid "OPTIONS"
10940 msgstr ""
10941
10942 #. type: TP
10943 #: build/C/man8/nscd.8:57
10944 #, no-wrap
10945 msgid "B<--help>"
10946 msgstr ""
10947
10948 #. type: Plain text
10949 #: build/C/man8/nscd.8:60
10950 msgid "will give you a list with all options and what they do."
10951 msgstr ""
10952
10953 #. type: Plain text
10954 #: build/C/man8/nscd.8:83
10955 msgid ""
10956 "The daemon will try to watch for changes in configuration files appropriate "
10957 "for each database (e.g., I</etc/passwd> for the I<passwd> database or "
10958 "I</etc/hosts> and I</etc/resolv.conf> for the I<hosts> database), and flush "
10959 "the cache when these are changed.  However, this will happen only after a "
10960 "short delay (unless the B<inotify>(7)  mechanism is available and glibc 2.9 "
10961 "or later is available), and this auto-detection does not cover configuration "
10962 "files required by nonstandard NSS modules, if any are specified in "
10963 "I</etc/nsswitch.conf>.  In that case, you need to run the following command "
10964 "after changing the configuration file of the database so that B<nscd> "
10965 "invalidates its cache:"
10966 msgstr ""
10967
10968 #. type: Plain text
10969 #: build/C/man8/nscd.8:85
10970 #, no-wrap
10971 msgid "    $ B<nscd -i> I<E<lt>databaseE<gt>>\n"
10972 msgstr ""
10973
10974 #.  .SH AUTHOR
10975 #.  .B nscd
10976 #.  was written by Thorsten Kukuk and Ulrich Drepper.
10977 #. type: Plain text
10978 #: build/C/man8/nscd.8:91
10979 msgid "B<nscd.conf>(5), B<nsswitch.conf>(5)"
10980 msgstr ""
10981
10982 #. type: TH
10983 #: build/C/man5/nscd.conf.5:20
10984 #, no-wrap
10985 msgid "NSCD.CONF"
10986 msgstr ""
10987
10988 #. type: Plain text
10989 #: build/C/man5/nscd.conf.5:23
10990 msgid "/etc/nscd.conf - name service cache daemon configuration file"
10991 msgstr ""
10992
10993 #. type: Plain text
10994 #: build/C/man5/nscd.conf.5:36
10995 msgid ""
10996 "The file I</etc/nscd.conf> is read from B<nscd>(8)  at startup.  Each line "
10997 "specifies either an attribute and a value, or an attribute, service, and a "
10998 "value.  Fields are separated either by SPACE or TAB characters.  A "
10999 "\\(aq#\\(aq (number sign) indicates the beginning of a comment; following "
11000 "characters, up to the end of the line, are not interpreted by nscd."
11001 msgstr ""
11002
11003 #. type: Plain text
11004 #: build/C/man5/nscd.conf.5:39
11005 msgid ""
11006 "Valid services are I<passwd>, I<group>, I<hosts>, I<services> or "
11007 "I<netgroup>."
11008 msgstr ""
11009
11010 #. type: Plain text
11011 #: build/C/man5/nscd.conf.5:42
11012 msgid "B<logfile> I<debug-file-name>"
11013 msgstr ""
11014
11015 #. type: Plain text
11016 #: build/C/man5/nscd.conf.5:44
11017 msgid "Specifies name of the file to which debug info should be written."
11018 msgstr ""
11019
11020 #. type: Plain text
11021 #: build/C/man5/nscd.conf.5:48
11022 msgid "B<debug-level> I<value>"
11023 msgstr ""
11024
11025 #. type: Plain text
11026 #: build/C/man5/nscd.conf.5:51
11027 msgid "Sets the desired debug level.  The default is 0."
11028 msgstr ""
11029
11030 #. type: Plain text
11031 #: build/C/man5/nscd.conf.5:55
11032 msgid "B<threads> I<number>"
11033 msgstr ""
11034
11035 #. type: Plain text
11036 #: build/C/man5/nscd.conf.5:59
11037 msgid ""
11038 "This is the number of threads that are started to wait for requests.  At "
11039 "least five threads will always be created."
11040 msgstr ""
11041
11042 #. type: Plain text
11043 #: build/C/man5/nscd.conf.5:63
11044 msgid "B<max-threads> I<number>"
11045 msgstr ""
11046
11047 #. type: Plain text
11048 #: build/C/man5/nscd.conf.5:66
11049 msgid "Specifies the maximum number of threads.  The default is 32."
11050 msgstr ""
11051
11052 #. type: Plain text
11053 #: build/C/man5/nscd.conf.5:70
11054 msgid "B<server-user> I<user>"
11055 msgstr ""
11056
11057 #. type: Plain text
11058 #: build/C/man5/nscd.conf.5:74
11059 msgid ""
11060 "If this option is set, nscd will run as this user and not as root.  If a "
11061 "separate cache for every user is used (-S parameter), this option is "
11062 "ignored."
11063 msgstr ""
11064
11065 #. type: Plain text
11066 #: build/C/man5/nscd.conf.5:78
11067 msgid "B<stat-user> I<user>"
11068 msgstr ""
11069
11070 #. type: Plain text
11071 #: build/C/man5/nscd.conf.5:80
11072 msgid "Specifies the user who is allowed to request statistics."
11073 msgstr ""
11074
11075 #. type: Plain text
11076 #: build/C/man5/nscd.conf.5:85
11077 msgid "B<reload-count> unlimited | I<number>"
11078 msgstr ""
11079
11080 #. type: Plain text
11081 #: build/C/man5/nscd.conf.5:89
11082 msgid ""
11083 "Limit on the number of times a cached entry gets reloaded without being used "
11084 "before it gets removed.  The default is 5."
11085 msgstr ""
11086
11087 #. type: Plain text
11088 #: build/C/man5/nscd.conf.5:93
11089 msgid "B<paranoia> I<E<lt>yes|noE<gt>>"
11090 msgstr ""
11091
11092 #. type: Plain text
11093 #: build/C/man5/nscd.conf.5:96
11094 msgid ""
11095 "Enabling paranoia mode causes nscd to restart itself periodically.  The "
11096 "default is no."
11097 msgstr ""
11098
11099 #. type: Plain text
11100 #: build/C/man5/nscd.conf.5:100
11101 msgid "B<restart-interval> I<time>"
11102 msgstr ""
11103
11104 #. type: Plain text
11105 #: build/C/man5/nscd.conf.5:108
11106 msgid ""
11107 "Sets the restart interval to I<time> seconds if periodic restart is enabled "
11108 "by enabling B<paranoia> mode.  The default is 3600."
11109 msgstr ""
11110
11111 #. type: Plain text
11112 #: build/C/man5/nscd.conf.5:113
11113 msgid "B<enable-cache> I<service> I<E<lt>yes|noE<gt>>"
11114 msgstr ""
11115
11116 #. type: Plain text
11117 #: build/C/man5/nscd.conf.5:118
11118 msgid "Enables or disables the specified I<service> cache.  The default is no."
11119 msgstr ""
11120
11121 #. type: Plain text
11122 #: build/C/man5/nscd.conf.5:123
11123 msgid "B<positive-time-to-live> I<service> I<value>"
11124 msgstr ""
11125
11126 #. type: Plain text
11127 #: build/C/man5/nscd.conf.5:131
11128 msgid ""
11129 "Sets the TTL (time-to-live) for positive entries (successful queries)  in "
11130 "the specified cache for I<service>.  I<Value> is in seconds.  Larger values "
11131 "increase cache hit rates and reduce mean response times, but increase "
11132 "problems with cache coherence."
11133 msgstr ""
11134
11135 #. type: Plain text
11136 #: build/C/man5/nscd.conf.5:136
11137 msgid "B<negative-time-to-live> I<service> I<value>"
11138 msgstr ""
11139
11140 #. type: Plain text
11141 #: build/C/man5/nscd.conf.5:146
11142 msgid ""
11143 "Sets the TTL (time-to-live) for negative entries (unsuccessful queries)  in "
11144 "the specified cache for I<service>.  I<Value> is in seconds.  Can result in "
11145 "significant performance improvements if there are several files owned by "
11146 "UIDs (user IDs) not in system databases (for example untarring the Linux "
11147 "kernel sources as root); should be kept small to reduce cache coherency "
11148 "problems."
11149 msgstr ""
11150
11151 #. type: Plain text
11152 #: build/C/man5/nscd.conf.5:151
11153 msgid "B<suggested-size> I<service> I<value>"
11154 msgstr ""
11155
11156 #. type: Plain text
11157 #: build/C/man5/nscd.conf.5:156
11158 msgid ""
11159 "This is the internal hash table size, I<value> should remain a prime number "
11160 "for optimum efficiency.  The default is 211."
11161 msgstr ""
11162
11163 #. type: Plain text
11164 #: build/C/man5/nscd.conf.5:161
11165 msgid "B<check-files> I<service> I<E<lt>yes|noE<gt>>"
11166 msgstr ""
11167
11168 #. type: Plain text
11169 #: build/C/man5/nscd.conf.5:173
11170 msgid ""
11171 "Enables or disables checking the file belonging to the specified I<service> "
11172 "for changes.  The files are I</etc/passwd>, I</etc/group>, I</etc/hosts>, "
11173 "I</etc/services> and I</etc/netgroup>.  The default is yes."
11174 msgstr ""
11175
11176 #. type: Plain text
11177 #: build/C/man5/nscd.conf.5:178
11178 msgid "B<persistent> I<service> I<E<lt>yes|noE<gt>>"
11179 msgstr ""
11180
11181 #. type: Plain text
11182 #: build/C/man5/nscd.conf.5:185
11183 msgid ""
11184 "Keep the content of the cache for I<service> over server restarts; useful "
11185 "when B<paranoia> mode is set.  The default is no."
11186 msgstr ""
11187
11188 #. type: Plain text
11189 #: build/C/man5/nscd.conf.5:190
11190 msgid "B<shared> I<service> I<E<lt>yes|noE<gt>>"
11191 msgstr ""
11192
11193 #. type: Plain text
11194 #: build/C/man5/nscd.conf.5:197
11195 msgid ""
11196 "The memory mapping of the nscd databases for I<service> is shared with the "
11197 "clients so that they can directly search in them instead of having to ask "
11198 "the daemon over the socket each time a lookup is performed.  The default is "
11199 "no."
11200 msgstr ""
11201
11202 #. type: Plain text
11203 #: build/C/man5/nscd.conf.5:202
11204 msgid "B<max-db-size> I<service> I<bytes>"
11205 msgstr ""
11206
11207 #. type: Plain text
11208 #: build/C/man5/nscd.conf.5:206
11209 msgid ""
11210 "The maximum allowable size, in bytes, of the database files for the "
11211 "I<service>.  The default is 33554432."
11212 msgstr ""
11213
11214 #. type: Plain text
11215 #: build/C/man5/nscd.conf.5:211
11216 msgid "B<auto-propagate> I<service> I<E<lt>yes|noE<gt>>"
11217 msgstr ""
11218
11219 #. type: Plain text
11220 #: build/C/man5/nscd.conf.5:231
11221 msgid ""
11222 "When set to I<no> for I<passwd> or I<group> service, then the I<.byname> "
11223 "requests are not added to I<passwd.byuid> or I<group.bygid> cache.  This can "
11224 "help with tables containing multiple records for the same ID.  The default "
11225 "is yes.  This option is valid only for services I<passwd> and I<group>."
11226 msgstr ""
11227
11228 #.  .SH AUTHOR
11229 #.  .B nscd
11230 #.  was written by Thorsten Kukuk and Ulrich Drepper.
11231 #. type: Plain text
11232 #: build/C/man5/nscd.conf.5:237
11233 msgid "B<nscd>(8)"
11234 msgstr ""
11235
11236 #. type: TH
11237 #: build/C/man5/nss.5:19
11238 #, no-wrap
11239 msgid "NSS"
11240 msgstr ""
11241
11242 #. type: Plain text
11243 #: build/C/man5/nss.5:22
11244 msgid "nss - Name Service Switch configuration file"
11245 msgstr ""
11246
11247 #. type: Plain text
11248 #: build/C/man5/nss.5:29
11249 msgid ""
11250 "Each call to a function which retrieves data from a system database like the "
11251 "password or group database is handled by the Name Service Switch "
11252 "implementation in the GNU C library.  The various services provided are "
11253 "implemented by independent modules, each of which naturally varies widely "
11254 "from the other."
11255 msgstr ""
11256
11257 #. type: Plain text
11258 #: build/C/man5/nss.5:38
11259 msgid ""
11260 "The default implementations coming with the GNU C library are by default "
11261 "conservative and do not use unsafe data.  This might be very costly in some "
11262 "situations, especially when the databases are large.  Some modules allow the "
11263 "system administrator to request taking shortcuts if these are known to be "
11264 "safe.  It is then the system administrator's responsibility to ensure the "
11265 "assumption is correct."
11266 msgstr ""
11267
11268 #. type: Plain text
11269 #: build/C/man5/nss.5:42
11270 msgid ""
11271 "There are other modules where the implementation changed over time.  If an "
11272 "implementation used to sacrifice speed for memory consumption it might "
11273 "create problems if the preference is switched."
11274 msgstr ""
11275
11276 #. type: Plain text
11277 #: build/C/man5/nss.5:51
11278 msgid ""
11279 "The I</etc/default/nss> file contains a number of variable assignments.  "
11280 "Each variable controls the behavior of one or more NSS modules.  White "
11281 "spaces are ignored.  Lines beginning with \\(aq#\\(aq are treated as "
11282 "comments."
11283 msgstr ""
11284
11285 #. type: Plain text
11286 #: build/C/man5/nss.5:53
11287 msgid "The variables currently recognized are:"
11288 msgstr ""
11289
11290 #. type: TP
11291 #: build/C/man5/nss.5:53
11292 #, no-wrap
11293 msgid "B<NETID_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11294 msgstr ""
11295
11296 #. type: Plain text
11297 #: build/C/man5/nss.5:68
11298 msgid ""
11299 "If set to TRUE, the NIS backend for the B<initgroups>(3)  function will "
11300 "accept the information from the I<netid.byname> NIS map as authoritative.  "
11301 "This can speed up the function significantly if the I<group.byname> map is "
11302 "large.  The content of the I<netid.byname> map is used B<as is>.  The system "
11303 "administrator has to make sure it is correctly generated."
11304 msgstr ""
11305
11306 #. type: TP
11307 #: build/C/man5/nss.5:68
11308 #, no-wrap
11309 msgid "B<SERVICES_AUTHORITATIVE => I<TRUE>|I<FALSE>"
11310 msgstr ""
11311
11312 #. type: Plain text
11313 #: build/C/man5/nss.5:80
11314 msgid ""
11315 "If set to TRUE, the NIS backend for the B<getservbyname>(3)  and "
11316 "B<getservbyname_r>(3)  functions will assume that the "
11317 "I<services.byservicename> NIS map exists and is authoritative, particularly "
11318 "that it contains both keys with /proto and without /proto for both primary "
11319 "service names and service aliases.  The system administrator has to make "
11320 "sure it is correctly generated."
11321 msgstr ""
11322
11323 #. type: TP
11324 #: build/C/man5/nss.5:80
11325 #, no-wrap
11326 msgid "B<SETENT_BATCH_READ => I<TRUE>|I<FALSE>"
11327 msgstr ""
11328
11329 #. type: Plain text
11330 #: build/C/man5/nss.5:98
11331 msgid ""
11332 "If set to TRUE, the NIS backend for the B<setpwent>(3)  and B<setgrent>(3)  "
11333 "functions will read the entire database at once and then hand out the "
11334 "requests one by one from memory with every corresponding B<getpwent>(3)  or "
11335 "B<getgrent>(3)  call respectively.  Otherwise each B<getpwent>(3)  or "
11336 "B<getgrent>(3)  call might result in a network communication with the server "
11337 "to get the next entry."
11338 msgstr ""
11339
11340 #. type: Plain text
11341 #: build/C/man5/nss.5:100
11342 msgid "I</etc/default/nss>"
11343 msgstr ""
11344
11345 #. type: Plain text
11346 #: build/C/man5/nss.5:102
11347 msgid "The default configuration corresponds to the following configuration file:"
11348 msgstr ""
11349
11350 #.  .SH AUTHOR
11351 #.  Ulrich Drepper <drepper@redhat.com>
11352 #. type: Plain text
11353 #: build/C/man5/nss.5:110
11354 #, no-wrap
11355 msgid ""
11356 "NETID_AUTHORITATIVE=FALSE\n"
11357 "SERVICES_AUTHORITATIVE=FALSE\n"
11358 "SETENT_BATCH_READ=FALSE\n"
11359 msgstr ""
11360
11361 #. type: Plain text
11362 #: build/C/man5/nss.5:112
11363 msgid "I<nsswitch.conf>"
11364 msgstr ""
11365
11366 #. type: TH
11367 #: build/C/man5/nsswitch.conf.5:25
11368 #, no-wrap
11369 msgid "NSSWITCH.CONF"
11370 msgstr ""
11371
11372 #. type: Plain text
11373 #: build/C/man5/nsswitch.conf.5:28
11374 msgid "nsswitch.conf - Name Service Switch configuration file"
11375 msgstr ""
11376
11377 #. type: Plain text
11378 #: build/C/man5/nsswitch.conf.5:36
11379 msgid ""
11380 "The Name Service Switch (NSS) configuration file, I</etc/nsswitch.conf>, is "
11381 "used by the GNU C Library to determine the sources from which to obtain "
11382 "name-service information in a range of categories, and in what order.  Each "
11383 "category of information is identified by a database name."
11384 msgstr ""
11385
11386 #. type: Plain text
11387 #: build/C/man5/nsswitch.conf.5:42
11388 msgid ""
11389 "The file is plain ASCII text, with columns separated by spaces or tab "
11390 "characters.  The first column specifies the database name.  The remaining "
11391 "columns describe the order of sources to query and a limited set of actions "
11392 "that can be performed by lookup result."
11393 msgstr ""
11394
11395 #. type: Plain text
11396 #: build/C/man5/nsswitch.conf.5:44
11397 msgid "The following databases are understood by the GNU C Library:"
11398 msgstr ""
11399
11400 #. type: Plain text
11401 #: build/C/man5/nsswitch.conf.5:49
11402 msgid "Mail aliases, used by B<getaliasent>(3)  and related functions."
11403 msgstr ""
11404
11405 #. type: Plain text
11406 #: build/C/man5/nsswitch.conf.5:52
11407 msgid "Ethernet numbers."
11408 msgstr ""
11409
11410 #. type: Plain text
11411 #: build/C/man5/nsswitch.conf.5:57
11412 msgid "Groups of users, used by B<getgrent>(3)  and related functions."
11413 msgstr ""
11414
11415 #. type: Plain text
11416 #: build/C/man5/nsswitch.conf.5:62
11417 msgid "Host names and numbers, used by B<gethostbyname>(3)  and related functions."
11418 msgstr ""
11419
11420 #. type: Plain text
11421 #: build/C/man5/nsswitch.conf.5:67
11422 msgid "Supplementary group access list, used by B<getgrouplist>(3)  function."
11423 msgstr ""
11424
11425 #. type: Plain text
11426 #: build/C/man5/nsswitch.conf.5:71
11427 msgid ""
11428 "Network-wide list of hosts and users, used for access rules.  C libraries "
11429 "before glibc 2.1 supported netgroups only over NIS."
11430 msgstr ""
11431
11432 #. type: Plain text
11433 #: build/C/man5/nsswitch.conf.5:76
11434 msgid "Network names and numbers, used by B<getnetent>(3)  and related functions."
11435 msgstr ""
11436
11437 #. type: Plain text
11438 #: build/C/man5/nsswitch.conf.5:81
11439 msgid "User passwords, used by B<getpwent>(3)  and related functions."
11440 msgstr ""
11441
11442 #. type: Plain text
11443 #: build/C/man5/nsswitch.conf.5:86
11444 msgid "Network protocols, used by B<getprotoent>(3)  and related functions."
11445 msgstr ""
11446
11447 #. type: TP
11448 #: build/C/man5/nsswitch.conf.5:86
11449 #, no-wrap
11450 msgid "B<publickey>"
11451 msgstr ""
11452
11453 #. type: Plain text
11454 #: build/C/man5/nsswitch.conf.5:89
11455 msgid "Public and secret keys for Secure_RPC used by NFS and NIS+."
11456 msgstr ""
11457
11458 #. type: Plain text
11459 #: build/C/man5/nsswitch.conf.5:94
11460 msgid ""
11461 "Remote procedure call names and numbers, used by B<getrpcbyname>(3)  and "
11462 "related functions."
11463 msgstr ""
11464
11465 #. type: Plain text
11466 #: build/C/man5/nsswitch.conf.5:99
11467 msgid "Network services, used by B<getservent>(3)  and related functions."
11468 msgstr ""
11469
11470 #. type: Plain text
11471 #: build/C/man5/nsswitch.conf.5:104
11472 msgid "Shadow user passwords, used by B<getspnam>(3)  and related functions."
11473 msgstr ""
11474
11475 #. type: Plain text
11476 #: build/C/man5/nsswitch.conf.5:108
11477 msgid "Here is an example I</etc/nsswitch.conf> file:"
11478 msgstr ""
11479
11480 #. type: TP
11481 #: build/C/man5/nsswitch.conf.5:111
11482 #, no-wrap
11483 msgid "passwd:"
11484 msgstr ""
11485
11486 #. type: Plain text
11487 #: build/C/man5/nsswitch.conf.5:114 build/C/man5/nsswitch.conf.5:117 build/C/man5/nsswitch.conf.5:120
11488 msgid "compat"
11489 msgstr ""
11490
11491 #. type: TP
11492 #: build/C/man5/nsswitch.conf.5:114
11493 #, no-wrap
11494 msgid "group:"
11495 msgstr ""
11496
11497 #. type: TP
11498 #: build/C/man5/nsswitch.conf.5:117
11499 #, no-wrap
11500 msgid "shadow:"
11501 msgstr ""
11502
11503 #. type: TP
11504 #: build/C/man5/nsswitch.conf.5:121
11505 #, no-wrap
11506 msgid "hosts:"
11507 msgstr ""
11508
11509 #. type: Plain text
11510 #: build/C/man5/nsswitch.conf.5:124
11511 msgid "dns [!UNAVAIL=return] files"
11512 msgstr ""
11513
11514 #. type: TP
11515 #: build/C/man5/nsswitch.conf.5:124
11516 #, no-wrap
11517 msgid "networks:"
11518 msgstr ""
11519
11520 #. type: Plain text
11521 #: build/C/man5/nsswitch.conf.5:127 build/C/man5/nsswitch.conf.5:130 build/C/man5/nsswitch.conf.5:133 build/C/man5/nsswitch.conf.5:136 build/C/man5/nsswitch.conf.5:139
11522 msgid "nis [NOTFOUND=return] files"
11523 msgstr ""
11524
11525 #. type: TP
11526 #: build/C/man5/nsswitch.conf.5:127
11527 #, no-wrap
11528 msgid "ethers:"
11529 msgstr ""
11530
11531 #. type: TP
11532 #: build/C/man5/nsswitch.conf.5:130
11533 #, no-wrap
11534 msgid "protocols:"
11535 msgstr ""
11536
11537 #. type: TP
11538 #: build/C/man5/nsswitch.conf.5:133
11539 #, no-wrap
11540 msgid "rpc:"
11541 msgstr ""
11542
11543 #. type: TP
11544 #: build/C/man5/nsswitch.conf.5:136
11545 #, no-wrap
11546 msgid "services:"
11547 msgstr ""
11548
11549 #. type: Plain text
11550 #: build/C/man5/nsswitch.conf.5:144
11551 msgid "The first column is the database name.  The remaining columns specify:"
11552 msgstr ""
11553
11554 #. type: Plain text
11555 #: build/C/man5/nsswitch.conf.5:148
11556 msgid ""
11557 "One or more service specifications e.g., \"files\", \"db\", or \"nis\".  The "
11558 "order of the services on the line determines the order in which those "
11559 "services will be queried, in turn, until a result is found."
11560 msgstr ""
11561
11562 #. type: Plain text
11563 #: build/C/man5/nsswitch.conf.5:151
11564 msgid ""
11565 "Optional actions to perform if a particular result is obtained from the "
11566 "preceding service, e.g., \"[NOTFOUND=return]\"."
11567 msgstr ""
11568
11569 #. type: Plain text
11570 #: build/C/man5/nsswitch.conf.5:177
11571 msgid ""
11572 "The service specifications supported on your system depend on the presence "
11573 "of shared libraries, and are therefore extensible.  Libraries called "
11574 "I</lib/libnss_SERVICE.so.>B<X> will provide the named I<SERVICE>.  On a "
11575 "standard installation, you can use \"files\", \"db\", \"nis\", and "
11576 "\"nisplus\".  For the B<hosts> database, you can additionally specify "
11577 "\"dns\".  For the B<passwd>, B<group>, and B<shadow> databases, you can "
11578 "additionally specify \"compat\" (see B<Compatibility mode> below).  The "
11579 "version number B<X> may be 1 for glibc 2.0, or 2 for glibc 2.1 and later.  "
11580 "On systems with additional libraries installed, you may have access to "
11581 "further services such as \"hesiod\", \"ldap\", \"winbind\" and \"wins\"."
11582 msgstr ""
11583
11584 #. type: Plain text
11585 #: build/C/man5/nsswitch.conf.5:182
11586 msgid ""
11587 "An action may also be specified following a service specification.  The "
11588 "action modifies the behavior following a result obtained from the preceding "
11589 "data source.  Action items take the general form:"
11590 msgstr ""
11591
11592 #. type: Plain text
11593 #: build/C/man5/nsswitch.conf.5:185
11594 msgid "[I<STATUS>=I<ACTION>]"
11595 msgstr ""
11596
11597 #. type: Plain text
11598 #: build/C/man5/nsswitch.conf.5:187
11599 msgid "[!I<STATUS>=I<ACTION>]"
11600 msgstr ""
11601
11602 #. type: Plain text
11603 #: build/C/man5/nsswitch.conf.5:190
11604 msgid "where"
11605 msgstr ""
11606
11607 #. type: Plain text
11608 #: build/C/man5/nsswitch.conf.5:201
11609 msgid "I<STATUS> =E<gt> B<success> | B<notfound> | B<unavail> | B<tryagain>"
11610 msgstr ""
11611
11612 #. type: Plain text
11613 #: build/C/man5/nsswitch.conf.5:207
11614 msgid "I<ACTION> =E<gt> B<return> | B<continue>"
11615 msgstr ""
11616
11617 #. type: Plain text
11618 #: build/C/man5/nsswitch.conf.5:212
11619 msgid ""
11620 "The ! negates the test, matching all possible results except the one "
11621 "specified.  The case of the keywords is not significant."
11622 msgstr ""
11623
11624 #. type: Plain text
11625 #: build/C/man5/nsswitch.conf.5:217
11626 msgid ""
11627 "The I<STATUS> value is matched against the result of the lookup function "
11628 "called by the preceding service specification, and can be one of:"
11629 msgstr ""
11630
11631 #. type: TP
11632 #: build/C/man5/nsswitch.conf.5:218
11633 #, no-wrap
11634 msgid "B<success>"
11635 msgstr ""
11636
11637 #. type: Plain text
11638 #: build/C/man5/nsswitch.conf.5:222
11639 msgid ""
11640 "No error occurred and the requested entry is returned.  The default action "
11641 "for this condition is \"return\"."
11642 msgstr ""
11643
11644 #. type: TP
11645 #: build/C/man5/nsswitch.conf.5:222
11646 #, no-wrap
11647 msgid "B<notfound>"
11648 msgstr ""
11649
11650 #. type: Plain text
11651 #: build/C/man5/nsswitch.conf.5:226
11652 msgid ""
11653 "The lookup succeeded, but the requested entry was not found.  The default "
11654 "action for this condition is \"continue\"."
11655 msgstr ""
11656
11657 #. type: TP
11658 #: build/C/man5/nsswitch.conf.5:226
11659 #, no-wrap
11660 msgid "B<unavail>"
11661 msgstr ""
11662
11663 #. type: Plain text
11664 #: build/C/man5/nsswitch.conf.5:233
11665 msgid ""
11666 "The service is permanently unavailable.  This can mean either that the "
11667 "required file cannot be read, or, for network services, that the server is "
11668 "not available or does not allow queries.  The default action for this "
11669 "condition is \"continue\"."
11670 msgstr ""
11671
11672 #. type: TP
11673 #: build/C/man5/nsswitch.conf.5:233
11674 #, no-wrap
11675 msgid "B<tryagain>"
11676 msgstr ""
11677
11678 #. type: Plain text
11679 #: build/C/man5/nsswitch.conf.5:239
11680 msgid ""
11681 "The service is temporarily unavailable.  This could mean a file is locked or "
11682 "a server currently cannot accept more connections.  The default action for "
11683 "this condition is \"continue\"."
11684 msgstr ""
11685
11686 #. type: Plain text
11687 #: build/C/man5/nsswitch.conf.5:244
11688 msgid "The I<ACTION> value can be one of:"
11689 msgstr ""
11690
11691 #. type: TP
11692 #: build/C/man5/nsswitch.conf.5:245
11693 #, no-wrap
11694 msgid "B<return>"
11695 msgstr ""
11696
11697 #. type: Plain text
11698 #: build/C/man5/nsswitch.conf.5:257
11699 msgid ""
11700 "Return a result now.  Do not call any further lookup functions.  However, "
11701 "for compatibility reasons, if this is the selected action for the B<group> "
11702 "database and the B<notfound> status, and the configuration file does not "
11703 "contain the B<initgroups> line, the next lookup function is always called, "
11704 "without affecting the search result."
11705 msgstr ""
11706
11707 #. type: TP
11708 #: build/C/man5/nsswitch.conf.5:257
11709 #, no-wrap
11710 msgid "B<continue>"
11711 msgstr ""
11712
11713 #. type: Plain text
11714 #: build/C/man5/nsswitch.conf.5:260
11715 msgid "Call the next lookup function."
11716 msgstr ""
11717
11718 #. type: SS
11719 #: build/C/man5/nsswitch.conf.5:261
11720 #, no-wrap
11721 msgid "Compatibility mode (compat)"
11722 msgstr ""
11723
11724 #. type: Plain text
11725 #: build/C/man5/nsswitch.conf.5:267
11726 msgid ""
11727 "The NSS \"compat\" service is similar to \"files\" except that it "
11728 "additionally permits special entries in I</etc/passwd> for granting users or "
11729 "members of netgroups access to the system.  The following entries are valid "
11730 "in this mode:"
11731 msgstr ""
11732
11733 #. type: TP
11734 #: build/C/man5/nsswitch.conf.5:268
11735 #, no-wrap
11736 msgid "B<+>I<user>"
11737 msgstr ""
11738
11739 #. type: Plain text
11740 #: build/C/man5/nsswitch.conf.5:273
11741 msgid "Include the specified I<user> from the NIS passwd map."
11742 msgstr ""
11743
11744 #. type: TP
11745 #: build/C/man5/nsswitch.conf.5:273
11746 #, no-wrap
11747 msgid "B<+@>I<netgroup>"
11748 msgstr ""
11749
11750 #. type: Plain text
11751 #: build/C/man5/nsswitch.conf.5:277
11752 msgid "Include all users in the given I<netgroup>."
11753 msgstr ""
11754
11755 #. type: TP
11756 #: build/C/man5/nsswitch.conf.5:277
11757 #, no-wrap
11758 msgid "B<->I<user>"
11759 msgstr ""
11760
11761 #. type: Plain text
11762 #: build/C/man5/nsswitch.conf.5:282
11763 msgid "Exclude the specified I<user> from the NIS passwd map."
11764 msgstr ""
11765
11766 #. type: TP
11767 #: build/C/man5/nsswitch.conf.5:282
11768 #, no-wrap
11769 msgid "B<-@>I<netgroup>"
11770 msgstr ""
11771
11772 #. type: Plain text
11773 #: build/C/man5/nsswitch.conf.5:286
11774 msgid "Exclude all users in the given I<netgroup>."
11775 msgstr ""
11776
11777 #. type: TP
11778 #: build/C/man5/nsswitch.conf.5:286
11779 #, no-wrap
11780 msgid "B<+>"
11781 msgstr ""
11782
11783 #. type: Plain text
11784 #: build/C/man5/nsswitch.conf.5:290
11785 msgid ""
11786 "Include every user, except previously excluded ones, from the NIS passwd "
11787 "map."
11788 msgstr ""
11789
11790 #. type: Plain text
11791 #: build/C/man5/nsswitch.conf.5:298
11792 msgid ""
11793 "By default the source is \"nis\", but this may be overridden by specifying "
11794 "\"nisplus\" as the source for the pseudo-databases B<passwd_compat>, "
11795 "B<group_compat>, and B<shadow_compat>."
11796 msgstr ""
11797
11798 #. type: Plain text
11799 #: build/C/man5/nsswitch.conf.5:305
11800 msgid ""
11801 "A service named I<SERVICE> is implemented by a shared object library named "
11802 "I<libnss_SERVICE.so.>B<X> that resides in I</lib>."
11803 msgstr ""
11804
11805 #. type: Plain text
11806 #: build/C/man5/nsswitch.conf.5:310
11807 msgid "NSS configuration file."
11808 msgstr ""
11809
11810 #. type: TP
11811 #: build/C/man5/nsswitch.conf.5:310
11812 #, no-wrap
11813 msgid "I</lib/libnss_compat.so.>B<X>"
11814 msgstr ""
11815
11816 #. type: Plain text
11817 #: build/C/man5/nsswitch.conf.5:313
11818 msgid "implements \"compat\" source."
11819 msgstr ""
11820
11821 #. type: TP
11822 #: build/C/man5/nsswitch.conf.5:313
11823 #, no-wrap
11824 msgid "I</lib/libnss_db.so.>B<X>"
11825 msgstr ""
11826
11827 #. type: Plain text
11828 #: build/C/man5/nsswitch.conf.5:316
11829 msgid "implements \"db\" source."
11830 msgstr ""
11831
11832 #. type: TP
11833 #: build/C/man5/nsswitch.conf.5:316
11834 #, no-wrap
11835 msgid "I</lib/libnss_dns.so.>B<X>"
11836 msgstr ""
11837
11838 #. type: Plain text
11839 #: build/C/man5/nsswitch.conf.5:319
11840 msgid "implements \"dns\" source."
11841 msgstr ""
11842
11843 #. type: TP
11844 #: build/C/man5/nsswitch.conf.5:319
11845 #, no-wrap
11846 msgid "I</lib/libnss_files.so.>B<X>"
11847 msgstr ""
11848
11849 #. type: Plain text
11850 #: build/C/man5/nsswitch.conf.5:322
11851 msgid "implements \"files\" source."
11852 msgstr ""
11853
11854 #. type: TP
11855 #: build/C/man5/nsswitch.conf.5:322
11856 #, no-wrap
11857 msgid "I</lib/libnss_hesiod.so.>B<X>"
11858 msgstr ""
11859
11860 #. type: Plain text
11861 #: build/C/man5/nsswitch.conf.5:325
11862 msgid "implements \"hesiod\" source."
11863 msgstr ""
11864
11865 #. type: TP
11866 #: build/C/man5/nsswitch.conf.5:325
11867 #, no-wrap
11868 msgid "I</lib/libnss_nis.so.>B<X>"
11869 msgstr ""
11870
11871 #. type: Plain text
11872 #: build/C/man5/nsswitch.conf.5:328
11873 msgid "implements \"nis\" source."
11874 msgstr ""
11875
11876 #. type: TP
11877 #: build/C/man5/nsswitch.conf.5:328
11878 #, no-wrap
11879 msgid "I</lib/libnss_nisplus.so.>B<X>"
11880 msgstr ""
11881
11882 #. type: Plain text
11883 #: build/C/man5/nsswitch.conf.5:331
11884 msgid "implements \"nisplus\" source."
11885 msgstr ""
11886
11887 #. type: Plain text
11888 #: build/C/man5/nsswitch.conf.5:339
11889 msgid ""
11890 "Within each process that uses B<nsswitch.conf>, the entire file is read only "
11891 "once.  If the file is later changed, the process will continue using the old "
11892 "configuration."
11893 msgstr ""
11894
11895 #. type: Plain text
11896 #: build/C/man5/nsswitch.conf.5:352
11897 msgid ""
11898 "Traditionally, there was only a single source for service information, often "
11899 "in the form of a single configuration file (e.g., I</etc/passwd>).  However, "
11900 "as other name services, such as the Network Information Service (NIS) and "
11901 "the Domain Name Service (DNS), became popular, a method was needed that "
11902 "would be more flexible than fixed search orders coded into the C library.  "
11903 "The Name Service Switch mechanism, which was based on the mechanism used by "
11904 "Sun Microsystems in the Solaris 2 C library, introduced a cleaner solution "
11905 "to the problem."
11906 msgstr ""
11907
11908 #. type: Plain text
11909 #: build/C/man5/nsswitch.conf.5:355
11910 msgid "B<getent>(1), B<nss>(5)"
11911 msgstr ""
11912
11913 #. type: TH
11914 #: build/C/man7/packet.7:12
11915 #, no-wrap
11916 msgid "PACKET"
11917 msgstr ""
11918
11919 #. type: Plain text
11920 #: build/C/man7/packet.7:15
11921 msgid "packet - packet interface on device level."
11922 msgstr ""
11923
11924 #. type: Plain text
11925 #: build/C/man7/packet.7:18
11926 #, no-wrap
11927 msgid "B<#include E<lt>sys/socket.hE<gt>>\n"
11928 msgstr ""
11929
11930 #. type: Plain text
11931 #: build/C/man7/packet.7:20
11932 #, no-wrap
11933 msgid "B<#include E<lt>netpacket/packet.hE<gt>>\n"
11934 msgstr ""
11935
11936 #. type: Plain text
11937 #: build/C/man7/packet.7:22
11938 #, no-wrap
11939 msgid "B<#include E<lt>net/ethernet.hE<gt> /* the L2 protocols */>\n"
11940 msgstr ""
11941
11942 #. type: Plain text
11943 #: build/C/man7/packet.7:24
11944 #, no-wrap
11945 msgid ""
11946 "B<packet_socket = socket(AF_PACKET, int >I<socket_type>B<, int "
11947 ">I<protocol>B<);>\n"
11948 msgstr ""
11949
11950 #. type: Plain text
11951 #: build/C/man7/packet.7:30
11952 msgid ""
11953 "Packet sockets are used to receive or send raw packets at the device driver "
11954 "(OSI Layer 2) level.  They allow the user to implement protocol modules in "
11955 "user space on top of the physical layer."
11956 msgstr ""
11957
11958 #. type: Plain text
11959 #: build/C/man7/packet.7:52
11960 msgid ""
11961 "The I<socket_type> is either B<SOCK_RAW> for raw packets including the link "
11962 "level header or B<SOCK_DGRAM> for cooked packets with the link level header "
11963 "removed.  The link level header information is available in a common format "
11964 "in a I<sockaddr_ll>.  I<protocol> is the IEEE 802.3 protocol number in "
11965 "network order.  See the I<E<lt>linux/if_ether.hE<gt>> include file for a "
11966 "list of allowed protocols.  When protocol is set to B<htons(ETH_P_ALL)> then "
11967 "all protocols are received.  All incoming packets of that protocol type will "
11968 "be passed to the packet socket before they are passed to the protocols "
11969 "implemented in the kernel."
11970 msgstr ""
11971
11972 #. type: Plain text
11973 #: build/C/man7/packet.7:56
11974 msgid ""
11975 "Only processes with effective UID 0 or the B<CAP_NET_RAW> capability may "
11976 "open packet sockets."
11977 msgstr ""
11978
11979 #. type: Plain text
11980 #: build/C/man7/packet.7:74
11981 msgid ""
11982 "B<SOCK_RAW> packets are passed to and from the device driver without any "
11983 "changes in the packet data.  When receiving a packet, the address is still "
11984 "parsed and passed in a standard I<sockaddr_ll> address structure.  When "
11985 "transmitting a packet, the user supplied buffer should contain the physical "
11986 "layer header.  That packet is then queued unmodified to the network driver "
11987 "of the interface defined by the destination address.  Some device drivers "
11988 "always add other headers.  B<SOCK_RAW> is similar to but not compatible with "
11989 "the obsolete B<AF_INET/SOCK_PACKET> of Linux 2.0."
11990 msgstr ""
11991
11992 #. type: Plain text
11993 #: build/C/man7/packet.7:84
11994 msgid ""
11995 "B<SOCK_DGRAM> operates on a slightly higher level.  The physical header is "
11996 "removed before the packet is passed to the user.  Packets sent through a "
11997 "B<SOCK_DGRAM> packet socket get a suitable physical layer header based on "
11998 "the information in the I<sockaddr_ll> destination address before they are "
11999 "queued."
12000 msgstr ""
12001
12002 #. type: Plain text
12003 #: build/C/man7/packet.7:97
12004 msgid ""
12005 "By default all packets of the specified protocol type are passed to a packet "
12006 "socket.  To only get packets from a specific interface use B<bind>(2)  "
12007 "specifying an address in a I<struct sockaddr_ll> to bind the packet socket "
12008 "to an interface.  Only the I<sll_protocol> and the I<sll_ifindex> address "
12009 "fields are used for purposes of binding."
12010 msgstr ""
12011
12012 #. type: Plain text
12013 #: build/C/man7/packet.7:101
12014 msgid "The B<connect>(2)  operation is not supported on packet sockets."
12015 msgstr ""
12016
12017 #. type: Plain text
12018 #: build/C/man7/packet.7:110
12019 msgid ""
12020 "When the B<MSG_TRUNC> flag is passed to B<recvmsg>(2), B<recv>(2), "
12021 "B<recvfrom>(2)  the real length of the packet on the wire is always "
12022 "returned, even when it is longer than the buffer."
12023 msgstr ""
12024
12025 #. type: SS
12026 #: build/C/man7/packet.7:110
12027 #, no-wrap
12028 msgid "Address types"
12029 msgstr ""
12030
12031 #. type: Plain text
12032 #: build/C/man7/packet.7:112
12033 msgid "The sockaddr_ll is a device independent physical layer address."
12034 msgstr ""
12035
12036 #. type: Plain text
12037 #: build/C/man7/packet.7:124
12038 #, no-wrap
12039 msgid ""
12040 "struct sockaddr_ll {\n"
12041 "    unsigned short sll_family;   /* Always AF_PACKET */\n"
12042 "    unsigned short sll_protocol; /* Physical layer protocol */\n"
12043 "    int            sll_ifindex;  /* Interface number */\n"
12044 "    unsigned short sll_hatype;   /* ARP hardware type */\n"
12045 "    unsigned char  sll_pkttype;  /* Packet type */\n"
12046 "    unsigned char  sll_halen;    /* Length of address */\n"
12047 "    unsigned char  sll_addr[8];  /* Physical layer address */\n"
12048 "};\n"
12049 msgstr ""
12050
12051 #. type: Plain text
12052 #: build/C/man7/packet.7:163
12053 msgid ""
12054 "I<sll_protocol> is the standard ethernet protocol type in network order as "
12055 "defined in the I<E<lt>linux/if_ether.hE<gt>> include file.  It defaults to "
12056 "the socket's protocol.  I<sll_ifindex> is the interface index of the "
12057 "interface (see B<netdevice>(7)); 0 matches any interface (only permitted for "
12058 "binding).  I<sll_hatype> is an ARP type as defined in the "
12059 "I<E<lt>linux/if_arp.hE<gt>> include file.  I<sll_pkttype> contains the "
12060 "packet type.  Valid types are B<PACKET_HOST> for a packet addressed to the "
12061 "local host, B<PACKET_BROADCAST> for a physical layer broadcast packet, "
12062 "B<PACKET_MULTICAST> for a packet sent to a physical layer multicast address, "
12063 "B<PACKET_OTHERHOST> for a packet to some other host that has been caught by "
12064 "a device driver in promiscuous mode, and B<PACKET_OUTGOING> for a packet "
12065 "originated from the local host that is looped back to a packet socket.  "
12066 "These types make only sense for receiving.  I<sll_addr> and I<sll_halen> "
12067 "contain the physical layer (e.g., IEEE 802.3) address and its length.  The "
12068 "exact interpretation depends on the device."
12069 msgstr ""
12070
12071 #. type: Plain text
12072 #: build/C/man7/packet.7:179
12073 msgid ""
12074 "When you send packets it is enough to specify I<sll_family>, I<sll_addr>, "
12075 "I<sll_halen>, I<sll_ifindex>.  The other fields should be 0.  I<sll_hatype> "
12076 "and I<sll_pkttype> are set on received packets for your information.  For "
12077 "bind only I<sll_protocol> and I<sll_ifindex> are used."
12078 msgstr ""
12079
12080 #. type: Plain text
12081 #: build/C/man7/packet.7:194
12082 msgid ""
12083 "Packet sockets can be used to configure physical layer multicasting and "
12084 "promiscuous mode.  It works by calling B<setsockopt>(2)  on a packet socket "
12085 "for B<SOL_PACKET> and one of the options B<PACKET_ADD_MEMBERSHIP> to add a "
12086 "binding or B<PACKET_DROP_MEMBERSHIP> to drop it.  They both expect a "
12087 "B<packet_mreq> structure as argument:"
12088 msgstr ""
12089
12090 #. type: Plain text
12091 #: build/C/man7/packet.7:203
12092 #, no-wrap
12093 msgid ""
12094 "struct packet_mreq {\n"
12095 "    int            mr_ifindex;    /* interface index */\n"
12096 "    unsigned short mr_type;       /* action */\n"
12097 "    unsigned short mr_alen;       /* address length */\n"
12098 "    unsigned char  mr_address[8]; /* physical layer address */\n"
12099 "};\n"
12100 msgstr ""
12101
12102 #. type: Plain text
12103 #: build/C/man7/packet.7:224
12104 msgid ""
12105 "B<mr_ifindex> contains the interface index for the interface whose status "
12106 "should be changed.  The B<mr_type> parameter specifies which action to "
12107 "perform.  B<PACKET_MR_PROMISC> enables receiving all packets on a shared "
12108 "medium (often known as \"promiscuous mode\"), B<PACKET_MR_MULTICAST> binds "
12109 "the socket to the physical layer multicast group specified in B<mr_address> "
12110 "and B<mr_alen>, and B<PACKET_MR_ALLMULTI> sets the socket up to receive all "
12111 "multicast packets arriving at the interface."
12112 msgstr ""
12113
12114 #. type: Plain text
12115 #: build/C/man7/packet.7:230
12116 msgid ""
12117 "In addition the traditional ioctls B<SIOCSIFFLAGS>, B<SIOCADDMULTI>, "
12118 "B<SIOCDELMULTI> can be used for the same purpose."
12119 msgstr ""
12120
12121 #.  FIXME Document SIOCGSTAMPNS
12122 #. type: Plain text
12123 #: build/C/man7/packet.7:236
12124 msgid ""
12125 "B<SIOCGSTAMP> can be used to receive the timestamp of the last received "
12126 "packet.  Argument is a I<struct timeval.>"
12127 msgstr ""
12128
12129 #. type: Plain text
12130 #: build/C/man7/packet.7:242
12131 msgid ""
12132 "In addition all standard ioctls defined in B<netdevice>(7)  and B<socket>(7)  "
12133 "are valid on packet sockets."
12134 msgstr ""
12135
12136 #. type: SS
12137 #: build/C/man7/packet.7:242 build/C/man7/raw.7:131 build/C/man7/tcp.7:1111 build/C/man7/udp.7:101
12138 #, no-wrap
12139 msgid "Error handling"
12140 msgstr ""
12141
12142 #. type: Plain text
12143 #: build/C/man7/packet.7:246
12144 msgid ""
12145 "Packet sockets do no error handling other than errors occurred while passing "
12146 "the packet to the device driver.  They don't have the concept of a pending "
12147 "error."
12148 msgstr ""
12149
12150 #. type: Plain text
12151 #: build/C/man7/packet.7:250
12152 msgid "Unknown multicast group address passed."
12153 msgstr ""
12154
12155 #. type: Plain text
12156 #: build/C/man7/packet.7:253
12157 msgid "User passed invalid memory address."
12158 msgstr ""
12159
12160 #. type: Plain text
12161 #: build/C/man7/packet.7:256 build/C/man7/raw.7:155
12162 msgid "Invalid argument."
12163 msgstr ""
12164
12165 #. type: Plain text
12166 #: build/C/man7/packet.7:259
12167 msgid "Packet is bigger than interface MTU."
12168 msgstr ""
12169
12170 #. type: TP
12171 #: build/C/man7/packet.7:259
12172 #, no-wrap
12173 msgid "B<ENETDOWN>"
12174 msgstr ""
12175
12176 #. type: Plain text
12177 #: build/C/man7/packet.7:262
12178 msgid "Interface is not up."
12179 msgstr ""
12180
12181 #. type: Plain text
12182 #: build/C/man7/packet.7:265
12183 msgid "Not enough memory to allocate the packet."
12184 msgstr ""
12185
12186 #. type: Plain text
12187 #: build/C/man7/packet.7:268
12188 msgid "Unknown device name or interface index specified in interface address."
12189 msgstr ""
12190
12191 #. type: Plain text
12192 #: build/C/man7/packet.7:271
12193 msgid "No packet received."
12194 msgstr ""
12195
12196 #. type: Plain text
12197 #: build/C/man7/packet.7:274
12198 msgid "No interface address passed."
12199 msgstr ""
12200
12201 #. type: TP
12202 #: build/C/man7/packet.7:274
12203 #, no-wrap
12204 msgid "B<ENXIO>"
12205 msgstr ""
12206
12207 #. type: Plain text
12208 #: build/C/man7/packet.7:277
12209 msgid "Interface address contained an invalid interface index."
12210 msgstr ""
12211
12212 #. type: Plain text
12213 #: build/C/man7/packet.7:280
12214 msgid "User has insufficient privileges to carry out this operation."
12215 msgstr ""
12216
12217 #. type: Plain text
12218 #: build/C/man7/packet.7:282
12219 msgid "In addition other errors may be generated by the low-level driver."
12220 msgstr ""
12221
12222 #. type: Plain text
12223 #: build/C/man7/packet.7:287
12224 msgid ""
12225 "B<AF_PACKET> is a new feature in Linux 2.2.  Earlier Linux versions "
12226 "supported only B<SOCK_PACKET>."
12227 msgstr ""
12228
12229 #. type: Plain text
12230 #: build/C/man7/packet.7:292
12231 msgid ""
12232 "The include file I<E<lt>netpacket/packet.hE<gt>> is present since glibc "
12233 "2.1.  Older systems need:"
12234 msgstr ""
12235
12236 #. type: Plain text
12237 #: build/C/man7/packet.7:298
12238 #, no-wrap
12239 msgid ""
12240 "#include E<lt>asm/types.hE<gt>\n"
12241 "#include E<lt>linux/if_packet.hE<gt>\n"
12242 "#include E<lt>linux/if_ether.hE<gt>  /* The L2 protocols */\n"
12243 msgstr ""
12244
12245 #. type: Plain text
12246 #: build/C/man7/packet.7:308
12247 msgid ""
12248 "For portable programs it is suggested to use B<AF_PACKET> via B<pcap>(3); "
12249 "although this only covers a subset of the B<AF_PACKET> features."
12250 msgstr ""
12251
12252 #. type: Plain text
12253 #: build/C/man7/packet.7:329
12254 msgid ""
12255 "The B<SOCK_DGRAM> packet sockets make no attempt to create or parse the IEEE "
12256 "802.2 LLC header for a IEEE 802.3 frame.  When B<ETH_P_802_3> is specified "
12257 "as protocol for sending the kernel creates the 802.3 frame and fills out the "
12258 "length field; the user has to supply the LLC header to get a fully "
12259 "conforming packet.  Incoming 802.3 packets are not multiplexed on the "
12260 "DSAP/SSAP protocol fields; instead they are supplied to the user as protocol "
12261 "B<ETH_P_802_2> with the LLC header prepended.  It is thus not possible to "
12262 "bind to B<ETH_P_802_3>; bind to B<ETH_P_802_2> instead and do the protocol "
12263 "multiplex yourself.  The default for sending is the standard Ethernet DIX "
12264 "encapsulation with the protocol filled in."
12265 msgstr ""
12266
12267 #. type: Plain text
12268 #: build/C/man7/packet.7:331
12269 msgid "Packet sockets are not subject to the input or output firewall chains."
12270 msgstr ""
12271
12272 #. type: Plain text
12273 #: build/C/man7/packet.7:341
12274 msgid ""
12275 "In Linux 2.0, the only way to get a packet socket was by calling "
12276 "B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)>.  This is still supported "
12277 "but strongly deprecated.  The main difference between the two methods is "
12278 "that B<SOCK_PACKET> uses the old I<struct sockaddr_pkt> to specify an "
12279 "interface, which doesn't provide physical layer independence."
12280 msgstr ""
12281
12282 #. type: Plain text
12283 #: build/C/man7/packet.7:349
12284 #, no-wrap
12285 msgid ""
12286 "struct sockaddr_pkt {\n"
12287 "    unsigned short spkt_family;\n"
12288 "    unsigned char  spkt_device[14];\n"
12289 "    unsigned short spkt_protocol;\n"
12290 "};\n"
12291 msgstr ""
12292
12293 #. type: Plain text
12294 #: build/C/man7/packet.7:361
12295 msgid ""
12296 "I<spkt_family> contains the device type, I<spkt_protocol> is the IEEE 802.3 "
12297 "protocol type as defined in I<E<lt>sys/if_ether.hE<gt>> and I<spkt_device> "
12298 "is the device name as a null-terminated string, for example, eth0."
12299 msgstr ""
12300
12301 #. type: Plain text
12302 #: build/C/man7/packet.7:363
12303 msgid "This structure is obsolete and should not be used in new code."
12304 msgstr ""
12305
12306 #. type: Plain text
12307 #: build/C/man7/packet.7:367
12308 msgid ""
12309 "glibc 2.1 does not have a define for B<SOL_PACKET>.  The suggested "
12310 "workaround is to use:"
12311 msgstr ""
12312
12313 #. type: Plain text
12314 #: build/C/man7/packet.7:373
12315 #, no-wrap
12316 msgid ""
12317 "#ifndef SOL_PACKET\n"
12318 "#define SOL_PACKET 263\n"
12319 "#endif\n"
12320 msgstr ""
12321
12322 #. type: Plain text
12323 #: build/C/man7/packet.7:378
12324 msgid ""
12325 "This is fixed in later glibc versions and also does not occur on libc5 "
12326 "systems."
12327 msgstr ""
12328
12329 #. type: Plain text
12330 #: build/C/man7/packet.7:380
12331 msgid "The IEEE 802.2/803.3 LLC handling could be considered as a bug."
12332 msgstr ""
12333
12334 #. type: Plain text
12335 #: build/C/man7/packet.7:382
12336 msgid "Socket filters are not documented."
12337 msgstr ""
12338
12339 #.  .SH CREDITS
12340 #.  This man page was written by Andi Kleen with help from Matthew Wilcox.
12341 #.  AF_PACKET in Linux 2.2 was implemented
12342 #.  by Alexey Kuznetsov, based on code by Alan Cox and others.
12343 #. type: Plain text
12344 #: build/C/man7/packet.7:394
12345 msgid ""
12346 "The B<MSG_TRUNC> B<recvmsg>(2)  extension is an ugly hack and should be "
12347 "replaced by a control message.  There is currently no way to get the "
12348 "original destination address of packets via B<SOCK_DGRAM>."
12349 msgstr ""
12350
12351 #. type: Plain text
12352 #: build/C/man7/packet.7:401
12353 msgid ""
12354 "B<socket>(2), B<pcap>(3), B<capabilities>(7), B<ip>(7), B<raw>(7), "
12355 "B<socket>(7)"
12356 msgstr ""
12357
12358 #. type: Plain text
12359 #: build/C/man7/packet.7:404
12360 msgid ""
12361 "RFC\\ 894 for the standard IP Ethernet encapsulation.  RFC\\ 1700 for the "
12362 "IEEE 802.3 IP encapsulation."
12363 msgstr ""
12364
12365 #. type: Plain text
12366 #: build/C/man7/packet.7:408
12367 msgid "The I<E<lt>linux/if_ether.hE<gt>> include file for physical layer protocols."
12368 msgstr ""
12369
12370 #. type: TH
12371 #: build/C/man5/protocols.5:29
12372 #, no-wrap
12373 msgid "PROTOCOLS"
12374 msgstr ""
12375
12376 #. type: TH
12377 #: build/C/man5/protocols.5:29 build/C/man7/x25.7:12
12378 #, no-wrap
12379 msgid "2012-08-05"
12380 msgstr ""
12381
12382 #. type: Plain text
12383 #: build/C/man5/protocols.5:32
12384 msgid "protocols - protocols definition file"
12385 msgstr ""
12386
12387 #. type: Plain text
12388 #: build/C/man5/protocols.5:40
12389 msgid ""
12390 "This file is a plain ASCII file, describing the various DARPA internet "
12391 "protocols that are available from the TCP/IP subsystem.  It should be "
12392 "consulted instead of using the numbers in the ARPA include files, or, even "
12393 "worse, just guessing them.  These numbers will occur in the protocol field "
12394 "of any IP header."
12395 msgstr ""
12396
12397 #.  .. by the DDN Network Information Center.
12398 #. type: Plain text
12399 #: build/C/man5/protocols.5:46
12400 msgid ""
12401 "Keep this file untouched since changes would result in incorrect IP "
12402 "packages.  Protocol numbers and names are specified by the IANA (Internet "
12403 "Assigned Numbers Authority)."
12404 msgstr ""
12405
12406 #. type: Plain text
12407 #: build/C/man5/protocols.5:48
12408 msgid "Each line is of the following format:"
12409 msgstr ""
12410
12411 #. type: Plain text
12412 #: build/C/man5/protocols.5:51
12413 msgid "I<protocol number aliases ...>"
12414 msgstr ""
12415
12416 #. type: Plain text
12417 #: build/C/man5/protocols.5:57
12418 msgid ""
12419 "where the fields are delimited by spaces or tabs.  Empty lines are ignored.  "
12420 "If a line contains a hash mark (#), the hash mark and the part of the line "
12421 "following it are ignored."
12422 msgstr ""
12423
12424 #. type: TP
12425 #: build/C/man5/protocols.5:59 build/C/man5/services.5:109
12426 #, no-wrap
12427 msgid "I<protocol>"
12428 msgstr ""
12429
12430 #. type: Plain text
12431 #: build/C/man5/protocols.5:67
12432 msgid "the native name for the protocol.  For example I<ip>, I<tcp>, or I<udp>."
12433 msgstr ""
12434
12435 #. type: Plain text
12436 #: build/C/man5/protocols.5:71
12437 msgid ""
12438 "the official number for this protocol as it will appear within the IP "
12439 "header."
12440 msgstr ""
12441
12442 #. type: Plain text
12443 #: build/C/man5/protocols.5:74
12444 msgid "optional aliases for the protocol."
12445 msgstr ""
12446
12447 #.  The following is not true as at glibc 2.8 (a line with a comma is
12448 #.  ignored by getservent()); it's not clear if/when it was ever true.
12449 #.    As a backward compatibility feature, the slash (/) between the
12450 #.    .I port
12451 #.    number and
12452 #.    .I protocol
12453 #.    name can in fact be either a slash or a comma (,).
12454 #.    Use of the comma in
12455 #.    modern installations is deprecated.
12456 #. type: Plain text
12457 #: build/C/man5/protocols.5:77 build/C/man5/services.5:165
12458 msgid ""
12459 "This file might be distributed over a network using a network-wide naming "
12460 "service like Yellow Pages/NIS or BIND/Hesiod."
12461 msgstr ""
12462
12463 #. type: Plain text
12464 #: build/C/man5/protocols.5:81
12465 msgid "The protocols definition file."
12466 msgstr ""
12467
12468 #. type: Plain text
12469 #: build/C/man5/protocols.5:83
12470 msgid "B<getprotoent>(3)"
12471 msgstr ""
12472
12473 #. type: Plain text
12474 #: build/C/man5/protocols.5:86
12475 msgid "E<.UR http://www.iana.org\\:/assignments\\:/protocol-numbers> E<.UE>"
12476 msgstr ""
12477
12478 #. type: TH
12479 #: build/C/man7/raw.7:13
12480 #, no-wrap
12481 msgid "RAW"
12482 msgstr ""
12483
12484 #. type: Plain text
12485 #: build/C/man7/raw.7:16
12486 msgid "raw - Linux IPv4 raw sockets"
12487 msgstr ""
12488
12489 #. type: Plain text
12490 #: build/C/man7/raw.7:22
12491 msgid "B<raw_socket = socket(AF_INET, SOCK_RAW, int >I<protocol>B<);>"
12492 msgstr ""
12493
12494 #. type: Plain text
12495 #: build/C/man7/raw.7:26
12496 msgid ""
12497 "Raw sockets allow new IPv4 protocols to be implemented in user space.  A raw "
12498 "socket receives or sends the raw datagram not including link level headers."
12499 msgstr ""
12500
12501 #. type: Plain text
12502 #: build/C/man7/raw.7:32
12503 msgid ""
12504 "The IPv4 layer generates an IP header when sending a packet unless the "
12505 "B<IP_HDRINCL> socket option is enabled on the socket.  When it is enabled, "
12506 "the packet must contain an IP header.  For receiving the IP header is always "
12507 "included in the packet."
12508 msgstr ""
12509
12510 #. type: Plain text
12511 #: build/C/man7/raw.7:36
12512 msgid ""
12513 "Only processes with an effective user ID of 0 or the B<CAP_NET_RAW> "
12514 "capability are allowed to open raw sockets."
12515 msgstr ""
12516
12517 #. type: Plain text
12518 #: build/C/man7/raw.7:43
12519 msgid ""
12520 "All packets or errors matching the I<protocol> number specified for the raw "
12521 "socket are passed to this socket.  For a list of the allowed protocols see "
12522 "RFC\\ 1700 assigned numbers and B<getprotobyname>(3)."
12523 msgstr ""
12524
12525 #. type: Plain text
12526 #: build/C/man7/raw.7:53
12527 msgid ""
12528 "A protocol of B<IPPROTO_RAW> implies enabled B<IP_HDRINCL> and is able to "
12529 "send any IP protocol that is specified in the passed header.  Receiving of "
12530 "all IP protocols via B<IPPROTO_RAW> is not possible using raw sockets."
12531 msgstr ""
12532
12533 #. type: tbl table
12534 #: build/C/man7/raw.7:58
12535 #, no-wrap
12536 msgid "IP Header fields modified on sending by B<IP_HDRINCL>\n"
12537 msgstr ""
12538
12539 #. type: tbl table
12540 #: build/C/man7/raw.7:59
12541 #, no-wrap
12542 msgid "IP Checksum:Always filled in.\n"
12543 msgstr ""
12544
12545 #. type: tbl table
12546 #: build/C/man7/raw.7:60
12547 #, no-wrap
12548 msgid "Source Address:Filled in when zero.\n"
12549 msgstr ""
12550
12551 #. type: tbl table
12552 #: build/C/man7/raw.7:61
12553 #, no-wrap
12554 msgid "Packet Id:Filled in when zero.\n"
12555 msgstr ""
12556
12557 #. type: tbl table
12558 #: build/C/man7/raw.7:62
12559 #, no-wrap
12560 msgid "Total Length:Always filled in.\n"
12561 msgstr ""
12562
12563 #. type: Plain text
12564 #: build/C/man7/raw.7:76
12565 msgid ""
12566 "If B<IP_HDRINCL> is specified and the IP header has a nonzero destination "
12567 "address then the destination address of the socket is used to route the "
12568 "packet.  When B<MSG_DONTROUTE> is specified, the destination address should "
12569 "refer to a local interface, otherwise a routing table lookup is done anyway "
12570 "but gatewayed routes are ignored."
12571 msgstr ""
12572
12573 #. type: Plain text
12574 #: build/C/man7/raw.7:84
12575 msgid ""
12576 "If B<IP_HDRINCL> isn't set, then IP header options can be set on raw sockets "
12577 "with B<setsockopt>(2); see B<ip>(7)  for more information."
12578 msgstr ""
12579
12580 #. type: Plain text
12581 #: build/C/man7/raw.7:89
12582 msgid ""
12583 "In Linux 2.2, all IP header fields and options can be set using IP socket "
12584 "options.  This means raw sockets are usually only needed for new protocols "
12585 "or protocols with no user interface (like ICMP)."
12586 msgstr ""
12587
12588 #. type: Plain text
12589 #: build/C/man7/raw.7:93
12590 msgid ""
12591 "When a packet is received, it is passed to any raw sockets which have been "
12592 "bound to its protocol before it is passed to other protocol handlers (e.g., "
12593 "kernel protocol modules)."
12594 msgstr ""
12595
12596 #. type: Plain text
12597 #: build/C/man7/raw.7:109
12598 msgid ""
12599 "Raw sockets use the standard I<sockaddr_in> address structure defined in "
12600 "B<ip>(7).  The I<sin_port> field could be used to specify the IP protocol "
12601 "number, but it is ignored for sending in Linux 2.2 and should be always set "
12602 "to 0 (see BUGS).  For incoming packets, I<sin_port> is set to the protocol "
12603 "of the packet.  See the I<E<lt>netinet/in.hE<gt>> include file for valid IP "
12604 "protocols."
12605 msgstr ""
12606
12607 #.  Or SOL_RAW on Linux
12608 #. type: Plain text
12609 #: build/C/man7/raw.7:118
12610 msgid ""
12611 "Raw socket options can be set with B<setsockopt>(2)  and read with "
12612 "B<getsockopt>(2)  by passing the B<IPPROTO_RAW> family flag."
12613 msgstr ""
12614
12615 #. type: TP
12616 #: build/C/man7/raw.7:118
12617 #, no-wrap
12618 msgid "B<ICMP_FILTER>"
12619 msgstr ""
12620
12621 #. type: Plain text
12622 #: build/C/man7/raw.7:126
12623 msgid ""
12624 "Enable a special filter for raw sockets bound to the B<IPPROTO_ICMP> "
12625 "protocol.  The value has a bit set for each ICMP message type which should "
12626 "be filtered out.  The default is to filter no ICMP messages."
12627 msgstr ""
12628
12629 #. type: Plain text
12630 #: build/C/man7/raw.7:131
12631 msgid ""
12632 "In addition, all B<ip>(7)  B<IPPROTO_IP> socket options valid for datagram "
12633 "sockets are supported."
12634 msgstr ""
12635
12636 #. type: Plain text
12637 #: build/C/man7/raw.7:144
12638 msgid ""
12639 "Errors originating from the network are only passed to the user when the "
12640 "socket is connected or the B<IP_RECVERR> flag is enabled.  For connected "
12641 "sockets, only B<EMSGSIZE> and B<EPROTO> are passed for compatibility.  With "
12642 "B<IP_RECVERR>, all network errors are saved in the error queue."
12643 msgstr ""
12644
12645 #. type: Plain text
12646 #: build/C/man7/raw.7:149
12647 msgid ""
12648 "User tried to send to a broadcast address without having the broadcast flag "
12649 "set on the socket."
12650 msgstr ""
12651
12652 #. type: Plain text
12653 #: build/C/man7/raw.7:152
12654 msgid "An invalid memory address was supplied."
12655 msgstr ""
12656
12657 #. type: Plain text
12658 #: build/C/man7/raw.7:162
12659 msgid ""
12660 "Packet too big.  Either Path MTU Discovery is enabled (the "
12661 "B<IP_MTU_DISCOVER> socket flag) or the packet size exceeds the maximum "
12662 "allowed IPv4 packet size of 64KB."
12663 msgstr ""
12664
12665 #. type: TP
12666 #: build/C/man7/raw.7:162 build/C/man7/unix.7:362
12667 #, no-wrap
12668 msgid "B<EOPNOTSUPP>"
12669 msgstr ""
12670
12671 #. type: Plain text
12672 #: build/C/man7/raw.7:166
12673 msgid "Invalid flag has been passed to a socket call (like B<MSG_OOB>)."
12674 msgstr ""
12675
12676 #. type: Plain text
12677 #: build/C/man7/raw.7:172
12678 msgid ""
12679 "The user doesn't have permission to open raw sockets.  Only processes with "
12680 "an effective user ID of 0 or the B<CAP_NET_RAW> attribute may do that."
12681 msgstr ""
12682
12683 #. type: TP
12684 #: build/C/man7/raw.7:172
12685 #, no-wrap
12686 msgid "B<EPROTO>"
12687 msgstr ""
12688
12689 #. type: Plain text
12690 #: build/C/man7/raw.7:175
12691 msgid "An ICMP error has arrived reporting a parameter problem."
12692 msgstr ""
12693
12694 #. type: Plain text
12695 #: build/C/man7/raw.7:181
12696 msgid ""
12697 "B<IP_RECVERR> and B<ICMP_FILTER> are new in Linux 2.2.  They are Linux "
12698 "extensions and should not be used in portable programs."
12699 msgstr ""
12700
12701 #. type: Plain text
12702 #: build/C/man7/raw.7:187
12703 msgid ""
12704 "Linux 2.0 enabled some bug-to-bug compatibility with BSD in the raw socket "
12705 "code when the B<SO_BSDCOMPAT> socket option was set \\(em since Linux 2.2, "
12706 "this option no longer has that effect."
12707 msgstr ""
12708
12709 #. type: Plain text
12710 #: build/C/man7/raw.7:205
12711 msgid ""
12712 "By default, raw sockets do path MTU (Maximum Transmission Unit) discovery.  "
12713 "This means the kernel will keep track of the MTU to a specific target IP "
12714 "address and return B<EMSGSIZE> when a raw packet write exceeds it.  When "
12715 "this happens, the application should decrease the packet size.  Path MTU "
12716 "discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option "
12717 "or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file, see B<ip>(7)  for "
12718 "details.  When turned off, raw sockets will fragment outgoing packets that "
12719 "exceed the interface MTU.  However, disabling it is not recommended for "
12720 "performance and reliability reasons."
12721 msgstr ""
12722
12723 #. type: Plain text
12724 #: build/C/man7/raw.7:214
12725 msgid ""
12726 "A raw socket can be bound to a specific local address using the B<bind>(2)  "
12727 "call.  If it isn't bound, all packets with the specified IP protocol are "
12728 "received.  In addition, a RAW socket can be bound to a specific network "
12729 "device using B<SO_BINDTODEVICE>; see B<socket>(7)."
12730 msgstr ""
12731
12732 #. type: Plain text
12733 #: build/C/man7/raw.7:225
12734 msgid ""
12735 "An B<IPPROTO_RAW> socket is send only.  If you really want to receive all IP "
12736 "packets, use a B<packet>(7)  socket with the B<ETH_P_IP> protocol.  Note "
12737 "that packet sockets don't reassemble IP fragments, unlike raw sockets."
12738 msgstr ""
12739
12740 #. type: Plain text
12741 #: build/C/man7/raw.7:231
12742 msgid ""
12743 "If you want to receive all ICMP packets for a datagram socket, it is often "
12744 "better to use B<IP_RECVERR> on that particular socket; see B<ip>(7)."
12745 msgstr ""
12746
12747 #. type: Plain text
12748 #: build/C/man7/raw.7:238
12749 msgid ""
12750 "Raw sockets may tap all IP protocols in Linux, even protocols like ICMP or "
12751 "TCP which have a protocol module in the kernel.  In this case, the packets "
12752 "are passed to both the kernel module and the raw socket(s).  This should not "
12753 "be relied upon in portable programs, many other BSD socket implementation "
12754 "have limitations here."
12755 msgstr ""
12756
12757 #. type: Plain text
12758 #: build/C/man7/raw.7:243
12759 msgid ""
12760 "Linux never changes headers passed from the user (except for filling in some "
12761 "zeroed fields as described for B<IP_HDRINCL>).  This differs from many other "
12762 "implementations of raw sockets."
12763 msgstr ""
12764
12765 #. type: Plain text
12766 #: build/C/man7/raw.7:246
12767 msgid ""
12768 "RAW sockets are generally rather unportable and should be avoided in "
12769 "programs intended to be portable."
12770 msgstr ""
12771
12772 #. type: Plain text
12773 #: build/C/man7/raw.7:252
12774 msgid ""
12775 "Sending on raw sockets should take the IP protocol from I<sin_port>; this "
12776 "ability was lost in Linux 2.2.  The workaround is to use B<IP_HDRINCL>."
12777 msgstr ""
12778
12779 #. type: Plain text
12780 #: build/C/man7/raw.7:254
12781 msgid "Transparent proxy extensions are not described."
12782 msgstr ""
12783
12784 #. type: Plain text
12785 #: build/C/man7/raw.7:259
12786 msgid ""
12787 "When the B<IP_HDRINCL> option is set, datagrams will not be fragmented and "
12788 "are limited to the interface MTU."
12789 msgstr ""
12790
12791 #.  .SH AUTHORS
12792 #.  This man page was written by Andi Kleen.
12793 #. type: Plain text
12794 #: build/C/man7/raw.7:269
12795 msgid ""
12796 "Setting the IP protocol for sending in I<sin_port> got lost in Linux 2.2.  "
12797 "The protocol that the socket was bound to or that was specified in the "
12798 "initial B<socket>(2)  call is always used."
12799 msgstr ""
12800
12801 #. type: Plain text
12802 #: build/C/man7/raw.7:275
12803 msgid "B<recvmsg>(2), B<sendmsg>(2), B<capabilities>(7), B<ip>(7), B<socket>(7)"
12804 msgstr ""
12805
12806 #. type: Plain text
12807 #: build/C/man7/raw.7:282
12808 msgid ""
12809 "B<RFC\\ 1191> for path MTU discovery.  B<RFC\\ 791> and the "
12810 "I<E<lt>linux/ip.hE<gt>> header file for the IP protocol."
12811 msgstr ""
12812
12813 #. type: TH
12814 #: build/C/man3/rcmd.3:43
12815 #, no-wrap
12816 msgid "RCMD"
12817 msgstr ""
12818
12819 #. type: TH
12820 #: build/C/man3/rcmd.3:43 build/C/man3/rexec.3:41 build/C/man7/tcp.7:65
12821 #, no-wrap
12822 msgid "2012-04-23"
12823 msgstr ""
12824
12825 #. type: Plain text
12826 #: build/C/man3/rcmd.3:48
12827 msgid ""
12828 "rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, "
12829 "ruserok_af - routines for returning a stream to a remote command"
12830 msgstr ""
12831
12832 #. type: Plain text
12833 #: build/C/man3/rcmd.3:51
12834 #, no-wrap
12835 msgid ""
12836 "B<#include E<lt>netdb.hE<gt> \\ \\ >/* Or E<lt>unistd.hE<gt> on some systems "
12837 "*/\n"
12838 msgstr ""
12839
12840 #. type: Plain text
12841 #: build/C/man3/rcmd.3:54
12842 #, no-wrap
12843 msgid ""
12844 "B<int rcmd(char **>I<ahost>B<, int >I<inport>B<, const char *>I<locuser>B<, "
12845 ">\n"
12846 "B<         const char *>I<remuser>B<, const char *>I<cmd>B<, int "
12847 "*>I<fd2p>B<);>\n"
12848 msgstr ""
12849
12850 #. type: Plain text
12851 #: build/C/man3/rcmd.3:56
12852 #, no-wrap
12853 msgid "B<int rresvport(int *>I<port>B<);>\n"
12854 msgstr ""
12855
12856 #. type: Plain text
12857 #: build/C/man3/rcmd.3:59
12858 #, no-wrap
12859 msgid ""
12860 "B<int iruserok(uint32_t >I<raddr>B<, int >I<superuser>B<, >\n"
12861 "B<             const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12862 msgstr ""
12863
12864 #. type: Plain text
12865 #: build/C/man3/rcmd.3:62
12866 #, no-wrap
12867 msgid ""
12868 "B<int ruserok(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12869 "B<            const char *>I<ruser>B<, const char *>I<luser>B<);>\n"
12870 msgstr ""
12871
12872 #. type: Plain text
12873 #: build/C/man3/rcmd.3:66
12874 #, no-wrap
12875 msgid ""
12876 "B<int rcmd_af(char **>I<ahost>B<, int >I<inport>B<, const char "
12877 "*>I<locuser>B<, >\n"
12878 "B<            const char *>I<remuser>B<, const char *>I<cmd>B<, int "
12879 "*>I<fd2p>B<,>\n"
12880 "B<            sa_family_t >I<af>B<);>\n"
12881 msgstr ""
12882
12883 #. type: Plain text
12884 #: build/C/man3/rcmd.3:68
12885 #, no-wrap
12886 msgid "B<int rresvport_af(int *>I<port>B<, sa_family_t >I<af>B<);>\n"
12887 msgstr ""
12888
12889 #. type: Plain text
12890 #: build/C/man3/rcmd.3:72
12891 #, no-wrap
12892 msgid ""
12893 "B<int iruserok_af(uint32_t >I<raddr>B<, int >I<superuser>B<, >\n"
12894 "B<                const char *>I<ruser>B<, const char *>I<luser>B<, "
12895 "sa_family_t >I<af>B<);>\n"
12896 msgstr ""
12897
12898 #. type: Plain text
12899 #: build/C/man3/rcmd.3:76
12900 #, no-wrap
12901 msgid ""
12902 "B<int ruserok_af(const char *>I<rhost>B<, int >I<superuser>B<, >\n"
12903 "B<               const char *>I<ruser>B<, const char *>I<luser>B<, "
12904 "sa_family_t >I<af>B<);>\n"
12905 msgstr ""
12906
12907 #. type: Plain text
12908 #: build/C/man3/rcmd.3:92
12909 msgid ""
12910 "B<rcmd>(), B<rcmd_af>(), B<rresvport>(), B<rresvport_af>(), B<iruserok>(), "
12911 "B<iruserok_af>(), B<ruserok>(), B<ruserok_af>(): _BSD_SOURCE"
12912 msgstr ""
12913
12914 #. type: Plain text
12915 #: build/C/man3/rcmd.3:113
12916 msgid ""
12917 "The B<rcmd>()  function is used by the superuser to execute a command on a "
12918 "remote machine using an authentication scheme based on privileged port "
12919 "numbers.  The B<rresvport>()  function returns a descriptor to a socket with "
12920 "an address in the privileged port space.  The B<iruserok>()  and "
12921 "B<ruserok>()  functions are used by servers to authenticate clients "
12922 "requesting service with B<rcmd>().  All four functions are used by the "
12923 "B<rshd>(8)  server (among others)."
12924 msgstr ""
12925
12926 #. type: SS
12927 #: build/C/man3/rcmd.3:113
12928 #, no-wrap
12929 msgid "rcmd()"
12930 msgstr ""
12931
12932 #. type: Plain text
12933 #: build/C/man3/rcmd.3:129
12934 msgid ""
12935 "The B<rcmd>()  function looks up the host I<*ahost> using "
12936 "B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise "
12937 "I<*ahost> is set to the standard name of the host and a connection is "
12938 "established to a server residing at the well-known Internet port I<inport>."
12939 msgstr ""
12940
12941 #. type: Plain text
12942 #: build/C/man3/rcmd.3:158
12943 msgid ""
12944 "If the connection succeeds, a socket in the Internet domain of type "
12945 "B<SOCK_STREAM> is returned to the caller, and given to the remote command as "
12946 "I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to "
12947 "a control process will be set up, and a descriptor for it will be placed in "
12948 "I<*fd2p>.  The control process will return diagnostic output from the "
12949 "command (unit 2) on this channel, and will also accept bytes on this channel "
12950 "as being UNIX signal numbers, to be forwarded to the process group of the "
12951 "command.  If I<fd2p> is 0, then the I<stderr> (unit 2 of the remote command) "
12952 "will be made the same as the I<stdout> and no provision is made for sending "
12953 "arbitrary signals to the remote process, although you may be able to get its "
12954 "attention by using out-of-band data."
12955 msgstr ""
12956
12957 #. type: Plain text
12958 #: build/C/man3/rcmd.3:161
12959 msgid "The protocol is described in detail in B<rshd>(8)."
12960 msgstr ""
12961
12962 #. type: SS
12963 #: build/C/man3/rcmd.3:161
12964 #, no-wrap
12965 msgid "rresvport()"
12966 msgstr ""
12967
12968 #. type: Plain text
12969 #: build/C/man3/rcmd.3:183
12970 msgid ""
12971 "The B<rresvport>()  function is used to obtain a socket with a privileged "
12972 "port bound to it.  This socket is suitable for use by B<rcmd>()  and several "
12973 "other functions.  Privileged ports are those in the range 0 to 1023.  Only a "
12974 "privileged process (B<CAP_NET_BIND_SERVICE>)  is allowed to bind to a "
12975 "privileged port.  In the glibc implementation, this function restricts its "
12976 "search to the ports from 512 to 1023.  The I<port> argument is value-result: "
12977 "the value it supplies to the call is used as the starting point for a "
12978 "circular search of the port range; on (successful) return, it contains the "
12979 "port number that was bound to."
12980 msgstr ""
12981
12982 #. type: SS
12983 #: build/C/man3/rcmd.3:183
12984 #, no-wrap
12985 msgid "iruserok() and ruserok()"
12986 msgstr ""
12987
12988 #. type: Plain text
12989 #: build/C/man3/rcmd.3:201
12990 msgid ""
12991 "The B<iruserok>()  and B<ruserok>()  functions take a remote host's IP "
12992 "address or name, respectively, two usernames and a flag indicating whether "
12993 "the local user's name is that of the superuser.  Then, if the user is I<not> "
12994 "the superuser, it checks the I</etc/hosts.equiv> file.  If that lookup is "
12995 "not done, or is unsuccessful, the I<.rhosts> in the local user's home "
12996 "directory is checked to see if the request for service is allowed."
12997 msgstr ""
12998
12999 #. type: Plain text
13000 #: build/C/man3/rcmd.3:217
13001 msgid ""
13002 "If this file does not exist, is not a regular file, is owned by anyone other "
13003 "than the user or the superuser, or is writable by anyone other than the "
13004 "owner, the check automatically fails.  Zero is returned if the machine name "
13005 "is listed in the I<hosts.equiv> file, or the host and remote username are "
13006 "found in the I<.rhosts> file; otherwise B<iruserok>()  and B<ruserok>()  "
13007 "return -1.  If the local domain (as obtained from B<gethostname>(2))  is the "
13008 "same as the remote domain, only the machine name need be specified."
13009 msgstr ""
13010
13011 #. type: Plain text
13012 #: build/C/man3/rcmd.3:223
13013 msgid ""
13014 "If the IP address of the remote host is known, B<iruserok>()  should be used "
13015 "in preference to B<ruserok>(), as it does not require trusting the DNS "
13016 "server for the remote host's domain."
13017 msgstr ""
13018
13019 #. type: SS
13020 #: build/C/man3/rcmd.3:223
13021 #, no-wrap
13022 msgid "*_af() variants"
13023 msgstr ""
13024
13025 #. type: Plain text
13026 #: build/C/man3/rcmd.3:239
13027 msgid ""
13028 "All of the functions described above work with IPv4 (B<AF_INET>)  sockets.  "
13029 "The \"_af\" variants take an extra argument that allows the socket address "
13030 "family to be specified.  For these functions, the I<af> argument can be "
13031 "specified as B<AF_INET> or B<AF_INET6>.  In addition, B<rcmd_af>()  supports "
13032 "the use of B<AF_UNSPEC>."
13033 msgstr ""
13034
13035 #. type: Plain text
13036 #: build/C/man3/rcmd.3:245
13037 msgid ""
13038 "The B<rcmd>()  function returns a valid socket descriptor on success.  It "
13039 "returns -1 on error and prints a diagnostic message on the standard error."
13040 msgstr ""
13041
13042 #. type: Plain text
13043 #: build/C/man3/rcmd.3:256
13044 msgid ""
13045 "The B<rresvport>()  function returns a valid, bound socket descriptor on "
13046 "success.  It returns -1 on error with the global value I<errno> set "
13047 "according to the reason for failure.  The error code B<EAGAIN> is overloaded "
13048 "to mean \"All network ports in use.\""
13049 msgstr ""
13050
13051 #. type: Plain text
13052 #: build/C/man3/rcmd.3:262
13053 msgid ""
13054 "For information on the return from B<ruserok>()  and B<iruserok>(), see "
13055 "above."
13056 msgstr ""
13057
13058 #. type: Plain text
13059 #: build/C/man3/rcmd.3:270
13060 msgid ""
13061 "The functions B<iruserok_af>(), B<rcmd_af>(), B<rresvport_af>(), and "
13062 "B<ruserok_af>()  functions are provide in glibc since version 2.2."
13063 msgstr ""
13064
13065 #. type: Plain text
13066 #: build/C/man3/rcmd.3:278
13067 msgid ""
13068 "Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems.  "
13069 "These functions appeared in 4.2BSD.  The \"_af\" variants are more recent "
13070 "additions, and are not present on as wide a range of systems."
13071 msgstr ""
13072
13073 #.  Bug filed 25 Nov 2007:
13074 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399
13075 #. type: Plain text
13076 #: build/C/man3/rcmd.3:285
13077 msgid ""
13078 "B<iruserok>()  and B<iruserok_af>()  are declared in glibc headers only "
13079 "since version 2.12."
13080 msgstr ""
13081
13082 #. type: Plain text
13083 #: build/C/man3/rcmd.3:293
13084 msgid ""
13085 "B<rlogin>(1), B<rsh>(1), B<intro>(2), B<rexec>(3), B<rexecd>(8), "
13086 "B<rlogind>(8), B<rshd>(8)"
13087 msgstr ""
13088
13089 #. type: TH
13090 #: build/C/man5/resolv.conf.5:23
13091 #, no-wrap
13092 msgid "RESOLV.CONF"
13093 msgstr ""
13094
13095 #. type: TH
13096 #: build/C/man5/resolv.conf.5:23 build/C/man3/resolver.3:32
13097 #, no-wrap
13098 msgid "2013-03-05"
13099 msgstr ""
13100
13101 #. type: Plain text
13102 #: build/C/man5/resolv.conf.5:27
13103 msgid "resolv.conf - resolver configuration file"
13104 msgstr ""
13105
13106 #. type: Plain text
13107 #: build/C/man5/resolv.conf.5:29
13108 msgid "B</etc/resolv.conf>"
13109 msgstr ""
13110
13111 #. type: Plain text
13112 #: build/C/man5/resolv.conf.5:38
13113 msgid ""
13114 "The I<resolver> is a set of routines in the C library that provide access to "
13115 "the Internet Domain Name System (DNS).  The resolver configuration file "
13116 "contains information that is read by the resolver routines the first time "
13117 "they are invoked by a process.  The file is designed to be human readable "
13118 "and contains a list of keywords with values that provide various types of "
13119 "resolver information."
13120 msgstr ""
13121
13122 #. type: Plain text
13123 #: build/C/man5/resolv.conf.5:43
13124 msgid ""
13125 "If this file does not exist, only the name server on the local machine will "
13126 "be queried; the domain name is determined from the hostname and the domain "
13127 "search path is constructed from the domain name."
13128 msgstr ""
13129
13130 #. type: Plain text
13131 #: build/C/man5/resolv.conf.5:45
13132 msgid "The different configuration options are:"
13133 msgstr ""
13134
13135 #. type: TP
13136 #: build/C/man5/resolv.conf.5:45
13137 #, no-wrap
13138 msgid "B<nameserver> Name server IP address"
13139 msgstr ""
13140
13141 #. type: Plain text
13142 #: build/C/man5/resolv.conf.5:62
13143 msgid ""
13144 "Internet address of a name server that the resolver should query, either an "
13145 "IPv4 address (in dot notation), or an IPv6 address in colon (and possibly "
13146 "dot) notation as per RFC 2373.  Up to B<MAXNS> (currently 3, see "
13147 "I<E<lt>resolv.hE<gt>>) name servers may be listed, one per keyword.  If "
13148 "there are multiple servers, the resolver library queries them in the order "
13149 "listed.  If no B<nameserver> entries are present, the default is to use the "
13150 "name server on the local machine.  (The algorithm used is to try a name "
13151 "server, and if the query times out, try the next, until out of name servers, "
13152 "then repeat trying all the name servers until a maximum number of retries "
13153 "are made.)"
13154 msgstr ""
13155
13156 #. type: TP
13157 #: build/C/man5/resolv.conf.5:62
13158 #, no-wrap
13159 msgid "B<domain> Local domain name."
13160 msgstr ""
13161
13162 #. type: Plain text
13163 #: build/C/man5/resolv.conf.5:72
13164 msgid ""
13165 "Most queries for names within this domain can use short names relative to "
13166 "the local domain.  If no B<domain> entry is present, the domain is "
13167 "determined from the local hostname returned by B<gethostname>(2); the domain "
13168 "part is taken to be everything after the first \\(aq.\\(aq.  Finally, if the "
13169 "hostname does not contain a domain part, the root domain is assumed."
13170 msgstr ""
13171
13172 #. type: TP
13173 #: build/C/man5/resolv.conf.5:72
13174 #, no-wrap
13175 msgid "B<search> Search list for host-name lookup."
13176 msgstr ""
13177
13178 #.  When having a resolv.conv with a line
13179 #.   search subdomain.domain.tld domain.tld
13180 #.  and doing a hostlookup, for example by
13181 #.   ping host.anothersubdomain
13182 #.  it sends dns-requests for
13183 #.   host.anothersubdomain.
13184 #.   host.anothersubdomain.subdomain.domain.tld.
13185 #.   host.anothersubdomain.domain.tld.
13186 #.  thus not only causing unnecessary traffic for the root-dns-servers
13187 #.  but broadcasting information to the outside and making man-in-the-middle
13188 #.  attacks possible.
13189 #. type: Plain text
13190 #: build/C/man5/resolv.conf.5:102
13191 msgid ""
13192 "The search list is normally determined from the local domain name; by "
13193 "default, it contains only the local domain name.  This may be changed by "
13194 "listing the desired domain search path following the I<search> keyword with "
13195 "spaces or tabs separating the names.  Resolver queries having fewer than "
13196 "I<ndots> dots (default is 1) in them will be attempted using each component "
13197 "of the search path in turn until a match is found.  For environments with "
13198 "multiple subdomains please read B<options ndots:>I<n> below to avoid "
13199 "man-in-the-middle attacks and unnecessary traffic for the root-dns-servers.  "
13200 "Note that this process may be slow and will generate a lot of network "
13201 "traffic if the servers for the listed domains are not local, and that "
13202 "queries will time out if no server is available for one of the domains."
13203 msgstr ""
13204
13205 #. type: Plain text
13206 #: build/C/man5/resolv.conf.5:105
13207 msgid ""
13208 "The search list is currently limited to six domains with a total of 256 "
13209 "characters."
13210 msgstr ""
13211
13212 #. type: TP
13213 #: build/C/man5/resolv.conf.5:105
13214 #, no-wrap
13215 msgid "B<sortlist>"
13216 msgstr ""
13217
13218 #. type: Plain text
13219 #: build/C/man5/resolv.conf.5:118
13220 msgid ""
13221 "This option allows addresses returned by B<gethostbyname>(3)  to be sorted.  "
13222 "A sortlist is specified by IP-address-netmask pairs.  The netmask is "
13223 "optional and defaults to the natural netmask of the net.  The IP address and "
13224 "optional network pairs are separated by slashes.  Up to 10 pairs may be "
13225 "specified.  Here is an example:"
13226 msgstr ""
13227
13228 #. type: Plain text
13229 #: build/C/man5/resolv.conf.5:121
13230 msgid "sortlist 130.155.160.0/255.255.240.0 130.155.0.0"
13231 msgstr ""
13232
13233 #. type: TP
13234 #: build/C/man5/resolv.conf.5:123
13235 #, no-wrap
13236 msgid "B<options>"
13237 msgstr ""
13238
13239 #. type: Plain text
13240 #: build/C/man5/resolv.conf.5:127
13241 msgid ""
13242 "Options allows certain internal resolver variables to be modified.  The "
13243 "syntax is"
13244 msgstr ""
13245
13246 #. type: Plain text
13247 #: build/C/man5/resolv.conf.5:130
13248 msgid "B<options> I<option> I<...>"
13249 msgstr ""
13250
13251 #. type: Plain text
13252 #: build/C/man5/resolv.conf.5:132
13253 msgid "where I<option> is one of the following:"
13254 msgstr ""
13255
13256 #. type: TP
13257 #: build/C/man5/resolv.conf.5:132
13258 #, no-wrap
13259 msgid "B<debug>"
13260 msgstr ""
13261
13262 #.  Since glibc 2.2?
13263 #. type: Plain text
13264 #: build/C/man5/resolv.conf.5:141
13265 msgid ""
13266 "sets B<RES_DEBUG> in I<_res.options> (only effective if glibc was built with "
13267 "debug support; see B<resolver>(3))."
13268 msgstr ""
13269
13270 #. type: TP
13271 #: build/C/man5/resolv.conf.5:141
13272 #, no-wrap
13273 msgid "B<ndots:>I<n>"
13274 msgstr ""
13275
13276 #.  Since glibc 2.2
13277 #. type: Plain text
13278 #: build/C/man5/resolv.conf.5:155
13279 msgid ""
13280 "sets a threshold for the number of dots which must appear in a name given to "
13281 "B<res_query>(3)  (see B<resolver>(3))  before an I<initial absolute query> "
13282 "will be made.  The default for I<n> is 1, meaning that if there are any dots "
13283 "in a name, the name will be tried first as an absolute name before any "
13284 "I<search list> elements are appended to it.  The value for this option is "
13285 "silently capped to 15."
13286 msgstr ""
13287
13288 #. type: TP
13289 #: build/C/man5/resolv.conf.5:155
13290 #, no-wrap
13291 msgid "B<timeout:>I<n>"
13292 msgstr ""
13293
13294 #.  Since glibc 2.2
13295 #. type: Plain text
13296 #: build/C/man5/resolv.conf.5:166
13297 msgid ""
13298 "sets the amount of time the resolver will wait for a response from a remote "
13299 "name server before retrying the query via a different name server.  Measured "
13300 "in seconds, the default is B<RES_TIMEOUT> (currently 5, see "
13301 "I<E<lt>resolv.hE<gt>>).  The value for this option is silently capped to 30."
13302 msgstr ""
13303
13304 #. type: TP
13305 #: build/C/man5/resolv.conf.5:166
13306 #, no-wrap
13307 msgid "B<attempts:>I<n>"
13308 msgstr ""
13309
13310 #. type: Plain text
13311 #: build/C/man5/resolv.conf.5:175
13312 msgid ""
13313 "sets the number of times the resolver will send a query to its name servers "
13314 "before giving up and returning an error to the calling application.  The "
13315 "default is B<RES_DFLRETRY> (currently 2, see I<E<lt>resolv.hE<gt>>).  The "
13316 "value for this option is silently capped to 5."
13317 msgstr ""
13318
13319 #. type: TP
13320 #: build/C/man5/resolv.conf.5:175
13321 #, no-wrap
13322 msgid "B<rotate>"
13323 msgstr ""
13324
13325 #.  Since glibc 2.2
13326 #. type: Plain text
13327 #: build/C/man5/resolv.conf.5:185
13328 msgid ""
13329 "sets B<RES_ROTATE> in I<_res.options>, which causes round-robin selection of "
13330 "nameservers from among those listed.  This has the effect of spreading the "
13331 "query load among all listed servers, rather than having all clients try the "
13332 "first listed server first every time."
13333 msgstr ""
13334
13335 #. type: TP
13336 #: build/C/man5/resolv.conf.5:185
13337 #, no-wrap
13338 msgid "B<no-check-names>"
13339 msgstr ""
13340
13341 #.  since glibc 2.2
13342 #. type: Plain text
13343 #: build/C/man5/resolv.conf.5:195
13344 msgid ""
13345 "sets B<RES_NOCHECKNAME> in I<_res.options>, which disables the modern BIND "
13346 "checking of incoming hostnames and mail names for invalid characters such as "
13347 "underscore (_), non-ASCII, or control characters."
13348 msgstr ""
13349
13350 #. type: TP
13351 #: build/C/man5/resolv.conf.5:195
13352 #, no-wrap
13353 msgid "B<inet6>"
13354 msgstr ""
13355
13356 #.  Since glibc 2.2
13357 #. type: Plain text
13358 #: build/C/man5/resolv.conf.5:206
13359 msgid ""
13360 "sets B<RES_USE_INET6> in I<_res.options>.  This has the effect of trying a "
13361 "AAAA query before an A query inside the B<gethostbyname>(3)  function, and "
13362 "of mapping IPv4 responses in IPv6 \"tunneled form\" if no AAAA records are "
13363 "found but an A record set exists."
13364 msgstr ""
13365
13366 #. type: TP
13367 #: build/C/man5/resolv.conf.5:206
13368 #, no-wrap
13369 msgid "B<ip6-bytestring> (since glibc 2.3.4)"
13370 msgstr ""
13371
13372 #. type: Plain text
13373 #: build/C/man5/resolv.conf.5:215
13374 msgid ""
13375 "sets B<RES_USE_BSTRING> in I<_res.options>.  This causes reverse IPv6 "
13376 "lookups to be made using the bit-label format described in RFC\\ 2673; if "
13377 "this option is not set, then nibble format is used."
13378 msgstr ""
13379
13380 #. type: TP
13381 #: build/C/man5/resolv.conf.5:215
13382 #, no-wrap
13383 msgid "B<ip6-dotint>/B<no-ip6-dotint> (since glibc 2.3.4)"
13384 msgstr ""
13385
13386 #. type: Plain text
13387 #: build/C/man5/resolv.conf.5:232
13388 msgid ""
13389 "Clear/set B<RES_NOIP6DOTINT> in I<_res.options>.  When this option is clear "
13390 "(B<ip6-dotint>), reverse IPv6 lookups are made in the (deprecated)  "
13391 "I<ip6.int> zone; when this option is set (B<no-ip6-dotint>), reverse IPv6 "
13392 "lookups are made in the I<ip6.arpa> zone by default.  This option is set by "
13393 "default."
13394 msgstr ""
13395
13396 #. type: TP
13397 #: build/C/man5/resolv.conf.5:232
13398 #, no-wrap
13399 msgid "B<edns0> (since glibc 2.6)"
13400 msgstr ""
13401
13402 #. type: Plain text
13403 #: build/C/man5/resolv.conf.5:239
13404 msgid ""
13405 "sets B<RES_USE_EDNSO> in I<_res.options>.  This enables support for the DNS "
13406 "extensions described in RFC\\ 2671."
13407 msgstr ""
13408
13409 #. type: TP
13410 #: build/C/man5/resolv.conf.5:239
13411 #, no-wrap
13412 msgid "B<single-request> (since glibc 2.10)"
13413 msgstr ""
13414
13415 #. type: Plain text
13416 #: build/C/man5/resolv.conf.5:252
13417 msgid ""
13418 "sets B<RES_SNGLKUP> in I<_res.options>.  By default, glibc performs IPv4 and "
13419 "IPv6 lookups in parallel since version 2.9.  Some appliance DNS servers "
13420 "cannot handle these queries properly and make the requests time out.  This "
13421 "option disables the behavior and makes glibc perform the IPv6 and IPv4 "
13422 "requests sequentially (at the cost of some slowdown of the resolving "
13423 "process)."
13424 msgstr ""
13425
13426 #. type: TP
13427 #: build/C/man5/resolv.conf.5:252
13428 #, no-wrap
13429 msgid "B<single-request-reopen> (since glibc 2.9)"
13430 msgstr ""
13431
13432 #. type: Plain text
13433 #: build/C/man5/resolv.conf.5:260
13434 msgid ""
13435 "The resolver uses the same socket for the A and AAAA requests.  Some "
13436 "hardware mistakenly only sends back one reply.  When that happens the client "
13437 "system will sit and wait for the second reply.  Turning this option on "
13438 "changes this behavior so that if two requests from the same port are not "
13439 "handled correctly it will close the socket and open a new one before sending "
13440 "the second request."
13441 msgstr ""
13442
13443 #. type: Plain text
13444 #: build/C/man5/resolv.conf.5:265
13445 msgid ""
13446 "The I<domain> and I<search> keywords are mutually exclusive.  If more than "
13447 "one instance of these keywords is present, the last instance wins."
13448 msgstr ""
13449
13450 #. type: Plain text
13451 #: build/C/man5/resolv.conf.5:270
13452 msgid ""
13453 "The I<search> keyword of a system's I<resolv.conf> file can be overridden on "
13454 "a per-process basis by setting the environment variable B<LOCALDOMAIN> to a "
13455 "space-separated list of search domains."
13456 msgstr ""
13457
13458 #. type: Plain text
13459 #: build/C/man5/resolv.conf.5:276
13460 msgid ""
13461 "The I<options> keyword of a system's I<resolv.conf> file can be amended on a "
13462 "per-process basis by setting the environment variable B<RES_OPTIONS> to a "
13463 "space-separated list of resolver options as explained above under "
13464 "B<options>."
13465 msgstr ""
13466
13467 #. type: Plain text
13468 #: build/C/man5/resolv.conf.5:280
13469 msgid ""
13470 "The keyword and value must appear on a single line, and the keyword (e.g., "
13471 "B<nameserver>) must start the line.  The value follows the keyword, "
13472 "separated by white space."
13473 msgstr ""
13474
13475 #. type: Plain text
13476 #: build/C/man5/resolv.conf.5:283
13477 msgid ""
13478 "Lines that contain a semicolon (;) or hash character (#)  in the first "
13479 "column are treated as comments."
13480 msgstr ""
13481
13482 #. type: Plain text
13483 #: build/C/man5/resolv.conf.5:286
13484 msgid "I</etc/resolv.conf>, I<E<lt>resolv.hE<gt>>"
13485 msgstr ""
13486
13487 #. type: Plain text
13488 #: build/C/man5/resolv.conf.5:291
13489 msgid "B<gethostbyname>(3), B<resolver>(3), B<hostname>(7), B<named>(8)"
13490 msgstr ""
13491
13492 #. type: Plain text
13493 #: build/C/man5/resolv.conf.5:293
13494 msgid "Name Server Operations Guide for BIND"
13495 msgstr ""
13496
13497 #. type: TH
13498 #: build/C/man3/resolver.3:32
13499 #, no-wrap
13500 msgid "RESOLVER"
13501 msgstr ""
13502
13503 #. type: Plain text
13504 #: build/C/man3/resolver.3:36
13505 msgid ""
13506 "res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, "
13507 "dn_comp, dn_expand - resolver routines"
13508 msgstr ""
13509
13510 #. type: Plain text
13511 #: build/C/man3/resolver.3:42
13512 #, no-wrap
13513 msgid ""
13514 "B<#include E<lt>netinet/in.hE<gt>>\n"
13515 "B<#include E<lt>arpa/nameser.hE<gt>>\n"
13516 "B<#include E<lt>resolv.hE<gt>>\n"
13517 "B<extern struct state _res;>\n"
13518 msgstr ""
13519
13520 #. type: Plain text
13521 #: build/C/man3/resolver.3:44
13522 #, no-wrap
13523 msgid "B<int res_init(void);>\n"
13524 msgstr ""
13525
13526 #. type: Plain text
13527 #: build/C/man3/resolver.3:46
13528 #, no-wrap
13529 msgid "B<int res_query(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>\n"
13530 msgstr ""
13531
13532 #. type: Plain text
13533 #: build/C/man3/resolver.3:48 build/C/man3/resolver.3:53
13534 #, no-wrap
13535 msgid "B<unsigned char *>I<answer>B<, int >I<anslen>B<);>\n"
13536 msgstr ""
13537
13538 #. type: Plain text
13539 #: build/C/man3/resolver.3:51
13540 #, no-wrap
13541 msgid ""
13542 "B<int res_search(const char *>I<dname>B<, int >I<class>B<, int "
13543 ">I<type>B<,>\n"
13544 msgstr ""
13545
13546 #. type: Plain text
13547 #: build/C/man3/resolver.3:56
13548 #, no-wrap
13549 msgid "B<int res_querydomain(const char *>I<name>B<, const char *>I<domain>B<,>\n"
13550 msgstr ""
13551
13552 #. type: Plain text
13553 #: build/C/man3/resolver.3:59
13554 #, no-wrap
13555 msgid ""
13556 "B<int >I<class>B<, int >I<type>B<, unsigned char *>I<answer>B<,>\n"
13557 "B<int >I<anslen>B<);>\n"
13558 msgstr ""
13559
13560 #. type: Plain text
13561 #: build/C/man3/resolver.3:62
13562 #, no-wrap
13563 msgid "B<int res_mkquery(int >I<op>B<, const char *>I<dname>B<, int >I<class>B<,>\n"
13564 msgstr ""
13565
13566 #. type: Plain text
13567 #: build/C/man3/resolver.3:65
13568 #, no-wrap
13569 msgid ""
13570 "B<int >I<type>B<, char *>I<data>B<, int >I<datalen>B<, struct rrec "
13571 "*>I<newrr>B<,>\n"
13572 "B<char *>I<buf>B<, int >I<buflen>B<);>\n"
13573 msgstr ""
13574
13575 #. type: Plain text
13576 #: build/C/man3/resolver.3:68
13577 #, no-wrap
13578 msgid ""
13579 "B<int res_send(const char *>I<msg>B<, int >I<msglen>B<, char "
13580 "*>I<answer>B<,>\n"
13581 msgstr ""
13582
13583 #. type: Plain text
13584 #: build/C/man3/resolver.3:70
13585 #, no-wrap
13586 msgid "B<int >I<anslen>B<);>\n"
13587 msgstr ""
13588
13589 #. type: Plain text
13590 #: build/C/man3/resolver.3:73
13591 #, no-wrap
13592 msgid "B<int dn_comp(unsigned char *>I<exp_dn>B<, unsigned char *>I<comp_dn>B<,>\n"
13593 msgstr ""
13594
13595 #. type: Plain text
13596 #: build/C/man3/resolver.3:75
13597 #, no-wrap
13598 msgid ""
13599 "B<int >I<length>B<, unsigned char **>I<dnptrs>B<, unsigned char "
13600 "**>I<lastdnptr>B<);>\n"
13601 msgstr ""
13602
13603 #. type: Plain text
13604 #: build/C/man3/resolver.3:78
13605 #, no-wrap
13606 msgid "B<int dn_expand(unsigned char *>I<msg>B<, unsigned char *>I<eomorig>B<,>\n"
13607 msgstr ""
13608
13609 #. type: Plain text
13610 #: build/C/man3/resolver.3:81
13611 #, no-wrap
13612 msgid ""
13613 "B<unsigned char *>I<comp_dn>B<, char *>I<exp_dn>B<,>\n"
13614 "B<int >I<length>B<);>\n"
13615 msgstr ""
13616
13617 #. type: Plain text
13618 #: build/C/man3/resolver.3:85
13619 msgid "Link with I<-lresolv>."
13620 msgstr ""
13621
13622 #. type: Plain text
13623 #: build/C/man3/resolver.3:88
13624 msgid ""
13625 "These functions make queries to and interpret the responses from Internet "
13626 "domain name servers."
13627 msgstr ""
13628
13629 #. type: Plain text
13630 #: build/C/man3/resolver.3:102
13631 msgid ""
13632 "The B<res_init>()  function reads the configuration files (see "
13633 "B<resolv.conf>(5))  to get the default domain name, search order and name "
13634 "server address(es).  If no server is given, the local host is tried.  If no "
13635 "domain is given, that associated with the local host is used.  It can be "
13636 "overridden with the environment variable B<LOCALDOMAIN>.  B<res_init>()  is "
13637 "normally executed by the first call to one of the other functions."
13638 msgstr ""
13639
13640 #. type: Plain text
13641 #: build/C/man3/resolver.3:110
13642 msgid ""
13643 "The B<res_query>()  function queries the name server for the fully qualified "
13644 "domain name I<name> of specified I<type> and I<class>.  The reply is left in "
13645 "the buffer I<answer> of length I<anslen> supplied by the caller."
13646 msgstr ""
13647
13648 #. type: Plain text
13649 #: build/C/man3/resolver.3:123
13650 msgid ""
13651 "The B<res_search>()  function makes a query and waits for the response like "
13652 "B<res_query>(), but in addition implements the default and search rules "
13653 "controlled by B<RES_DEFNAMES> and B<RES_DNSRCH> (see description of I<_res> "
13654 "options below)."
13655 msgstr ""
13656
13657 #. type: Plain text
13658 #: build/C/man3/resolver.3:129
13659 msgid ""
13660 "The B<res_querydomain>()  function makes a query using B<res_query>()  on "
13661 "the concatenation of I<name> and I<domain>."
13662 msgstr ""
13663
13664 #. type: Plain text
13665 #: build/C/man3/resolver.3:132
13666 msgid "The following functions are lower-level routines used by B<res_query>()."
13667 msgstr ""
13668
13669 #. type: Plain text
13670 #: build/C/man3/resolver.3:143
13671 msgid ""
13672 "The B<res_mkquery>()  function constructs a query message in I<buf> of "
13673 "length I<buflen> for the domain name I<dname>.  The query type I<op> is "
13674 "usually B<QUERY>, but can be any of the types defined in "
13675 "I<E<lt>arpa/nameser.hE<gt>>.  I<newrr> is currently unused."
13676 msgstr ""
13677
13678 #. type: Plain text
13679 #: build/C/man3/resolver.3:153
13680 msgid ""
13681 "The B<res_send>()  function sends a preformatted query given in I<msg> of "
13682 "length I<msglen> and returns the answer in I<answer> which is of length "
13683 "I<anslen>.  It will call B<res_init>(), if it has not already been called."
13684 msgstr ""
13685
13686 #. type: Plain text
13687 #: build/C/man3/resolver.3:166
13688 msgid ""
13689 "The B<dn_comp>()  function compresses the domain name I<exp_dn> and stores "
13690 "it in the buffer I<comp_dn> of length I<length>.  The compression uses an "
13691 "array of pointers I<dnptrs> to previously compressed names in the current "
13692 "message.  The first pointer points to the beginning of the message and the "
13693 "list ends with NULL.  The limit of the array is specified by I<lastdnptr>.  "
13694 "If I<dnptr> is NULL, domain names are not compressed.  If I<lastdnptr> is "
13695 "NULL, the list of labels is not updated."
13696 msgstr ""
13697
13698 #. type: Plain text
13699 #: build/C/man3/resolver.3:175
13700 msgid ""
13701 "The B<dn_expand>()  function expands the compressed domain name I<comp_dn> "
13702 "to a full domain name, which is placed in the buffer I<exp_dn> of size "
13703 "I<length>.  The compressed name is contained in a query or reply message, "
13704 "and I<msg> points to the beginning of the message."
13705 msgstr ""
13706
13707 #. type: Plain text
13708 #: build/C/man3/resolver.3:183
13709 msgid ""
13710 "The resolver routines use global configuration and state information "
13711 "contained in the structure I<_res>, which is defined in "
13712 "I<E<lt>resolv.hE<gt>>.  The only field that is normally manipulated by the "
13713 "user is I<_res.options>.  This field can contain the bitwise \"OR\" of the "
13714 "following options:"
13715 msgstr ""
13716
13717 #. type: TP
13718 #: build/C/man3/resolver.3:183
13719 #, no-wrap
13720 msgid "B<RES_INIT>"
13721 msgstr ""
13722
13723 #. type: Plain text
13724 #: build/C/man3/resolver.3:188
13725 msgid "True if B<res_init>()  has been called."
13726 msgstr ""
13727
13728 #. type: TP
13729 #: build/C/man3/resolver.3:188
13730 #, no-wrap
13731 msgid "B<RES_DEBUG>"
13732 msgstr ""
13733
13734 #.  See resolv/README.
13735 #.  Support for RES_DEBUG was made conditional in glibc 2.2.
13736 #. type: Plain text
13737 #: build/C/man3/resolver.3:195
13738 msgid ""
13739 "Print debugging messages.  This option is only available if glibc was built "
13740 "with debugging enabled, which is not the default."
13741 msgstr ""
13742
13743 #. type: TP
13744 #: build/C/man3/resolver.3:195
13745 #, no-wrap
13746 msgid "B<RES_AAONLY>"
13747 msgstr ""
13748
13749 #. type: Plain text
13750 #: build/C/man3/resolver.3:202
13751 msgid ""
13752 "Accept authoritative answers only.  B<res_send>()  continues until it finds "
13753 "an authoritative answer or returns an error.  [Not currently implemented]."
13754 msgstr ""
13755
13756 #. type: TP
13757 #: build/C/man3/resolver.3:202
13758 #, no-wrap
13759 msgid "B<RES_USEVC>"
13760 msgstr ""
13761
13762 #. type: Plain text
13763 #: build/C/man3/resolver.3:205
13764 msgid "Use TCP connections for queries rather than UDP datagrams."
13765 msgstr ""
13766
13767 #. type: TP
13768 #: build/C/man3/resolver.3:205
13769 #, no-wrap
13770 msgid "B<RES_PRIMARY>"
13771 msgstr ""
13772
13773 #. type: Plain text
13774 #: build/C/man3/resolver.3:208
13775 msgid "Query primary domain name server only."
13776 msgstr ""
13777
13778 #. type: TP
13779 #: build/C/man3/resolver.3:208
13780 #, no-wrap
13781 msgid "B<RES_IGNTC>"
13782 msgstr ""
13783
13784 #. type: Plain text
13785 #: build/C/man3/resolver.3:213
13786 msgid ""
13787 "Ignore truncation errors.  Don't retry with TCP.  [Not currently "
13788 "implemented]."
13789 msgstr ""
13790
13791 #. type: TP
13792 #: build/C/man3/resolver.3:213
13793 #, no-wrap
13794 msgid "B<RES_RECURSE>"
13795 msgstr ""
13796
13797 #. type: Plain text
13798 #: build/C/man3/resolver.3:220
13799 msgid ""
13800 "Set the recursion desired bit in queries.  Recursion is carried out by the "
13801 "domain name server, not by B<res_send>().  [Enabled by default]."
13802 msgstr ""
13803
13804 #. type: TP
13805 #: build/C/man3/resolver.3:220
13806 #, no-wrap
13807 msgid "B<RES_DEFNAMES>"
13808 msgstr ""
13809
13810 #. type: Plain text
13811 #: build/C/man3/resolver.3:227
13812 msgid ""
13813 "If set, B<res_search>()  will append the default domain name to single "
13814 "component names, i.e., those that do not contain a dot.  [Enabled by "
13815 "default]."
13816 msgstr ""
13817
13818 #. type: TP
13819 #: build/C/man3/resolver.3:227
13820 #, no-wrap
13821 msgid "B<RES_STAYOPEN>"
13822 msgstr ""
13823
13824 #. type: Plain text
13825 #: build/C/man3/resolver.3:232
13826 msgid "Used with B<RES_USEVC> to keep the TCP connection open between queries."
13827 msgstr ""
13828
13829 #. type: TP
13830 #: build/C/man3/resolver.3:232
13831 #, no-wrap
13832 msgid "B<RES_DNSRCH>"
13833 msgstr ""
13834
13835 #. type: Plain text
13836 #: build/C/man3/resolver.3:241
13837 msgid ""
13838 "If set, B<res_search>()  will search for hostnames in the current domain and "
13839 "in parent domains.  This option is used by B<gethostbyname>(3).  [Enabled by "
13840 "default]."
13841 msgstr ""
13842
13843 #. type: Plain text
13844 #: build/C/man3/resolver.3:245
13845 msgid ""
13846 "This list is not complete.  You can find some other flags described in "
13847 "B<resolv.conf>(5)."
13848 msgstr ""
13849
13850 #. type: Plain text
13851 #: build/C/man3/resolver.3:250
13852 msgid "The B<res_init>()  function returns 0 on success, or -1 if an error occurs."
13853 msgstr ""
13854
13855 #. type: Plain text
13856 #: build/C/man3/resolver.3:260
13857 msgid ""
13858 "The B<res_query>(), B<res_search>(), B<res_querydomain>(), B<res_mkquery>()  "
13859 "and B<res_send>()  functions return the length of the response, or -1 if an "
13860 "error occurs."
13861 msgstr ""
13862
13863 #. type: Plain text
13864 #: build/C/man3/resolver.3:267
13865 msgid ""
13866 "The B<dn_comp>()  and B<dn_expand>()  functions return the length of the "
13867 "compressed name, or -1 if an error occurs."
13868 msgstr ""
13869
13870 #. type: Plain text
13871 #: build/C/man3/resolver.3:271
13872 #, no-wrap
13873 msgid ""
13874 "/etc/resolv.conf          resolver configuration file\n"
13875 "/etc/host.conf            resolver configuration file\n"
13876 msgstr ""
13877
13878 #. type: Plain text
13879 #: build/C/man3/resolver.3:274
13880 msgid "4.3BSD."
13881 msgstr ""
13882
13883 #. type: Plain text
13884 #: build/C/man3/resolver.3:280
13885 msgid ""
13886 "B<gethostbyname>(3), B<resolv.conf>(5), B<resolver>(5), B<hostname>(7), "
13887 "B<named>(8)"
13888 msgstr ""
13889
13890 #. type: TH
13891 #: build/C/man3/rexec.3:41
13892 #, no-wrap
13893 msgid "REXEC"
13894 msgstr ""
13895
13896 #. type: Plain text
13897 #: build/C/man3/rexec.3:44
13898 msgid "rexec, rexec_af - return stream to a remote command"
13899 msgstr ""
13900
13901 #. type: Plain text
13902 #: build/C/man3/rexec.3:48
13903 #, no-wrap
13904 msgid ""
13905 "B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */\n"
13906 "B<#include E<lt>netdb.hE<gt>>\n"
13907 msgstr ""
13908
13909 #. type: Plain text
13910 #: build/C/man3/rexec.3:51
13911 #, no-wrap
13912 msgid ""
13913 "B<int rexec(char **>I<ahost>B<, int >I<inport>B<, char *>I<user>B<, >\n"
13914 "B<          char *>I<passwd>B<, char *>I<cmd>B<, int *>I<fd2p>B<);>\n"
13915 msgstr ""
13916
13917 #. type: Plain text
13918 #: build/C/man3/rexec.3:55
13919 #, no-wrap
13920 msgid ""
13921 "B<int rexec_af(char **>I<ahost>B<, int >I<inport>B<, char *>I<user>B<, >\n"
13922 "B<             char *>I<passwd>B<, char *>I<cmd>B<, int *>I<fd2p>B<,>\n"
13923 "B<             sa_family_t >I<af>B<);>\n"
13924 msgstr ""
13925
13926 #. type: Plain text
13927 #: build/C/man3/rexec.3:59
13928 msgid "This interface is obsoleted by B<rcmd>(3)."
13929 msgstr ""
13930
13931 #. type: Plain text
13932 #: build/C/man3/rexec.3:78
13933 msgid ""
13934 "The B<rexec>()  function looks up the host I<*ahost> using "
13935 "B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise "
13936 "I<*ahost> is set to the standard name of the host.  If a username and "
13937 "password are both specified, then these are used to authenticate to the "
13938 "foreign host; otherwise the environment and then the user's I<.netrc> file "
13939 "in his home directory are searched for appropriate information.  If all this "
13940 "fails, the user is prompted for the information."
13941 msgstr ""
13942
13943 #. type: Plain text
13944 #: build/C/man3/rexec.3:89
13945 msgid ""
13946 "The port I<inport> specifies which well-known DARPA Internet port to use for "
13947 "the connection; the call I<getservbyname(\"exec\", \"tcp\")> (see "
13948 "B<getservent>(3))  will return a pointer to a structure that contains the "
13949 "necessary port.  The protocol for connection is described in detail in "
13950 "B<rexecd>(8)."
13951 msgstr ""
13952
13953 #. type: Plain text
13954 #: build/C/man3/rexec.3:122
13955 msgid ""
13956 "If the connection succeeds, a socket in the Internet domain of type "
13957 "B<SOCK_STREAM> is returned to the caller, and given to the remote command as "
13958 "I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to "
13959 "a control process will be setup, and a descriptor for it will be placed in "
13960 "I<*fd2p>.  The control process will return diagnostic output from the "
13961 "command (unit 2) on this channel, and will also accept bytes on this channel "
13962 "as being UNIX signal numbers, to be forwarded to the process group of the "
13963 "command.  The diagnostic information returned does not include remote "
13964 "authorization failure, as the secondary connection is set up after "
13965 "authorization has been verified.  If I<fd2p> is 0, then the I<stderr> (unit "
13966 "2 of the remote command) will be made the same as the I<stdout> and no "
13967 "provision is made for sending arbitrary signals to the remote process, "
13968 "although you may be able to get its attention by using out-of-band data."
13969 msgstr ""
13970
13971 #. type: SS
13972 #: build/C/man3/rexec.3:122
13973 #, no-wrap
13974 msgid "rexec_af()"
13975 msgstr ""
13976
13977 #. type: Plain text
13978 #: build/C/man3/rexec.3:138
13979 msgid ""
13980 "The B<rexec>()  function works over IPv4 (B<AF_INET>).  By contrast, the "
13981 "B<rexec_af>()  function provides an extra argument, I<af>, that allows the "
13982 "caller to select the protocol.  This argument can be specified as "
13983 "B<AF_INET>, B<AF_INET6>, or B<AF_UNSPEC> (to allow the implementation to "
13984 "select the protocol)."
13985 msgstr ""
13986
13987 #. type: Plain text
13988 #: build/C/man3/rexec.3:142
13989 msgid "The B<rexec_af>()  function was added to glibc in version 2.2."
13990 msgstr ""
13991
13992 #. type: Plain text
13993 #: build/C/man3/rexec.3:151
13994 msgid ""
13995 "These functions are not in POSIX.1-2001.  The B<rexec>()  function first "
13996 "appeared in 4.2BSD, and is present on the BSDs, Solaris, and many other "
13997 "systems.  The B<rexec_af>()  function is more recent, and less widespread."
13998 msgstr ""
13999
14000 #. type: Plain text
14001 #: build/C/man3/rexec.3:155
14002 msgid "The B<rexec>()  function sends the unencrypted password across the network."
14003 msgstr ""
14004
14005 #. type: Plain text
14006 #: build/C/man3/rexec.3:160
14007 msgid ""
14008 "The underlying service is considered a big security hole and therefore not "
14009 "enabled on many sites; see B<rexecd>(8)  for explanations."
14010 msgstr ""
14011
14012 #. type: Plain text
14013 #: build/C/man3/rexec.3:163
14014 msgid "B<rcmd>(3), B<rexecd>(8)"
14015 msgstr ""
14016
14017 #. type: TH
14018 #: build/C/man5/services.5:34
14019 #, no-wrap
14020 msgid "SERVICES"
14021 msgstr ""
14022
14023 #. type: TH
14024 #: build/C/man5/services.5:34
14025 #, no-wrap
14026 msgid "2010-05-22"
14027 msgstr ""
14028
14029 #. type: Plain text
14030 #: build/C/man5/services.5:37
14031 msgid "services - Internet network services list"
14032 msgstr ""
14033
14034 #. type: Plain text
14035 #: build/C/man5/services.5:52
14036 msgid ""
14037 "B<services> is a plain ASCII file providing a mapping between human-friendly "
14038 "textual names for internet services, and their underlying assigned port "
14039 "numbers and protocol types.  Every networking program should look into this "
14040 "file to get the port number (and protocol) for its service.  The C library "
14041 "routines B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3), "
14042 "B<setservent>(3), and B<endservent>(3)  support querying this file from "
14043 "programs."
14044 msgstr ""
14045
14046 #. type: Plain text
14047 #: build/C/man5/services.5:58
14048 msgid ""
14049 "Port numbers are assigned by the IANA (Internet Assigned Numbers Authority), "
14050 "and their current policy is to assign both TCP and UDP protocols when "
14051 "assigning a port number.  Therefore, most entries will have two entries, "
14052 "even for TCP-only services."
14053 msgstr ""
14054
14055 #. type: Plain text
14056 #: build/C/man5/services.5:70
14057 msgid ""
14058 "Port numbers below 1024 (so-called \"low numbered\" ports) can only be bound "
14059 "to by root (see B<bind>(2), B<tcp>(7), and B<udp>(7)).  This is so clients "
14060 "connecting to low numbered ports can trust that the service running on the "
14061 "port is the standard implementation, and not a rogue service run by a user "
14062 "of the machine.  Well-known port numbers specified by the IANA are normally "
14063 "located in this root-only space."
14064 msgstr ""
14065
14066 #. type: Plain text
14067 #: build/C/man5/services.5:85
14068 msgid ""
14069 "The presence of an entry for a service in the B<services> file does not "
14070 "necessarily mean that the service is currently running on the machine.  See "
14071 "B<inetd.conf>(5)  for the configuration of Internet services offered.  Note "
14072 "that not all networking services are started by B<inetd>(8), and so won't "
14073 "appear in B<inetd.conf>(5).  In particular, news (NNTP) and mail (SMTP) "
14074 "servers are often initialized from the system boot scripts."
14075 msgstr ""
14076
14077 #. type: Plain text
14078 #: build/C/man5/services.5:94
14079 msgid ""
14080 "The location of the B<services> file is defined by B<_PATH_SERVICES> in "
14081 "I<E<lt>netdb.hE<gt>>.  This is usually set to I</etc/services>."
14082 msgstr ""
14083
14084 #. type: Plain text
14085 #: build/C/man5/services.5:96
14086 msgid "Each line describes one service, and is of the form:"
14087 msgstr ""
14088
14089 #. type: Plain text
14090 #: build/C/man5/services.5:98
14091 msgid "I<service-name\\ \\ \\ port>B</>I<protocol\\ \\ \\ >[I<aliases ...>]"
14092 msgstr ""
14093
14094 #. type: TP
14095 #: build/C/man5/services.5:98
14096 #, no-wrap
14097 msgid "where:"
14098 msgstr ""
14099
14100 #. type: TP
14101 #: build/C/man5/services.5:100
14102 #, no-wrap
14103 msgid "I<service-name>"
14104 msgstr ""
14105
14106 #. type: Plain text
14107 #: build/C/man5/services.5:106
14108 msgid ""
14109 "is the friendly name the service is known by and looked up under.  It is "
14110 "case sensitive.  Often, the client program is named after the "
14111 "I<service-name>."
14112 msgstr ""
14113
14114 #. type: TP
14115 #: build/C/man5/services.5:106
14116 #, no-wrap
14117 msgid "I<port>"
14118 msgstr ""
14119
14120 #. type: Plain text
14121 #: build/C/man5/services.5:109
14122 msgid "is the port number (in decimal) to use for this service."
14123 msgstr ""
14124
14125 #. type: Plain text
14126 #: build/C/man5/services.5:120
14127 msgid ""
14128 "is the type of protocol to be used.  This field should match an entry in the "
14129 "B<protocols>(5)  file.  Typical values include B<tcp> and B<udp>."
14130 msgstr ""
14131
14132 #. type: Plain text
14133 #: build/C/man5/services.5:126
14134 msgid ""
14135 "is an optional space or tab separated list of other names for this service.  "
14136 "Again, the names are case sensitive."
14137 msgstr ""
14138
14139 #. type: Plain text
14140 #: build/C/man5/services.5:128
14141 msgid "Either spaces or tabs may be used to separate the fields."
14142 msgstr ""
14143
14144 #. type: Plain text
14145 #: build/C/man5/services.5:132
14146 msgid ""
14147 "Comments are started by the hash sign (#) and continue until the end of the "
14148 "line.  Blank lines are skipped."
14149 msgstr ""
14150
14151 #. type: Plain text
14152 #: build/C/man5/services.5:143
14153 msgid ""
14154 "The I<service-name> should begin in the first column of the file, since "
14155 "leading spaces are not stripped.  I<service-names> can be any printable "
14156 "characters excluding space and tab.  However, a conservative choice of "
14157 "characters should be used to minimize compatibility problems.  E.g., a-z, "
14158 "0-9, and hyphen (-) would seem a sensible choice."
14159 msgstr ""
14160
14161 #. type: Plain text
14162 #: build/C/man5/services.5:152
14163 msgid ""
14164 "Lines not matching this format should not be present in the file.  "
14165 "(Currently, they are silently skipped by B<getservent>(3), "
14166 "B<getservbyname>(3), and B<getservbyport>(3).  However, this behavior should "
14167 "not be relied on.)"
14168 msgstr ""
14169
14170 #. type: Plain text
14171 #: build/C/man5/services.5:169
14172 msgid "A sample B<services> file might look like this:"
14173 msgstr ""
14174
14175 #. type: ta
14176 #: build/C/man5/services.5:172
14177 #, no-wrap
14178 msgid "3i"
14179 msgstr ""
14180
14181 #. type: Plain text
14182 #: build/C/man5/services.5:182
14183 #, no-wrap
14184 msgid ""
14185 "netstat         15/tcp\n"
14186 "qotd            17/tcp          quote\n"
14187 "msp             18/tcp          # message send protocol\n"
14188 "msp             18/udp          # message send protocol\n"
14189 "chargen         19/tcp          ttytst source\n"
14190 "chargen         19/udp          ttytst source\n"
14191 "ftp             21/tcp\n"
14192 "# 22 - unassigned\n"
14193 "telnet          23/tcp\n"
14194 msgstr ""
14195
14196 #. type: Plain text
14197 #: build/C/man5/services.5:188
14198 msgid "The Internet network services list"
14199 msgstr ""
14200
14201 #. type: TP
14202 #: build/C/man5/services.5:188
14203 #, no-wrap
14204 msgid "I<E<lt>netdb.hE<gt>>"
14205 msgstr ""
14206
14207 #.  .SH BUGS
14208 #.  It's not clear when/if the following was ever true;
14209 #.  it isn't true for glibc 2.8:
14210 #.     There is a maximum of 35 aliases, due to the way the
14211 #.     .BR getservent (3)
14212 #.     code is written.
14213 #
14214 #.  It's not clear when/if the following was ever true;
14215 #.  it isn't true for glibc 2.8:
14216 #.     Lines longer than
14217 #.     .B BUFSIZ
14218 #.     (currently 1024) characters will be ignored by
14219 #.     .BR getservent (3),
14220 #.     .BR getservbyname (3),
14221 #.     and
14222 #.     .BR getservbyport (3).
14223 #.     However, this will also cause the next line to be mis-parsed.
14224 #. type: Plain text
14225 #: build/C/man5/services.5:209
14226 msgid "Definition of B<_PATH_SERVICES>"
14227 msgstr ""
14228
14229 #. type: Plain text
14230 #: build/C/man5/services.5:219
14231 msgid ""
14232 "B<listen>(2), B<endservent>(3), B<getservbyname>(3), B<getservbyport>(3), "
14233 "B<getservent>(3), B<setservent>(3), B<inetd.conf>(5), B<protocols>(5), "
14234 "B<inetd>(8)"
14235 msgstr ""
14236
14237 #. type: Plain text
14238 #: build/C/man5/services.5:221
14239 msgid "Assigned Numbers RFC, most recently RFC\\ 1700, (AKA STD0002)."
14240 msgstr ""
14241
14242 #. type: TH
14243 #: build/C/man3/setnetgrent.3:10
14244 #, no-wrap
14245 msgid "SETNETGRENT"
14246 msgstr ""
14247
14248 #. type: TH
14249 #: build/C/man3/setnetgrent.3:10
14250 #, no-wrap
14251 msgid "2007-07-26"
14252 msgstr ""
14253
14254 #. type: Plain text
14255 #: build/C/man3/setnetgrent.3:14
14256 msgid ""
14257 "setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - handle "
14258 "network group entries"
14259 msgstr ""
14260
14261 #. type: Plain text
14262 #: build/C/man3/setnetgrent.3:19
14263 #, no-wrap
14264 msgid "B<int setnetgrent(const char *>I<netgroup>B<);>\n"
14265 msgstr ""
14266
14267 #. type: Plain text
14268 #: build/C/man3/setnetgrent.3:21
14269 #, no-wrap
14270 msgid "B<void endnetgrent(void);>\n"
14271 msgstr ""
14272
14273 #. type: Plain text
14274 #: build/C/man3/setnetgrent.3:23
14275 #, no-wrap
14276 msgid ""
14277 "B<int getnetgrent(char **>I<host>B<, char **>I<user>B<, char "
14278 "**>I<domain>B<);>\n"
14279 msgstr ""
14280
14281 #. type: Plain text
14282 #: build/C/man3/setnetgrent.3:26
14283 #, no-wrap
14284 msgid ""
14285 "B<int getnetgrent_r(char **>I<host>B<, char **>I<user>B<,>\n"
14286 "B<                  char **>I<domain>B<, char *>I<buf>B<, int "
14287 ">I<buflen>B<);>\n"
14288 msgstr ""
14289
14290 #. type: Plain text
14291 #: build/C/man3/setnetgrent.3:29
14292 #, no-wrap
14293 msgid ""
14294 "B<int innetgr(const char *>I<netgroup>B<, const char *>I<host>B<,>\n"
14295 "B<            const char *>I<user>B<, const char *>I<domain>B<);>\n"
14296 msgstr ""
14297
14298 #. type: Plain text
14299 #: build/C/man3/setnetgrent.3:43
14300 msgid ""
14301 "B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), B<getnetgrent_r>(), "
14302 "B<innetgr>(): _BSD_SOURCE || _SVID_SOURCE"
14303 msgstr ""
14304
14305 #. type: Plain text
14306 #: build/C/man3/setnetgrent.3:57
14307 msgid ""
14308 "The I<netgroup> is a SunOS invention.  A netgroup database is a list of "
14309 "string triples (I<hostname>, I<username>, I<domainname>)  or other netgroup "
14310 "names.  Any of the elements in a triple can be empty, which means that "
14311 "anything matches.  The functions described here allow access to the netgroup "
14312 "databases.  The file I</etc/nsswitch.conf> defines what database is "
14313 "searched."
14314 msgstr ""
14315
14316 #. type: Plain text
14317 #: build/C/man3/setnetgrent.3:77
14318 msgid ""
14319 "The B<setnetgrent>()  call defines the netgroup that will be searched by "
14320 "subsequent B<getnetgrent>()  calls.  The B<getnetgrent>()  function "
14321 "retrieves the next netgroup entry, and returns pointers in I<host>, I<user>, "
14322 "I<domain>.  A NULL pointer means that the corresponding entry matches any "
14323 "string.  The pointers are valid only as long as there is no call to other "
14324 "netgroup-related functions.  To avoid this problem you can use the GNU "
14325 "function B<getnetgrent_r>()  that stores the strings in the supplied "
14326 "buffer.  To free all allocated buffers use B<endnetgrent>()."
14327 msgstr ""
14328
14329 #. type: Plain text
14330 #: build/C/man3/setnetgrent.3:86
14331 msgid ""
14332 "In most cases you only want to check if the triplet (I<hostname>, "
14333 "I<username>, I<domainname>)  is a member of a netgroup.  The function "
14334 "B<innetgr>()  can be used for this without calling the above three "
14335 "functions.  Again, a NULL pointer is a wildcard and matches any string.  The "
14336 "function is thread-safe."
14337 msgstr ""
14338
14339 #. type: Plain text
14340 #: build/C/man3/setnetgrent.3:88
14341 msgid "These functions return 1 on success and 0 for failure."
14342 msgstr ""
14343
14344 #. type: Plain text
14345 #: build/C/man3/setnetgrent.3:90
14346 msgid "I</etc/netgroup>"
14347 msgstr ""
14348
14349 #.  getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
14350 #. type: Plain text
14351 #: build/C/man3/setnetgrent.3:103
14352 msgid ""
14353 "These functions are not in POSIX.1-2001, but B<setnetgrent>(), "
14354 "B<endnetgrent>(), B<getnetgrent>(), and B<innetgr>()  are available on most "
14355 "UNIX systems.  B<getnetgrent_r>()  is not widely available on other systems."
14356 msgstr ""
14357
14358 #. type: Plain text
14359 #: build/C/man3/setnetgrent.3:107
14360 msgid "In the BSD implementation, B<setnetgrent>()  returns void."
14361 msgstr ""
14362
14363 #. type: Plain text
14364 #: build/C/man3/setnetgrent.3:111
14365 msgid "B<sethostent>(3), B<setprotoent>(3), B<setservent>(3)"
14366 msgstr ""
14367
14368 #. type: TH
14369 #: build/C/man2/shutdown.2:40
14370 #, no-wrap
14371 msgid "SHUTDOWN"
14372 msgstr ""
14373
14374 #. type: TH
14375 #: build/C/man2/shutdown.2:40
14376 #, no-wrap
14377 msgid "2012-09-06"
14378 msgstr ""
14379
14380 #. type: Plain text
14381 #: build/C/man2/shutdown.2:43
14382 msgid "shutdown - shut down part of a full-duplex connection"
14383 msgstr ""
14384
14385 #. type: Plain text
14386 #: build/C/man2/shutdown.2:47
14387 msgid "B<int shutdown(int >I<sockfd>B<, int >I<how>B<);>"
14388 msgstr ""
14389
14390 #. type: Plain text
14391 #: build/C/man2/shutdown.2:69
14392 msgid ""
14393 "The B<shutdown>()  call causes all or part of a full-duplex connection on "
14394 "the socket associated with I<sockfd> to be shut down.  If I<how> is "
14395 "B<SHUT_RD>, further receptions will be disallowed.  If I<how> is B<SHUT_WR>, "
14396 "further transmissions will be disallowed.  If I<how> is B<SHUT_RDWR>, "
14397 "further receptions and transmissions will be disallowed."
14398 msgstr ""
14399
14400 #. type: Plain text
14401 #: build/C/man2/shutdown.2:79
14402 msgid "I<sockfd> is not a valid descriptor."
14403 msgstr ""
14404
14405 #. type: Plain text
14406 #: build/C/man2/shutdown.2:84
14407 msgid "An invalid value was specified in I<how> (but see BUGS)."
14408 msgstr ""
14409
14410 #. type: Plain text
14411 #: build/C/man2/shutdown.2:87
14412 msgid "The specified socket is not connected."
14413 msgstr ""
14414
14415 #. type: Plain text
14416 #: build/C/man2/shutdown.2:91
14417 msgid "I<sockfd> is a file, not a socket."
14418 msgstr ""
14419
14420 #. type: Plain text
14421 #: build/C/man2/shutdown.2:95
14422 msgid ""
14423 "POSIX.1-2001, 4.4BSD (the B<shutdown>()  function call first appeared in "
14424 "4.2BSD)."
14425 msgstr ""
14426
14427 #. type: Plain text
14428 #: build/C/man2/shutdown.2:104
14429 msgid ""
14430 "The constants B<SHUT_RD>, B<SHUT_WR>, B<SHUT_RDWR> have the value 0, 1, 2, "
14431 "respectively, and are defined in I<E<lt>sys/socket.hE<gt>> since "
14432 "glibc-2.1.91."
14433 msgstr ""
14434
14435 #.  FIXME
14436 #.  https://bugzilla.kernel.org/show_bug.cgi?id=47111
14437 #. type: Plain text
14438 #: build/C/man2/shutdown.2:113
14439 msgid ""
14440 "As currently implemented, checks for the validity of I<how> are done in "
14441 "domain-specific code, and not all domains perform these checks.  Most "
14442 "notably, UNIX domain sockets simply ignore invalid values; this may change "
14443 "in the future."
14444 msgstr ""
14445
14446 #. type: Plain text
14447 #: build/C/man2/shutdown.2:117
14448 msgid "B<connect>(2), B<socket>(2), B<socket>(7)"
14449 msgstr ""
14450
14451 #. type: TH
14452 #: build/C/man7/tcp.7:65
14453 #, no-wrap
14454 msgid "TCP"
14455 msgstr ""
14456
14457 #. type: Plain text
14458 #: build/C/man7/tcp.7:68
14459 msgid "tcp - TCP protocol"
14460 msgstr ""
14461
14462 #. type: Plain text
14463 #: build/C/man7/tcp.7:74
14464 msgid "B<#include E<lt>netinet/tcp.hE<gt>>"
14465 msgstr ""
14466
14467 #. type: Plain text
14468 #: build/C/man7/tcp.7:76
14469 msgid "B<tcp_socket = socket(AF_INET, SOCK_STREAM, 0);>"
14470 msgstr ""
14471
14472 #. type: Plain text
14473 #: build/C/man7/tcp.7:89
14474 msgid ""
14475 "This is an implementation of the TCP protocol defined in RFC\\ 793, RFC\\ "
14476 "1122 and RFC\\ 2001 with the NewReno and SACK extensions.  It provides a "
14477 "reliable, stream-oriented, full-duplex connection between two sockets on top "
14478 "of B<ip>(7), for both v4 and v6 versions.  TCP guarantees that the data "
14479 "arrives in order and retransmits lost packets.  It generates and checks a "
14480 "per-packet checksum to catch transmission errors.  TCP does not preserve "
14481 "record boundaries."
14482 msgstr ""
14483
14484 #. type: Plain text
14485 #: build/C/man7/tcp.7:108
14486 msgid ""
14487 "A newly created TCP socket has no remote or local address and is not fully "
14488 "specified.  To create an outgoing TCP connection use B<connect>(2)  to "
14489 "establish a connection to another TCP socket.  To receive new incoming "
14490 "connections, first B<bind>(2)  the socket to a local address and port and "
14491 "then call B<listen>(2)  to put the socket into the listening state.  After "
14492 "that a new socket for each incoming connection can be accepted using "
14493 "B<accept>(2).  A socket which has had B<accept>(2)  or B<connect>(2)  "
14494 "successfully called on it is fully specified and may transmit data.  Data "
14495 "cannot be transmitted on listening or not yet connected sockets."
14496 msgstr ""
14497
14498 #. type: Plain text
14499 #: build/C/man7/tcp.7:128
14500 msgid ""
14501 "Linux supports RFC\\ 1323 TCP high performance extensions.  These include "
14502 "Protection Against Wrapped Sequence Numbers (PAWS), Window Scaling and "
14503 "Timestamps.  Window scaling allows the use of large (E<gt> 64K) TCP windows "
14504 "in order to support links with high latency or bandwidth.  To make use of "
14505 "them, the send and receive buffer sizes must be increased.  They can be set "
14506 "globally with the I</proc/sys/net/ipv4/tcp_wmem> and "
14507 "I</proc/sys/net/ipv4/tcp_rmem> files, or on individual sockets by using the "
14508 "B<SO_SNDBUF> and B<SO_RCVBUF> socket options with the B<setsockopt>(2)  "
14509 "call."
14510 msgstr ""
14511
14512 #. type: Plain text
14513 #: build/C/man7/tcp.7:159
14514 msgid ""
14515 "The maximum sizes for socket buffers declared via the B<SO_SNDBUF> and "
14516 "B<SO_RCVBUF> mechanisms are limited by the values in the "
14517 "I</proc/sys/net/core/rmem_max> and I</proc/sys/net/core/wmem_max> files.  "
14518 "Note that TCP actually allocates twice the size of the buffer requested in "
14519 "the B<setsockopt>(2)  call, and so a succeeding B<getsockopt>(2)  call will "
14520 "not return the same size of buffer as requested in the B<setsockopt>(2)  "
14521 "call.  TCP uses the extra space for administrative purposes and internal "
14522 "kernel structures, and the I</proc> file values reflect the larger sizes "
14523 "compared to the actual TCP windows.  On individual connections, the socket "
14524 "buffer size must be set prior to the B<listen>(2)  or B<connect>(2)  calls "
14525 "in order to have it take effect.  See B<socket>(7)  for more information."
14526 msgstr ""
14527
14528 #. type: Plain text
14529 #: build/C/man7/tcp.7:191
14530 msgid ""
14531 "TCP supports urgent data.  Urgent data is used to signal the receiver that "
14532 "some important message is part of the data stream and that it should be "
14533 "processed as soon as possible.  To send urgent data specify the B<MSG_OOB> "
14534 "option to B<send>(2).  When urgent data is received, the kernel sends a "
14535 "B<SIGURG> signal to the process or process group that has been set as the "
14536 "socket \"owner\" using the B<SIOCSPGRP> or B<FIOSETOWN> ioctls (or the "
14537 "POSIX.1-2001-specified B<fcntl>(2)  B<F_SETOWN> operation).  When the "
14538 "B<SO_OOBINLINE> socket option is enabled, urgent data is put into the normal "
14539 "data stream (a program can test for its location using the B<SIOCATMARK> "
14540 "ioctl described below), otherwise it can be only received when the "
14541 "B<MSG_OOB> flag is set for B<recv>(2)  or B<recvmsg>(2)."
14542 msgstr ""
14543
14544 #. type: Plain text
14545 #: build/C/man7/tcp.7:199
14546 msgid ""
14547 "Linux 2.4 introduced a number of changes for improved throughput and "
14548 "scaling, as well as enhanced functionality.  Some of these features include "
14549 "support for zero-copy B<sendfile>(2), Explicit Congestion Notification, new "
14550 "management of TIME_WAIT sockets, keep-alive socket options and support for "
14551 "Duplicate SACK extensions."
14552 msgstr ""
14553
14554 #. type: SS
14555 #: build/C/man7/tcp.7:199
14556 #, no-wrap
14557 msgid "Address formats"
14558 msgstr ""
14559
14560 #. type: Plain text
14561 #: build/C/man7/tcp.7:208
14562 msgid ""
14563 "TCP is built on top of IP (see B<ip>(7)).  The address formats defined by "
14564 "B<ip>(7)  apply to TCP.  TCP only supports point-to-point communication; "
14565 "broadcasting and multicasting are not supported."
14566 msgstr ""
14567
14568 #. type: Plain text
14569 #: build/C/man7/tcp.7:220
14570 msgid ""
14571 "System-wide TCP parameter settings can be accessed by files in the directory "
14572 "I</proc/sys/net/ipv4/>.  In addition, most IP I</proc> interfaces also apply "
14573 "to TCP; see B<ip>(7).  Variables described as I<Boolean> take an integer "
14574 "value, with a nonzero value (\"true\") meaning that the corresponding option "
14575 "is enabled, and a zero value (\"false\")  meaning that the option is "
14576 "disabled."
14577 msgstr ""
14578
14579 #. type: TP
14580 #: build/C/man7/tcp.7:220
14581 #, no-wrap
14582 msgid "I<tcp_abc> (Integer; default: 0; since Linux 2.6.15)"
14583 msgstr ""
14584
14585 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14586 #. type: Plain text
14587 #: build/C/man7/tcp.7:228
14588 msgid ""
14589 "Control the Appropriate Byte Count (ABC), defined in RFC 3465.  ABC is a way "
14590 "of increasing the congestion window (I<cwnd>)  more slowly in response to "
14591 "partial acknowledgments.  Possible values are:"
14592 msgstr ""
14593
14594 #. type: IP
14595 #: build/C/man7/tcp.7:229 build/C/man7/tcp.7:398 build/C/man7/tcp.7:419 build/C/man7/tcp.7:563
14596 #, no-wrap
14597 msgid "0"
14598 msgstr ""
14599
14600 #. type: Plain text
14601 #: build/C/man7/tcp.7:233
14602 msgid "increase I<cwnd> once per acknowledgment (no ABC)"
14603 msgstr ""
14604
14605 #. type: IP
14606 #: build/C/man7/tcp.7:233 build/C/man7/tcp.7:400 build/C/man7/tcp.7:426 build/C/man7/tcp.7:565
14607 #, no-wrap
14608 msgid "1"
14609 msgstr ""
14610
14611 #. type: Plain text
14612 #: build/C/man7/tcp.7:237
14613 msgid "increase I<cwnd> once per acknowledgment of full sized segment"
14614 msgstr ""
14615
14616 #. type: IP
14617 #: build/C/man7/tcp.7:237 build/C/man7/tcp.7:402 build/C/man7/tcp.7:433 build/C/man7/tcp.7:567
14618 #, no-wrap
14619 msgid "2"
14620 msgstr ""
14621
14622 #. type: Plain text
14623 #: build/C/man7/tcp.7:242
14624 msgid ""
14625 "allow increase I<cwnd> by two if acknowledgment is of two segments to "
14626 "compensate for delayed acknowledgments."
14627 msgstr ""
14628
14629 #. type: TP
14630 #: build/C/man7/tcp.7:243
14631 #, no-wrap
14632 msgid "I<tcp_abort_on_overflow> (Boolean; default: disabled; since Linux 2.4)"
14633 msgstr ""
14634
14635 #.  Since 2.3.41
14636 #. type: Plain text
14637 #: build/C/man7/tcp.7:255
14638 msgid ""
14639 "Enable resetting connections if the listening service is too slow and unable "
14640 "to keep up and accept them.  It means that if overflow occurred due to a "
14641 "burst, the connection will recover.  Enable this option I<only> if you are "
14642 "really sure that the listening daemon cannot be tuned to accept connections "
14643 "faster.  Enabling this option can harm the clients of your server."
14644 msgstr ""
14645
14646 #. type: TP
14647 #: build/C/man7/tcp.7:255
14648 #, no-wrap
14649 msgid "I<tcp_adv_win_scale> (integer; default: 2; since Linux 2.4)"
14650 msgstr ""
14651
14652 #.  Since 2.4.0-test7
14653 #. type: Plain text
14654 #: build/C/man7/tcp.7:267
14655 msgid ""
14656 "Count buffering overhead as I<bytes/2^tcp_adv_win_scale>, if "
14657 "I<tcp_adv_win_scale> is greater than 0; or "
14658 "I<bytes-bytes/2^(-tcp_adv_win_scale)>, if I<tcp_adv_win_scale> is less than "
14659 "or equal to zero."
14660 msgstr ""
14661
14662 #. type: Plain text
14663 #: build/C/man7/tcp.7:280
14664 msgid ""
14665 "The socket receive buffer space is shared between the application and "
14666 "kernel.  TCP maintains part of the buffer as the TCP window, this is the "
14667 "size of the receive window advertised to the other end.  The rest of the "
14668 "space is used as the \"application\" buffer, used to isolate the network "
14669 "from scheduling and application latencies.  The I<tcp_adv_win_scale> default "
14670 "value of 2 implies that the space used for the application buffer is one "
14671 "fourth that of the total."
14672 msgstr ""
14673
14674 #. type: TP
14675 #: build/C/man7/tcp.7:280
14676 #, no-wrap
14677 msgid ""
14678 "I<tcp_allowed_congestion_control> (String; default: see text; since Linux "
14679 "2.4.20)"
14680 msgstr ""
14681
14682 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14683 #.  FIXME How are the items in this delimited? Null bytes, spaces, commas?
14684 #. type: Plain text
14685 #: build/C/man7/tcp.7:292
14686 msgid ""
14687 "Show/set the congestion control algorithm choices available to unprivileged "
14688 "processes (see the description of the B<TCP_CONGESTION> socket option).  The "
14689 "list is a subset of those listed in I<tcp_available_congestion_control>.  "
14690 "The default value for this list is \"reno\" plus the default setting of "
14691 "I<tcp_congestion_control>."
14692 msgstr ""
14693
14694 #. type: TP
14695 #: build/C/man7/tcp.7:292
14696 #, no-wrap
14697 msgid "I<tcp_available_congestion_control> (String; read-only; since Linux 2.4.20)"
14698 msgstr ""
14699
14700 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14701 #.  FIXME How are the items in this delimited? Null bytes, spaces, commas?
14702 #. type: Plain text
14703 #: build/C/man7/tcp.7:302
14704 msgid ""
14705 "Show a list of the congestion-control algorithms that are registered.  This "
14706 "list is a limiting set for the list in I<tcp_allowed_congestion_control>.  "
14707 "More congestion-control algorithms may be available as modules, but not "
14708 "loaded."
14709 msgstr ""
14710
14711 #. type: TP
14712 #: build/C/man7/tcp.7:302
14713 #, no-wrap
14714 msgid "I<tcp_app_win> (integer; default: 31; since Linux 2.4)"
14715 msgstr ""
14716
14717 #.  Since 2.4.0-test7
14718 #. type: Plain text
14719 #: build/C/man7/tcp.7:307
14720 msgid ""
14721 "This variable defines how many bytes of the TCP window are reserved for "
14722 "buffering overhead."
14723 msgstr ""
14724
14725 #
14726 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14727 #. type: Plain text
14728 #: build/C/man7/tcp.7:313
14729 msgid ""
14730 "A maximum of (I<window/2^tcp_app_win>, mss) bytes in the window are reserved "
14731 "for the application buffer.  A value of 0 implies that no amount is "
14732 "reserved."
14733 msgstr ""
14734
14735 #. type: TP
14736 #: build/C/man7/tcp.7:313
14737 #, no-wrap
14738 msgid "I<tcp_base_mss> (Integer; default: 512; since Linux 2.6.17)"
14739 msgstr ""
14740
14741 #
14742 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14743 #. type: Plain text
14744 #: build/C/man7/tcp.7:322
14745 msgid ""
14746 "The initial value of I<search_low> to be used by the packetization layer "
14747 "Path MTU discovery (MTU probing).  If MTU probing is enabled, this is the "
14748 "initial MSS used by the connection."
14749 msgstr ""
14750
14751 #. type: TP
14752 #: build/C/man7/tcp.7:322
14753 #, no-wrap
14754 msgid "I<tcp_bic> (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)"
14755 msgstr ""
14756
14757 #
14758 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14759 #. type: Plain text
14760 #: build/C/man7/tcp.7:336
14761 msgid ""
14762 "Enable BIC TCP congestion control algorithm.  BIC-TCP is a sender-side only "
14763 "change that ensures a linear RTT fairness under large windows while offering "
14764 "both scalability and bounded TCP-friendliness.  The protocol combines two "
14765 "schemes called additive increase and binary search increase.  When the "
14766 "congestion window is large, additive increase with a large increment ensures "
14767 "linear RTT fairness as well as good scalability.  Under small congestion "
14768 "windows, binary search increase provides TCP friendliness."
14769 msgstr ""
14770
14771 #. type: TP
14772 #: build/C/man7/tcp.7:336
14773 #, no-wrap
14774 msgid "I<tcp_bic_low_window> (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)"
14775 msgstr ""
14776
14777 #
14778 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14779 #. type: Plain text
14780 #: build/C/man7/tcp.7:343
14781 msgid ""
14782 "Set the threshold window (in packets) where BIC TCP starts to adjust the "
14783 "congestion window.  Below this threshold BIC TCP behaves the same as the "
14784 "default TCP Reno."
14785 msgstr ""
14786
14787 #. type: TP
14788 #: build/C/man7/tcp.7:343
14789 #, no-wrap
14790 msgid ""
14791 "I<tcp_bic_fast_convergence> (Boolean; default: enabled; Linux 2.4.27/2.6.6 "
14792 "to 2.6.13)"
14793 msgstr ""
14794
14795 #. type: Plain text
14796 #: build/C/man7/tcp.7:347
14797 msgid ""
14798 "Force BIC TCP to more quickly respond to changes in congestion window.  "
14799 "Allows two flows sharing the same connection to converge more rapidly."
14800 msgstr ""
14801
14802 #. type: TP
14803 #: build/C/man7/tcp.7:347
14804 #, no-wrap
14805 msgid "I<tcp_congestion_control> (String; default: see text; since Linux 2.4.13)"
14806 msgstr ""
14807
14808 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
14809 #. type: Plain text
14810 #: build/C/man7/tcp.7:354
14811 msgid ""
14812 "Set the default congestion-control algorithm to be used for new "
14813 "connections.  The algorithm \"reno\" is always available, but additional "
14814 "choices may be available depending on kernel configuration.  The default "
14815 "value for this file is set as part of kernel configuration."
14816 msgstr ""
14817
14818 #. type: TP
14819 #: build/C/man7/tcp.7:354
14820 #, no-wrap
14821 msgid "I<tcp_dma_copybreak> (integer; default: 4096; since Linux 2.6.24)"
14822 msgstr ""
14823
14824 #. type: Plain text
14825 #: build/C/man7/tcp.7:361
14826 msgid ""
14827 "Lower limit, in bytes, of the size of socket reads that will be offloaded to "
14828 "a DMA copy engine, if one is present in the system and the kernel was "
14829 "configured with the B<CONFIG_NET_DMA> option."
14830 msgstr ""
14831
14832 #. type: TP
14833 #: build/C/man7/tcp.7:361
14834 #, no-wrap
14835 msgid "I<tcp_dsack> (Boolean; default: enabled; since Linux 2.4)"
14836 msgstr ""
14837
14838 #.  Since 2.4.0-test7
14839 #. type: Plain text
14840 #: build/C/man7/tcp.7:365
14841 msgid "Enable RFC\\ 2883 TCP Duplicate SACK support."
14842 msgstr ""
14843
14844 #. type: TP
14845 #: build/C/man7/tcp.7:365
14846 #, no-wrap
14847 msgid "I<tcp_ecn> (Boolean; default: disabled; since Linux 2.4)"
14848 msgstr ""
14849
14850 #.  Since 2.4.0-test7
14851 #. type: Plain text
14852 #: build/C/man7/tcp.7:372
14853 msgid ""
14854 "Enable RFC\\ 2884 Explicit Congestion Notification.  When enabled, "
14855 "connectivity to some destinations could be affected due to older, "
14856 "misbehaving routers along the path causing connections to be dropped."
14857 msgstr ""
14858
14859 #. type: TP
14860 #: build/C/man7/tcp.7:372
14861 #, no-wrap
14862 msgid "I<tcp_fack> (Boolean; default: enabled; since Linux 2.2)"
14863 msgstr ""
14864
14865 #.  Since 2.1.92
14866 #. type: Plain text
14867 #: build/C/man7/tcp.7:376
14868 msgid "Enable TCP Forward Acknowledgement support."
14869 msgstr ""
14870
14871 #. type: TP
14872 #: build/C/man7/tcp.7:376
14873 #, no-wrap
14874 msgid "I<tcp_fin_timeout> (integer; default: 60; since Linux 2.2)"
14875 msgstr ""
14876
14877 #.  Since 2.1.53
14878 #
14879 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
14880 #. type: Plain text
14881 #: build/C/man7/tcp.7:386
14882 msgid ""
14883 "This specifies how many seconds to wait for a final FIN packet before the "
14884 "socket is forcibly closed.  This is strictly a violation of the TCP "
14885 "specification, but required to prevent denial-of-service attacks.  In Linux "
14886 "2.2, the default value was 180."
14887 msgstr ""
14888
14889 #. type: TP
14890 #: build/C/man7/tcp.7:386
14891 #, no-wrap
14892 msgid "I<tcp_frto> (integer; default: 0; since Linux 2.4.21/2.6)"
14893 msgstr ""
14894
14895 #.  Since 2.4.21/2.5.43
14896 #. type: Plain text
14897 #: build/C/man7/tcp.7:395
14898 msgid ""
14899 "Enable F-RTO, an enhanced recovery algorithm for TCP retransmission timeouts "
14900 "(RTOs).  It is particularly beneficial in wireless environments where packet "
14901 "loss is typically due to random radio interference rather than intermediate "
14902 "router congestion.  See RFC 4138 for more details."
14903 msgstr ""
14904
14905 #. type: Plain text
14906 #: build/C/man7/tcp.7:397
14907 msgid "This file can have one of the following values:"
14908 msgstr ""
14909
14910 #. type: Plain text
14911 #: build/C/man7/tcp.7:400
14912 msgid "Disabled."
14913 msgstr ""
14914
14915 #. type: Plain text
14916 #: build/C/man7/tcp.7:402
14917 msgid "The basic version F-RTO algorithm is enabled."
14918 msgstr ""
14919
14920 #. type: Plain text
14921 #: build/C/man7/tcp.7:407
14922 msgid ""
14923 "Enable SACK-enhanced F-RTO if flow uses SACK.  The basic version can be used "
14924 "also when SACK is in use though in that case scenario(s) exists where F-RTO "
14925 "interacts badly with the packet counting of the SACK-enabled TCP flow."
14926 msgstr ""
14927
14928 #. type: Plain text
14929 #: build/C/man7/tcp.7:411
14930 msgid ""
14931 "Before Linux 2.6.22, this parameter was a Boolean value, supporting just "
14932 "values 0 and 1 above."
14933 msgstr ""
14934
14935 #. type: TP
14936 #: build/C/man7/tcp.7:411
14937 #, no-wrap
14938 msgid "I<tcp_frto_response> (integer; default: 0; since Linux 2.6.22)"
14939 msgstr ""
14940
14941 #. type: Plain text
14942 #: build/C/man7/tcp.7:418
14943 msgid ""
14944 "When F-RTO has detected that a TCP retransmission timeout was spurious (i.e, "
14945 "the timeout would have been avoided had TCP set a longer retransmission "
14946 "timeout), TCP has several options concerning what to do next.  Possible "
14947 "values are:"
14948 msgstr ""
14949
14950 #. type: Plain text
14951 #: build/C/man7/tcp.7:426
14952 msgid ""
14953 "Rate halving based; a smooth and conservative response, results in halved "
14954 "congestion window (I<cwnd>)  and slow-start threshold (I<ssthresh>)  after "
14955 "one RTT."
14956 msgstr ""
14957
14958 #. type: Plain text
14959 #: build/C/man7/tcp.7:433
14960 msgid ""
14961 "Very conservative response; not recommended because even though being valid, "
14962 "it interacts poorly with the rest of Linux TCP; halves I<cwnd> and "
14963 "I<ssthresh> immediately."
14964 msgstr ""
14965
14966 #. type: Plain text
14967 #: build/C/man7/tcp.7:442
14968 msgid ""
14969 "Aggressive response; undoes congestion-control measures that are now known "
14970 "to be unnecessary (ignoring the possibility of a lost retransmission that "
14971 "would require TCP to be more cautious); I<cwnd> and I<ssthresh> are restored "
14972 "to the values prior to timeout."
14973 msgstr ""
14974
14975 #. type: TP
14976 #: build/C/man7/tcp.7:443
14977 #, no-wrap
14978 msgid "I<tcp_keepalive_intvl> (integer; default: 75; since Linux 2.4)"
14979 msgstr ""
14980
14981 #.  Since 2.3.18
14982 #. type: Plain text
14983 #: build/C/man7/tcp.7:447
14984 msgid "The number of seconds between TCP keep-alive probes."
14985 msgstr ""
14986
14987 #. type: TP
14988 #: build/C/man7/tcp.7:447
14989 #, no-wrap
14990 msgid "I<tcp_keepalive_probes> (integer; default: 9; since Linux 2.2)"
14991 msgstr ""
14992
14993 #.  Since 2.1.43
14994 #. type: Plain text
14995 #: build/C/man7/tcp.7:453
14996 msgid ""
14997 "The maximum number of TCP keep-alive probes to send before giving up and "
14998 "killing the connection if no response is obtained from the other end."
14999 msgstr ""
15000
15001 #. type: TP
15002 #: build/C/man7/tcp.7:453
15003 #, no-wrap
15004 msgid "I<tcp_keepalive_time> (integer; default: 7200; since Linux 2.2)"
15005 msgstr ""
15006
15007 #.  Since 2.1.43
15008 #. type: Plain text
15009 #: build/C/man7/tcp.7:465
15010 msgid ""
15011 "The number of seconds a connection needs to be idle before TCP begins "
15012 "sending out keep-alive probes.  Keep-alives are only sent when the "
15013 "B<SO_KEEPALIVE> socket option is enabled.  The default value is 7200 seconds "
15014 "(2 hours).  An idle connection is terminated after approximately an "
15015 "additional 11 minutes (9 probes an interval of 75 seconds apart) when "
15016 "keep-alive is enabled."
15017 msgstr ""
15018
15019 #
15020 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15021 #. type: Plain text
15022 #: build/C/man7/tcp.7:470
15023 msgid ""
15024 "Note that underlying connection tracking mechanisms and application timeouts "
15025 "may be much shorter."
15026 msgstr ""
15027
15028 #. type: TP
15029 #: build/C/man7/tcp.7:470
15030 #, no-wrap
15031 msgid "I<tcp_low_latency> (Boolean; default: disabled; since Linux 2.4.21/2.6)"
15032 msgstr ""
15033
15034 #.  Since 2.4.21/2.5.60
15035 #. type: Plain text
15036 #: build/C/man7/tcp.7:478
15037 msgid ""
15038 "If enabled, the TCP stack makes decisions that prefer lower latency as "
15039 "opposed to higher throughput.  It this option is disabled, then higher "
15040 "throughput is preferred.  An example of an application where this default "
15041 "should be changed would be a Beowulf compute cluster."
15042 msgstr ""
15043
15044 #. type: TP
15045 #: build/C/man7/tcp.7:478
15046 #, no-wrap
15047 msgid "I<tcp_max_orphans> (integer; default: see below; since Linux 2.4)"
15048 msgstr ""
15049
15050 #.  Since 2.3.41
15051 #. type: Plain text
15052 #: build/C/man7/tcp.7:492
15053 msgid ""
15054 "The maximum number of orphaned (not attached to any user file handle) TCP "
15055 "sockets allowed in the system.  When this number is exceeded, the orphaned "
15056 "connection is reset and a warning is printed.  This limit exists only to "
15057 "prevent simple denial-of-service attacks.  Lowering this limit is not "
15058 "recommended.  Network conditions might require you to increase the number of "
15059 "orphans allowed, but note that each orphan can eat up to ~64K of unswappable "
15060 "memory.  The default initial value is set equal to the kernel parameter "
15061 "NR_FILE.  This initial default is adjusted depending on the memory in the "
15062 "system."
15063 msgstr ""
15064
15065 #. type: TP
15066 #: build/C/man7/tcp.7:492
15067 #, no-wrap
15068 msgid "I<tcp_max_syn_backlog> (integer; default: see below; since Linux 2.2)"
15069 msgstr ""
15070
15071 #.  Since 2.1.53
15072 #. type: Plain text
15073 #: build/C/man7/tcp.7:509
15074 msgid ""
15075 "The maximum number of queued connection requests which have still not "
15076 "received an acknowledgement from the connecting client.  If this number is "
15077 "exceeded, the kernel will begin dropping requests.  The default value of 256 "
15078 "is increased to 1024 when the memory present in the system is adequate or "
15079 "greater (E<gt>= 128Mb), and reduced to 128 for those systems with very low "
15080 "memory (E<lt>= 32Mb).  It is recommended that if this needs to be increased "
15081 "above 1024, TCP_SYNQ_HSIZE in I<include/net/tcp.h> be modified to keep "
15082 "TCP_SYNQ_HSIZE*16E<lt>=tcp_max_syn_backlog, and the kernel be recompiled."
15083 msgstr ""
15084
15085 #. type: TP
15086 #: build/C/man7/tcp.7:509
15087 #, no-wrap
15088 msgid "I<tcp_max_tw_buckets> (integer; default: see below; since Linux 2.4)"
15089 msgstr ""
15090
15091 #.  Since 2.3.41
15092 #. type: Plain text
15093 #: build/C/man7/tcp.7:519
15094 msgid ""
15095 "The maximum number of sockets in TIME_WAIT state allowed in the system.  "
15096 "This limit exists only to prevent simple denial-of-service attacks.  The "
15097 "default value of NR_FILE*2 is adjusted depending on the memory in the "
15098 "system.  If this number is exceeded, the socket is closed and a warning is "
15099 "printed."
15100 msgstr ""
15101
15102 #. type: TP
15103 #: build/C/man7/tcp.7:519
15104 #, no-wrap
15105 msgid "I<tcp_moderate_rcvbuf> (Boolean; default: enabled; since Linux 2.4.17/2.6.7)"
15106 msgstr ""
15107
15108 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
15109 #. type: Plain text
15110 #: build/C/man7/tcp.7:526
15111 msgid ""
15112 "If enabled, TCP performs receive buffer auto-tuning, attempting to "
15113 "automatically size the buffer (no greater than I<tcp_rmem[2]>)  to match the "
15114 "size required by the path for full throughput."
15115 msgstr ""
15116
15117 #. type: TP
15118 #: build/C/man7/tcp.7:526
15119 #, no-wrap
15120 msgid "I<tcp_mem> (since Linux 2.4)"
15121 msgstr ""
15122
15123 #.  Since 2.4.0-test7
15124 #. type: Plain text
15125 #: build/C/man7/tcp.7:538
15126 msgid ""
15127 "This is a vector of 3 integers: [low, pressure, high].  These bounds, "
15128 "measured in units of the system page size, are used by TCP to track its "
15129 "memory usage.  The defaults are calculated at boot time from the amount of "
15130 "available memory.  (TCP can only use I<low memory> for this, which is "
15131 "limited to around 900 megabytes on 32-bit systems.  64-bit systems do not "
15132 "suffer this limitation.)"
15133 msgstr ""
15134
15135 #. type: TP
15136 #: build/C/man7/tcp.7:539
15137 #, no-wrap
15138 msgid "I<low>"
15139 msgstr ""
15140
15141 #. type: Plain text
15142 #: build/C/man7/tcp.7:543
15143 msgid ""
15144 "TCP doesn't regulate its memory allocation when the number of pages it has "
15145 "allocated globally is below this number."
15146 msgstr ""
15147
15148 #. type: TP
15149 #: build/C/man7/tcp.7:543 build/C/man7/udp.7:149
15150 #, no-wrap
15151 msgid "I<pressure>"
15152 msgstr ""
15153
15154 #. type: Plain text
15155 #: build/C/man7/tcp.7:552
15156 msgid ""
15157 "When the amount of memory allocated by TCP exceeds this number of pages, TCP "
15158 "moderates its memory consumption.  This memory pressure state is exited once "
15159 "the number of pages allocated falls below the I<low> mark."
15160 msgstr ""
15161
15162 #. type: TP
15163 #: build/C/man7/tcp.7:552
15164 #, no-wrap
15165 msgid "I<high>"
15166 msgstr ""
15167
15168 #. type: Plain text
15169 #: build/C/man7/tcp.7:556
15170 msgid ""
15171 "The maximum number of pages, globally, that TCP will allocate.  This value "
15172 "overrides any other limits imposed by the kernel."
15173 msgstr ""
15174
15175 #. type: TP
15176 #: build/C/man7/tcp.7:557
15177 #, no-wrap
15178 msgid "I<tcp_mtu_probing> (integer; default: 0; since Linux 2.6.17)"
15179 msgstr ""
15180
15181 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
15182 #. type: Plain text
15183 #: build/C/man7/tcp.7:562
15184 msgid ""
15185 "This parameter controls TCP Packetization-Layer Path MTU Discovery.  The "
15186 "following values may be assigned to the file:"
15187 msgstr ""
15188
15189 #. type: Plain text
15190 #: build/C/man7/tcp.7:565
15191 msgid "Disabled"
15192 msgstr ""
15193
15194 #. type: Plain text
15195 #: build/C/man7/tcp.7:567
15196 msgid "Disabled by default, enabled when an ICMP black hole detected"
15197 msgstr ""
15198
15199 #. type: Plain text
15200 #: build/C/man7/tcp.7:570
15201 msgid "Always enabled, use initial MSS of I<tcp_base_mss>."
15202 msgstr ""
15203
15204 #. type: TP
15205 #: build/C/man7/tcp.7:571
15206 #, no-wrap
15207 msgid "I<tcp_no_metrics_save> (Boolean; default: disabled; since Linux 2.6.6)"
15208 msgstr ""
15209
15210 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
15211 #. type: Plain text
15212 #: build/C/man7/tcp.7:582
15213 msgid ""
15214 "By default, TCP saves various connection metrics in the route cache when the "
15215 "connection closes, so that connections established in the near future can "
15216 "use these to set initial conditions.  Usually, this increases overall "
15217 "performance, but it may sometimes cause performance degradation.  If "
15218 "I<tcp_no_metrics_save> is enabled, TCP will not cache metrics on closing "
15219 "connections."
15220 msgstr ""
15221
15222 #. type: TP
15223 #: build/C/man7/tcp.7:582
15224 #, no-wrap
15225 msgid "I<tcp_orphan_retries> (integer; default: 8; since Linux 2.4)"
15226 msgstr ""
15227
15228 #.  Since 2.3.41
15229 #. type: Plain text
15230 #: build/C/man7/tcp.7:587
15231 msgid ""
15232 "The maximum number of attempts made to probe the other end of a connection "
15233 "which has been closed by our end."
15234 msgstr ""
15235
15236 #. type: TP
15237 #: build/C/man7/tcp.7:587
15238 #, no-wrap
15239 msgid "I<tcp_reordering> (integer; default: 3; since Linux 2.4)"
15240 msgstr ""
15241
15242 #.  Since 2.4.0-test7
15243 #. type: Plain text
15244 #: build/C/man7/tcp.7:596
15245 msgid ""
15246 "The maximum a packet can be reordered in a TCP packet stream without TCP "
15247 "assuming packet loss and going into slow start.  It is not advisable to "
15248 "change this number.  This is a packet reordering detection metric designed "
15249 "to minimize unnecessary back off and retransmits provoked by reordering of "
15250 "packets on a connection."
15251 msgstr ""
15252
15253 #. type: TP
15254 #: build/C/man7/tcp.7:596
15255 #, no-wrap
15256 msgid "I<tcp_retrans_collapse> (Boolean; default: enabled; since Linux 2.2)"
15257 msgstr ""
15258
15259 #.  Since 2.1.96
15260 #. type: Plain text
15261 #: build/C/man7/tcp.7:600
15262 msgid "Try to send full-sized packets during retransmit."
15263 msgstr ""
15264
15265 #. type: TP
15266 #: build/C/man7/tcp.7:600
15267 #, no-wrap
15268 msgid "I<tcp_retries1> (integer; default: 3; since Linux 2.2)"
15269 msgstr ""
15270
15271 #.  Since 2.1.43
15272 #. type: Plain text
15273 #: build/C/man7/tcp.7:610
15274 msgid ""
15275 "The number of times TCP will attempt to retransmit a packet on an "
15276 "established connection normally, without the extra effort of getting the "
15277 "network layers involved.  Once we exceed this number of retransmits, we "
15278 "first have the network layer update the route if possible before each new "
15279 "retransmit.  The default is the RFC specified minimum of 3."
15280 msgstr ""
15281
15282 #. type: TP
15283 #: build/C/man7/tcp.7:610
15284 #, no-wrap
15285 msgid "I<tcp_retries2> (integer; default: 15; since Linux 2.2)"
15286 msgstr ""
15287
15288 #.  Since 2.1.43
15289 #. type: Plain text
15290 #: build/C/man7/tcp.7:620
15291 msgid ""
15292 "The maximum number of times a TCP packet is retransmitted in established "
15293 "state before giving up.  The default value is 15, which corresponds to a "
15294 "duration of approximately between 13 to 30 minutes, depending on the "
15295 "retransmission timeout.  The RFC\\ 1122 specified minimum limit of 100 "
15296 "seconds is typically deemed too short."
15297 msgstr ""
15298
15299 #. type: TP
15300 #: build/C/man7/tcp.7:620
15301 #, no-wrap
15302 msgid "I<tcp_rfc1337> (Boolean; default: disabled; since Linux 2.2)"
15303 msgstr ""
15304
15305 #.  Since 2.1.90
15306 #. type: Plain text
15307 #: build/C/man7/tcp.7:628
15308 msgid ""
15309 "Enable TCP behavior conformant with RFC\\ 1337.  When disabled, if a RST is "
15310 "received in TIME_WAIT state, we close the socket immediately without waiting "
15311 "for the end of the TIME_WAIT period."
15312 msgstr ""
15313
15314 #. type: TP
15315 #: build/C/man7/tcp.7:628
15316 #, no-wrap
15317 msgid "I<tcp_rmem> (since Linux 2.4)"
15318 msgstr ""
15319
15320 #.  Since 2.4.0-test7
15321 #. type: Plain text
15322 #: build/C/man7/tcp.7:636
15323 msgid ""
15324 "This is a vector of 3 integers: [min, default, max].  These parameters are "
15325 "used by TCP to regulate receive buffer sizes.  TCP dynamically adjusts the "
15326 "size of the receive buffer from the defaults listed below, in the range of "
15327 "these values, depending on memory available in the system."
15328 msgstr ""
15329
15330 #. type: TP
15331 #: build/C/man7/tcp.7:637 build/C/man7/tcp.7:813 build/C/man7/udp.7:143
15332 #, no-wrap
15333 msgid "I<min>"
15334 msgstr ""
15335
15336 #. type: Plain text
15337 #: build/C/man7/tcp.7:652
15338 msgid ""
15339 "minimum size of the receive buffer used by each TCP socket.  The default "
15340 "value is the system page size.  (On Linux 2.4, the default value is 4K, "
15341 "lowered to B<PAGE_SIZE> bytes in low-memory systems.)  This value is used to "
15342 "ensure that in memory pressure mode, allocations below this size will still "
15343 "succeed.  This is not used to bound the size of the receive buffer declared "
15344 "using B<SO_RCVBUF> on a socket."
15345 msgstr ""
15346
15347 #. type: TP
15348 #: build/C/man7/tcp.7:652 build/C/man7/tcp.7:823
15349 #, no-wrap
15350 msgid "I<default>"
15351 msgstr ""
15352
15353 #. type: Plain text
15354 #: build/C/man7/tcp.7:666
15355 msgid ""
15356 "the default size of the receive buffer for a TCP socket.  This value "
15357 "overwrites the initial default buffer size from the generic global "
15358 "I<net.core.rmem_default> defined for all protocols.  The default value is "
15359 "87380 bytes.  (On Linux 2.4, this will be lowered to 43689 in low-memory "
15360 "systems.)  If larger receive buffer sizes are desired, this value should be "
15361 "increased (to affect all sockets).  To employ large TCP windows, the "
15362 "I<net.ipv4.tcp_window_scaling> must be enabled (default)."
15363 msgstr ""
15364
15365 #. type: TP
15366 #: build/C/man7/tcp.7:666 build/C/man7/tcp.7:837 build/C/man7/udp.7:155
15367 #, no-wrap
15368 msgid "I<max>"
15369 msgstr ""
15370
15371 #. type: Plain text
15372 #: build/C/man7/tcp.7:675
15373 msgid ""
15374 "the maximum size of the receive buffer used by each TCP socket.  This value "
15375 "does not override the global I<net.core.rmem_max>.  This is not used to "
15376 "limit the size of the receive buffer declared using B<SO_RCVBUF> on a "
15377 "socket.  The default value is calculated using the formula"
15378 msgstr ""
15379
15380 #. type: Plain text
15381 #: build/C/man7/tcp.7:677
15382 #, no-wrap
15383 msgid "    max(87380, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
15384 msgstr ""
15385
15386 #. type: Plain text
15387 #: build/C/man7/tcp.7:680
15388 msgid ""
15389 "(On Linux 2.4, the default is 87380*2 bytes, lowered to 87380 in low-memory "
15390 "systems)."
15391 msgstr ""
15392
15393 #. type: TP
15394 #: build/C/man7/tcp.7:681
15395 #, no-wrap
15396 msgid "I<tcp_sack> (Boolean; default: enabled; since Linux 2.2)"
15397 msgstr ""
15398
15399 #.  Since 2.1.36
15400 #. type: Plain text
15401 #: build/C/man7/tcp.7:685
15402 msgid "Enable RFC\\ 2018 TCP Selective Acknowledgements."
15403 msgstr ""
15404
15405 #. type: TP
15406 #: build/C/man7/tcp.7:685
15407 #, no-wrap
15408 msgid "I<tcp_slow_start_after_idle> (Boolean; default: enabled; since Linux 2.6.18)"
15409 msgstr ""
15410
15411 #.  The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
15412 #. type: Plain text
15413 #: build/C/man7/tcp.7:693
15414 msgid ""
15415 "If enabled, provide RFC 2861 behavior and time out the congestion window "
15416 "after an idle period.  An idle period is defined as the current RTO "
15417 "(retransmission timeout).  If disabled, the congestion window will not be "
15418 "timed out after an idle period."
15419 msgstr ""
15420
15421 #. type: TP
15422 #: build/C/man7/tcp.7:693
15423 #, no-wrap
15424 msgid "I<tcp_stdurg> (Boolean; default: disabled; since Linux 2.2)"
15425 msgstr ""
15426
15427 #.  Since 2.1.44
15428 #.  RFC 793 was ambiguous in its specification of the meaning of the
15429 #.  urgent pointer.  RFC 1122 (and RFC 961) fixed on a particular
15430 #.  resolution of this ambiguity (unfortunately the "wrong" one).
15431 #. type: Plain text
15432 #: build/C/man7/tcp.7:707
15433 msgid ""
15434 "If this option is enabled, then use the RFC\\ 1122 interpretation of the TCP "
15435 "urgent-pointer field.  According to this interpretation, the urgent pointer "
15436 "points to the last byte of urgent data.  If this option is disabled, then "
15437 "use the BSD-compatible interpretation of the urgent pointer: the urgent "
15438 "pointer points to the first byte after the urgent data.  Enabling this "
15439 "option may lead to interoperability problems."
15440 msgstr ""
15441
15442 #. type: TP
15443 #: build/C/man7/tcp.7:707
15444 #, no-wrap
15445 msgid "I<tcp_syn_retries> (integer; default: 5; since Linux 2.2)"
15446 msgstr ""
15447
15448 #.  Since 2.1.38
15449 #. type: Plain text
15450 #: build/C/man7/tcp.7:714
15451 msgid ""
15452 "The maximum number of times initial SYNs for an active TCP connection "
15453 "attempt will be retransmitted.  This value should not be higher than 255.  "
15454 "The default value is 5, which corresponds to approximately 180 seconds."
15455 msgstr ""
15456
15457 #. type: TP
15458 #: build/C/man7/tcp.7:714
15459 #, no-wrap
15460 msgid "I<tcp_synack_retries> (integer; default: 5; since Linux 2.2)"
15461 msgstr ""
15462
15463 #.  Since 2.1.38
15464 #. type: Plain text
15465 #: build/C/man7/tcp.7:720
15466 msgid ""
15467 "The maximum number of times a SYN/ACK segment for a passive TCP connection "
15468 "will be retransmitted.  This number should not be higher than 255."
15469 msgstr ""
15470
15471 #. type: TP
15472 #: build/C/man7/tcp.7:720
15473 #, no-wrap
15474 msgid "I<tcp_syncookies> (Boolean; since Linux 2.2)"
15475 msgstr ""
15476
15477 #.  Since 2.1.43
15478 #. type: Plain text
15479 #: build/C/man7/tcp.7:740
15480 msgid ""
15481 "Enable TCP syncookies.  The kernel must be compiled with "
15482 "B<CONFIG_SYN_COOKIES>.  Send out syncookies when the syn backlog queue of a "
15483 "socket overflows.  The syncookies feature attempts to protect a socket from "
15484 "a SYN flood attack.  This should be used as a last resort, if at all.  This "
15485 "is a violation of the TCP protocol, and conflicts with other areas of TCP "
15486 "such as TCP extensions.  It can cause problems for clients and relays.  It "
15487 "is not recommended as a tuning mechanism for heavily loaded servers to help "
15488 "with overloaded or misconfigured conditions.  For recommended alternatives "
15489 "see I<tcp_max_syn_backlog>, I<tcp_synack_retries>, and "
15490 "I<tcp_abort_on_overflow>."
15491 msgstr ""
15492
15493 #. type: TP
15494 #: build/C/man7/tcp.7:740
15495 #, no-wrap
15496 msgid "I<tcp_timestamps> (Boolean; default: enabled; since Linux 2.2)"
15497 msgstr ""
15498
15499 #.  Since 2.1.36
15500 #. type: Plain text
15501 #: build/C/man7/tcp.7:744
15502 msgid "Enable RFC\\ 1323 TCP timestamps."
15503 msgstr ""
15504
15505 #. type: TP
15506 #: build/C/man7/tcp.7:744
15507 #, no-wrap
15508 msgid "I<tcp_tso_win_divisor> (integer; default: 3; since Linux 2.6.9)"
15509 msgstr ""
15510
15511 #. type: Plain text
15512 #: build/C/man7/tcp.7:750
15513 msgid ""
15514 "This parameter controls what percentage of the congestion window can be "
15515 "consumed by a single TCP Segmentation Offload (TSO) frame.  The setting of "
15516 "this parameter is a tradeoff between burstiness and building larger TSO "
15517 "frames."
15518 msgstr ""
15519
15520 #. type: TP
15521 #: build/C/man7/tcp.7:750
15522 #, no-wrap
15523 msgid "I<tcp_tw_recycle> (Boolean; default: disabled; since Linux 2.4)"
15524 msgstr ""
15525
15526 #.  Since 2.3.15
15527 #
15528 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15529 #. type: Plain text
15530 #: build/C/man7/tcp.7:759
15531 msgid ""
15532 "Enable fast recycling of TIME_WAIT sockets.  Enabling this option is not "
15533 "recommended since this causes problems when working with NAT (Network "
15534 "Address Translation)."
15535 msgstr ""
15536
15537 #. type: TP
15538 #: build/C/man7/tcp.7:759
15539 #, no-wrap
15540 msgid "I<tcp_tw_reuse> (Boolean; default: disabled; since Linux 2.4.19/2.6)"
15541 msgstr ""
15542
15543 #.  Since 2.4.19/2.5.43
15544 #
15545 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15546 #. type: Plain text
15547 #: build/C/man7/tcp.7:767
15548 msgid ""
15549 "Allow to reuse TIME_WAIT sockets for new connections when it is safe from "
15550 "protocol viewpoint.  It should not be changed without advice/request of "
15551 "technical experts."
15552 msgstr ""
15553
15554 #. type: TP
15555 #: build/C/man7/tcp.7:767
15556 #, no-wrap
15557 msgid "I<tcp_vegas_cong_avoid> (Boolean; default: disabled; Linux 2.2 to 2.6.13)"
15558 msgstr ""
15559
15560 #.  Since 2.1.8; removed in 2.6.13
15561 #
15562 #.  The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
15563 #. type: Plain text
15564 #: build/C/man7/tcp.7:778
15565 msgid ""
15566 "Enable TCP Vegas congestion avoidance algorithm.  TCP Vegas is a sender-side "
15567 "only change to TCP that anticipates the onset of congestion by estimating "
15568 "the bandwidth.  TCP Vegas adjusts the sending rate by modifying the "
15569 "congestion window.  TCP Vegas should provide less packet loss, but it is not "
15570 "as aggressive as TCP Reno."
15571 msgstr ""
15572
15573 #. type: TP
15574 #: build/C/man7/tcp.7:778
15575 #, no-wrap
15576 msgid "I<tcp_westwood> (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)"
15577 msgstr ""
15578
15579 #. type: Plain text
15580 #: build/C/man7/tcp.7:790
15581 msgid ""
15582 "Enable TCP Westwood+ congestion control algorithm.  TCP Westwood+ is a "
15583 "sender-side only modification of the TCP Reno protocol stack that optimizes "
15584 "the performance of TCP congestion control.  It is based on end-to-end "
15585 "bandwidth estimation to set congestion window and slow start threshold after "
15586 "a congestion episode.  Using this estimation, TCP Westwood+ adaptively sets "
15587 "a slow start threshold and a congestion window which takes into account the "
15588 "bandwidth used at the time congestion is experienced.  TCP Westwood+ "
15589 "significantly increases fairness with respect to TCP Reno in wired networks "
15590 "and throughput over wireless links."
15591 msgstr ""
15592
15593 #. type: TP
15594 #: build/C/man7/tcp.7:790
15595 #, no-wrap
15596 msgid "I<tcp_window_scaling> (Boolean; default: enabled; since Linux 2.2)"
15597 msgstr ""
15598
15599 #.  Since 2.1.36
15600 #. type: Plain text
15601 #: build/C/man7/tcp.7:804
15602 msgid ""
15603 "Enable RFC\\ 1323 TCP window scaling.  This feature allows the use of a "
15604 "large window (E<gt> 64K) on a TCP connection, should the other end support "
15605 "it.  Normally, the 16 bit window length field in the TCP header limits the "
15606 "window size to less than 64K bytes.  If larger windows are desired, "
15607 "applications can increase the size of their socket buffers and the window "
15608 "scaling option will be employed.  If I<tcp_window_scaling> is disabled, TCP "
15609 "will not negotiate the use of window scaling with the other end during "
15610 "connection setup."
15611 msgstr ""
15612
15613 #. type: TP
15614 #: build/C/man7/tcp.7:804
15615 #, no-wrap
15616 msgid "I<tcp_wmem> (since Linux 2.4)"
15617 msgstr ""
15618
15619 #.  Since 2.4.0-test7
15620 #. type: Plain text
15621 #: build/C/man7/tcp.7:812
15622 msgid ""
15623 "This is a vector of 3 integers: [min, default, max].  These parameters are "
15624 "used by TCP to regulate send buffer sizes.  TCP dynamically adjusts the size "
15625 "of the send buffer from the default values listed below, in the range of "
15626 "these values, depending on memory available."
15627 msgstr ""
15628
15629 #. type: Plain text
15630 #: build/C/man7/tcp.7:823
15631 msgid ""
15632 "Minimum size of the send buffer used by each TCP socket.  The default value "
15633 "is the system page size.  (On Linux 2.4, the default value is 4K bytes.)  "
15634 "This value is used to ensure that in memory pressure mode, allocations below "
15635 "this size will still succeed.  This is not used to bound the size of the "
15636 "send buffer declared using B<SO_SNDBUF> on a socket."
15637 msgstr ""
15638
15639 #.  True in Linux 2.4 and 2.6
15640 #. type: Plain text
15641 #: build/C/man7/tcp.7:837
15642 msgid ""
15643 "The default size of the send buffer for a TCP socket.  This value overwrites "
15644 "the initial default buffer size from the generic global "
15645 "I</proc/sys/net/core/wmem_default> defined for all protocols.  The default "
15646 "value is 16K bytes.  If larger send buffer sizes are desired, this value "
15647 "should be increased (to affect all sockets).  To employ large TCP windows, "
15648 "the I</proc/sys/net/ipv4/tcp_window_scaling> must be set to a nonzero value "
15649 "(default)."
15650 msgstr ""
15651
15652 #. type: Plain text
15653 #: build/C/man7/tcp.7:846
15654 msgid ""
15655 "The maximum size of the send buffer used by each TCP socket.  This value "
15656 "does not override the value in I</proc/sys/net/core/wmem_max>.  This is not "
15657 "used to limit the size of the send buffer declared using B<SO_SNDBUF> on a "
15658 "socket.  The default value is calculated using the formula"
15659 msgstr ""
15660
15661 #. type: Plain text
15662 #: build/C/man7/tcp.7:848
15663 #, no-wrap
15664 msgid "    max(65536, min(4MB, I<tcp_mem>[1]*PAGE_SIZE/128))\n"
15665 msgstr ""
15666
15667 #. type: Plain text
15668 #: build/C/man7/tcp.7:851
15669 msgid ""
15670 "(On Linux 2.4, the default value is 128K bytes, lowered 64K depending on "
15671 "low-memory systems.)"
15672 msgstr ""
15673
15674 #. type: TP
15675 #: build/C/man7/tcp.7:852
15676 #, no-wrap
15677 msgid ""
15678 "I<tcp_workaround_signed_windows> (Boolean; default: disabled; since Linux "
15679 "2.6.26)"
15680 msgstr ""
15681
15682 #. type: Plain text
15683 #: build/C/man7/tcp.7:858
15684 msgid ""
15685 "If enabled, assume that no receipt of a window-scaling option means that the "
15686 "remote TCP is broken and treats the window as a signed quantity.  If "
15687 "disabled, assume that the remote TCP is not broken even if we do not receive "
15688 "a window scaling option from it."
15689 msgstr ""
15690
15691 #.  or SOL_TCP on Linux
15692 #. type: Plain text
15693 #: build/C/man7/tcp.7:872
15694 msgid ""
15695 "To set or get a TCP socket option, call B<getsockopt>(2)  to read or "
15696 "B<setsockopt>(2)  to write the option with the option level argument set to "
15697 "B<IPPROTO_TCP>.  In addition, most B<IPPROTO_IP> socket options are valid on "
15698 "TCP sockets.  For more information see B<ip>(7)."
15699 msgstr ""
15700
15701 #. type: TP
15702 #: build/C/man7/tcp.7:872
15703 #, no-wrap
15704 msgid "B<TCP_CORK> (since Linux 2.2)"
15705 msgstr ""
15706
15707 #.  precisely: since 2.1.127
15708 #. type: Plain text
15709 #: build/C/man7/tcp.7:888
15710 msgid ""
15711 "If set, don't send out partial frames.  All queued partial frames are sent "
15712 "when the option is cleared again.  This is useful for prepending headers "
15713 "before calling B<sendfile>(2), or for throughput optimization.  As currently "
15714 "implemented, there is a 200 millisecond ceiling on the time for which output "
15715 "is corked by B<TCP_CORK>.  If this ceiling is reached, then queued data is "
15716 "automatically transmitted.  This option can be combined with B<TCP_NODELAY> "
15717 "only since Linux 2.5.71.  This option should not be used in code intended to "
15718 "be portable."
15719 msgstr ""
15720
15721 #. type: TP
15722 #: build/C/man7/tcp.7:888
15723 #, no-wrap
15724 msgid "B<TCP_DEFER_ACCEPT> (since Linux 2.4)"
15725 msgstr ""
15726
15727 #.  Precisely: since 2.3.38
15728 #. type: Plain text
15729 #: build/C/man7/tcp.7:896
15730 msgid ""
15731 "Allow a listener to be awakened only when data arrives on the socket.  Takes "
15732 "an integer value (seconds), this can bound the maximum number of attempts "
15733 "TCP will make to complete the connection.  This option should not be used in "
15734 "code intended to be portable."
15735 msgstr ""
15736
15737 #. type: TP
15738 #: build/C/man7/tcp.7:896
15739 #, no-wrap
15740 msgid "B<TCP_INFO> (since Linux 2.4)"
15741 msgstr ""
15742
15743 #. type: Plain text
15744 #: build/C/man7/tcp.7:902
15745 msgid ""
15746 "Used to collect information about this socket.  The kernel returns a "
15747 "I<struct tcp_info> as defined in the file I</usr/include/linux/tcp.h>.  This "
15748 "option should not be used in code intended to be portable."
15749 msgstr ""
15750
15751 #. type: TP
15752 #: build/C/man7/tcp.7:902
15753 #, no-wrap
15754 msgid "B<TCP_KEEPCNT> (since Linux 2.4)"
15755 msgstr ""
15756
15757 #.  Precisely: since 2.3.18
15758 #. type: Plain text
15759 #: build/C/man7/tcp.7:909
15760 msgid ""
15761 "The maximum number of keepalive probes TCP should send before dropping the "
15762 "connection.  This option should not be used in code intended to be portable."
15763 msgstr ""
15764
15765 #. type: TP
15766 #: build/C/man7/tcp.7:909
15767 #, no-wrap
15768 msgid "B<TCP_KEEPIDLE> (since Linux 2.4)"
15769 msgstr ""
15770
15771 #.  Precisely: since 2.3.18
15772 #. type: Plain text
15773 #: build/C/man7/tcp.7:918
15774 msgid ""
15775 "The time (in seconds) the connection needs to remain idle before TCP starts "
15776 "sending keepalive probes, if the socket option B<SO_KEEPALIVE> has been set "
15777 "on this socket.  This option should not be used in code intended to be "
15778 "portable."
15779 msgstr ""
15780
15781 #. type: TP
15782 #: build/C/man7/tcp.7:918
15783 #, no-wrap
15784 msgid "B<TCP_KEEPINTVL> (since Linux 2.4)"
15785 msgstr ""
15786
15787 #.  Precisely: since 2.3.18
15788 #. type: Plain text
15789 #: build/C/man7/tcp.7:923
15790 msgid ""
15791 "The time (in seconds) between individual keepalive probes.  This option "
15792 "should not be used in code intended to be portable."
15793 msgstr ""
15794
15795 #. type: TP
15796 #: build/C/man7/tcp.7:923
15797 #, no-wrap
15798 msgid "B<TCP_LINGER2> (since Linux 2.4)"
15799 msgstr ""
15800
15801 #.  Precisely: since 2.3.41
15802 #. type: Plain text
15803 #: build/C/man7/tcp.7:935
15804 msgid ""
15805 "The lifetime of orphaned FIN_WAIT2 state sockets.  This option can be used "
15806 "to override the system-wide setting in the file "
15807 "I</proc/sys/net/ipv4/tcp_fin_timeout> for this socket.  This is not to be "
15808 "confused with the B<socket>(7)  level option B<SO_LINGER>.  This option "
15809 "should not be used in code intended to be portable."
15810 msgstr ""
15811
15812 #. type: TP
15813 #: build/C/man7/tcp.7:935
15814 #, no-wrap
15815 msgid "B<TCP_MAXSEG>"
15816 msgstr ""
15817
15818 #.  Present in Linux 1.0
15819 #. type: Plain text
15820 #: build/C/man7/tcp.7:945
15821 msgid ""
15822 "The maximum segment size for outgoing TCP packets.  In Linux 2.2 and "
15823 "earlier, and in Linux 2.6.28 and later, if this option is set before "
15824 "connection establishment, it also changes the MSS value announced to the "
15825 "other end in the initial packet.  Values greater than the (eventual) "
15826 "interface MTU have no effect.  TCP will also impose its minimum and maximum "
15827 "bounds over the value provided."
15828 msgstr ""
15829
15830 #. type: TP
15831 #: build/C/man7/tcp.7:945
15832 #, no-wrap
15833 msgid "B<TCP_NODELAY>"
15834 msgstr ""
15835
15836 #.  Present in Linux 1.0
15837 #. type: Plain text
15838 #: build/C/man7/tcp.7:962
15839 msgid ""
15840 "If set, disable the Nagle algorithm.  This means that segments are always "
15841 "sent as soon as possible, even if there is only a small amount of data.  "
15842 "When not set, data is buffered until there is a sufficient amount to send "
15843 "out, thereby avoiding the frequent sending of small packets, which results "
15844 "in poor utilization of the network.  This option is overridden by "
15845 "B<TCP_CORK>; however, setting this option forces an explicit flush of "
15846 "pending output, even if B<TCP_CORK> is currently set."
15847 msgstr ""
15848
15849 #. type: TP
15850 #: build/C/man7/tcp.7:962
15851 #, no-wrap
15852 msgid "B<TCP_QUICKACK> (since Linux 2.4.4)"
15853 msgstr ""
15854
15855 #. type: Plain text
15856 #: build/C/man7/tcp.7:977
15857 msgid ""
15858 "Enable quickack mode if set or disable quickack mode if cleared.  In "
15859 "quickack mode, acks are sent immediately, rather than delayed if needed in "
15860 "accordance to normal TCP operation.  This flag is not permanent, it only "
15861 "enables a switch to or from quickack mode.  Subsequent operation of the TCP "
15862 "protocol will once again enter/leave quickack mode depending on internal "
15863 "protocol processing and factors such as delayed ack timeouts occurring and "
15864 "data transfer.  This option should not be used in code intended to be "
15865 "portable."
15866 msgstr ""
15867
15868 #. type: TP
15869 #: build/C/man7/tcp.7:977
15870 #, no-wrap
15871 msgid "B<TCP_SYNCNT> (since Linux 2.4)"
15872 msgstr ""
15873
15874 #.  Precisely: since 2.3.18
15875 #. type: Plain text
15876 #: build/C/man7/tcp.7:984
15877 msgid ""
15878 "Set the number of SYN retransmits that TCP should send before aborting the "
15879 "attempt to connect.  It cannot exceed 255.  This option should not be used "
15880 "in code intended to be portable."
15881 msgstr ""
15882
15883 #. type: TP
15884 #: build/C/man7/tcp.7:984
15885 #, no-wrap
15886 msgid "B<TCP_WINDOW_CLAMP> (since Linux 2.4)"
15887 msgstr ""
15888
15889 #.  Precisely: since 2.3.41
15890 #. type: Plain text
15891 #: build/C/man7/tcp.7:991
15892 msgid ""
15893 "Bound the size of the advertised window to this value.  The kernel imposes a "
15894 "minimum size of SOCK_MIN_RCVBUF/2.  This option should not be used in code "
15895 "intended to be portable."
15896 msgstr ""
15897
15898 #. type: SS
15899 #: build/C/man7/tcp.7:991 build/C/man7/unix.7:175
15900 #, no-wrap
15901 msgid "Sockets API"
15902 msgstr ""
15903
15904 #. type: Plain text
15905 #: build/C/man7/tcp.7:1000
15906 msgid ""
15907 "TCP provides limited support for out-of-band data, in the form of (a single "
15908 "byte of) urgent data.  In Linux this means if the other end sends newer "
15909 "out-of-band data the older urgent data is inserted as normal data into the "
15910 "stream (even when B<SO_OOBINLINE> is not set).  This differs from BSD-based "
15911 "stacks."
15912 msgstr ""
15913
15914 #. type: Plain text
15915 #: build/C/man7/tcp.7:1007
15916 msgid ""
15917 "Linux uses the BSD compatible interpretation of the urgent pointer field by "
15918 "default.  This violates RFC\\ 1122, but is required for interoperability "
15919 "with other stacks.  It can be changed via I</proc/sys/net/ipv4/tcp_stdurg>."
15920 msgstr ""
15921
15922 #. type: Plain text
15923 #: build/C/man7/tcp.7:1012
15924 msgid ""
15925 "It is possible to peek at out-of-band data using the I<recv>(2)  B<MSG_PEEK> "
15926 "flag."
15927 msgstr ""
15928
15929 #. type: Plain text
15930 #: build/C/man7/tcp.7:1028
15931 msgid ""
15932 "Since version 2.4, Linux supports the use of B<MSG_TRUNC> in the I<flags> "
15933 "argument of B<recv>(2)  (and B<recvmsg>(2)).  This flag causes the received "
15934 "bytes of data to be discarded, rather than passed back in a caller-supplied "
15935 "buffer.  Since Linux 2.4.4, B<MSG_PEEK> also has this effect when used in "
15936 "conjunction with B<MSG_OOB> to receive out-of-band data."
15937 msgstr ""
15938
15939 #. type: Plain text
15940 #: build/C/man7/tcp.7:1034 build/C/man7/unix.7:288
15941 msgid ""
15942 "The following B<ioctl>(2)  calls return information in I<value>.  The "
15943 "correct syntax is:"
15944 msgstr ""
15945
15946 #. type: Plain text
15947 #: build/C/man7/tcp.7:1039
15948 #, no-wrap
15949 msgid ""
15950 "B<int>I< value>B<;>\n"
15951 "I<error>B< = ioctl(>I<tcp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
15952 msgstr ""
15953
15954 #. type: Plain text
15955 #: build/C/man7/tcp.7:1044
15956 msgid "I<ioctl_type> is one of the following:"
15957 msgstr ""
15958
15959 #. type: TP
15960 #: build/C/man7/tcp.7:1044 build/C/man7/unix.7:298
15961 #, no-wrap
15962 msgid "B<SIOCINQ>"
15963 msgstr ""
15964
15965 #.  FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002,
15966 #.  filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
15967 #.  SIOCOUTQ also has an effect for UNIX domain sockets, but not
15968 #.  quite what userland might expect. It seems to return the number
15969 #.  of bytes allocated for buffers containing pending output.
15970 #.  That number is normally larger than the number of bytes of pending
15971 #.  output. Since this info is, from userland's point of view, imprecise,
15972 #.  and it may well change, probably best not to document this now.
15973 #. type: Plain text
15974 #: build/C/man7/tcp.7:1060 build/C/man7/unix.7:320
15975 msgid ""
15976 "Returns the amount of queued unread data in the receive buffer.  The socket "
15977 "must not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  "
15978 "B<SIOCINQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you "
15979 "can use the synonymous B<FIONREAD>, defined in I<E<lt>sys/ioctl.hE<gt>>."
15980 msgstr ""
15981
15982 #. type: TP
15983 #: build/C/man7/tcp.7:1060
15984 #, no-wrap
15985 msgid "B<SIOCATMARK>"
15986 msgstr ""
15987
15988 #. type: Plain text
15989 #: build/C/man7/tcp.7:1065
15990 msgid ""
15991 "Returns true (i.e., I<value> is nonzero) if the inbound data stream is at "
15992 "the urgent mark."
15993 msgstr ""
15994
15995 #. type: Plain text
15996 #: build/C/man7/tcp.7:1081
15997 msgid ""
15998 "If the B<SO_OOBINLINE> socket option is set, and B<SIOCATMARK> returns true, "
15999 "then the next read from the socket will return the urgent data.  If the "
16000 "B<SO_OOBINLINE> socket option is not set, and B<SIOCATMARK> returns true, "
16001 "then the next read from the socket will return the bytes following the "
16002 "urgent data (to actually read the urgent data requires the B<recv(MSG_OOB)> "
16003 "flag)."
16004 msgstr ""
16005
16006 #. type: Plain text
16007 #: build/C/man7/tcp.7:1095
16008 msgid ""
16009 "Note that a read never reads across the urgent mark.  If an application is "
16010 "informed of the presence of urgent data via B<select>(2)  (using the "
16011 "I<exceptfds> argument) or through delivery of a B<SIGURG> signal, then it "
16012 "can advance up to the mark using a loop which repeatedly tests B<SIOCATMARK> "
16013 "and performs a read (requesting any number of bytes) as long as "
16014 "B<SIOCATMARK> returns false."
16015 msgstr ""
16016
16017 #. type: TP
16018 #: build/C/man7/tcp.7:1095
16019 #, no-wrap
16020 msgid "B<SIOCOUTQ>"
16021 msgstr ""
16022
16023 #.  FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002,
16024 #.  filed 2010-09-10, may cause SIOCOUTQ to be defined in glibc headers
16025 #. type: Plain text
16026 #: build/C/man7/tcp.7:1111
16027 msgid ""
16028 "Returns the amount of unsent data in the socket send queue.  The socket must "
16029 "not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  "
16030 "B<SIOCOUTQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you "
16031 "can use the synonymous B<TIOCOUTQ>, defined in I<E<lt>sys/ioctl.hE<gt>>."
16032 msgstr ""
16033
16034 #. type: Plain text
16035 #: build/C/man7/tcp.7:1116
16036 msgid ""
16037 "When a network error occurs, TCP tries to resend the packet.  If it doesn't "
16038 "succeed after some time, either B<ETIMEDOUT> or the last received error on "
16039 "this connection is reported."
16040 msgstr ""
16041
16042 #. type: Plain text
16043 #: build/C/man7/tcp.7:1127
16044 msgid ""
16045 "Some applications require a quicker error notification.  This can be enabled "
16046 "with the B<IPPROTO_IP> level B<IP_RECVERR> socket option.  When this option "
16047 "is enabled, all incoming errors are immediately passed to the user program.  "
16048 "Use this option with care \\(em it makes TCP less tolerant to routing "
16049 "changes and other normal network conditions."
16050 msgstr ""
16051
16052 #. type: TP
16053 #: build/C/man7/tcp.7:1128
16054 #, no-wrap
16055 msgid "B<EAFNOTSUPPORT>"
16056 msgstr ""
16057
16058 #. type: Plain text
16059 #: build/C/man7/tcp.7:1134
16060 msgid "Passed socket address type in I<sin_family> was not B<AF_INET>."
16061 msgstr ""
16062
16063 #. type: Plain text
16064 #: build/C/man7/tcp.7:1138
16065 msgid ""
16066 "The other end closed the socket unexpectedly or a read is executed on a shut "
16067 "down socket."
16068 msgstr ""
16069
16070 #. type: TP
16071 #: build/C/man7/tcp.7:1138
16072 #, no-wrap
16073 msgid "B<ETIMEDOUT>"
16074 msgstr ""
16075
16076 #. type: Plain text
16077 #: build/C/man7/tcp.7:1141
16078 msgid "The other end didn't acknowledge retransmitted data after some time."
16079 msgstr ""
16080
16081 #. type: Plain text
16082 #: build/C/man7/tcp.7:1145
16083 msgid ""
16084 "Any errors defined for B<ip>(7)  or the generic socket layer may also be "
16085 "returned for TCP."
16086 msgstr ""
16087
16088 #. type: Plain text
16089 #: build/C/man7/tcp.7:1152
16090 msgid ""
16091 "Support for Explicit Congestion Notification, zero-copy B<sendfile>(2), "
16092 "reordering support and some SACK extensions (DSACK) were introduced in 2.4.  "
16093 "Support for forward acknowledgement (FACK), TIME_WAIT recycling, and "
16094 "per-connection keepalive socket options were introduced in 2.3."
16095 msgstr ""
16096
16097 #. type: Plain text
16098 #: build/C/man7/tcp.7:1154
16099 msgid "Not all errors are documented."
16100 msgstr ""
16101
16102 #.  Only a single Linux kernel version is described
16103 #.  Info for 2.2 was lost. Should be added again,
16104 #.  or put into a separate page.
16105 #.  .SH AUTHORS
16106 #.  This man page was originally written by Andi Kleen.
16107 #.  It was updated for 2.4 by Nivedita Singhvi with input from
16108 #.  Alexey Kuznetsov's Documentation/networking/ip-sysctl.txt
16109 #.  document.
16110 #. type: Plain text
16111 #: build/C/man7/tcp.7:1164
16112 msgid "IPv6 is not described."
16113 msgstr ""
16114
16115 #. type: Plain text
16116 #: build/C/man7/tcp.7:1176
16117 msgid ""
16118 "B<accept>(2), B<bind>(2), B<connect>(2), B<getsockopt>(2), B<listen>(2), "
16119 "B<recvmsg>(2), B<sendfile>(2), B<sendmsg>(2), B<socket>(2), B<ip>(7), "
16120 "B<socket>(7)"
16121 msgstr ""
16122
16123 #. type: Plain text
16124 #: build/C/man7/tcp.7:1178
16125 msgid "RFC\\ 793 for the TCP specification."
16126 msgstr ""
16127
16128 #. type: Plain text
16129 #: build/C/man7/tcp.7:1180
16130 msgid ""
16131 "RFC\\ 1122 for the TCP requirements and a description of the Nagle "
16132 "algorithm."
16133 msgstr ""
16134
16135 #. type: Plain text
16136 #: build/C/man7/tcp.7:1182
16137 msgid "RFC\\ 1323 for TCP timestamp and window scaling options."
16138 msgstr ""
16139
16140 #. type: Plain text
16141 #: build/C/man7/tcp.7:1184
16142 msgid "RFC\\ 1337 for a description of TIME_WAIT assassination hazards."
16143 msgstr ""
16144
16145 #. type: Plain text
16146 #: build/C/man7/tcp.7:1186
16147 msgid "RFC\\ 3168 for a description of Explicit Congestion Notification."
16148 msgstr ""
16149
16150 #. type: Plain text
16151 #: build/C/man7/tcp.7:1188
16152 msgid "RFC\\ 2581 for TCP congestion control algorithms."
16153 msgstr ""
16154
16155 #. type: Plain text
16156 #: build/C/man7/tcp.7:1190
16157 msgid "RFC\\ 2018 and RFC\\ 2883 for SACK and extensions to SACK."
16158 msgstr ""
16159
16160 #. type: TH
16161 #: build/C/man7/udp.7:12
16162 #, no-wrap
16163 msgid "UDP"
16164 msgstr ""
16165
16166 #. type: TH
16167 #: build/C/man7/udp.7:12
16168 #, no-wrap
16169 msgid "2010-06-13"
16170 msgstr ""
16171
16172 #. type: Plain text
16173 #: build/C/man7/udp.7:15
16174 msgid "udp - User Datagram Protocol for IPv4"
16175 msgstr ""
16176
16177 #. type: Plain text
16178 #: build/C/man7/udp.7:21
16179 msgid "B<udp_socket = socket(AF_INET, SOCK_DGRAM, 0);>"
16180 msgstr ""
16181
16182 #. type: Plain text
16183 #: build/C/man7/udp.7:27
16184 msgid ""
16185 "This is an implementation of the User Datagram Protocol described in RFC\\ "
16186 "768.  It implements a connectionless, unreliable datagram packet service.  "
16187 "Packets may be reordered or duplicated before they arrive.  UDP generates "
16188 "and checks checksums to catch transmission errors."
16189 msgstr ""
16190
16191 #. type: Plain text
16192 #: build/C/man7/udp.7:56
16193 msgid ""
16194 "When a UDP socket is created, its local and remote addresses are "
16195 "unspecified.  Datagrams can be sent immediately using B<sendto>(2)  or "
16196 "B<sendmsg>(2)  with a valid destination address as an argument.  When "
16197 "B<connect>(2)  is called on the socket, the default destination address is "
16198 "set and datagrams can now be sent using B<send>(2)  or B<write>(2)  without "
16199 "specifying a destination address.  It is still possible to send to other "
16200 "destinations by passing an address to B<sendto>(2)  or B<sendmsg>(2).  In "
16201 "order to receive packets, the socket can be bound to a local address first "
16202 "by using B<bind>(2).  Otherwise the socket layer will automatically assign a "
16203 "free local port out of the range defined by "
16204 "I</proc/sys/net/ipv4/ip_local_port_range> and bind the socket to "
16205 "B<INADDR_ANY>."
16206 msgstr ""
16207
16208 #. type: Plain text
16209 #: build/C/man7/udp.7:64
16210 msgid ""
16211 "All receive operations return only one packet.  When the packet is smaller "
16212 "than the passed buffer, only that much data is returned; when it is bigger, "
16213 "the packet is truncated and the B<MSG_TRUNC> flag is set.  B<MSG_WAITALL> is "
16214 "not supported."
16215 msgstr ""
16216
16217 #. type: Plain text
16218 #: build/C/man7/udp.7:73
16219 msgid ""
16220 "IP options may be sent or received using the socket options described in "
16221 "B<ip>(7).  They are only processed by the kernel when the appropriate "
16222 "I</proc> parameter is enabled (but still passed to the user even when it is "
16223 "turned off).  See B<ip>(7)."
16224 msgstr ""
16225
16226 #. type: Plain text
16227 #: build/C/man7/udp.7:78
16228 msgid ""
16229 "When the B<MSG_DONTROUTE> flag is set on sending, the destination address "
16230 "must refer to a local interface address and the packet is only sent to that "
16231 "interface."
16232 msgstr ""
16233
16234 #. type: Plain text
16235 #: build/C/man7/udp.7:96
16236 msgid ""
16237 "By default, Linux UDP does path MTU (Maximum Transmission Unit) discovery.  "
16238 "This means the kernel will keep track of the MTU to a specific target IP "
16239 "address and return B<EMSGSIZE> when a UDP packet write exceeds it.  When "
16240 "this happens, the application should decrease the packet size.  Path MTU "
16241 "discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option "
16242 "or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file; see B<ip>(7)  for "
16243 "details.  When turned off, UDP will fragment outgoing UDP packets that "
16244 "exceed the interface MTU.  However, disabling it is not recommended for "
16245 "performance and reliability reasons."
16246 msgstr ""
16247
16248 #. type: Plain text
16249 #: build/C/man7/udp.7:101
16250 msgid "UDP uses the IPv4 I<sockaddr_in> address format described in B<ip>(7)."
16251 msgstr ""
16252
16253 #. type: Plain text
16254 #: build/C/man7/udp.7:112
16255 msgid ""
16256 "All fatal errors will be passed to the user as an error return even when the "
16257 "socket is not connected.  This includes asynchronous errors received from "
16258 "the network.  You may get an error for an earlier packet that was sent on "
16259 "the same socket.  This behavior differs from many other BSD socket "
16260 "implementations which don't pass any errors unless the socket is connected.  "
16261 "Linux's behavior is mandated by B<RFC\\ 1122>."
16262 msgstr ""
16263
16264 #. type: Plain text
16265 #: build/C/man7/udp.7:126
16266 msgid ""
16267 "For compatibility with legacy code, in Linux 2.0 and 2.2 it was possible to "
16268 "set the B<SO_BSDCOMPAT> B<SOL_SOCKET> option to receive remote errors only "
16269 "when the socket has been connected (except for B<EPROTO> and B<EMSGSIZE>).  "
16270 "Locally generated errors are always passed.  Support for this socket option "
16271 "was removed in later kernels; see B<socket>(7)  for further information."
16272 msgstr ""
16273
16274 #. type: Plain text
16275 #: build/C/man7/udp.7:135
16276 msgid ""
16277 "When the B<IP_RECVERR> option is enabled, all errors are stored in the "
16278 "socket error queue, and can be received by B<recvmsg>(2)  with the "
16279 "B<MSG_ERRQUEUE> flag set."
16280 msgstr ""
16281
16282 #. type: Plain text
16283 #: build/C/man7/udp.7:138
16284 msgid ""
16285 "System-wide UDP parameter settings can be accessed by files in the directory "
16286 "I</proc/sys/net/ipv4/>."
16287 msgstr ""
16288
16289 #. type: TP
16290 #: build/C/man7/udp.7:138
16291 #, no-wrap
16292 msgid "I<udp_mem> (since Linux 2.6.25)"
16293 msgstr ""
16294
16295 #. type: Plain text
16296 #: build/C/man7/udp.7:142
16297 msgid ""
16298 "This is a vector of three integers governing the number of pages allowed for "
16299 "queueing by all UDP sockets."
16300 msgstr ""
16301
16302 #. type: Plain text
16303 #: build/C/man7/udp.7:149
16304 msgid ""
16305 "Below this number of pages, UDP is not bothered about its memory appetite.  "
16306 "When the amount of memory allocated by UDP exceeds this number, UDP starts "
16307 "to moderate memory usage."
16308 msgstr ""
16309
16310 #. type: Plain text
16311 #: build/C/man7/udp.7:155
16312 msgid ""
16313 "This value was introduced to follow the format of I<tcp_mem> (see "
16314 "B<tcp>(7))."
16315 msgstr ""
16316
16317 #. type: Plain text
16318 #: build/C/man7/udp.7:158
16319 msgid "Number of pages allowed for queueing by all UDP sockets."
16320 msgstr ""
16321
16322 #. type: Plain text
16323 #: build/C/man7/udp.7:162
16324 msgid ""
16325 "Defaults values for these three items are calculated at boot time from the "
16326 "amount of available memory."
16327 msgstr ""
16328
16329 #. type: TP
16330 #: build/C/man7/udp.7:162
16331 #, no-wrap
16332 msgid "I<udp_rmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)"
16333 msgstr ""
16334
16335 #. type: Plain text
16336 #: build/C/man7/udp.7:169
16337 msgid ""
16338 "Minimal size, in bytes, of receive buffers used by UDP sockets in "
16339 "moderation.  Each UDP socket is able to use the size for receiving data, "
16340 "even if total pages of UDP sockets exceed I<udp_mem> pressure."
16341 msgstr ""
16342
16343 #. type: TP
16344 #: build/C/man7/udp.7:169
16345 #, no-wrap
16346 msgid "I<udp_wmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)"
16347 msgstr ""
16348
16349 #. type: Plain text
16350 #: build/C/man7/udp.7:176
16351 msgid ""
16352 "Minimal size, in bytes, of send buffer used by UDP sockets in moderation.  "
16353 "Each UDP socket is able to use the size for sending data, even if total "
16354 "pages of UDP sockets exceed I<udp_mem> pressure."
16355 msgstr ""
16356
16357 #. type: Plain text
16358 #: build/C/man7/udp.7:183
16359 msgid ""
16360 "To set or get a UDP socket option, call B<getsockopt>(2)  to read or "
16361 "B<setsockopt>(2)  to write the option with the option level argument set to "
16362 "B<IPPROTO_UDP>."
16363 msgstr ""
16364
16365 #. type: TP
16366 #: build/C/man7/udp.7:183
16367 #, no-wrap
16368 msgid "B<UDP_CORK> (since Linux 2.5.44)"
16369 msgstr ""
16370
16371 #.  FIXME document UDP_ENCAP (new in kernel 2.5.67)
16372 #.  From include/linux/udp.h:
16373 #.  /* UDP encapsulation types */
16374 #.  #define UDP_ENCAP_ESPINUDP_NON_IKE      1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
16375 #.  #define UDP_ENCAP_ESPINUDP      2 /* draft-ietf-ipsec-udp-encaps-06 */
16376 #.  #define UDP_ENCAP_L2TPINUDP     3 /* rfc2661 */
16377 #. type: Plain text
16378 #: build/C/man7/udp.7:196
16379 msgid ""
16380 "If this option is enabled, then all data output on this socket is "
16381 "accumulated into a single datagram that is transmitted when the option is "
16382 "disabled.  This option should not be used in code intended to be portable."
16383 msgstr ""
16384
16385 #. type: Plain text
16386 #: build/C/man7/udp.7:200
16387 msgid "These ioctls can be accessed using B<ioctl>(2).  The correct syntax is:"
16388 msgstr ""
16389
16390 #. type: Plain text
16391 #: build/C/man7/udp.7:205
16392 #, no-wrap
16393 msgid ""
16394 "B<int>I< value>B<;>\n"
16395 "I<error>B< = ioctl(>I<udp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
16396 msgstr ""
16397
16398 #. type: TP
16399 #: build/C/man7/udp.7:207
16400 #, no-wrap
16401 msgid "B<FIONREAD> (B<SIOCINQ>)"
16402 msgstr ""
16403
16404 #.  See http://www.securiteam.com/unixfocus/5KP0I15IKO.html
16405 #.  "GNUnet DoS (UDP Socket Unreachable)", 14 May 2006
16406 #. type: Plain text
16407 #: build/C/man7/udp.7:225
16408 msgid ""
16409 "Gets a pointer to an integer as argument.  Returns the size of the next "
16410 "pending datagram in the integer in bytes, or 0 when no datagram is pending.  "
16411 "B<Warning:> Using B<FIONREAD>, it is impossible to distinguish the case "
16412 "where no datagram is pending from the case where the next pending datagram "
16413 "contains zero bytes of data.  It is safer to use B<select>(2), B<poll>(2), "
16414 "or B<epoll>(7)  to distinguish these cases."
16415 msgstr ""
16416
16417 #. type: TP
16418 #: build/C/man7/udp.7:225
16419 #, no-wrap
16420 msgid "B<TIOCOUTQ> (B<SIOCOUTQ>)"
16421 msgstr ""
16422
16423 #. type: Plain text
16424 #: build/C/man7/udp.7:229
16425 msgid ""
16426 "Returns the number of data bytes in the local send queue.  Only supported "
16427 "with Linux 2.4 and above."
16428 msgstr ""
16429
16430 #. type: Plain text
16431 #: build/C/man7/udp.7:235
16432 msgid ""
16433 "In addition all ioctls documented in B<ip>(7)  and B<socket>(7)  are "
16434 "supported."
16435 msgstr ""
16436
16437 #. type: Plain text
16438 #: build/C/man7/udp.7:241
16439 msgid ""
16440 "All errors documented for B<socket>(7)  or B<ip>(7)  may be returned by a "
16441 "send or receive on a UDP socket."
16442 msgstr ""
16443
16444 #. type: TP
16445 #: build/C/man7/udp.7:241 build/C/man7/unix.7:325
16446 #, no-wrap
16447 msgid "B<ECONNREFUSED>"
16448 msgstr ""
16449
16450 #. type: Plain text
16451 #: build/C/man7/udp.7:245
16452 msgid ""
16453 "No receiver was associated with the destination address.  This might be "
16454 "caused by a previous packet sent over the socket."
16455 msgstr ""
16456
16457 #.  .SH CREDITS
16458 #.  This man page was written by Andi Kleen.
16459 #. type: Plain text
16460 #: build/C/man7/udp.7:250
16461 msgid "B<IP_RECVERR> is a new feature in Linux 2.2."
16462 msgstr ""
16463
16464 #. type: Plain text
16465 #: build/C/man7/udp.7:255
16466 msgid "B<ip>(7), B<raw>(7), B<socket>(7), B<udplite>(7)"
16467 msgstr ""
16468
16469 #. type: Plain text
16470 #: build/C/man7/udp.7:257
16471 msgid "RFC\\ 768 for the User Datagram Protocol."
16472 msgstr ""
16473
16474 #. type: Plain text
16475 #: build/C/man7/udp.7:259
16476 msgid "RFC\\ 1122 for the host requirements."
16477 msgstr ""
16478
16479 #. type: Plain text
16480 #: build/C/man7/udp.7:261
16481 msgid "RFC\\ 1191 for a description of path MTU discovery."
16482 msgstr ""
16483
16484 #. type: TH
16485 #: build/C/man7/udplite.7:27
16486 #, no-wrap
16487 msgid "UDPLITE"
16488 msgstr ""
16489
16490 #. type: TH
16491 #: build/C/man7/udplite.7:27
16492 #, no-wrap
16493 msgid "2008-12-03"
16494 msgstr ""
16495
16496 #. type: Plain text
16497 #: build/C/man7/udplite.7:30
16498 msgid "udplite - Lightweight User Datagram Protocol"
16499 msgstr ""
16500
16501 #. type: Plain text
16502 #: build/C/man7/udplite.7:38
16503 msgid "B<sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);>"
16504 msgstr ""
16505
16506 #. type: Plain text
16507 #: build/C/man7/udplite.7:41
16508 msgid ""
16509 "This is an implementation of the Lightweight User Datagram Protocol "
16510 "(UDP-Lite), as described in RFC\\ 3828."
16511 msgstr ""
16512
16513 #. type: Plain text
16514 #: build/C/man7/udplite.7:47
16515 msgid ""
16516 "UDP-Lite is an extension of UDP (RFC\\ 768) to support variable-length "
16517 "checksums.  This has advantages for some types of multimedia transport that "
16518 "may be able to make use of slightly damaged datagrams, rather than having "
16519 "them discarded by lower-layer protocols."
16520 msgstr ""
16521
16522 #. type: Plain text
16523 #: build/C/man7/udplite.7:53
16524 msgid ""
16525 "The variable-length checksum coverage is set via a B<setsockopt>(2)  "
16526 "option.  If this option is not set, the only difference to UDP is in using a "
16527 "different IP protocol identifier (IANA number 136)."
16528 msgstr ""
16529
16530 #. type: Plain text
16531 #: build/C/man7/udplite.7:58
16532 msgid ""
16533 "The UDP-Lite implementation is a full extension of B<udp>(7), i.e., it "
16534 "shares the same API and API behaviour, and in addition offers two socket "
16535 "options to control the checksum coverage."
16536 msgstr ""
16537
16538 #. type: Plain text
16539 #: build/C/man7/udplite.7:67
16540 msgid ""
16541 "UDP-Litev4 uses the I<sockaddr_in> address format described in B<ip>(7).  "
16542 "UDP-Litev6 uses the I<sockaddr_in6> address format described in B<ipv6>(7)."
16543 msgstr ""
16544
16545 #. type: Plain text
16546 #: build/C/man7/udplite.7:80
16547 msgid ""
16548 "To set or get a UDP-Lite socket option, call B<getsockopt>(2)  to read or "
16549 "B<setsockopt>(2)  to write the option with the option level argument set to "
16550 "B<IPPROTO_UDPLITE>.  In addition, all B<IPPROTO_UDP> socket options are "
16551 "valid on a UDP-Lite socket.  See B<udp>(7)  for more information."
16552 msgstr ""
16553
16554 #. type: Plain text
16555 #: build/C/man7/udplite.7:82
16556 msgid "The following two options are specific to UDP-Lite."
16557 msgstr ""
16558
16559 #. type: TP
16560 #: build/C/man7/udplite.7:82
16561 #, no-wrap
16562 msgid "B<UDPLITE_SEND_CSCOV>"
16563 msgstr ""
16564
16565 #. type: Plain text
16566 #: build/C/man7/udplite.7:87
16567 msgid ""
16568 "This option sets the sender checksum coverage and takes an I<int> as "
16569 "argument, with a checksum coverage value in the range 0..2^16-1."
16570 msgstr ""
16571
16572 #. type: Plain text
16573 #: build/C/man7/udplite.7:91
16574 msgid ""
16575 "A value of 0 means that the entire datagram is always covered.  Values from "
16576 "1-7 are illegal (RFC\\ 3828, 3.1) and are rounded up to the minimum coverage "
16577 "of 8."
16578 msgstr ""
16579
16580 #. type: Plain text
16581 #: build/C/man7/udplite.7:97
16582 msgid ""
16583 "With regard to IPv6 jumbograms (RFC\\ 2675), the UDP-Litev6 checksum "
16584 "coverage is limited to the first 2^16-1 octets, as per RFC\\ 3828, 3.5.  "
16585 "Higher values are therefore silently truncated to 2^16-1.  If in doubt, the "
16586 "current coverage value can always be queried using B<getsockopt>(2)."
16587 msgstr ""
16588
16589 #. type: TP
16590 #: build/C/man7/udplite.7:97
16591 #, no-wrap
16592 msgid "B<UDPLITE_RECV_CSCOV>"
16593 msgstr ""
16594
16595 #. type: Plain text
16596 #: build/C/man7/udplite.7:108
16597 msgid ""
16598 "This is the receiver-side analogue and uses the same argument format and "
16599 "value range as B<UDPLITE_SEND_CSCOV>.  This option is not required to enable "
16600 "traffic with partial checksum coverage.  Its function is that of a traffic "
16601 "filter: when enabled, it instructs the kernel to drop all packets which have "
16602 "a coverage I<less> than the specified coverage value."
16603 msgstr ""
16604
16605 #.  SO_NO_CHECK exists and is supported by UDPv4, but is
16606 #.  commented out in socket(7), hence also commented out here
16607 #. .PP
16608 #. Since UDP-Lite mandates checksums, checksumming can not be disabled
16609 #. via the
16610 #. .B SO_NO_CHECK
16611 #. option from
16612 #. .BR socket (7).
16613 #. type: Plain text
16614 #: build/C/man7/udplite.7:121
16615 msgid ""
16616 "When the value of B<UDPLITE_RECV_CSCOV> exceeds the actual packet coverage, "
16617 "incoming packets are silently dropped, but may generate a warning message in "
16618 "the system log."
16619 msgstr ""
16620
16621 #. type: Plain text
16622 #: build/C/man7/udplite.7:126
16623 msgid ""
16624 "All errors documented for B<udp>(7)  may be returned.  UDP-Lite does not add "
16625 "further errors."
16626 msgstr ""
16627
16628 #. type: Plain text
16629 #: build/C/man7/udplite.7:129
16630 msgid "I</proc/net/snmp> - basic UDP-Litev4 statistics counters."
16631 msgstr ""
16632
16633 #. type: Plain text
16634 #: build/C/man7/udplite.7:132
16635 msgid "I</proc/net/snmp6> - basic UDP-Litev6 statistics counters."
16636 msgstr ""
16637
16638 #. type: Plain text
16639 #: build/C/man7/udplite.7:134
16640 msgid "UDP-Litev4/v6 first appeared in Linux 2.6.20."
16641 msgstr ""
16642
16643 #.  FIXME . remove this section once glibc supports UDP-Lite
16644 #. type: Plain text
16645 #: build/C/man7/udplite.7:137
16646 msgid "Where glibc support is missing, the following definitions are needed:"
16647 msgstr ""
16648
16649 #.  The following two are defined in the kernel in linux/net/udplite.h
16650 #. type: Plain text
16651 #: build/C/man7/udplite.7:144
16652 #, no-wrap
16653 msgid ""
16654 "#define IPPROTO_UDPLITE     136\n"
16655 "#define UDPLITE_SEND_CSCOV  10\n"
16656 "#define UDPLITE_RECV_CSCOV  11\n"
16657 msgstr ""
16658
16659 #. type: Plain text
16660 #: build/C/man7/udplite.7:151
16661 msgid "B<ip>(7), B<ipv6>(7), B<socket>(7), B<udp>(7)"
16662 msgstr ""
16663
16664 #. type: Plain text
16665 #: build/C/man7/udplite.7:153
16666 msgid "RFC\\ 3828 for the Lightweight User Datagram Protocol (UDP-Lite)."
16667 msgstr ""
16668
16669 #. type: Plain text
16670 #: build/C/man7/udplite.7:156
16671 msgid "I<Documentation/networking/udplite.txt> in the Linux kernel source tree"
16672 msgstr ""
16673
16674 #. type: TH
16675 #: build/C/man7/unix.7:18
16676 #, no-wrap
16677 msgid "UNIX"
16678 msgstr ""
16679
16680 #. type: Plain text
16681 #: build/C/man7/unix.7:21
16682 msgid "unix - sockets for local interprocess communication"
16683 msgstr ""
16684
16685 #. type: Plain text
16686 #: build/C/man7/unix.7:25
16687 msgid "B<#include E<lt>sys/un.hE<gt>>"
16688 msgstr ""
16689
16690 #. type: Plain text
16691 #: build/C/man7/unix.7:27
16692 msgid "I<unix_socket>B< = socket(AF_UNIX, type, 0);>"
16693 msgstr ""
16694
16695 #. type: Plain text
16696 #: build/C/man7/unix.7:29
16697 msgid "I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>"
16698 msgstr ""
16699
16700 #. type: Plain text
16701 #: build/C/man7/unix.7:40
16702 msgid ""
16703 "The B<AF_UNIX> (also known as B<AF_LOCAL>)  socket family is used to "
16704 "communicate between processes on the same machine efficiently.  "
16705 "Traditionally, UNIX domain sockets can be either unnamed, or bound to a file "
16706 "system pathname (marked as being of type socket).  Linux also supports an "
16707 "abstract namespace which is independent of the file system."
16708 msgstr ""
16709
16710 #. type: Plain text
16711 #: build/C/man7/unix.7:52
16712 msgid ""
16713 "Valid types are: B<SOCK_STREAM>, for a stream-oriented socket and "
16714 "B<SOCK_DGRAM>, for a datagram-oriented socket that preserves message "
16715 "boundaries (as on most UNIX implementations, UNIX domain datagram sockets "
16716 "are always reliable and don't reorder datagrams); and (since Linux 2.6.4)  "
16717 "B<SOCK_SEQPACKET>, for a connection-oriented socket that preserves message "
16718 "boundaries and delivers messages in the order that they were sent."
16719 msgstr ""
16720
16721 #. type: Plain text
16722 #: build/C/man7/unix.7:55
16723 msgid ""
16724 "UNIX domain sockets support passing file descriptors or process credentials "
16725 "to other processes using ancillary data."
16726 msgstr ""
16727
16728 #. type: Plain text
16729 #: build/C/man7/unix.7:57
16730 msgid "A UNIX domain socket address is represented in the following structure:"
16731 msgstr ""
16732
16733 #. type: Plain text
16734 #: build/C/man7/unix.7:61
16735 #, no-wrap
16736 msgid "#define UNIX_PATH_MAX    108\n"
16737 msgstr ""
16738
16739 #. type: Plain text
16740 #: build/C/man7/unix.7:66
16741 #, no-wrap
16742 msgid ""
16743 "struct sockaddr_un {\n"
16744 "    sa_family_t sun_family;               /* AF_UNIX */\n"
16745 "    char        sun_path[UNIX_PATH_MAX];  /* pathname */\n"
16746 "};\n"
16747 msgstr ""
16748
16749 #. type: Plain text
16750 #: build/C/man7/unix.7:72
16751 msgid "I<sun_family> always contains B<AF_UNIX>."
16752 msgstr ""
16753
16754 #. type: Plain text
16755 #: build/C/man7/unix.7:74
16756 msgid "Three types of address are distinguished in this structure:"
16757 msgstr ""
16758
16759 #. type: Plain text
16760 #: build/C/man7/unix.7:89
16761 msgid ""
16762 "I<pathname>: a UNIX domain socket can be bound to a null-terminated file "
16763 "system pathname using B<bind>(2).  When the address of the socket is "
16764 "returned by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), its "
16765 "length is I<offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1>, "
16766 "and I<sun_path> contains the null-terminated pathname."
16767 msgstr ""
16768
16769 #.  There is quite some variation across implementations: FreeBSD
16770 #.  says the length is 16 bytes, HP-UX 11 says it's zero bytes.
16771 #. type: Plain text
16772 #: build/C/man7/unix.7:109
16773 msgid ""
16774 "I<unnamed>: A stream socket that has not been bound to a pathname using "
16775 "B<bind>(2)  has no name.  Likewise, the two sockets created by "
16776 "B<socketpair>(2)  are unnamed.  When the address of an unnamed socket is "
16777 "returned by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), its "
16778 "length is I<sizeof(sa_family_t)>, and I<sun_path> should not be inspected."
16779 msgstr ""
16780
16781 #. type: Plain text
16782 #: build/C/man7/unix.7:135
16783 msgid ""
16784 "I<abstract>: an abstract socket address is distinguished by the fact that "
16785 "I<sun_path[0]> is a null byte (\\(aq\\e0\\(aq).  The socket's address in "
16786 "this namespace is given by the additional bytes in I<sun_path> that are "
16787 "covered by the specified length of the address structure.  (Null bytes in "
16788 "the name have no special significance.)  The name has no connection with "
16789 "file system pathnames.  When the address of an abstract socket is returned "
16790 "by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), the returned "
16791 "I<addrlen> is greater than I<sizeof(sa_family_t)> (i.e., greater than 2), "
16792 "and the name of the socket is contained in the first I<(addrlen - "
16793 "sizeof(sa_family_t))> bytes of I<sun_path>.  The abstract socket namespace "
16794 "is a nonportable Linux extension."
16795 msgstr ""
16796
16797 #. type: Plain text
16798 #: build/C/man7/unix.7:148
16799 msgid ""
16800 "For historical reasons these socket options are specified with a "
16801 "B<SOL_SOCKET> type even though they are B<AF_UNIX> specific.  They can be "
16802 "set with B<setsockopt>(2)  and read with B<getsockopt>(2)  by specifying "
16803 "B<SOL_SOCKET> as the socket family."
16804 msgstr ""
16805
16806 #. type: TP
16807 #: build/C/man7/unix.7:148
16808 #, no-wrap
16809 msgid "B<SO_PASSCRED>"
16810 msgstr ""
16811
16812 #. type: Plain text
16813 #: build/C/man7/unix.7:155
16814 msgid ""
16815 "Enables the receiving of the credentials of the sending process in an "
16816 "ancillary message.  When this option is set and the socket is not yet "
16817 "connected a unique name in the abstract namespace will be generated "
16818 "automatically.  Expects an integer boolean flag."
16819 msgstr ""
16820
16821 #. type: SS
16822 #: build/C/man7/unix.7:155
16823 #, no-wrap
16824 msgid "Autobind feature"
16825 msgstr ""
16826
16827 #.  i.e. sizeof(short)
16828 #. type: Plain text
16829 #: build/C/man7/unix.7:175
16830 msgid ""
16831 "If a B<bind>(2)  call specifies I<addrlen> as I<sizeof(sa_family_t)>, or the "
16832 "B<SO_PASSCRED> socket option was specified for a socket that was not "
16833 "explicitly bound to an address, then the socket is autobound to an abstract "
16834 "address.  The address consists of a null byte followed by 5 bytes in the "
16835 "character set I<[0-9a-f]>.  Thus, there is a limit of 2^20 autobind "
16836 "addresses.  (From Linux 2.1.15, when the autobind feature was added, 8 bytes "
16837 "were used, and the limit was thus 2^32 autobind addresses.  The change to 5 "
16838 "bytes came in Linux 2.3.15.)"
16839 msgstr ""
16840
16841 #. type: Plain text
16842 #: build/C/man7/unix.7:178
16843 msgid ""
16844 "The following paragraphs describe domain-specific details and unsupported "
16845 "features of the sockets API for UNIX domain sockets on Linux."
16846 msgstr ""
16847
16848 #. type: Plain text
16849 #: build/C/man7/unix.7:186
16850 msgid ""
16851 "UNIX domain sockets do not support the transmission of out-of-band data (the "
16852 "B<MSG_OOB> flag for B<send>(2)  and B<recv>(2))."
16853 msgstr ""
16854
16855 #. type: Plain text
16856 #: build/C/man7/unix.7:191
16857 msgid "The B<send>(2)  B<MSG_MORE> flag is not supported by UNIX domain sockets."
16858 msgstr ""
16859
16860 #. type: Plain text
16861 #: build/C/man7/unix.7:199
16862 msgid ""
16863 "The use of B<MSG_TRUNC> in the I<flags> argument of B<recv>(2)  is not "
16864 "supported by UNIX domain sockets."
16865 msgstr ""
16866
16867 #. type: Plain text
16868 #: build/C/man7/unix.7:211
16869 msgid ""
16870 "The B<SO_SNDBUF> socket option does have an effect for UNIX domain sockets, "
16871 "but the B<SO_RCVBUF> option does not.  For datagram sockets, the "
16872 "B<SO_SNDBUF> value imposes an upper limit on the size of outgoing "
16873 "datagrams.  This limit is calculated as the doubled (see B<socket>(7))  "
16874 "option value less 32 bytes used for overhead."
16875 msgstr ""
16876
16877 #. type: SS
16878 #: build/C/man7/unix.7:211
16879 #, no-wrap
16880 msgid "Ancillary messages"
16881 msgstr ""
16882
16883 #. type: Plain text
16884 #: build/C/man7/unix.7:233
16885 msgid ""
16886 "Ancillary data is sent and received using B<sendmsg>(2)  and B<recvmsg>(2).  "
16887 "For historical reasons the ancillary message types listed below are "
16888 "specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> "
16889 "specific.  To send them set the I<cmsg_level> field of the struct I<cmsghdr> "
16890 "to B<SOL_SOCKET> and the I<cmsg_type> field to the type.  For more "
16891 "information see B<cmsg>(3)."
16892 msgstr ""
16893
16894 #. type: TP
16895 #: build/C/man7/unix.7:233
16896 #, no-wrap
16897 msgid "B<SCM_RIGHTS>"
16898 msgstr ""
16899
16900 #. type: Plain text
16901 #: build/C/man7/unix.7:239
16902 msgid ""
16903 "Send or receive a set of open file descriptors from another process.  The "
16904 "data portion contains an integer array of the file descriptors.  The passed "
16905 "file descriptors behave as though they have been created with B<dup>(2)."
16906 msgstr ""
16907
16908 #. type: TP
16909 #: build/C/man7/unix.7:239
16910 #, no-wrap
16911 msgid "B<SCM_CREDENTIALS>"
16912 msgstr ""
16913
16914 #. type: Plain text
16915 #: build/C/man7/unix.7:249
16916 msgid ""
16917 "Send or receive UNIX credentials.  This can be used for authentication.  The "
16918 "credentials are passed as a I<struct ucred> ancillary message.  Thus "
16919 "structure is defined in I<E<lt>sys/socket.hE<gt>> as follows:"
16920 msgstr ""
16921
16922 #. type: Plain text
16923 #: build/C/man7/unix.7:257
16924 #, no-wrap
16925 msgid ""
16926 "struct ucred {\n"
16927 "    pid_t pid;    /* process ID of the sending process */\n"
16928 "    uid_t uid;    /* user ID of the sending process */\n"
16929 "    gid_t gid;    /* group ID of the sending process */\n"
16930 "};\n"
16931 msgstr ""
16932
16933 #. type: Plain text
16934 #: build/C/man7/unix.7:266
16935 msgid ""
16936 "Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined "
16937 "(before including I<any> header files) in order to obtain the definition of "
16938 "this structure."
16939 msgstr ""
16940
16941 #. type: Plain text
16942 #: build/C/man7/unix.7:282
16943 msgid ""
16944 "The credentials which the sender specifies are checked by the kernel.  A "
16945 "process with effective user ID 0 is allowed to specify values that do not "
16946 "match its own.  The sender must specify its own process ID (unless it has "
16947 "the capability B<CAP_SYS_ADMIN>), its user ID, effective user ID, or saved "
16948 "set-user-ID (unless it has B<CAP_SETUID>), and its group ID, effective group "
16949 "ID, or saved set-group-ID (unless it has B<CAP_SETGID>).  To receive a "
16950 "I<struct ucred> message the B<SO_PASSCRED> option must be enabled on the "
16951 "socket."
16952 msgstr ""
16953
16954 #. type: Plain text
16955 #: build/C/man7/unix.7:293
16956 #, no-wrap
16957 msgid ""
16958 "B<int>I< value>B<;>\n"
16959 "I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
16960 msgstr ""
16961
16962 #. type: Plain text
16963 #: build/C/man7/unix.7:298
16964 msgid "I<ioctl_type> can be:"
16965 msgstr ""
16966
16967 #. type: Plain text
16968 #: build/C/man7/unix.7:325
16969 msgid ""
16970 "The specified local address is already in use or the file system socket "
16971 "object already exists."
16972 msgstr ""
16973
16974 #. type: Plain text
16975 #: build/C/man7/unix.7:331
16976 msgid ""
16977 "The remote address specified by B<connect>(2)  was not a listening socket.  "
16978 "This error can also occur if the target filename is not a socket."
16979 msgstr ""
16980
16981 #. type: TP
16982 #: build/C/man7/unix.7:331
16983 #, no-wrap
16984 msgid "B<ECONNRESET>"
16985 msgstr ""
16986
16987 #. type: Plain text
16988 #: build/C/man7/unix.7:334
16989 msgid "Remote socket was unexpectedly closed."
16990 msgstr ""
16991
16992 #. type: Plain text
16993 #: build/C/man7/unix.7:337
16994 msgid "User memory address was not valid."
16995 msgstr ""
16996
16997 #. type: Plain text
16998 #: build/C/man7/unix.7:346
16999 msgid ""
17000 "Invalid argument passed.  A common cause is that the value B<AF_UNIX> was "
17001 "not specified in the I<sun_type> field of passed addresses, or the socket "
17002 "was in an invalid state for the applied operation."
17003 msgstr ""
17004
17005 #. type: Plain text
17006 #: build/C/man7/unix.7:351
17007 msgid ""
17008 "B<connect>(2)  called on an already connected socket or a target address was "
17009 "specified on a connected socket."
17010 msgstr ""
17011
17012 #. type: Plain text
17013 #: build/C/man7/unix.7:356
17014 msgid ""
17015 "The pathname in the remote address specified to B<connect>(2)  did not "
17016 "exist."
17017 msgstr ""
17018
17019 #. type: TP
17020 #: build/C/man7/unix.7:356
17021 #, no-wrap
17022 msgid "B<ENOMEM>"
17023 msgstr ""
17024
17025 #. type: Plain text
17026 #: build/C/man7/unix.7:362
17027 msgid "Socket operation needs a target address, but the socket is not connected."
17028 msgstr ""
17029
17030 #. type: Plain text
17031 #: build/C/man7/unix.7:366
17032 msgid ""
17033 "Stream operation called on non-stream oriented socket or tried to use the "
17034 "out-of-band data option."
17035 msgstr ""
17036
17037 #. type: Plain text
17038 #: build/C/man7/unix.7:370
17039 msgid "The sender passed invalid credentials in the I<struct ucred>."
17040 msgstr ""
17041
17042 #. type: Plain text
17043 #: build/C/man7/unix.7:382
17044 msgid ""
17045 "Remote socket was closed on a stream socket.  If enabled, a B<SIGPIPE> is "
17046 "sent as well.  This can be avoided by passing the B<MSG_NOSIGNAL> flag to "
17047 "B<sendmsg>(2)  or B<recvmsg>(2)."
17048 msgstr ""
17049
17050 #. type: TP
17051 #: build/C/man7/unix.7:382
17052 #, no-wrap
17053 msgid "B<EPROTONOSUPPORT>"
17054 msgstr ""
17055
17056 #. type: Plain text
17057 #: build/C/man7/unix.7:386
17058 msgid "Passed protocol is not B<AF_UNIX>."
17059 msgstr ""
17060
17061 #. type: TP
17062 #: build/C/man7/unix.7:386
17063 #, no-wrap
17064 msgid "B<EPROTOTYPE>"
17065 msgstr ""
17066
17067 #. type: Plain text
17068 #: build/C/man7/unix.7:392
17069 msgid ""
17070 "Remote socket does not match the local socket type (B<SOCK_DGRAM> versus "
17071 "B<SOCK_STREAM>)"
17072 msgstr ""
17073
17074 #. type: Plain text
17075 #: build/C/man7/unix.7:395
17076 msgid "Unknown socket type."
17077 msgstr ""
17078
17079 #. type: Plain text
17080 #: build/C/man7/unix.7:399
17081 msgid ""
17082 "Other errors can be generated by the generic socket layer or by the file "
17083 "system while generating a file system socket object.  See the appropriate "
17084 "manual pages for more information."
17085 msgstr ""
17086
17087 #. type: Plain text
17088 #: build/C/man7/unix.7:405
17089 msgid ""
17090 "B<SCM_CREDENTIALS> and the abstract namespace were introduced with Linux 2.2 "
17091 "and should not be used in portable programs.  (Some BSD-derived systems also "
17092 "support credential passing, but the implementation details differ.)"
17093 msgstr ""
17094
17095 #. type: Plain text
17096 #: build/C/man7/unix.7:416
17097 msgid ""
17098 "In the Linux implementation, sockets which are visible in the file system "
17099 "honor the permissions of the directory they are in.  Their owner, group and "
17100 "their permissions can be changed.  Creation of a new socket will fail if the "
17101 "process does not have write and search (execute) permission on the directory "
17102 "the socket is created in.  Connecting to the socket object requires "
17103 "read/write permission.  This behavior differs from many BSD-derived systems "
17104 "which ignore permissions for UNIX domain sockets.  Portable programs should "
17105 "not rely on this feature for security."
17106 msgstr ""
17107
17108 #. type: Plain text
17109 #: build/C/man7/unix.7:424
17110 msgid ""
17111 "Binding to a socket with a filename creates a socket in the file system that "
17112 "must be deleted by the caller when it is no longer needed (using "
17113 "B<unlink>(2)).  The usual UNIX close-behind semantics apply; the socket can "
17114 "be unlinked at any time and will be finally removed from the file system "
17115 "when the last reference to it is closed."
17116 msgstr ""
17117
17118 #. type: Plain text
17119 #: build/C/man7/unix.7:433
17120 msgid ""
17121 "To pass file descriptors or credentials over a B<SOCK_STREAM>, you need to "
17122 "send or receive at least one byte of nonancillary data in the same "
17123 "B<sendmsg>(2)  or B<recvmsg>(2)  call."
17124 msgstr ""
17125
17126 #. type: Plain text
17127 #: build/C/man7/unix.7:435
17128 msgid "UNIX domain stream sockets do not support the notion of out-of-band data."
17129 msgstr ""
17130
17131 #. type: Plain text
17132 #: build/C/man7/unix.7:438
17133 msgid "See B<bind>(2)."
17134 msgstr ""
17135
17136 #. type: Plain text
17137 #: build/C/man7/unix.7:443
17138 msgid "For an example of the use of B<SCM_RIGHTS> see B<cmsg>(3)."
17139 msgstr ""
17140
17141 #. type: Plain text
17142 #: build/C/man7/unix.7:452
17143 msgid ""
17144 "B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), "
17145 "B<capabilities>(7), B<credentials>(7), B<socket>(7)"
17146 msgstr ""
17147
17148 #. type: TH
17149 #: build/C/man7/x25.7:12
17150 #, no-wrap
17151 msgid "X25"
17152 msgstr ""
17153
17154 #. type: Plain text
17155 #: build/C/man7/x25.7:15
17156 msgid "x25 - ITU-T X.25 / ISO-8208 protocol interface."
17157 msgstr ""
17158
17159 #. type: Plain text
17160 #: build/C/man7/x25.7:19
17161 msgid "B<#include E<lt>linux/x25.hE<gt>>"
17162 msgstr ""
17163
17164 #. type: Plain text
17165 #: build/C/man7/x25.7:21
17166 msgid "B<x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);>"
17167 msgstr ""
17168
17169 #. type: Plain text
17170 #: build/C/man7/x25.7:30
17171 msgid ""
17172 "X25 sockets provide an interface to the X.25 packet layer protocol.  This "
17173 "allows applications to communicate over a public X.25 data network as "
17174 "standardized by International Telecommunication Union's recommendation X.25 "
17175 "(X.25 DTE-DCE mode).  X25 sockets can also be used for communication without "
17176 "an intermediate X.25 network (X.25 DTE-DTE mode) as described in ISO-8208."
17177 msgstr ""
17178
17179 #. type: Plain text
17180 #: build/C/man7/x25.7:47
17181 msgid ""
17182 "Message boundaries are preserved \\(em a B<read>(2)  from a socket will "
17183 "retrieve the same chunk of data as output with the corresponding B<write>(2)  "
17184 "to the peer socket.  When necessary, the kernel takes care of segmenting and "
17185 "reassembling long messages by means of the X.25 M-bit.  There is no "
17186 "hard-coded upper limit for the message size.  However, reassembling of a "
17187 "long message might fail if there is a temporary lack of system resources or "
17188 "when other constraints (such as socket memory or buffer size limits) become "
17189 "effective.  If that occurs, the X.25 connection will be reset."
17190 msgstr ""
17191
17192 #. type: SS
17193 #: build/C/man7/x25.7:47
17194 #, no-wrap
17195 msgid "Socket addresses"
17196 msgstr ""
17197
17198 #. type: Plain text
17199 #: build/C/man7/x25.7:54
17200 msgid ""
17201 "The B<AF_X25> socket address family uses the I<struct sockaddr_x25> for "
17202 "representing network addresses as defined in ITU-T recommendation X.121."
17203 msgstr ""
17204
17205 #. type: Plain text
17206 #: build/C/man7/x25.7:61
17207 #, no-wrap
17208 msgid ""
17209 "struct sockaddr_x25 {\n"
17210 "    sa_family_t sx25_family;    /* must be AF_X25 */\n"
17211 "    x25_address sx25_addr;      /* X.121 Address */\n"
17212 "};\n"
17213 msgstr ""
17214
17215 #. type: Plain text
17216 #: build/C/man7/x25.7:72
17217 msgid ""
17218 "I<sx25_addr> contains a char array I<x25_addr[]> to be interpreted as a "
17219 "null-terminated string.  I<sx25_addr.x25_addr[]> consists of up to 15 (not "
17220 "counting the terminating 0) ASCII characters forming the X.121 address.  "
17221 "Only the decimal digit characters from \\(aq0\\(aq to \\(aq9\\(aq are "
17222 "allowed."
17223 msgstr ""
17224
17225 #. type: Plain text
17226 #: build/C/man7/x25.7:81
17227 msgid ""
17228 "The following X.25-specific socket options can be set by using "
17229 "B<setsockopt>(2)  and read with B<getsockopt>(2)  with the I<level> argument "
17230 "set to B<SOL_X25>."
17231 msgstr ""
17232
17233 #. type: TP
17234 #: build/C/man7/x25.7:81
17235 #, no-wrap
17236 msgid "B<X25_QBITINCL>"
17237 msgstr ""
17238
17239 #. type: Plain text
17240 #: build/C/man7/x25.7:100
17241 msgid ""
17242 "Controls whether the X.25 Q-bit (Qualified Data Bit) is accessible by the "
17243 "user.  It expects an integer argument.  If set to 0 (default), the Q-bit is "
17244 "never set for outgoing packets and the Q-bit of incoming packets is "
17245 "ignored.  If set to 1, an additional first byte is prepended to each message "
17246 "read from or written to the socket.  For data read from the socket, a 0 "
17247 "first byte indicates that the Q-bits of the corresponding incoming data "
17248 "packets were not set.  A first byte with value 1 indicates that the Q-bit of "
17249 "the corresponding incoming data packets was set.  If the first byte of the "
17250 "data written to the socket is 1 the Q-bit of the corresponding outgoing data "
17251 "packets will be set.  If the first byte is 0 the Q-bit will not be set."
17252 msgstr ""
17253
17254 #. type: Plain text
17255 #: build/C/man7/x25.7:102
17256 msgid "The AF_X25 protocol family is a new feature of Linux 2.2."
17257 msgstr ""
17258
17259 #. type: Plain text
17260 #: build/C/man7/x25.7:105
17261 msgid "Plenty, as the X.25 PLP implementation is B<CONFIG_EXPERIMENTAL>."
17262 msgstr ""
17263
17264 #. type: Plain text
17265 #: build/C/man7/x25.7:107
17266 msgid "This man page is incomplete."
17267 msgstr ""
17268
17269 #. type: Plain text
17270 #: build/C/man7/x25.7:114
17271 msgid ""
17272 "There is no dedicated application programmer's header file yet; you need to "
17273 "include the kernel header file I<E<lt>linux/x25.hE<gt>>.  "
17274 "B<CONFIG_EXPERIMENTAL> might also imply that future versions of the "
17275 "interface are not binary compatible."
17276 msgstr ""
17277
17278 #. type: Plain text
17279 #: build/C/man7/x25.7:118
17280 msgid ""
17281 "X.25 N-Reset events are not propagated to the user process yet.  Thus, if a "
17282 "reset occurred, data might be lost without notice."
17283 msgstr ""
17284
17285 #. type: Plain text
17286 #: build/C/man7/x25.7:121
17287 msgid "B<socket>(2), B<socket>(7)"
17288 msgstr ""
17289
17290 #. type: Plain text
17291 #: build/C/man7/x25.7:127
17292 msgid ""
17293 "Jonathan Simon Naylor: \\(lqThe Re-Analysis and Re-Implementation of "
17294 "X.25.\\(rq The URL is E<.UR "
17295 "ftp://ftp.pspt.fi\\:/pub\\:/ham\\:/linux\\:/ax25\\:/x25doc.tgz> E<.UE .>"
17296 msgstr ""