# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999, 2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006, 2013-2014. # Denis Barbier , 2006, 2010. # David Prévot , 2010-2014. # Lucien Gentis , 2022. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.21.0\n" "POT-Creation-Date: 2024-06-01 05:45+0200\n" "PO-Revision-Date: 2024-03-04 17:15+0100\n" "Last-Translator: Lucien Gentis \n" "Language-Team: French \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: Poedit 2.4.2\n" "X-Poedit-Bookmarks: 55,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CMSG" msgstr "CMSG" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Pages du manuel de Linux 6.8" #. 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 "" "CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data" msgstr "" "CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - Accéder aux " "informations de service" #. 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, I<-lc>)" msgstr "Bibliothèque C standard (I, 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 Esys/socket.hE>\n" msgstr "B<#include Esys/socket.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<);>\n" "BIB<,>\n" "B< struct cmsghdr *>cmsgB<);>\n" "BIB<);>\n" "BIB<);>\n" "BIB<);>\n" "BIB<);>\n" msgstr "" "BIB<);>\n" "BIB<,>\n" "B< struct cmsghdr *>cmsgB<);>\n" "BIB<);>\n" "BIB<);>\n" "BIB<);>\n" "BIB<);>\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" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "These macros are used to create and access control messages (also called " "ancillary data) that are not a part of the socket payload. This control " "information may include the interface the packet was received on, various " "rarely used header fields, an extended error description, a set of file " "descriptors, or UNIX credentials. For instance, control messages can be " "used to send additional header fields such as IP options. Ancillary data is " "sent by calling B(2) and received by calling B(2). See " "their manual pages for more information." msgstr "" "Ces macros permettent de créer et accéder aux messages de contrôle (aussi " "appelé informations de service) qui ne font pas partie de la charge utile " "des sockets. Ces informations de contrôle peuvent inclure l'interface sur " "laquelle le paquet a été reçu, des champs d'en-tête rarement employés, des " "descriptions d'erreur approfondies, un ensemble de descripteurs de fichiers " "ou des identificateurs UNIX. Par exemple, les messages de contrôle peuvent " "être utilisés pour envoyer des champs d'en-tête supplémentaires tels que des " "options IP. Les données de service sont émises en appelant B(2) et " "reçues avec B(2). Reportez-vous à leurs pages de manuel respectives " "pour plus d'informations." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ancillary data is a sequence of I structures with appended data. " "See the specific protocol man pages for the available control message " "types. The maximum ancillary buffer size allowed per socket can be set " "using I; see B(7)." msgstr "" "Une information de service est une séquence de structures I avec " "des données ajoutées. Consultez les pages de manuel relatives aux protocoles " "pour les types de message de commande disponibles. La taille maximale d'un " "tampon de service par socket peut être définie à l'aide de I. Consultez B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I structure is defined as follows:" msgstr "La structure I est définie comme suit :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct cmsghdr {\n" " size_t cmsg_len; /* Data byte count, including header\n" " (type is socklen_t in POSIX) */\n" " int cmsg_level; /* Originating protocol */\n" " int cmsg_type; /* Protocol-specific type */\n" "/* followed by\n" " unsigned char cmsg_data[]; */\n" "};\n" msgstr "" "struct cmsghdr {\n" " size_t cmsg_len; /* Nombre d'octets de données, incluant l'en-tête \n" " (le type est socklen_t dans POSIX) */\n" " int cmsg_level; /* Protocole d'origine */\n" " int cmsg_type; /* Type spécifique au protocole */\n" "/* suivi par\n" " unsigned char cmsg_data[]; */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The sequence of I structures should never be accessed directly. " "Instead, use only the following macros:" msgstr "" "Plutôt que d'accéder directement à la séquence de structures I, il " "est impératif d'utiliser les macros suivantes :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns a pointer to the first I in the ancillary data buffer " "associated with the passed I. It returns NULL if there isn't enough " "space for a I in the buffer." msgstr "" "renvoie un pointeur sur la première structure I du tampon de " "données de service associé à la structure I passée en paramètre. " "Elle renvoie NULL s'il n'y a pas assez de place pour une structure " "I dans le tampon." #. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TP #. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns the next valid I after the passed I. It returns " "NULL when there isn't enough space left in the buffer." msgstr "" "renvoie la prochaine structure I valable après la structure " "I passée en paramètre. Elle renvoie NULL s'il n'y a plus assez de " "place dans le tampon." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When initializing a buffer that will contain a series of I " "structures (e.g., to be sent with B(2)), that buffer should first " "be zero-initialized to ensure the correct operation of B()." msgstr "" "Lorsqu'on initialise un tampon qui contiendra une série de structures " "I (à envoyer par exemple en appelant B(2)), ce tampon doit " "être initialisé avec des zéros pour être sûr que B() " "fonctionnera correctement." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()," msgstr "B()," #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "given a length, returns it including the required alignment. This is a " "constant expression." msgstr "" "avec comme argument une longueur, la renvoie en incluant l'alignement " "nécessaire. C'est une expression constante." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns the number of bytes an ancillary element with payload of the passed " "data length occupies. This is a constant expression." msgstr "" "renvoie le nombre d'octets qu'occupe un élément de service avec une charge " "utile de la longueur passée en paramètre. C'est une expression constante." #. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TP #. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns a pointer to the data portion of a I. The pointer returned " "cannot be assumed to be suitably aligned for accessing arbitrary payload " "data types. Applications should not cast it to a pointer type matching the " "payload, but should instead use B(3) to copy data to or from a " "suitably declared object." msgstr "" " renvoie un pointeur vers la partie données d'une structure I. Il " "n'est pas certain que le pointeur renvoyé soit correctement aligné pour " "accéder à des données de charge utile de type quelconque. Les applications " "ne doivent pas forcer son type à un type de pointeur correspondant à celui " "de la charge utile, mais doivent plutôt utiliser B(3) pour copier " "les données vers ou depuis un objet déclaré de manière appropriée." #. #-#-#-#-# archlinux: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# debian-bookworm: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TP #. #-#-#-#-# debian-unstable: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-40: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# fedora-rawhide: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# mageia-cauldron: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-leap-15-6: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #. #-#-#-#-# opensuse-tumbleweed: cmsg.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TQ #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns the value to store in the I member of the I " "structure, taking into account any necessary alignment. It takes the data " "length as an argument. This is a constant expression." msgstr "" "renvoie la valeur à stocker dans le membre I de la structure " "I, en tenant compte des alignements nécessaires. Elle prend en " "paramètre la longueur des données. C'est une expression constante." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To create ancillary data, first initialize the I member of " "the I with the length of the control message buffer. Use " "B() on the I to get the first control message and " "B() to get all subsequent ones. In each control message, " "initialize I (with B()), the other I header " "fields, and the data portion using B(). Finally, the " "I field of the I should be set to the sum of the " "B() of the length of all control messages in the buffer. For " "more information on the I, see B(2)." msgstr "" "Pour créer des données de service, il faut tout d'abord initialiser le " "membre I de la structure I avec la longueur du " "tampon du message de contrôle. Utilisez B() sur la structure " "I pour obtenir le premier message de contrôle, puis B() " "pour obtenir les suivants. Dans chaque message de contrôle, initialisez " "I (avec B()), les autres champs d'en-tête de I " "et la partie des données avec B(). Enfin, il faut définir le " "membre I de la structure I avec la somme des valeurs " "de retour de B() pour la longueur de tous les messages de " "contrôle contenus dans le tampon..Pour plus d'informations sur la structure " "I, consultez B(2)." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For portability, ancillary data should be accessed using only the macros " "described here." msgstr "" "Pour des questions de portabilité, les données de service ne doivent être " "manipulées qu'avec les macros décrites ici." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In Linux, B(), B(), and B() are constant " "expressions (assuming their argument is constant), meaning that these values " "can be used to declare the size of global variables. This may not be " "portable, however." msgstr "" "Sous Linux, B(), B() et B() sont des " "expressions constantes (si leur argument est une constante) ; elles peuvent " "donc être utilisées pour déclarer la taille de variables globales. Cela peut " "néanmoins ne pas être portable." #. 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: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux." msgstr "Linux." #. 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 "" "This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the " "IPv6 advanced API described in RFC\\ 2292 and SUSv2." msgstr "" "Le modèle des données de service est conforme à POSIX.1g draft, 4.4BSD-Lite, " "l'API IPv6 avancée décrite dans la RFC\\ 2292 et SUSv2." #. https://www.austingroupbugs.net/view.php?id=978#c3242 #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() and B() will be included in the next POSIX " "release (Issue 8)." msgstr "" "B() et B() seront incluses dans la prochaine version " "de POSIX (édition 8)." #. 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" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This code looks for the B option in a received ancillary buffer:" msgstr "" "Ce code recherche l'option B dans un tampon de service reçu\\ :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "struct msghdr msgh;\n" "struct cmsghdr *cmsg;\n" "int received_ttl;\n" "\\&\n" "/* Receive auxiliary data in msgh */\n" "\\&\n" "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" " cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" " if (cmsg-Ecmsg_level == IPPROTO_IP\n" " && cmsg-Ecmsg_type == IP_TTL) {\n" " memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" " break;\n" " }\n" "}\n" "\\&\n" "if (cmsg == NULL) {\n" " /* Error: IP_TTL not enabled or small buffer or I/O error */\n" "}\n" msgstr "" "struct msghdr msgh;\n" "struct cmsghdr *cmsg;\n" "int received_ttl;\n" "\\&\n" "/* Recevoir des données de service dans msgh */\n" "\\&\n" "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" " cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" " if (cmsg-Ecmsg_level == IPPROTO_IP\n" " && cmsg-Ecmsg_type == IP_TTL) {\n" " memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" " break;\n" " }\n" "}\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The code below passes an array of file descriptors over a UNIX domain socket " "using B:" msgstr "" "Le code ci-dessous passe un tableau de descripteurs de fichier au travers " "d'un socket de domaine UNIX à l'aide de B\\ :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "struct msghdr msg = { 0 };\n" "struct cmsghdr *cmsg;\n" "int myfds[NUM_FD]; /* Contains the file descriptors to pass */\n" "char iobuf[1];\n" "struct iovec io = {\n" " .iov_base = iobuf,\n" " .iov_len = sizeof(iobuf)\n" "};\n" "union { /* Ancillary data buffer, wrapped in a union\n" " in order to ensure it is suitably aligned */\n" " char buf[CMSG_SPACE(sizeof(myfds))];\n" " struct cmsghdr align;\n" "} u;\n" "\\&\n" "msg.msg_iov = &io;\n" "msg.msg_iovlen = 1;\n" "msg.msg_control = u.buf;\n" "msg.msg_controllen = sizeof(u.buf);\n" "cmsg = CMSG_FIRSTHDR(&msg);\n" "cmsg-Ecmsg_level = SOL_SOCKET;\n" "cmsg-Ecmsg_type = SCM_RIGHTS;\n" "cmsg-Ecmsg_len = CMSG_LEN(sizeof(myfds));\n" "memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" msgstr "" "struct msghdr msg = { 0 };\n" "struct cmsghdr *cmsg;\n" "int myfds[NUM_FD]; /* Contient les descripteurs de fichier à passer */\n" "char iobuf[1];\n" "struct iovec io = {\n" " .iov_base = iobuf,\n" " .iov_len = sizeof(iobuf)\n" "};\n" "union { /* Tampon des données de service empaqueté dans une union\n" " pour être sûr qu'il soit correctement aligné */\n" " char buf[CMSG_SPACE(sizeof(myfds))];\n" " struct cmsghdr align;\n" "} u;\n" "\\&\n" "msg.msg_iov = &io;\n" "msg.msg_iovlen = 1;\n" "msg.msg_control = u.buf;\n" "msg.msg_controllen = sizeof(u.buf);\n" "cmsg = CMSG_FIRSTHDR(&msg);\n" "cmsg-Ecmsg_level = SOL_SOCKET;\n" "cmsg-Ecmsg_type = SCM_RIGHTS;\n" "cmsg-Ecmsg_len = CMSG_LEN(sizeof(myfds));\n" "memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For a complete code example that shows passing of file descriptors over a " "UNIX domain socket, see B(2)." msgstr "" "Pour un exemple de code complet qui montre la transmission de descripteurs " "de fichier à travers un socket de domaine UNIX, voir B(2)." #. 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" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(2), B(2)" msgstr "B(2), B(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "RFC\\ 2292" msgstr "RFC\\ 2292" #. type: TH #: debian-bookworm #, no-wrap msgid "2022-10-29" msgstr "29 octobre 2022" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. https://www.austingroupbugs.net/view.php?id=978#c3242 #. type: Plain text #: debian-bookworm msgid "" "This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the " "IPv6 advanced API described in RFC\\ 2292 and SUSv2. B(), " "B(), and B() are specified in POSIX.1-2008. " "B() and B() will be included in the next POSIX " "release (Issue 8)." msgstr "" "Le modèle des données de service est conforme à POSIX.1g draft, 4.4BSD-Lite, " "l'API IPv6 avancée décrite dans la RFC\\ 2292 et SUSv2. B(), " "B() et B() sont spécifiées dans POSIX.1-2008. " "B() et B() seront incluses dans la prochaine version " "de POSIX (édition 8)." #. type: Plain text #: debian-bookworm msgid "B() is a Linux extension." msgstr "B() est une extension Linux." #. type: SH #: debian-bookworm #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: debian-bookworm msgid "" "For portability, ancillary data should be accessed using only the macros " "described here. B() is a Linux extension and should not be " "used in portable programs." msgstr "" "Pour des questions de portabilité, les données de service ne doivent être " "manipulées qu'avec les macros décrites ici. B() est une " "extension Linux et ne doit pas être utilisée dans un programme portable." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct msghdr msgh;\n" "struct cmsghdr *cmsg;\n" "int received_ttl;\n" msgstr "" "struct msghdr msgh;\n" "struct cmsghdr *cmsg;\n" "int received_ttl;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* Receive auxiliary data in msgh */\n" msgstr "/* Recevoir des données de service dans msgh */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" " cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" " if (cmsg-Ecmsg_level == IPPROTO_IP\n" " && cmsg-Ecmsg_type == IP_TTL) {\n" " memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" " break;\n" " }\n" "}\n" msgstr "" "for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n" " cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n" " if (cmsg-Ecmsg_level == IPPROTO_IP\n" " && cmsg-Ecmsg_type == IP_TTL) {\n" " memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n" " break;\n" " }\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "if (cmsg == NULL) {\n" " /* Error: IP_TTL not enabled or small buffer or I/O error */\n" "}\n" msgstr "" "if (cmsg == NULL) {\n" " /* Erreur : IP_TTL non activée, tampon trop petit ou erreur d'entrée/sortie */\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct msghdr msg = { 0 };\n" "struct cmsghdr *cmsg;\n" "int myfds[NUM_FD]; /* Contains the file descriptors to pass */\n" "char iobuf[1];\n" "struct iovec io = {\n" " .iov_base = iobuf,\n" " .iov_len = sizeof(iobuf)\n" "};\n" "union { /* Ancillary data buffer, wrapped in a union\n" " in order to ensure it is suitably aligned */\n" " char buf[CMSG_SPACE(sizeof(myfds))];\n" " struct cmsghdr align;\n" "} u;\n" msgstr "" "struct msghdr msg = { 0 };\n" "struct cmsghdr *cmsg;\n" "int myfds[NUM_FD]; /* Contient les descripteurs de fichier à passer */\n" "char iobuf[1];\n" "struct iovec io = {\n" " .iov_base = iobuf,\n" " .iov_len = sizeof(iobuf)\n" "};\n" "union { /* Tampon des données de service empaqueté dans une union\n" " pour être sûr qu'il soit correctement aligné */\n" " char buf[CMSG_SPACE(sizeof(myfds))];\n" " struct cmsghdr align;\n" "} u;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "msg.msg_iov = &io;\n" "msg.msg_iovlen = 1;\n" "msg.msg_control = u.buf;\n" "msg.msg_controllen = sizeof(u.buf);\n" "cmsg = CMSG_FIRSTHDR(&msg);\n" "cmsg-Ecmsg_level = SOL_SOCKET;\n" "cmsg-Ecmsg_type = SCM_RIGHTS;\n" "cmsg-Ecmsg_len = CMSG_LEN(sizeof(myfds));\n" "memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" msgstr "" "msg.msg_iov = &io;\n" "msg.msg_iovlen = 1;\n" "msg.msg_control = u.buf;\n" "msg.msg_controllen = sizeof(u.buf);\n" "cmsg = CMSG_FIRSTHDR(&msg);\n" "cmsg-Ecmsg_level = SOL_SOCKET;\n" "cmsg-Ecmsg_type = SCM_RIGHTS;\n" "cmsg-Ecmsg_len = CMSG_LEN(sizeof(myfds));\n" "memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Pages du manuel de Linux 6.7" #. 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" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Pages du manuel de Linux (non publiées)"