summaryrefslogtreecommitdiffstats
path: root/po/fr/man3/getaddrinfo.3.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/fr/man3/getaddrinfo.3.po
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/fr/man3/getaddrinfo.3.po')
-rw-r--r--po/fr/man3/getaddrinfo.3.po2132
1 files changed, 2132 insertions, 0 deletions
diff --git a/po/fr/man3/getaddrinfo.3.po b/po/fr/man3/getaddrinfo.3.po
new file mode 100644
index 00000000..fb0e689f
--- /dev/null
+++ b/po/fr/man3/getaddrinfo.3.po
@@ -0,0 +1,2132 @@
+# French translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Christophe Blaess <https://www.blaess.fr/christophe/>, 1996-2003.
+# Stéphan Rafin <stephan.rafin@laposte.net>, 2002.
+# Thierry Vignaud <tvignaud@mandriva.com>, 1999, 2002.
+# François Micaux, 2002.
+# Alain Portal <aportal@univ-montp2.fr>, 2003-2008.
+# Jean-Philippe Guérard <fevrier@tigreraye.org>, 2005-2006.
+# Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, 2006-2007.
+# Julien Cristau <jcristau@debian.org>, 2006-2007.
+# Thomas Huriaux <thomas.huriaux@gmail.com>, 2006-2008.
+# Nicolas François <nicolas.francois@centraliens.net>, 2006-2008.
+# Florentin Duneau <fduneau@gmail.com>, 2006-2010.
+# Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, 2006, 2013-2014.
+# Denis Barbier <barbier@debian.org>, 2006, 2010.
+# David Prévot <david@tilapin.org>, 2010-2014.
+# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2023-2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n 4.21.0\n"
+"POT-Creation-Date: 2024-03-01 16:56+0100\n"
+"PO-Revision-Date: 2024-03-05 14:06+0100\n"
+"Last-Translator: Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Lokalize 22.12.3\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "getaddrinfo"
+msgstr "getaddrinfo"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 octobre 2023"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Pages du manuel de Linux 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "NOM"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"getaddrinfo, freeaddrinfo, gai_strerror - network address and service "
+"translation"
+msgstr ""
+"getaddrinfo, freeaddrinfo, gai_strerror - Traduction d'adresses et de "
+"services réseau"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr "BIBLIOTHÈQUE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr "Bibliothèque C standard (I<libc>, I<-lc>)"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "SYNOPSIS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>netdb.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>netdb.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<int getaddrinfo(const char *restrict >I<node>B<,>\n"
+"B< const char *restrict >I<service>B<,>\n"
+"B< const struct addrinfo *restrict >I<hints>B<,>\n"
+"B< struct addrinfo **restrict >I<res>B<);>\n"
+msgstr ""
+"B<int getaddrinfo(const char *restrict >I<node>B<,>\n"
+"B< const char *restrict >I<service>B<,>\n"
+"B< const struct addrinfo *restrict >I<hints>B<,>\n"
+"B< struct addrinfo **restrict >I<res>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n"
+msgstr "B<void freeaddrinfo(struct addrinfo *>I<res>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<const char *gai_strerror(int >I<errcode>B<);>\n"
+msgstr "B<const char *gai_strerror(int >I<errcode>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr ""
+"Exigences de macros de test de fonctionnalités pour la glibc (consulter "
+"B<feature_test_macros>(7)) :"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():"
+msgstr "B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>() :"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+" Since glibc 2.22:\n"
+" _POSIX_C_SOURCE E<gt>= 200112L\n"
+" glibc 2.21 and earlier:\n"
+" _POSIX_C_SOURCE\n"
+msgstr ""
+" Avant la glibc 2.22 :\n"
+" _POSIX_C_SOURCE E<gt>= 200112L\n"
+" glibc 2.21 et antérieures :\n"
+" _POSIX_C_SOURCE\n"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIPTION"
+
+#. .BR getipnodebyname (3),
+#. .BR getipnodebyaddr (3),
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Given I<node> and I<service>, which identify an Internet host and a service, "
+"B<getaddrinfo>() returns one or more I<addrinfo> structures, each of which "
+"contains an Internet address that can be specified in a call to B<bind>(2) "
+"or B<connect>(2). The B<getaddrinfo>() function combines the functionality "
+"provided by the B<gethostbyname>(3) and B<getservbyname>(3) functions into "
+"a single interface, but unlike the latter functions, B<getaddrinfo>() is "
+"reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies."
+msgstr ""
+"Étant donnés I<node> et I<service>, qui identifient un hôte Internet et un "
+"service, B<getaddrinfo>() renvoie une ou plusieurs structure I<addrinfo>, "
+"chacune d'entre elles contenant une adresse Internet qui puisse être "
+"indiquée dans un appel à B<bind>(2) ou B<connect>(2). La fonction "
+"B<getaddrinfo>() combine la fonctionnalité fournie par les fonctions "
+"B<gethostbyname>(3) et B<getservbyname>(3) en une interface unique, mais à "
+"l'inverse de ces fonctions, B<getaddrinfo>() est réentrante et permet aux "
+"programmes d'éliminer la dépendance envers IPv4 ou IPv6."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<addrinfo> structure used by B<getaddrinfo>() contains the following "
+"fields:"
+msgstr ""
+"La structure I<addrinfo> utilisée par B<getaddrinfo>() contient les membres "
+"suivants\\ :"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct addrinfo {\n"
+" int ai_flags;\n"
+" int ai_family;\n"
+" int ai_socktype;\n"
+" int ai_protocol;\n"
+" socklen_t ai_addrlen;\n"
+" struct sockaddr *ai_addr;\n"
+" char *ai_canonname;\n"
+" struct addrinfo *ai_next;\n"
+"};\n"
+msgstr ""
+"struct addrinfo {\n"
+" int ai_flags;\n"
+" int ai_family;\n"
+" int ai_socktype;\n"
+" int ai_protocol;\n"
+" socklen_t ai_addrlen;\n"
+" struct sockaddr *ai_addr;\n"
+" char *ai_canonname;\n"
+" struct addrinfo *ai_next;\n"
+"};\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<hints> argument points to an I<addrinfo> structure that specifies "
+"criteria for selecting the socket address structures returned in the list "
+"pointed to by I<res>. If I<hints> is not NULL it points to an I<addrinfo> "
+"structure whose I<ai_family>, I<ai_socktype>, and I<ai_protocol> specify "
+"criteria that limit the set of socket addresses returned by "
+"B<getaddrinfo>(), as follows:"
+msgstr ""
+"Le paramètre I<hints> pointe sur une structure I<addrinfo> qui indique les "
+"critères de sélection des structures d'adresses de sockets renvoyées dans la "
+"liste pointée par I<res>. Si I<hints> n'est pas NULL, il doit pointer sur "
+"une structure I<addrinfo> dont les membres I<ai_family>, I<ai_socktype>, et "
+"I<ai_protocol> indiquent les critères limitant l'ensemble d'adresses de "
+"sockets renvoyées par B<getaddrinfo>(), de la façon suivante :"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<ai_family>"
+msgstr "I<ai_family>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This field specifies the desired address family for the returned addresses. "
+"Valid values for this field include B<AF_INET> and B<AF_INET6>. The value "
+"B<AF_UNSPEC> indicates that B<getaddrinfo>() should return socket addresses "
+"for any address family (either IPv4 or IPv6, for example) that can be used "
+"with I<node> and I<service>."
+msgstr ""
+"Ce champ indique la famille d'adresse désirée des adresses renvoyées. "
+"B<AF_INET> et B<AF_INET6> font partie des valeurs valables pour ce champ. La "
+"valeur B<AF_UNSPEC> indique que B<getaddrinfo>() doit renvoyer les adresses "
+"de socket de n'importe quelle famille d'adresses (par exemple, IPv4 ou IPv6) "
+"pouvant être utilisées avec I<node> et I<service>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<ai_socktype>"
+msgstr "I<ai_socktype>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This field specifies the preferred socket type, for example B<SOCK_STREAM> "
+"or B<SOCK_DGRAM>. Specifying 0 in this field indicates that socket "
+"addresses of any type can be returned by B<getaddrinfo>()."
+msgstr ""
+"Ce champ indique le type préféré de socket, par exemple B<SOCK_STREAM> ou "
+"B<SOCK_DGRAM>. Mettre 0 dans ce champ indique que B<getaddrinfo>() peut "
+"renvoyer n'importe quel type d'adresse de socket."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<ai_protocol>"
+msgstr "I<ai_protocol>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This field specifies the protocol for the returned socket addresses. "
+"Specifying 0 in this field indicates that socket addresses with any protocol "
+"can be returned by B<getaddrinfo>()."
+msgstr ""
+"Ce champ indique le protocole des adresses de socket renvoyées. Mettre 0 "
+"dans ce champ indique que B<getaddrinfo>() peut renvoyer des adresses de "
+"socket de n'importe quel type."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "I<ai_flags>"
+msgstr "I<ai_flags>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This field specifies additional options, described below. Multiple flags "
+"are specified by bitwise OR-ing them together."
+msgstr ""
+"Ce champ indique des options supplémentaires, décrites ci-dessous. Plusieurs "
+"attributs peuvent être indiqués en les groupant par un OU binaire."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"All the other fields in the structure pointed to by I<hints> must contain "
+"either 0 or a null pointer, as appropriate."
+msgstr ""
+"Tous les autres membres de la structure pointée par I<hints> doivent "
+"contenir 0 ou être des pointeurs NULL."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Specifying I<hints> as NULL is equivalent to setting I<ai_socktype> and "
+"I<ai_protocol> to 0; I<ai_family> to B<AF_UNSPEC>; and I<ai_flags> to "
+"B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>. (POSIX specifies different defaults "
+"for I<ai_flags>; see NOTES.) I<node> specifies either a numerical network "
+"address (for IPv4, numbers-and-dots notation as supported by "
+"B<inet_aton>(3); for IPv6, hexadecimal string format as supported by "
+"B<inet_pton>(3)), or a network hostname, whose network addresses are looked "
+"up and resolved. If I<hints.ai_flags> contains the B<AI_NUMERICHOST> flag, "
+"then I<node> must be a numerical network address. The B<AI_NUMERICHOST> "
+"flag suppresses any potentially lengthy network host address lookups."
+msgstr ""
+"Spécifier I<hints> à NULL est équivalent à définir I<ai_socktype> et "
+"I<ai_protocol> à 0, I<ai_family> à B<AF_UNSPEC> et I<ai_flags> à "
+"B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)>. (POSIX spécifie d'autres valeurs par "
+"défaut pour I<ai_flags> ; consultez les NOTES.) I<node> indique soit une "
+"adresse réseau en format numérique (décimal pointé pour l'IPv4, comme prise "
+"en charge par B<inet_aton>(3) ; hexadécimal pour l'IPv6, comme prise en "
+"charge par B<inet_pton>(3)), soit un nom d'hôte, dont l'adresse réseau est "
+"alors résolue. Si le membre I<hints.ai_flags> contient l'attribut "
+"B<AI_NUMERICHOST> alors I<node> devra être une adresse réseau numérique. "
+"L'attribut B<AI_NUMERICHOST> empêche toute tentative, éventuellement longue, "
+"de résolution de nom d'hôte."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the B<AI_PASSIVE> flag is specified in I<hints.ai_flags>, and I<node> is "
+"NULL, then the returned socket addresses will be suitable for B<bind>(2)ing "
+"a socket that will B<accept>(2) connections. The returned socket address "
+"will contain the \"wildcard address\" (B<INADDR_ANY> for IPv4 addresses, "
+"B<IN6ADDR_ANY_INIT> for IPv6 address). The wildcard address is used by "
+"applications (typically servers) that intend to accept connections on any "
+"of the host's network addresses. If I<node> is not NULL, then the "
+"B<AI_PASSIVE> flag is ignored."
+msgstr ""
+"Si l'attribut B<AI_PASSIVE> est indiqué dans I<hints.ai_flags>, et si "
+"I<node> est NULL, les adresses de socket renvoyées seront pertinentes pour "
+"lier (B<bind>(2)) un socket qui acceptera (B<accept>(2)) les connexions. Les "
+"adresses de socket renvoyées contiendront l'« adresse joker » (wildcard "
+"adress) (B<INADDR_ANY> pour les adresses IPv4, B<IN6ADDR_ANY_INIT> pour les "
+"adresses IPv6). L'« adresse joker » est utilisée par des applications "
+"(typiquement des serveurs) qui ont l'intention d'accepter des connexions de "
+"n'importe quel hôte. Si I<node> n'est pas NULL, l'attribut B<AI_PASSIVE> est "
+"ignoré."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the B<AI_PASSIVE> flag is not set in I<hints.ai_flags>, then the returned "
+"socket addresses will be suitable for use with B<connect>(2), B<sendto>(2), "
+"or B<sendmsg>(2). If I<node> is NULL, then the network address will be set "
+"to the loopback interface address (B<INADDR_LOOPBACK> for IPv4 addresses, "
+"B<IN6ADDR_LOOPBACK_INIT> for IPv6 address); this is used by applications "
+"that intend to communicate with peers running on the same host."
+msgstr ""
+"Si l'attribut B<AI_PASSIVE> n'est pas positionné dans I<hints.ai_flags>, les "
+"adresses de socket renvoyées seront pertinentes pour être utilisées avec "
+"B<connect>(2), B<sendto>(2) ou B<sendmsg>(2). Si I<node> est NULL, l'adresse "
+"réseau sera définie avec l'adresse de l'interface de boucle (loopback) "
+"(B<INADDR_LOOPBACK> pour les adresses IPv4, B<IN6ADDR_LOOPBACK_INIT> pour "
+"les adresses IPv6) ; cela est utilisé par les applications qui doivent "
+"communiquer avec des correspondants s'exécutant sur la même machine."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<service> sets the port in each returned address structure. If this "
+"argument is a service name (see B<services>(5)), it is translated to the "
+"corresponding port number. This argument can also be specified as a decimal "
+"number, which is simply converted to binary. If I<service> is NULL, then "
+"the port number of the returned socket addresses will be left "
+"uninitialized. If B<AI_NUMERICSERV> is specified in I<hints.ai_flags> and "
+"I<service> is not NULL, then I<service> must point to a string containing a "
+"numeric port number. This flag is used to inhibit the invocation of a name "
+"resolution service in cases where it is known not to be required."
+msgstr ""
+"I<service> définit le port dans chacune des structures d'adresses renvoyées. "
+"Si cet argument est un nom de service (consultez B<services>(5)), il est "
+"convertit en son numéro de port correspondant. Cet argument peut également "
+"être indiqué sous forme décimale, qui est simplement converti en binaire. Si "
+"I<service> est NULL, le numéro de port des adresses de socket renvoyées "
+"n'est pas initialisé. Si B<AI_NUMERICSERV> est indiqué dans I<hints."
+"ai_flags> et si I<service> n'est pas NULL, I<service> doit pointer vers une "
+"chaîne contenant une valeur numérique de port. Cet attribut est utilisé pour "
+"inhiber l'invocation du service de résolution des noms dans les cas où l'on "
+"sait qu'il n'est pas nécessaire."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Either I<node> or I<service>, but not both, may be NULL."
+msgstr "I<node> ou I<service> peuvent être NULL, mais pas les deux à la fois."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<getaddrinfo>() function allocates and initializes a linked list of "
+"I<addrinfo> structures, one for each network address that matches I<node> "
+"and I<service>, subject to any restrictions imposed by I<hints>, and returns "
+"a pointer to the start of the list in I<res>. The items in the linked list "
+"are linked by the I<ai_next> field."
+msgstr ""
+"La fonction B<getaddrinfo>() alloue et initialise une liste chaînée de "
+"structures I<addrinfo>, une pour chaque adresse réseau correspondant à "
+"I<node> et I<service>, soumise aux restrictions imposées par l'argument "
+"I<hints>, et renvoie dans I<res> un pointeur sur le début de la liste. Les "
+"éléments de la liste sont chaînés par le champ I<ai_next>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"There are several reasons why the linked list may have more than one "
+"I<addrinfo> structure, including: the network host is multihomed, accessible "
+"over multiple protocols (e.g., both B<AF_INET> and B<AF_INET6>); or the same "
+"service is available from multiple socket types (one B<SOCK_STREAM> address "
+"and another B<SOCK_DGRAM> address, for example). Normally, the application "
+"should try using the addresses in the order in which they are returned. The "
+"sorting function used within B<getaddrinfo>() is defined in RFC\\ 3484; the "
+"order can be tweaked for a particular system by editing I</etc/gai.conf> "
+"(available since glibc 2.5)."
+msgstr ""
+"Il y a plusieurs raisons pour lesquelles la liste chaînée peut avoir plus "
+"d'une structure I<addrinfo>\\ : l'hôte réseau est « multihomed » ; le même "
+"service est accessible depuis plusieurs protocoles (par exemple B<AF_INET> "
+"et B<AF_INET6>) ou accessible depuis plusieurs types de socket (par exemple "
+"une adresse de type B<SOCK_STREAM> et une autre de type B<SOCK_DGRAM>). "
+"Normalement, l'application essaie d'utiliser les adresses dans l'ordre où "
+"elles sont renvoyées. La fonction de tri utilisée dans B<getaddrinfo>() est "
+"définie dans la RFC\\ 3484\\ ; le tri peut être configuré pour un système "
+"particulier avec le fichier I</etc/gai.conf> (disponible depuis la glibc\\ "
+"2.5)."
+
+#. Prior to glibc 2.3.4, the ai_canonname of each addrinfo
+#. structure was set pointing to the canonical name; that was
+#. more than POSIX.1-2001 specified, or other implementations provided.
+#. MTK, Aug 05
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<hints.ai_flags> includes the B<AI_CANONNAME> flag, then the "
+"I<ai_canonname> field of the first of the I<addrinfo> structures in the "
+"returned list is set to point to the official name of the host."
+msgstr ""
+"Si I<hints.ai_flags> contient l'attribut B<AI_CANONNAME>, le champ "
+"I<ai_canonname> de la première structure I<addrinfo> de la liste renvoyée "
+"est défini pour pointer vers le nom officiel de l'hôte."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The remaining fields of each returned I<addrinfo> structure are initialized "
+"as follows:"
+msgstr ""
+"Les champs restants de chaque structure I<addrinfo> renvoyée sont "
+"initialisés de la façon suivante :"
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "\\[bu]"
+msgstr "-"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<ai_family>, I<ai_socktype>, and I<ai_protocol> fields return the "
+"socket creation parameters (i.e., these fields have the same meaning as the "
+"corresponding arguments of B<socket>(2)). For example, I<ai_family> might "
+"return B<AF_INET> or B<AF_INET6>; I<ai_socktype> might return B<SOCK_DGRAM> "
+"or B<SOCK_STREAM>; and I<ai_protocol> returns the protocol for the socket."
+msgstr ""
+"Les champs I<ai_family>, I<ai_socktype> et I<ai_protocol> renvoient les "
+"paramètres de création de la socket (c'est-à-dire que ces champs ont la même "
+"signification que les paramètres correspondants de B<socket>(2)). Par "
+"exemple, I<ai_family> pourrait renvoyer B<AF_INET> ou B<AF_INET6> ; "
+"I<ai_socktype> pourrait renvoyer B<SOCK_DGRAM> ou B<SOCK_STREAM> ; et "
+"I<ai_protocol> renvoie le protocole de la socket."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A pointer to the socket address is placed in the I<ai_addr> field, and the "
+"length of the socket address, in bytes, is placed in the I<ai_addrlen> field."
+msgstr ""
+"Un pointeur vers l'adresse de la socket est placé dans le champ I<ai_addr>, "
+"et la longueur de l'adresse de la socket, en octets, est inscrite dans le "
+"champ I<ai_addrlen> de la structure."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<hints.ai_flags> includes the B<AI_ADDRCONFIG> flag, then IPv4 addresses "
+"are returned in the list pointed to by I<res> only if the local system has "
+"at least one IPv4 address configured, and IPv6 addresses are returned only "
+"if the local system has at least one IPv6 address configured. The loopback "
+"address is not considered for this case as valid as a configured address. "
+"This flag is useful on, for example, IPv4-only systems, to ensure that "
+"B<getaddrinfo>() does not return IPv6 socket addresses that would always "
+"fail in B<connect>(2) or B<bind>(2)."
+msgstr ""
+"Si I<hints.ai_flags> inclut l'attribut B<AI_ADDRCONFIG>, alors des adresses "
+"IPv4 sont renvoyées dans la liste pointée par I<res> seulement si le système "
+"local possède au moins une adresse IPv4 configurée. Des adresses IPv6 sont "
+"seulement renvoyées si le système local possède au moins une adresse IPv6 "
+"configurée. Dans ce cas, l'adresse de boucle n'est pas considérée comme une "
+"adresse configurée valable. Cet attribut est par exemple utile sur les "
+"systèmes uniquement en IPv4, pour s’assurer que B<getaddrinfo>() ne renvoie "
+"pas d’adresse de socket IPv6 qui échouerait toujours dans B<connect>(2) ou "
+"B<bind>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<hints.ai_flags> specifies the B<AI_V4MAPPED> flag, and I<hints."
+"ai_family> was specified as B<AF_INET6>, and no matching IPv6 addresses "
+"could be found, then return IPv4-mapped IPv6 addresses in the list pointed "
+"to by I<res>. If both B<AI_V4MAPPED> and B<AI_ALL> are specified in I<hints."
+"ai_flags>, then return both IPv6 and IPv4-mapped IPv6 addresses in the list "
+"pointed to by I<res>. B<AI_ALL> is ignored if B<AI_V4MAPPED> is not also "
+"specified."
+msgstr ""
+"Si I<hints.ai_flags> indique le drapeau B<AI_V4MAPPED>, et si I<hints."
+"ai_family> a été indiqué avec B<AF_INET6> et qu'aucune adresse IPv6 "
+"correspondante n'a pu être trouvée, alors des adresses IPv4 au format IPv6 "
+"sont renvoyées dans la liste pointée par I<res>. Si B<AI_V4MAPPED> et "
+"B<AI_ALL> sont indiqués dans I<hints.ai_flags>, des adresses IPv6 et des "
+"adresses IPv4 au format IPv6 sont renvoyées dans la liste pointée par "
+"I<res>. B<AI_ALL> est ignoré si B<AI_V4MAPPED> n'est pas aussi indiqué."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<freeaddrinfo>() function frees the memory that was allocated for the "
+"dynamically allocated linked list I<res>."
+msgstr ""
+"La fonction B<freeaddrinfo>() libère la mémoire qui a été allouée "
+"dynamiquement pour la liste chaînée I<res>."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Extensions to getaddrinfo() for Internationalized Domain Names"
+msgstr "Extensions de getaddrinfo() pour les noms de domaines internationalisés"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Starting with glibc 2.3.4, B<getaddrinfo>() has been extended to "
+"selectively allow the incoming and outgoing hostnames to be transparently "
+"converted to and from the Internationalized Domain Name (IDN) format (see "
+"RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>). Four "
+"new flags are defined:"
+msgstr ""
+"Depuis la glibc\\ 2.3.4, B<getaddrinfo>() a été modifié pour sélectivement "
+"permettre que les noms d'hôtes entrant et sortant soient convertis vers ou "
+"depuis le format des noms de domaines internationalisés (IDN). Consultez la "
+"RFC\\ 3490, I<Internationalizing Domain Names in Applications (IDNA)>. "
+"Quatre nouveaux attributs ont été ajoutés\\ :"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_IDN>"
+msgstr "B<AI_IDN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If this flag is specified, then the node name given in I<node> is converted "
+"to IDN format if necessary. The source encoding is that of the current "
+"locale."
+msgstr ""
+"Si cet attribut est défini, alors le nom du nœud contenu dans I<node> est "
+"converti dans le format IDN si nécessaire. Le format d'encodage choisi est "
+"celui de la locale du système."
+
+#. Implementation Detail:
+#. To minimize effects on system performance the implementation might
+#. want to check whether the input string contains any non-ASCII
+#. characters. If there are none the IDN step can be skipped completely.
+#. On systems which allow not-ASCII safe encodings for a locale this
+#. might be a problem.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the input name contains non-ASCII characters, then the IDN encoding is "
+"used. Those parts of the node name (delimited by dots) that contain non-"
+"ASCII characters are encoded using ASCII Compatible Encoding (ACE) before "
+"being passed to the name resolution functions."
+msgstr ""
+"Si le nom du nœud contient des caractères non ASCII, alors le format IDN est "
+"utilisé. Ces parties du nom du nœud (séparées par des points) qui "
+"contiennent des caractères non ASCI sont encodées avec «\\ ASCII Compatible "
+"Encoding (ACE)\\ » avant d'être transférées aux fonctions de résolution de "
+"noms."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_CANONIDN>"
+msgstr "B<AI_CANONIDN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"After a successful name lookup, and if the B<AI_CANONNAME> flag was "
+"specified, B<getaddrinfo>() will return the canonical name of the node "
+"corresponding to the I<addrinfo> structure value passed back. The return "
+"value is an exact copy of the value returned by the name resolution function."
+msgstr ""
+"À la suite d'une résolution de nom réussie et si B<AI_CANONNAME> a été "
+"indiqué, B<getaddrinfo>() retournera le nom canonique du nœud correspondant "
+"à la valeur de la structure I<addrinfo> passée. La valeur renvoyée est une "
+"copie exacte de la valeur retournée par la fonction de résolution de noms."
+
+#
+#. Implementation Detail:
+#. If no component of the returned name starts with xn\-\- the IDN
+#. step can be skipped, therefore avoiding unnecessary slowdowns.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the name is encoded using ACE, then it will contain the I<xn--> prefix "
+"for one or more components of the name. To convert these components into a "
+"readable form the B<AI_CANONIDN> flag can be passed in addition to "
+"B<AI_CANONNAME>. The resulting string is encoded using the current locale's "
+"encoding."
+msgstr ""
+"Si le nom est encodé avec ACE, alors une ou plusieurs composantes de son nom "
+"sont préfixées par I<xn-->. Pour convertir ces composantes dans un format "
+"lisible, l'attribut B<AI_CANONIDN> peut être utilisé en plus de "
+"B<AI_CANONNAME>. La chaîne résultante est encodée selon la locale du système."
+
+#. type: TP
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "B<AI_IDN_ALLOW_UNASSIGNED>"
+msgstr "B<AI_IDN_ALLOW_UNASSIGNED>"
+
+#. type: TQ
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "B<AI_IDN_USE_STD3_ASCII_RULES>"
+msgstr "B<AI_IDN_USE_STD3_ASCII_RULES>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Setting these flags will enable the IDNA_ALLOW_UNASSIGNED (allow unassigned "
+"Unicode code points) and IDNA_USE_STD3_ASCII_RULES (check output to make "
+"sure it is a STD3 conforming hostname) flags respectively to be used in the "
+"IDNA handling."
+msgstr ""
+"Utiliser ces attributs permet d'activer respectivement les attributs «\\ "
+"IDNA_ALLOW_UNASSIGNED\\ » (permettre des caractères Unicode non assignés) et "
+"«\\ IDNA_USE_STD3_ASCII_RULES\\ » (vérifier la sortie pour être sûr que le "
+"nom d'hôte est conforme à STD3) utilisés dans la gestion de l'IDNA."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr "VALEUR RENVOYÉE"
+
+#. FIXME glibc defines the following additional errors, some which
+#. can probably be returned by getaddrinfo(); they need to
+#. be documented.
+#. #ifdef __USE_GNU
+#. #define EAI_INPROGRESS -100 /* Processing request in progress. */
+#. #define EAI_CANCELED -101 /* Request canceled. */
+#. #define EAI_NOTCANCELED -102 /* Request not canceled. */
+#. #define EAI_ALLDONE -103 /* All requests done. */
+#. #define EAI_INTR -104 /* Interrupted by a signal. */
+#. #define EAI_IDN_ENCODE -105 /* IDN encoding failed. */
+#. #endif
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<getaddrinfo>() returns 0 if it succeeds, or one of the following nonzero "
+"error codes:"
+msgstr ""
+"B<getaddrinfo>() renvoie B<0> si elle réussit, ou l'un des codes d'erreur "
+"différent de suivants\\ :"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_ADDRFAMILY>"
+msgstr "B<EAI_ADDRFAMILY>"
+
+#. Not in SUSv3
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The specified network host does not have any network addresses in the "
+"requested address family."
+msgstr "L'hôte indiqué n'a pas d'adresse dans la famille réseau demandée."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_AGAIN>"
+msgstr "B<EAI_AGAIN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The name server returned a temporary failure indication. Try again later."
+msgstr ""
+"Le serveur de noms a renvoyé une erreur temporaire. Réessayez plus tard."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_BADFLAGS>"
+msgstr "B<EAI_BADFLAGS>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<hints.ai_flags> contains invalid flags; or, I<hints.ai_flags> included "
+"B<AI_CANONNAME> and I<name> was NULL."
+msgstr ""
+"I<hints.ai_flags> contient des drapeaux incorrects ; ou I<hints.ai_flags> "
+"inclut B<AI_CANONNAME> et I<name> est NULL."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_FAIL>"
+msgstr "B<EAI_FAIL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The name server returned a permanent failure indication."
+msgstr "Le serveur de noms a renvoyé une erreur définitive."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_FAMILY>"
+msgstr "B<EAI_FAMILY>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The requested address family is not supported."
+msgstr "La famille d'adresse réclamée n'est pas supportée."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_MEMORY>"
+msgstr "B<EAI_MEMORY>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Out of memory."
+msgstr "Plus assez de mémoire."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_NODATA>"
+msgstr "B<EAI_NODATA>"
+
+#. Not in SUSv3
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The specified network host exists, but does not have any network addresses "
+"defined."
+msgstr "L'hôte existe mais n'a pas d'adresse réseau définie."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_NONAME>"
+msgstr "B<EAI_NONAME>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<node> or I<service> is not known; or both I<node> and I<service> are "
+"NULL; or B<AI_NUMERICSERV> was specified in I<hints.ai_flags> and I<service> "
+"was not a numeric port-number string."
+msgstr ""
+"I<node> ou I<service> sont inconnus ou ils sont tous les deux NULL\\ ; ou "
+"B<AI_NUMERICSERV> a été indiqué dans I<hints.ai_flags> mais I<service> n'est "
+"pas un numéro de port."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_SERVICE>"
+msgstr "B<EAI_SERVICE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The requested service is not available for the requested socket type. It "
+"may be available through another socket type. For example, this error could "
+"occur if I<service> was \"shell\" (a service available only on stream "
+"sockets), and either I<hints.ai_protocol> was B<IPPROTO_UDP>, or I<hints."
+"ai_socktype> was B<SOCK_DGRAM>; or the error could occur if I<service> was "
+"not NULL, and I<hints.ai_socktype> was B<SOCK_RAW> (a socket type that does "
+"not support the concept of services)."
+msgstr ""
+"Le service demandé n'est pas disponible pour le type de socket demandé. Il "
+"est probablement disponible avec un autre type de socket. Par exemple, cette "
+"erreur peut se produire si I<service> est «\\ shell\\ » (un service "
+"uniquement disponible avec les sockets de type flux), et soit si I<hints."
+"ai_protocol> est égal à B<IPPROTO_UDP> ou soit si I<hints.ai_socktype> est "
+"égal à B<SOCK_DGRAM>. L'erreur peut aussi se produire si I<service> est non "
+"NULL et I<hints.ai_socktype> est égal à B<SOCK_RAW> (un type de socket qui "
+"ne gère pas le concept de service)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_SOCKTYPE>"
+msgstr "B<EAI_SOCKTYPE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The requested socket type is not supported. This could occur, for example, "
+"if I<hints.ai_socktype> and I<hints.ai_protocol> are inconsistent (e.g., "
+"B<SOCK_DGRAM> and B<IPPROTO_TCP>, respectively)."
+msgstr ""
+"Le type de socket demandé n'est pas géré. Cela peut se produire, par exemple "
+"si I<hints.ai_socktype> et I<hints.ai_protocol> sont inconsistants (par "
+"exemple, B<SOCK_DGRAM> et B<IPPROTO_TCP>, respectivement)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EAI_SYSTEM>"
+msgstr "B<EAI_SYSTEM>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Other system error; I<errno> is set to indicate the error."
+msgstr ""
+"Autre erreur système, la valeur de retour est B<-1> et I<errno> est défini "
+"pour indiquer l'erreur."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<gai_strerror>() function translates these error codes to a human "
+"readable string, suitable for error reporting."
+msgstr ""
+"La fonction B<gai_strerror>() traduit ces codes d'erreur en une chaîne de "
+"caractères compréhensible, utilisable pour rendre compte du problème."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "FILES"
+msgstr "FICHIERS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "I</etc/gai.conf>"
+msgstr "I</etc/gai.conf>"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "ATTRIBUTS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr ""
+"Pour une explication des termes utilisés dans cette section, consulter "
+"B<attributes>(7)."
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr "Interface"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr "Attribut"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr "Valeur"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ".na\n"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ".nh\n"
+
+#. #-#-#-#-# archlinux: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# debian-bookworm: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: tbl table
+#. #-#-#-#-# debian-unstable: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-40: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-rawhide: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# mageia-cauldron: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-leap-15-6: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-tumbleweed: getaddrinfo.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<getaddrinfo>()"
+msgstr "B<getaddrinfo>()"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr "Sécurité des threads"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe env locale"
+msgstr "MT-Safe env locale"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<freeaddrinfo>(),\n"
+"B<gai_strerror>()"
+msgstr ""
+"B<freeaddrinfo>(),\n"
+"B<gai_strerror>()"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe"
+msgstr "MT-Safe"
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "VERSIONS"
+
+#. POSIX.1-2001, POSIX.1-2008
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"According to POSIX.1, specifying I<hints> as NULL should cause I<ai_flags> "
+"to be assumed as 0. The GNU C library instead assumes a value of "
+"B<(AI_V4MAPPED\\~|\\~AI_ADDRCONFIG)> for this case, since this value is "
+"considered an improvement on the specification."
+msgstr ""
+"Selon POSIX.1, définir I<hints> comme NULL devrait supposer que I<ai_flags> "
+"soit égal à B<0>. La bibliothèque C de GNU suppose à la place que "
+"I<ai_flags> est égal à B<(AI_V4MAPPED\\ |\\ AI_ADDRCONFIG)> dans ce cas, "
+"puisque cette valeur est considérée comme une amélioration de la "
+"spécification."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "STANDARDS"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr "POSIX.1-2008."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "RFC\\ 2553."
+msgstr "RFC\\ 2553."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "HISTORIQUE"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001."
+msgstr "POSIX.1-2001."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_ADDRCONFIG>"
+msgstr "B<AI_ADDRCONFIG>"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_ALL>"
+msgstr "B<AI_ALL>"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_V4MAPPED>"
+msgstr "B<AI_V4MAPPED>"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.3.3."
+msgstr "glibc 2.3.3."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_NUMERICSERV>"
+msgstr "B<AI_NUMERICSERV>"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.3.4."
+msgstr "glibc 2.3.4."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr "NOTES"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<getaddrinfo>() supports the I<address>B<%>I<scope-id> notation for "
+"specifying the IPv6 scope-ID."
+msgstr ""
+"B<getaddrinfo>() gère la notation I<address>B<%>I<scope-id> pour indiquer "
+"l'identifiant scope de IPv6."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "EXEMPLES"
+
+#. getnameinfo.3 refers to this example
+#. socket.2 refers to this example
+#. bind.2 refers to this example
+#. connect.2 refers to this example
+#. recvfrom.2 refers to this example
+#. sendto.2 refers to this example
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following programs demonstrate the use of B<getaddrinfo>(), "
+"B<gai_strerror>(), B<freeaddrinfo>(), and B<getnameinfo>(3). The programs "
+"are an echo server and client for UDP datagrams."
+msgstr ""
+"Le programme suivant explique l'utilisation de B<getaddrinfo>(), "
+"B<gai_strerror>(), B<freeaddrinfo>(), et B<getnameinfo>(3). Les programmes "
+"sont des clients et serveurs pour les datagrammes UDP."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Server program"
+msgstr "Programme du serveur"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define BUF_SIZE 500\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" ssize_t nread;\n"
+" socklen_t peer_addrlen;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+" struct sockaddr_storage peer_addr;\n"
+"\\&\n"
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
+" hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */\n"
+" hints.ai_protocol = 0; /* Any protocol */\n"
+" hints.ai_canonname = NULL;\n"
+" hints.ai_addr = NULL;\n"
+" hints.ai_next = NULL;\n"
+"\\&\n"
+" s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* getaddrinfo() returns a list of address structures.\n"
+" Try each address until we successfully bind(2).\n"
+" If socket(2) (or bind(2)) fails, we (close the socket\n"
+" and) try the next address. */\n"
+"\\&\n"
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+"\\&\n"
+" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
+" break; /* Success */\n"
+"\\&\n"
+" close(sfd);\n"
+" }\n"
+"\\&\n"
+" freeaddrinfo(result); /* No longer needed */\n"
+"\\&\n"
+" if (rp == NULL) { /* No address succeeded */\n"
+" fprintf(stderr, \"Could not bind\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Read datagrams and echo them back to sender. */\n"
+"\\&\n"
+" for (;;) {\n"
+" char host[NI_MAXHOST], service[NI_MAXSERV];\n"
+"\\&\n"
+" peer_addrlen = sizeof(peer_addr);\n"
+" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
+" (struct sockaddr *) &peer_addr, &peer_addrlen);\n"
+" if (nread == -1)\n"
+" continue; /* Ignore failed request */\n"
+"\\&\n"
+" s = getnameinfo((struct sockaddr *) &peer_addr,\n"
+" peer_addrlen, host, NI_MAXHOST,\n"
+" service, NI_MAXSERV, NI_NUMERICSERV);\n"
+" if (s == 0)\n"
+" printf(\"Received %zd bytes from %s:%s\\en\",\n"
+" nread, host, service);\n"
+" else\n"
+" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
+"\\&\n"
+" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n"
+" peer_addrlen) != nread)\n"
+" {\n"
+" fprintf(stderr, \"Error sending response\\en\");\n"
+" }\n"
+" }\n"
+"}\n"
+msgstr ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define BUF_SIZE 500\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" ssize_t nread;\n"
+" socklen_t peer_addrlen;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+" struct sockaddr_storage peer_addr;\n"
+"\\&\n"
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Utilisation : %s port\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* IPv4 ou IPv6 permis */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Socket du datagramme */\n"
+" hints.ai_flags = AI_PASSIVE; /* Pour une adresse IP joker */\n"
+" hints.ai_protocol = 0; /* Tout protocole */\n"
+" hints.ai_canonname = NULL;\n"
+" hints.ai_addr = NULL;\n"
+" hints.ai_next = NULL;\n"
+"\\&\n"
+" s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* getaddrinfo() renvoie une liste de structures d'adresse.\n"
+" Essayer cheque adresse jusqu'à un bind(2) réussi.\n"
+" Si socket(2) (ou bind(2)) échoue, on (clôt le socket\n"
+" et) essaie l'adresse suivante. */\n"
+"\\&\n"
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+"\\&\n"
+" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
+" break; /* Succès */\n"
+"\\&\n"
+" close(sfd);\n"
+" }\n"
+"\\&\n"
+" freeaddrinfo(result); /* Plus nécessaire */\n"
+"\\&\n"
+" if (rp == NULL) { /* Toutes les adresses ont échoué */\n"
+" fprintf(stderr, \"Pas de lien créé\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Lire les datagrammes et les renvoyer à l'envoyeur. */\n"
+"\\&\n"
+" for (;;) {\n"
+" char host[NI_MAXHOST], service[NI_MAXSERV];\n"
+"\\&\n"
+" peer_addrlen = sizeof(peer_addr);\n"
+" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
+" (struct sockaddr *) &peer_addr, &peer_addrlen);\n"
+" if (nread == -1)\n"
+" continue; /* Ignorer la requête en échec */\n"
+"\\&\n"
+" s = getnameinfo((struct sockaddr *) &peer_addr,\n"
+" peer_addrlen, host, NI_MAXHOST,\n"
+" service, NI_MAXSERV, NI_NUMERICSERV);\n"
+" if (s == 0)\n"
+" printf(\"%zd octets reçus de %s:%s\\en\",\n"
+" nread, host, service);\n"
+" else\n"
+" fprintf(stderr, \"getnameinfo : %s\\en\", gai_strerror(s));\n"
+"\\&\n"
+" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n"
+" peer_addrlen) != nread)\n"
+" {\n"
+" fprintf(stderr, \"Erreur d'envoi de réponse\\en\");\n"
+" }\n"
+" }\n"
+"}\n"
+
+# NOTE: .R " " not supported by po4a
+#. SRC END
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Client program"
+msgstr "Programme du client"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define BUF_SIZE 500\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" size_t len;\n"
+" ssize_t nread;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+"\\&\n"
+" if (argc E<lt> 3) {\n"
+" fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Obtain address(es) matching host/port. */\n"
+"\\&\n"
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
+" hints.ai_flags = 0;\n"
+" hints.ai_protocol = 0; /* Any protocol */\n"
+"\\&\n"
+" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* getaddrinfo() returns a list of address structures.\n"
+" Try each address until we successfully connect(2).\n"
+" If socket(2) (or connect(2)) fails, we (close the socket\n"
+" and) try the next address. */\n"
+"\\&\n"
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+"\\&\n"
+" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
+" break; /* Success */\n"
+"\\&\n"
+" close(sfd);\n"
+" }\n"
+"\\&\n"
+" freeaddrinfo(result); /* No longer needed */\n"
+"\\&\n"
+" if (rp == NULL) { /* No address succeeded */\n"
+" fprintf(stderr, \"Could not connect\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Send remaining command-line arguments as separate\n"
+" datagrams, and read responses from server. */\n"
+"\\&\n"
+" for (size_t j = 3; j E<lt> argc; j++) {\n"
+" len = strlen(argv[j]) + 1;\n"
+" /* +1 for terminating null byte */\n"
+"\\&\n"
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr,\n"
+" \"Ignoring long message in argument %zu\\en\", j);\n"
+" continue;\n"
+" }\n"
+"\\&\n"
+" if (write(sfd, argv[j], len) != len) {\n"
+" fprintf(stderr, \"partial/failed write\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" nread = read(sfd, buf, BUF_SIZE);\n"
+" if (nread == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" printf(\"Received %zd bytes: %s\\en\", nread, buf);\n"
+" }\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define BUF_SIZE 500\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" size_t len;\n"
+" ssize_t nread;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+"\\&\n"
+" if (argc E<lt> 3) {\n"
+" fprintf(stderr, \"Utilisation : %s host port msg...\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Obtenir les adresses correspondantes hôte/port. */\n"
+"\\&\n"
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* IPv4 ou IPv6 permis */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Socket du datagramme */\n"
+" hints.ai_flags = 0;\n"
+" hints.ai_protocol = 0; /* Tout protocole */\n"
+"\\&\n"
+" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* getaddrinfo() renvoie une liste de structures d'adresse.\n"
+" Essayer chaque adresse jusqu'à un bind(2) réussi.\n"
+" Si socket(2) (ou bind(2)) échoue, on (clôt le socket\n"
+" et) essaie l'adresse suivante. */\n"
+"\\&\n"
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+"\\&\n"
+" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
+" break; /* Succès */\n"
+"\\&\n"
+" close(sfd);\n"
+" }\n"
+"\\&\n"
+" freeaddrinfo(result); /* Plus nécessaire */\n"
+"\\&\n"
+" if (rp == NULL) { /* Toutes les adresses ont échoué */\n"
+" fprintf(stderr, \"Connexion impossible\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Envoyer les arguments en ligne de commande comme des datagrammes\n"
+" séparés et lire les réponses du serveur. */\n"
+"\\&\n"
+" for (size_t j = 3; j E<lt> argc; j++) {\n"
+" len = strlen(argv[j]) + 1;\n"
+" /* +1 pour l'octet NULL de terminaison */\n"
+"\\&\n"
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr,\n"
+" \"Ignorer le message long dans l'argument %zu\\en\", j);\n"
+" continue;\n"
+" }\n"
+"\\&\n"
+" if (write(sfd, argv[j], len) != len) {\n"
+" fprintf(stderr, \"écriture partielle/échec\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" nread = read(sfd, buf, BUF_SIZE);\n"
+" if (nread == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" printf(\"%zd octets reçus de : %s\\en\", nread, buf);\n"
+" }\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. SRC END
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "VOIR AUSSI"
+
+#. .BR getipnodebyaddr (3),
+#. .BR getipnodebyname (3),
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron
+msgid ""
+"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), "
+"B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
+msgstr ""
+"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<inet>(3), "
+"B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 février 2023"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Pages du manuel de Linux 6.03"
+
+#. type: TP
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>"
+msgstr "B<AI_IDN_ALLOW_UNASSIGNED>, B<AI_IDN_USE_STD3_ASCII_RULES>"
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"POSIX.1-2001, POSIX.1-2008. The B<getaddrinfo>() function is documented in "
+"RFC\\ 2553."
+msgstr ""
+"POSIX.1-2001, POSIX.1-2008. La fonction B<getaddrinfo>() est documentée dans "
+"la RFC\\ 2553."
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"B<AI_ADDRCONFIG>, B<AI_ALL>, and B<AI_V4MAPPED> are available since glibc "
+"2.3.3. B<AI_NUMERICSERV> is available since glibc 2.3.4."
+msgstr ""
+"B<AI_ADDRCONFIG>, B<AI_ALL> et B<AI_V4MAPPED> sont disponibles depuis la "
+"glibc\\ 2.3.3. B<AI_NUMERICSERV> est disponible depuis la glibc\\ 2.3.4."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>netdb.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "#define BUF_SIZE 500\n"
+msgstr "#define BUF_SIZE 500\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" ssize_t nread;\n"
+" socklen_t peer_addrlen;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+" struct sockaddr_storage peer_addr;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" ssize_t nread;\n"
+" socklen_t peer_addrlen;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+" struct sockaddr_storage peer_addr;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Usage: %s port\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Utilisation : %s port\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
+" hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */\n"
+" hints.ai_protocol = 0; /* Any protocol */\n"
+" hints.ai_canonname = NULL;\n"
+" hints.ai_addr = NULL;\n"
+" hints.ai_next = NULL;\n"
+msgstr ""
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* IPv4 ou IPv6 permis */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Socket du datagramme */\n"
+" hints.ai_flags = AI_PASSIVE; /* Pour une adresse IP joker */\n"
+" hints.ai_protocol = 0; /* Tout protocole */\n"
+" hints.ai_canonname = NULL;\n"
+" hints.ai_addr = NULL;\n"
+" hints.ai_next = NULL;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" s = getaddrinfo(NULL, argv[1], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* getaddrinfo() returns a list of address structures.\n"
+" Try each address until we successfully bind(2).\n"
+" If socket(2) (or bind(2)) fails, we (close the socket\n"
+" and) try the next address. */\n"
+msgstr ""
+" /* getaddrinfo() renvoie une liste de structures d'adresse.\n"
+" Essayer chaque adresse jusqu'à un bind(2) réussi.\n"
+" Si socket(2) (ou bind(2)) échoue, on (clôt le socket\n"
+" et) essaie l'adresse suivante. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+msgstr ""
+" for (rp = result; rp != NULL; rp = rp-E<gt>ai_next) {\n"
+" sfd = socket(rp-E<gt>ai_family, rp-E<gt>ai_socktype,\n"
+" rp-E<gt>ai_protocol);\n"
+" if (sfd == -1)\n"
+" continue;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
+" break; /* Success */\n"
+msgstr ""
+" if (bind(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) == 0)\n"
+" break; /* Succès */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" close(sfd);\n"
+" }\n"
+msgstr ""
+" close(sfd);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " freeaddrinfo(result); /* No longer needed */\n"
+msgstr " freeaddrinfo(result); /* Plus nécessaire */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (rp == NULL) { /* No address succeeded */\n"
+" fprintf(stderr, \"Could not bind\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (rp == NULL) { /* Toutes les adresses ont échoué */\n"
+" fprintf(stderr, \"Pas de lien créé\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Read datagrams and echo them back to sender. */\n"
+msgstr " /* Lire les datagrammes et les renvoyer à l'envoyeur. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (;;) {\n"
+" char host[NI_MAXHOST], service[NI_MAXSERV];\n"
+msgstr ""
+" for (;;) {\n"
+" char host[NI_MAXHOST], service[NI_MAXSERV];\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" peer_addrlen = sizeof(peer_addr);\n"
+" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
+" (struct sockaddr *) &peer_addr, &peer_addrlen);\n"
+" if (nread == -1)\n"
+" continue; /* Ignore failed request */\n"
+msgstr ""
+" peer_addrlen = sizeof(peer_addr);\n"
+" nread = recvfrom(sfd, buf, BUF_SIZE, 0,\n"
+" (struct sockaddr *) &peer_addr, &peer_addrlen);\n"
+" if (nread == -1)\n"
+" continue; /* Ignorer la requête en échec */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" s = getnameinfo((struct sockaddr *) &peer_addr,\n"
+" peer_addrlen, host, NI_MAXHOST,\n"
+" service, NI_MAXSERV, NI_NUMERICSERV);\n"
+" if (s == 0)\n"
+" printf(\"Received %zd bytes from %s:%s\\en\",\n"
+" nread, host, service);\n"
+" else\n"
+" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
+msgstr ""
+" s = getnameinfo((struct sockaddr *) &peer_addr,\n"
+" peer_addrlen, host, NI_MAXHOST,\n"
+" service, NI_MAXSERV, NI_NUMERICSERV);\n"
+" if (s == 0)\n"
+" printf(\"%zd octets reçus de %s:%s\\en\",\n"
+" nread, host, service);\n"
+" else\n"
+" fprintf(stderr, \"getnameinfo: %s\\en\", gai_strerror(s));\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n"
+" peer_addrlen) != nread)\n"
+" {\n"
+" fprintf(stderr, \"Error sending response\\en\");\n"
+" }\n"
+" }\n"
+"}\n"
+msgstr ""
+" if (sendto(sfd, buf, nread, 0, (struct sockaddr *) &peer_addr,\n"
+" peer_addrlen) != nread)\n"
+" {\n"
+" fprintf(stderr, \"Erreur d'envoi de réponse\\en\");\n"
+" }\n"
+" }\n"
+"}\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" size_t len;\n"
+" ssize_t nread;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int sfd, s;\n"
+" char buf[BUF_SIZE];\n"
+" size_t len;\n"
+" ssize_t nread;\n"
+" struct addrinfo hints;\n"
+" struct addrinfo *result, *rp;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc E<lt> 3) {\n"
+" fprintf(stderr, \"Usage: %s host port msg...\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc E<lt> 3) {\n"
+" fprintf(stderr, \"Ustilisation : %s host port msg...\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Obtain address(es) matching host/port. */\n"
+msgstr " /* Obtain address(es) matching host/port. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */\n"
+" hints.ai_flags = 0;\n"
+" hints.ai_protocol = 0; /* Any protocol */\n"
+msgstr ""
+" memset(&hints, 0, sizeof(hints));\n"
+" hints.ai_family = AF_UNSPEC; /* IPv4 ou IPv6 permis */\n"
+" hints.ai_socktype = SOCK_DGRAM; /* Socket du datagramme */\n"
+" hints.ai_flags = 0;\n"
+" hints.ai_protocol = 0; /* Tout protocole */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" s = getaddrinfo(argv[1], argv[2], &hints, &result);\n"
+" if (s != 0) {\n"
+" fprintf(stderr, \"getaddrinfo: %s\\en\", gai_strerror(s));\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* getaddrinfo() returns a list of address structures.\n"
+" Try each address until we successfully connect(2).\n"
+" If socket(2) (or connect(2)) fails, we (close the socket\n"
+" and) try the next address. */\n"
+msgstr ""
+" /* getaddrinfo() renvoie une liste de structures d'adresse.\n"
+" Essayer chaque adresse jusqu'à un bind(2) réussi.\n"
+" Si socket(2) (ou bind(2)) échoue, on (clôt le socket\n"
+" et) essaie l'adresse suivante. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
+" break; /* Success */\n"
+msgstr ""
+" if (connect(sfd, rp-E<gt>ai_addr, rp-E<gt>ai_addrlen) != -1)\n"
+" break; /* Success */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (rp == NULL) { /* No address succeeded */\n"
+" fprintf(stderr, \"Could not connect\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (rp == NULL) { /* Toutes les adresses ont échoué */\n"
+" fprintf(stderr, \"Connexion impossible\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Send remaining command-line arguments as separate\n"
+" datagrams, and read responses from server. */\n"
+msgstr ""
+" /* Envoyer les arguments en ligne de commande comme des datagrammes\n"
+" séparés et lire les réponses du serveur. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (size_t j = 3; j E<lt> argc; j++) {\n"
+" len = strlen(argv[j]) + 1;\n"
+" /* +1 for terminating null byte */\n"
+msgstr ""
+" for (size_t j = 3; j E<lt> argc; j++) {\n"
+" len = strlen(argv[j]) + 1;\n"
+" /* +1 pour l'octet NULL de terminaison */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr,\n"
+" \"Ignoring long message in argument %zu\\en\", j);\n"
+" continue;\n"
+" }\n"
+msgstr ""
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr,\n"
+" \"Ignorer le message long dans l'argument %zu\\en\", j);\n"
+" continue;\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (write(sfd, argv[j], len) != len) {\n"
+" fprintf(stderr, \"partial/failed write\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (write(sfd, argv[j], len) != len) {\n"
+" fprintf(stderr, \"écriture partielle/échec\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" nread = read(sfd, buf, BUF_SIZE);\n"
+" if (nread == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" nread = read(sfd, buf, BUF_SIZE);\n"
+" if (nread == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"Received %zd bytes: %s\\en\", nread, buf);\n"
+" }\n"
+msgstr ""
+" printf(\"%zd octets reçus de : %s\\en\", nread, buf);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr "20 juillet 2023"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Pages du manuel de Linux 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 mars 2023"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Pages du manuel de Linux 6.04"
+
+#. .BR getipnodebyaddr (3),
+#. .BR getipnodebyname (3),
+#. type: Plain text
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<gai.conf>(5), "
+"B<inet>(3), B<gai.conf>(5), B<hostname>(7), B<ip>(7)"
+msgstr ""
+"B<getaddrinfo_a>(3), B<gethostbyname>(3), B<getnameinfo>(3), B<gai.conf>(5), "
+"B<inet>(3), B<gai.conf>(5), B<hostname>(7), B<ip>(7)"