perkamon - en to fr translation catalogue (41 entries)

note: type: TH
en: 2023-07-15
fr: 15 juillet 2023

note: type: TH
en: Linux man-pages 6.05.01
fr: Pages du manuel de Linux 6.05.01

note: type: SH
en: NAME
fr: NOM

note: type: Plain text
en: CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data
fr: CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - Accéder aux informations de service

note: type: SH
en: LIBRARY
fr: BIBLIOTHÈQUE

note: type: Plain text
en: Standard C library (I<libc>, I<-lc>)
fr: Bibliothèque C standard (I<libc>, I<-lc>)

note: type: Plain text
en: B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>
    B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>
    B<                            struct cmsghdr *>cmsgB<);>
    B<size_t CMSG_ALIGN(size_t >I<length>B<);>
    B<size_t CMSG_SPACE(size_t >I<length>B<);>
    B<size_t CMSG_LEN(size_t >I<length>B<);>
    B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>
fr: B<struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *>I<msgh>B<);>
    B<struct cmsghdr *CMSG_NXTHDR(struct msghdr *>I<msgh>B<,>
    B<                            struct cmsghdr *>cmsgB<);>
    B<size_t CMSG_ALIGN(size_t >I<longueur>B<);>
    B<size_t CMSG_SPACE(size_t >I<longueur>B<);>
    B<size_t CMSG_LEN(size_t >I<longueur>B<);>
    B<unsigned char *CMSG_DATA(struct cmsghdr *>I<cmsg>B<);>

note: type: Plain text
en: 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.
fr: 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.

note: type: Plain text
en: 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).
fr: 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).

note: type: Plain text
en: The I<cmsghdr> structure is defined as follows:
fr: La structure I<cmsghdr> est définie comme suit :

note: type: Plain text
en: struct cmsghdr {
        size_t cmsg_len;    /* Data byte count, including header
                               (type is socklen_t in POSIX) */
        int    cmsg_level;  /* Originating protocol */
        int    cmsg_type;   /* Protocol-specific type */
    /* followed by
       unsigned char cmsg_data[]; */
    };
fr: struct cmsghdr {
        size_t cmsg_len;    /* Nombre d'octets de données, incluant l'en-tête 
                               (le type est socklen_t dans POSIX) */
        int    cmsg_level;  /* Protocole d'origine */
        int    cmsg_type;   /* Type spécifique au protocole */
    /* suivi par
       unsigned char cmsg_data[]; */
    };

note: type: Plain text
en: The sequence of I<cmsghdr> structures should never be accessed directly.  Instead, use only the following macros:
fr: Plutôt que d'accéder directement à la séquence de structures I<cmsghdr>, il est impératif d'utiliser les macros suivantes :

note: type: Plain text
en: 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.
fr: 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.

note: type: Plain text
en: returns the next valid I<cmsghdr> after the passed I<cmsghdr>.  It returns NULL when there isn't enough space left in the buffer.
fr: 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.

note: type: Plain text
en: 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>().
fr: 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.

note: type: Plain text
en: given a length, returns it including the required alignment.  This is a constant expression.
fr: avec comme argument une longueur, la renvoie en incluant l'alignement nécessaire. C'est une expression constante.

note: type: Plain text
en: returns the number of bytes an ancillary element with payload of the passed data length occupies.  This is a constant expression.
fr: 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.

note: type: Plain text
en: 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.
fr:  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.

note: type: Plain text
en: 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.
fr: 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.

note: type: Plain text
en: 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).
fr: 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).

note: type: Plain text
en: For portability, ancillary data should be accessed using only the macros described here.
fr: Pour des questions de portabilité, les données de service ne doivent être manipulées qu'avec les macros décrites ici.

note: type: Plain text
en: 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.
fr: 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.

note: type: SH
en: HISTORY
fr: HISTORIQUE

note: type: Plain text
en: This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the IPv6 advanced API described in RFC\ 2292 and SUSv2.
fr: 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.

note: https://www.austingroupbugs.net/view.php?id=978#c3242 type: Plain text
en: B<CMSG_SPACE>()  and B<CMSG_LEN>()  will be included in the next POSIX release (Issue 8).
fr: B<CMSG_SPACE>() et B<CMSG_LEN>() seront incluses dans la prochaine version de POSIX (édition 8).

note: type: SH
en: EXAMPLES
fr: EXEMPLES

note: type: Plain text
en: This code looks for the B<IP_TTL> option in a received ancillary buffer:
fr: Ce code recherche l'option B<IP_TTL> dans un tampon de service reçu\ :

note: type: Plain text
en: The code below passes an array of file descriptors over a UNIX domain socket using B<SCM_RIGHTS>:
fr: 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>\ :

note: type: Plain text
en: For a complete code example that shows passing of file descriptors over a UNIX domain socket, see B<seccomp_unotify>(2).
fr: 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).

note: type: SH
en: SEE ALSO
fr: VOIR AUSSI

note: type: TH
en: 2022-10-29
fr: 29 octobre 2022

note: type: TH
en: Linux man-pages 6.03
fr: Pages du manuel de Linux 6.03

note: https://www.austingroupbugs.net/view.php?id=978#c3242 type: Plain text
en: 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).
fr: 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).

note: type: Plain text
en: B<CMSG_ALIGN>()  is a Linux extension.
fr: B<CMSG_ALIGN>() est une extension Linux.

note: type: Plain text
en: 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.
fr: 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.

note: type: Plain text
en: /* Receive auxiliary data in msgh */
fr: /* Recevoir des données de service dans msgh */

note: type: Plain text
en: if (cmsg == NULL) {
        /* Error: IP_TTL not enabled or small buffer or I/O error */
    }
fr: if (cmsg == NULL) {
        /* Erreur : IP_TTL non activée, tampon trop petit ou erreur d'entrée/sortie */
    }

note: type: Plain text
en: struct msghdr msg = { 0 };
    struct cmsghdr *cmsg;
    int myfds[NUM_FD];  /* Contains the file descriptors to pass */
    char iobuf[1];
    struct iovec io = {
        .iov_base = iobuf,
        .iov_len = sizeof(iobuf)
    };
    union {         /* Ancillary data buffer, wrapped in a union
                       in order to ensure it is suitably aligned */
        char buf[CMSG_SPACE(sizeof(myfds))];
        struct cmsghdr align;
    } u;
fr: struct msghdr msg = { 0 };
    struct cmsghdr *cmsg;
    int myfds[NUM_FD];  /* Contient les descripteurs de fichier à passer */
    char iobuf[1];
    struct iovec io = {
        .iov_base = iobuf,
        .iov_len = sizeof(iobuf)
    };
    union {         /* Tampon des données de service empaqueté dans une union
                       pour être sûr qu'il soit correctement aligné */
        char buf[CMSG_SPACE(sizeof(myfds))];
        struct cmsghdr align;
    } u;

note: type: TH
en: Linux man-pages 6.05
fr: Pages du manuel de Linux 6.05

note: type: TH
en: 2023-03-30
fr: 30 mars 2023

note: type: TH
en: Linux man-pages 6.04
fr: Pages du manuel de Linux 6.04
