[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [LCFC2] po4a://manpages-fr-dev/cmsg.3/po/fr.po




OK pour le détail ; pour les numéros de version en gras, j'ai confondu avec les valeurs renvoyées par les fonctions

Autres remarques ?

Bonjour,

Jean-Pierre, veux-tu bien téléverser le fichier joint ?

D'avance merci

Lucien
# 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.
# Lucien Gentis <lucien.gentis@waika9.com>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: perkamon\n"
"POT-Creation-Date: 2022-02-10 20:56+0100\n"
"PO-Revision-Date: 2022-03-11 12:42+0100\n"
"Last-Translator: Lucien Gentis <lucien.gentis@waika9.com>\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: Poedit 2.4.2\n"
"X-Poedit-Bookmarks: 55,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"

#. type: TH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "CMSG"
msgstr "CMSG"

#. type: TH
#: archlinux fedora-36 fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid "2021-03-22"
msgstr "22 mars 2021"

#. type: TH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "Linux"
msgstr "Linux"

#. type: TH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Manuel du programmeur Linux"

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "NAME"
msgstr "NOM"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 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-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "SYNOPSIS"
msgstr "SYNOPSIS"

#. type: Plain text
#: archlinux fedora-36 fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid "B<#include E<lt>sys/socket.hE<gt>>\n"
msgstr "B<#include E<lt>sys/socket.hE<gt>>\n"

#. type: Plain text
#: archlinux fedora-36 fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid ""
"B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>\n"
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>\n"
"B<                            struct cmsghdr *>cmsgB<);>\n"
"B<size_t CMSG_ALIGN(size_t >I<length>B<);>\n"
"B<size_t CMSG_SPACE(size_t >I<length>B<);>\n"
"B<size_t CMSG_LEN(size_t >I<length>B<);>\n"
"B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>\n"
msgstr ""
"B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>\n"
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>\n"
"B<                            struct cmsghdr *>cmsgB<);>\n"
"B<size_t CMSG_ALIGN(size_t >I<longueur>B<);>\n"
"B<size_t CMSG_SPACE(size_t >I<longueur>B<);>\n"
"B<size_t CMSG_LEN(size_t >I<longueur>B<);>\n"
"B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>\n"

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPTION"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron 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<sendmsg>(2)  and received by calling B<recvmsg>(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<sendmsg>(2) et "
"reçues avec B<recvmsg>(2). Reportez-vous à leurs pages de manuel respectives "
"pour plus d'informations."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"Ancillary data is a sequence of I<cmsghdr> 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</proc/sys/net/core/optmem_max>; see B<socket>(7)."
msgstr ""
"Une information de service est une séquence de structures I<cmsghdr> 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</proc/sys/net/"
"core/optmem_max>. Consultez B<socket>(7)."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid "The I<cmsghdr> structure is defined as follows:"
msgstr "La structure I<cmsghdr> est définie comme suit :"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 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-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"The sequence of I<cmsghdr> 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<cmsghdr>, il "
"est impératif d'utiliser les macros suivantes :"

#. type: IP
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "*"
msgstr "*"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid ""
"B<CMSG_FIRSTHDR>()  returns a pointer to the first I<cmsghdr> in the "
"ancillary data buffer associated with the passed I<msghdr>.  It returns NULL "
"if there isn't enough space for a I<cmsghdr> in the buffer."
msgstr ""
"B<CMSG_FIRSTHDR>() renvoie un pointeur sur la première structure I<cmsghdr> "
"du tampon de données de service associé à la structure I<msghdr> passée en "
"paramètre. Elle renvoie NULL s'il n'y a pas assez de place pour une "
"structure I<cmsghdr> dans le tampon."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"B<CMSG_NXTHDR>()  returns the next valid I<cmsghdr> after the passed "
"I<cmsghdr>.  It returns NULL when there isn't enough space left in the "
"buffer."
msgstr ""
"B<CMSG_NXTHDR>() renvoie la prochaine structure I<cmsghdr> valable après la "
"structure I<cmsghdr> 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-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid ""
"When initializing a buffer that will contain a series of I<cmsghdr> "
"structures (e.g., to be sent with B<sendmsg>(2)), that buffer should first "
"be zero-initialized to ensure the correct operation of B<CMSG_NXTHDR>()."
msgstr ""
"Lorsqu'on initialise un tampon qui contiendra une série de structures "
"I<cmsghdr> (à envoyer par exemple en appelant B<sendmsg>(2)), ce tampon doit "
"être initialisé avec des zéros pour être sûr que B<CMSG_NXTHDR>() "
"fonctionnera correctement."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"B<CMSG_ALIGN>(), given a length, returns it including the required "
"alignment.  This is a constant expression."
msgstr ""
"B<CMSG_ALIGN>(), avec comme argument une longueur, la renvoie en incluant "
"l'alignement nécessaire. C'est une expression constante."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"B<CMSG_SPACE>()  returns the number of bytes an ancillary element with "
"payload of the passed data length occupies.  This is a constant expression."
msgstr ""
"B<CMSG_SPACE>() 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."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid ""
"B<CMSG_DATA>()  returns a pointer to the data portion of a I<cmsghdr>.  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<memcpy>(3)  to copy data "
"to or from a suitably declared object."
msgstr ""
"B<CMSG_DATA>() renvoie un pointeur vers la partie données d'une structure "
"I<cmsghdr>. 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<memcpy>(3) pour copier les données vers ou depuis un objet déclaré de "
"manière appropriée."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"B<CMSG_LEN>()  returns the value to store in the I<cmsg_len> member of the "
"I<cmsghdr> structure, taking into account any necessary alignment.  It takes "
"the data length as an argument.  This is a constant expression."
msgstr ""
"B<CMSG_LEN>() renvoie la valeur à stocker dans le membre I<cmsg_len> de la "
"structure I<cmsghdr>, 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-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"To create ancillary data, first initialize the I<msg_controllen> member of "
"the I<msghdr> with the length of the control message buffer.  Use "
"B<CMSG_FIRSTHDR>()  on the I<msghdr> to get the first control message and "
"B<CMSG_NXTHDR>()  to get all subsequent ones.  In each control message, "
"initialize I<cmsg_len> (with B<CMSG_LEN>()), the other I<cmsghdr> header "
"fields, and the data portion using B<CMSG_DATA>().  Finally, the "
"I<msg_controllen> field of the I<msghdr> should be set to the sum of the "
"B<CMSG_SPACE>()  of the length of all control messages in the buffer.  For "
"more information on the I<msghdr>, see B<recvmsg>(2)."
msgstr ""
"Pour créer des données de service, il faut tout d'abord initialiser le "
"membre I<msg_controllen> de la structure I<msghdr> avec la longueur du "
"tampon du message de contrôle. Utilisez B<CMSG_FIRSTHDR>() sur la structure "
"I<msghdr> pour obtenir le premier message de contrôle, puis B<CMSG_NXTHDR>() "
"pour obtenir les suivants. Dans chaque message de contrôle, initialisez "
"I<cmsg_len> (avec B<CMSG_LEN>()), les autres champs d'en-tête de I<cmsghdr> "
"et la partie des données avec B<CMSG_DATA>(). Enfin, il faut définir le "
"membre I<msg_controllen> de la structure I<msghdr> avec la somme des valeurs "
"de retour de B<CMSG_SPACE>() pour la longueur de tous les messages de "
"contrôle contenus dans le tampon..Pour plus d'informations sur la structure "
"I<msghdr>, consultez B<recvmsg>(2)."

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "CONFORMING TO"
msgstr "CONFORMITÉ"

#. https://www.austingroupbugs.net/view.php?id=978#c3242
#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron 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.  B<CMSG_FIRSTHDR>(), "
"B<CMSG_NXTHDR>(), and B<CMSG_DATA>()  are specified in POSIX.1-2008.  "
"B<CMSG_SPACE>()  and B<CMSG_LEN>()  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<CMSG_FIRSTHDR>(), "
"B<CMSG_NXTHDR>() et B<CMSG_DATA>() sont spécifiées dans POSIX.1-2008. "
"B<CMSG_SPACE>() et B<CMSG_LEN>() seront incluses dans la prochaine version "
"de POSIX (édition 8)."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid "B<CMSG_ALIGN>()  is a Linux extension."
msgstr "B<CMSG_ALIGN>() est une extension Linux."

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "NOTES"
msgstr "NOTES"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"For portability, ancillary data should be accessed using only the macros "
"described here.  B<CMSG_ALIGN>()  is a Linux extension and should not be "
"used in portable programs."
msgstr ""
"Pour des questions de portabilité, les données de service ne doivent être "
"manipulées qu'avec les macros décrites ici. B<CMSG_ALIGN>() est une "
"extension Linux et ne doit pas être utilisée dans un programme portable."

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
msgid ""
"In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>()  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<CMSG_LEN>(), B<CMSG_DATA>() et B<CMSG_ALIGN>() 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-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid "EXAMPLES"
msgstr "EXEMPLES"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"This code looks for the B<IP_TTL> option in a received ancillary buffer:"
msgstr ""
"Ce code recherche l'option B<IP_TTL> dans un tampon de service reçu\\ :"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
#, 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
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "/* Receive auxiliary data in msgh */\n"
msgstr "/* Recevoir des données de service dans msgh */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid ""
"for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
"        cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n"
"    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
"            && cmsg-E<gt>cmsg_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-E<gt>cmsg_level == IPPROTO_IP\n"
"            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
"        memcpy(&receive_ttl, CMSG_DATA(cmsg), sizeof(received_ttl));\n"
"        break;\n"
"    }\n"
"}\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, 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
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid ""
"The code below passes an array of file descriptors over a UNIX domain socket "
"using B<SCM_RIGHTS>:"
msgstr ""
"Le code ci-dessous passe un tableau de descripteurs de fichier au travers "
"d'un socket de domaine UNIX à l'aide de B<SCM_RIGHTS>\\ :"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 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"
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
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-tumbleweed
#, 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-E<gt>cmsg_level = SOL_SOCKET;\n"
"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
"cmsg-E<gt>cmsg_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-E<gt>cmsg_level = SOL_SOCKET;\n"
"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
"cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(myfds));\n"
"memcpy(CMSG_DATA(cmsg), myfds, sizeof(myfds));\n"

#. type: Plain text
#: archlinux fedora-36 fedora-rawhide mageia-cauldron opensuse-tumbleweed
msgid ""
"For a complete code example that shows passing of file descriptors over a "
"UNIX domain socket, see B<seccomp_unotify>(2)."
msgstr ""
"Pour un exemple de code complet qui montre la transmission de descripteurs "
"de fichier à travers un socket de domaine UNIX, voir B<seccomp_unotify>(2)."

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid "B<recvmsg>(2), B<sendmsg>(2)"
msgstr "B<recvmsg>(2), B<sendmsg>(2)"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4 opensuse-tumbleweed
msgid "RFC\\ 2292"
msgstr "RFC\\ 2292"

#. type: SH
#: archlinux debian-bullseye debian-unstable fedora-36 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-4
#, no-wrap
msgid "COLOPHON"
msgstr "COLOPHON"

#. type: Plain text
#: archlinux fedora-36 fedora-rawhide mageia-cauldron
msgid ""
"This page is part of release 5.13 of the Linux I<man-pages> project.  A "
"description of the project, information about reporting bugs, and the latest "
"version of this page, can be found at \\%https://www.kernel.org/doc/man-";
"pages/."
msgstr ""
"Cette page fait partie de la publication 5.13 du projet I<man-pages> Linux. "
"Une description du projet et des instructions pour signaler des anomalies et "
"la dernière version de cette page peuvent être trouvées à l'adresse \\"
"%https://www.kernel.org/doc/man-pages/.";

#. type: TH
#: debian-bullseye debian-unstable
#, no-wrap
msgid "2020-11-01"
msgstr "1 novembre 2020"

#. type: Plain text
#: debian-bullseye debian-unstable
#, no-wrap
msgid ""
"B<#include E<lt>sys/socket.hE<gt>>\n"
"B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>\n"
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>\n"
"B<                            struct cmsghdr *>cmsgB<);>\n"
"B<size_t CMSG_ALIGN(size_t >I<length>B<);>\n"
"B<size_t CMSG_SPACE(size_t >I<length>B<);>\n"
"B<size_t CMSG_LEN(size_t >I<length>B<);>\n"
"B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>\n"
msgstr ""
"B<#include E<lt>sys/socket.hE<gt>>\n"
"B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>\n"
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>\n"
"B<                            struct cmsghdr *>cmsgB<);>\n"
"B<size_t CMSG_ALIGN(size_t >I<longueur>B<);>\n"
"B<size_t CMSG_SPACE(size_t >I<longueur>B<);>\n"
"B<size_t CMSG_LEN(size_t >I<longueur>B<);>\n"
"B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>\n"

#. type: Plain text
#: debian-bullseye debian-unstable
msgid ""
"This page is part of release 5.10 of the Linux I<man-pages> project.  A "
"description of the project, information about reporting bugs, and the latest "
"version of this page, can be found at \\%https://www.kernel.org/doc/man-";
"pages/."
msgstr ""
"Cette page fait partie de la publication 5.10 du projet I<man-pages> Linux. "
"Une description du projet et des instructions pour signaler des anomalies et "
"la dernière version de cette page peuvent être trouvées à l'adresse \\"
"%https://www.kernel.org/doc/man-pages/.";

#. type: TH
#: opensuse-leap-15-4
#, no-wrap
msgid "2017-09-15"
msgstr "15 septembre 2017"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<#include E<lt>sys/socket.hE<gt>>"
msgstr "B<#include E<lt>sys/socket.hE<gt>>"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>"
msgstr "B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<, struct cmsghdr "
"*>I<cmsg>B<);>"
msgstr ""
"B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<, struct cmsghdr "
"*>I<cmsg>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<size_t CMSG_ALIGN(size_t >I<length>B<);>"
msgstr "B<size_t CMSG_ALIGN(size_t >I<longueur>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<size_t CMSG_SPACE(size_t >I<length>B<);>"
msgstr "B<size_t CMSG_SPACE(size_t >I<longueur>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<size_t CMSG_LEN(size_t >I<length>B<);>"
msgstr "B<size_t CMSG_LEN(size_t >I<longueur>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>"
msgstr "B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>"

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"These macros are used to create and access control messages (also called "
"ancillary data) that are not a part of the socket payload.  This control "
"information may include the interface the packet was received on, various "
"rarely used header fields, an extended error description, a set of file "
"descriptors or UNIX credentials.  For instance, control messages can be used "
"to send additional header fields such as IP options.  Ancillary data is sent "
"by calling B<sendmsg>(2)  and received by calling B<recvmsg>(2).  See their "
"manual pages for more information."
msgstr ""
"Ces macros sont utilisées pour 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 d'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 envoyées en appelant "
"B<sendmsg>(2) et reçues avec B<recvmsg>(2). Reportez-vous à leurs pages de "
"manuel respectives pour plus d'informations."

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"B<CMSG_FIRSTHDR>()  returns a pointer to the first I<cmsghdr> in the "
"ancillary data buffer associated with the passed I<msghdr>."
msgstr ""
"B<CMSG_FIRSTHDR>() renvoie un pointeur sur la première structure I<cmsghdr> "
"du tampon de données de service associé à la structure I<msghdr> passé en "
"paramètre."

#. type: Plain text
#: opensuse-leap-15-4
msgid "B<CMSG_DATA>()  returns a pointer to the data portion of a I<cmsghdr>."
msgstr ""
"B<CMSG_DATA>() renvoie un pointeur sur la partie données d'une structure "
"I<cmsghdr>."

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"When the control message buffer is too short to store all messages, the "
"B<MSG_CTRUNC> flag is set in the I<msg_flags> member of the I<msghdr>."
msgstr ""
"Lorsque le tampon des messages de contrôle est trop petit pour stocker tous "
"les messages, le drapeau B<MSG_CTRUNC> est défini dans le membre "
"I<msg_flags> de la structure I<msghdr>."

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the "
"IPv6 advanced API described in RFC\\ 2292 and SUSv2.  B<CMSG_ALIGN>()  is a "
"Linux extension."
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<CMSG_ALIGN>() est "
"une extension Linux."

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>()  are constant "
"expressions (assuming their argument is constant); this could be used to "
"declare the size of global variables.  This may not be portable, however."
msgstr ""
"Sous Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), et B<CMSG_ALIGN>() 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
#: opensuse-leap-15-4
#, no-wrap
msgid "EXAMPLE"
msgstr "EXEMPLE"

#. type: Plain text
#: opensuse-leap-15-4
#, no-wrap
msgid ""
"struct msghdr msgh;\n"
"struct cmsghdr *cmsg;\n"
"int *ttlptr;\n"
"int received_ttl;\n"
msgstr ""
"struct msghdr msgh;\n"
"struct cmsghdr *cmsg;\n"
"int *ttlptr;\n"
"int received_ttl;\n"

#. type: Plain text
#: opensuse-leap-15-4
#, no-wrap
msgid ""
"for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
"        cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n"
"    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
"            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
"        ttlptr = (int *) CMSG_DATA(cmsg);\n"
"        received_ttl = *ttlptr;\n"
"        break;\n"
"    }\n"
"}\n"
msgstr ""
"for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;\n"
"        cmsg = CMSG_NXTHDR(&msgh, cmsg)) {\n"
"    if (cmsg-E<gt>cmsg_level == IPPROTO_IP\n"
"            && cmsg-E<gt>cmsg_type == IP_TTL) {\n"
"        ttlptr = (int *) CMSG_DATA(cmsg);\n"
"        received_ttl = *ttlptr;\n"
"        break;\n"
"    }\n"
"}\n"

#. type: Plain text
#: opensuse-leap-15-4
#, no-wrap
msgid ""
"struct msghdr msg = { 0 };\n"
"struct cmsghdr *cmsg;\n"
"int myfds[NUM_FD];  /* Contains the file descriptors to pass */\n"
"int *fdptr;\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 à transmettre */\n"
"int *fdptr;\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
#: opensuse-leap-15-4
#, 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-E<gt>cmsg_level = SOL_SOCKET;\n"
"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
"cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(int) * NUM_FD);\n"
"fdptr = (int *) CMSG_DATA(cmsg);    /* Initialize the payload */\n"
"memcpy(fdptr, myfds, NUM_FD * sizeof(int));\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-E<gt>cmsg_level = SOL_SOCKET;\n"
"cmsg-E<gt>cmsg_type = SCM_RIGHTS;\n"
"cmsg-E<gt>cmsg_len = CMSG_LEN(sizeof(int) * NUM_FD);\n"
"fdptr = (int *) CMSG_DATA(cmsg);    /* Initialise la charge utile */\n"
"memcpy(fdptr, myfds, NUM_FD * sizeof(int));\n"

#. type: Plain text
#: opensuse-leap-15-4
msgid ""
"This page is part of release 4.16 of the Linux I<man-pages> project.  A "
"description of the project, information about reporting bugs, and the latest "
"version of this page, can be found at \\%https://www.kernel.org/doc/man-";
"pages/."
msgstr ""
"Cette page fait partie de la publication 4.16 du projet I<man-pages> Linux. "
"Une description du projet et des instructions pour signaler des anomalies et "
"la dernière version de cette page peuvent être trouvées à l'adresse \\"
"%https://www.kernel.org/doc/man-pages/.";

Reply to: