diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/fr/archive/man3/queue.3.po | |
parent | Initial commit. (diff) | |
download | manpages-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/archive/man3/queue.3.po')
-rw-r--r-- | po/fr/archive/man3/queue.3.po | 1739 |
1 files changed, 1739 insertions, 0 deletions
diff --git a/po/fr/archive/man3/queue.3.po b/po/fr/archive/man3/queue.3.po new file mode 100644 index 00000000..9ec29020 --- /dev/null +++ b/po/fr/archive/man3/queue.3.po @@ -0,0 +1,1739 @@ +# 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. +# Denis Barbier <barbier@debian.org>, 2006, 2010. +# David Prévot <david@tilapin.org>, 2010-2014. +msgid "" +msgstr "" +"Project-Id-Version: perkamon\n" +"POT-Creation-Date: 2023-08-27 17:15+0200\n" +"PO-Revision-Date: 2018-09-10 20:55+0000\n" +"Last-Translator: Weblate Admin <jean-baptiste@holcroft.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: Weblate 3.1.1\n" + +#. type: Dd +#: opensuse-leap-15-6 +#, no-wrap +msgid "February 7, 2015" +msgstr "" + +#. type: Dt +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "QUEUE 3" +msgstr "QUEUE" + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. .Nm SLIST_FOREACH_FROM , +#. .Nm SLIST_FOREACH_SAFE , +#. .Nm SLIST_FOREACH_FROM_SAFE , +#. .Nm SLIST_REMOVE_AFTER , +#. .Nm SLIST_SWAP , +#. .Nm STAILQ_FOREACH_FROM , +#. .Nm STAILQ_FOREACH_SAFE , +#. .Nm STAILQ_FOREACH_FROM_SAFE , +#. .Nm STAILQ_LAST , +#. .Nm STAILQ_REMOVE_AFTER , +#. .Nm STAILQ_SWAP , +#. .Nm LIST_FOREACH_FROM , +#. .Nm LIST_FOREACH_SAFE , +#. .Nm LIST_FOREACH_FROM_SAFE , +#. .Nm LIST_PREV , +#. .Nm LIST_SWAP , +#. .Nm TAILQ_FOREACH_FROM , +#. .Nm TAILQ_FOREACH_SAFE , +#. .Nm TAILQ_FOREACH_FROM_SAFE , +#. .Nm TAILQ_FOREACH_REVERSE_FROM , +#. .Nm TAILQ_FOREACH_REVERSE_SAFE , +#. .Nm TAILQ_FOREACH_REVERSE_FROM_SAFE , +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"E<.Nm SLIST_EMPTY>, E<.Nm SLIST_ENTRY>, E<.Nm SLIST_FIRST>, E<.Nm " +"SLIST_FOREACH>, E<.Nm SLIST_HEAD>, E<.Nm SLIST_HEAD_INITIALIZER>, E<.Nm " +"SLIST_INIT>, E<.Nm SLIST_INSERT_AFTER>, E<.Nm SLIST_INSERT_HEAD>, E<.Nm " +"SLIST_NEXT>, E<.Nm SLIST_REMOVE_HEAD>, E<.Nm SLIST_REMOVE>, E<.Nm " +"STAILQ_CONCAT>, E<.Nm STAILQ_EMPTY>, E<.Nm STAILQ_ENTRY>, E<.Nm " +"STAILQ_FIRST>, E<.Nm STAILQ_FOREACH>, E<.Nm STAILQ_HEAD>, E<.Nm " +"STAILQ_HEAD_INITIALIZER>, E<.Nm STAILQ_INIT>, E<.Nm STAILQ_INSERT_AFTER>, E<." +"Nm STAILQ_INSERT_HEAD>, E<.Nm STAILQ_INSERT_TAIL>, E<.Nm STAILQ_NEXT>, E<.Nm " +"STAILQ_REMOVE_HEAD>, E<.Nm STAILQ_REMOVE>, E<.Nm LIST_EMPTY>, E<.Nm " +"LIST_ENTRY>, E<.Nm LIST_FIRST>, E<.Nm LIST_FOREACH>, E<.Nm LIST_HEAD>, E<.Nm " +"LIST_HEAD_INITIALIZER>, E<.Nm LIST_INIT>, E<.Nm LIST_INSERT_AFTER>, E<.Nm " +"LIST_INSERT_BEFORE>, E<.Nm LIST_INSERT_HEAD>, E<.Nm LIST_NEXT>, E<.Nm " +"LIST_REMOVE>, E<.Nm TAILQ_CONCAT>, E<.Nm TAILQ_EMPTY>, E<.Nm TAILQ_ENTRY>, " +"E<.Nm TAILQ_FIRST>, E<.Nm TAILQ_FOREACH>, E<.Nm TAILQ_FOREACH_REVERSE>, E<." +"Nm TAILQ_HEAD>, E<.Nm TAILQ_HEAD_INITIALIZER>, E<.Nm TAILQ_INIT>, E<.Nm " +"TAILQ_INSERT_AFTER>, E<.Nm TAILQ_INSERT_BEFORE>, E<.Nm TAILQ_INSERT_HEAD>, " +"E<.Nm TAILQ_INSERT_TAIL>, E<.Nm TAILQ_LAST>, E<.Nm TAILQ_NEXT>, E<.Nm " +"TAILQ_PREV>, E<.Nm TAILQ_REMOVE>, E<.Nm TAILQ_SWAP>" +msgstr "" + +#. type: Nd +#: opensuse-leap-15-6 +#, no-wrap +msgid "implementations of singly-linked lists, singly-linked tail queues," +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "lists and tail queues" +msgstr "Listes doubles" + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS" + +#. type: In +#: opensuse-leap-15-6 +#, no-wrap +msgid "sys/queue.h" +msgstr "" + +# +# +# +# +#. .Fn SLIST_FOREACH_FROM "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" +#. .Fn SLIST_FOREACH_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var" +#. .Fn SLIST_FOREACH_FROM_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var" +#. .Fn SLIST_REMOVE_AFTER "TYPE *elm" "SLIST_ENTRY NAME" +#. .Fn SLIST_SWAP "SLIST_HEAD *head1" "SLIST_HEAD *head2" "SLIST_ENTRY NAME" +#. .Fn STAILQ_FOREACH_FROM "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +#. .Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" +#. .Fn STAILQ_FOREACH_FROM_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" +#. .Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME" +#. .Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" +#. .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME" +#. .Fn LIST_FOREACH_FROM "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" +#. .Fn LIST_FOREACH_SAFE "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" "TYPE *temp_var" +#. .Fn LIST_FOREACH_FROM_SAFE "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" "TYPE *temp_var" +#. .Fn LIST_PREV "TYPE *elm" "LIST_HEAD *head" "TYPE" "LIST_ENTRY NAME" +#. .Fn TAILQ_FOREACH_FROM "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" +#. .Fn TAILQ_FOREACH_SAFE "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" "TYPE *temp_var" +#. .Fn TAILQ_FOREACH_FROM_SAFE "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" "TYPE *temp_var" +#. .Fn TAILQ_FOREACH_REVERSE_FROM "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" +#. .Fn TAILQ_FOREACH_REVERSE_SAFE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" "TYPE *temp_var" +#. .Fn TAILQ_FOREACH_REVERSE_FROM_SAFE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" "TYPE *temp_var" +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"E<.Fn SLIST_EMPTY \"SLIST_HEAD *head\"> E<.Fn SLIST_ENTRY \"TYPE\"> E<.Fn " +"SLIST_FIRST \"SLIST_HEAD *head\"> E<.Fn SLIST_FOREACH \"TYPE *var\" " +"\"SLIST_HEAD *head\" \"SLIST_ENTRY NAME\"> E<.Fn SLIST_HEAD \"HEADNAME\" " +"\"TYPE\"> E<.Fn SLIST_HEAD_INITIALIZER \"SLIST_HEAD head\"> E<.Fn SLIST_INIT " +"\"SLIST_HEAD *head\"> E<.Fn SLIST_INSERT_AFTER \"TYPE *listelm\" \"TYPE " +"*elm\" \"SLIST_ENTRY NAME\"> E<.Fn SLIST_INSERT_HEAD \"SLIST_HEAD *head\" " +"\"TYPE *elm\" \"SLIST_ENTRY NAME\"> E<.Fn SLIST_NEXT \"TYPE *elm\" " +"\"SLIST_ENTRY NAME\"> E<.Fn SLIST_REMOVE_HEAD \"SLIST_HEAD *head\" " +"\"SLIST_ENTRY NAME\"> E<.Fn SLIST_REMOVE \"SLIST_HEAD *head\" \"TYPE *elm\" " +"\"TYPE\" \"SLIST_ENTRY NAME\"> E<.Fn STAILQ_CONCAT \"STAILQ_HEAD *head1\" " +"\"STAILQ_HEAD *head2\"> E<.Fn STAILQ_EMPTY \"STAILQ_HEAD *head\"> E<.Fn " +"STAILQ_ENTRY \"TYPE\"> E<.Fn STAILQ_FIRST \"STAILQ_HEAD *head\"> E<.Fn " +"STAILQ_FOREACH \"TYPE *var\" \"STAILQ_HEAD *head\" \"STAILQ_ENTRY NAME\"> E<." +"Fn STAILQ_HEAD \"HEADNAME\" \"TYPE\"> E<.Fn STAILQ_HEAD_INITIALIZER " +"\"STAILQ_HEAD head\"> E<.Fn STAILQ_INIT \"STAILQ_HEAD *head\"> E<.Fn " +"STAILQ_INSERT_AFTER \"STAILQ_HEAD *head\" \"TYPE *listelm\" \"TYPE *elm\" " +"\"STAILQ_ENTRY NAME\"> E<.Fn STAILQ_INSERT_HEAD \"STAILQ_HEAD *head\" \"TYPE " +"*elm\" \"STAILQ_ENTRY NAME\"> E<.Fn STAILQ_INSERT_TAIL \"STAILQ_HEAD *head\" " +"\"TYPE *elm\" \"STAILQ_ENTRY NAME\"> E<.Fn STAILQ_NEXT \"TYPE *elm\" " +"\"STAILQ_ENTRY NAME\"> E<.Fn STAILQ_REMOVE_HEAD \"STAILQ_HEAD *head\" " +"\"STAILQ_ENTRY NAME\"> E<.Fn STAILQ_REMOVE \"STAILQ_HEAD *head\" \"TYPE " +"*elm\" \"TYPE\" \"STAILQ_ENTRY NAME\"> E<.Fn LIST_EMPTY \"LIST_HEAD *head\"> " +"E<.Fn LIST_ENTRY \"TYPE\"> E<.Fn LIST_FIRST \"LIST_HEAD *head\"> E<.Fn " +"LIST_FOREACH \"TYPE *var\" \"LIST_HEAD *head\" \"LIST_ENTRY NAME\"> E<.Fn " +"LIST_HEAD \"HEADNAME\" \"TYPE\"> E<.Fn LIST_HEAD_INITIALIZER \"LIST_HEAD " +"head\"> E<.Fn LIST_INIT \"LIST_HEAD *head\"> E<.Fn LIST_INSERT_AFTER \"TYPE " +"*listelm\" \"TYPE *elm\" \"LIST_ENTRY NAME\"> E<.Fn LIST_INSERT_BEFORE " +"\"TYPE *listelm\" \"TYPE *elm\" \"LIST_ENTRY NAME\"> E<.Fn LIST_INSERT_HEAD " +"\"LIST_HEAD *head\" \"TYPE *elm\" \"LIST_ENTRY NAME\"> E<.Fn LIST_NEXT " +"\"TYPE *elm\" \"LIST_ENTRY NAME\"> E<.Fn LIST_REMOVE \"TYPE *elm\" " +"\"LIST_ENTRY NAME\"> E<.Fn LIST_SWAP \"LIST_HEAD *head1\" \"LIST_HEAD " +"*head2\" \"TYPE\" \"LIST_ENTRY NAME\"> E<.Fn TAILQ_CONCAT \"TAILQ_HEAD " +"*head1\" \"TAILQ_HEAD *head2\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_EMPTY " +"\"TAILQ_HEAD *head\"> E<.Fn TAILQ_ENTRY \"TYPE\"> E<.Fn TAILQ_FIRST " +"\"TAILQ_HEAD *head\"> E<.Fn TAILQ_FOREACH \"TYPE *var\" \"TAILQ_HEAD *head\" " +"\"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_FOREACH_REVERSE \"TYPE *var\" \"TAILQ_HEAD " +"*head\" \"HEADNAME\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_HEAD \"HEADNAME\" " +"\"TYPE\"> E<.Fn TAILQ_HEAD_INITIALIZER \"TAILQ_HEAD head\"> E<.Fn TAILQ_INIT " +"\"TAILQ_HEAD *head\"> E<.Fn TAILQ_INSERT_AFTER \"TAILQ_HEAD *head\" \"TYPE " +"*listelm\" \"TYPE *elm\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_INSERT_BEFORE " +"\"TYPE *listelm\" \"TYPE *elm\" \"TAILQ_ENTRY NAME\"> E<.Fn " +"TAILQ_INSERT_HEAD \"TAILQ_HEAD *head\" \"TYPE *elm\" \"TAILQ_ENTRY NAME\"> " +"E<.Fn TAILQ_INSERT_TAIL \"TAILQ_HEAD *head\" \"TYPE *elm\" \"TAILQ_ENTRY " +"NAME\"> E<.Fn TAILQ_LAST \"TAILQ_HEAD *head\" \"HEADNAME\"> E<.Fn TAILQ_NEXT " +"\"TYPE *elm\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_PREV \"TYPE *elm\" " +"\"HEADNAME\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_REMOVE \"TAILQ_HEAD *head\" " +"\"TYPE *elm\" \"TAILQ_ENTRY NAME\"> E<.Fn TAILQ_SWAP \"TAILQ_HEAD *head1\" " +"\"TAILQ_HEAD *head2\" \"TYPE\" \"TAILQ_ENTRY NAME\">" +msgstr "" + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"These macros define and operate on four types of data structures: singly-" +"linked lists, singly-linked tail queues, lists, and tail queues. All four " +"structures support the following functionality:" +msgstr "" +"Ces macros définissent et manipulent trois types de structures de " +"données\\ : les listes simples, les listes doubles et les listes " +"circulaires. Ces trois structures supportent les fonctionnalités " +"suivantes\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Insertion of a new entry at the head of the list." +msgstr "Insertion d'un élément en tête de liste\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Insertion of a new entry after any element in the list." +msgstr "Insertion d'un élément après n'importe quel élément existant\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "O(1) removal of an entry from the head of the list." +msgstr "Insertion d'un élément en tête de liste\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Forward traversal through the list." +msgstr "Traversée séquentielle de la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Swapping the contents of two lists." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"Singly-linked lists are the simplest of the four data structures and support " +"only the above functionality. Singly-linked lists are ideal for " +"applications with large datasets and few or no removals, or for implementing " +"a LIFO queue. Singly-linked lists add the following functionality:" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "O(n) removal of any entry in the list." +msgstr "Suppression de n'importe quel élément\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "Singly-linked tail queues add the following functionality:" +msgstr "Les listes doubles ajoutent la fonctionnalité suivante\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Entries can be added at the end of a list." +msgstr "Un élément peut être ajouté en fin de liste." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "They may be concatenated." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "However:" +msgstr "Cependant\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "All list insertions must specify the head of the list." +msgstr "" +"Toutes les insertions et suppressions doivent mentionner la tête de la " +"liste\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Each head entry requires two pointers rather than one." +msgstr "L'élément de tête nécessite deux pointeurs au lieu d'un seul\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"Code size is about 15% greater and operations run about 20% slower than " +"singly-linked lists." +msgstr "" +"La taille du code est environ 15% plus grande, et l'exécution environ 20% " +"plus lente que les listes." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"Singly-linked tail queues are ideal for applications with large datasets and " +"few or no removals, or for implementing a FIFO queue." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"All doubly linked types of data structures (lists and tail queues) " +"additionally allow:" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "Insertion of a new entry before any element in the list." +msgstr "Insertion d'un élément après n'importe quel élément existant\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "O(1) removal of any entry in the list." +msgstr "Suppression de n'importe quel élément\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "Each element requires two pointers rather than one." +msgstr "L'élément de tête nécessite deux pointeurs au lieu d'un seul\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"Code size and execution time of operations (except for removal) is about " +"twice that of the singly-linked data-structures." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"Linked lists are the simplest of the doubly linked data structures. They " +"add the following functionality over the above:" +msgstr "" +"Les listes sont les plus simples de ces trois structures de données et ne " +"supportent que les fonctionnalités ci-dessus." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "They may be traversed backwards." +msgstr "Elles peuvent être traversées à l'envers, de la queue à la tête\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"To traverse backwards, an entry to begin the traversal and the list in which " +"it is contained must be specified." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "Tail queues add the following functionality:" +msgstr "Les listes doubles ajoutent la fonctionnalité suivante\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "They may be traversed backwards, from tail to head." +msgstr "Elles peuvent être traversées à l'envers, de la queue à la tête\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "All list insertions and removals must specify the head of the list." +msgstr "" +"Toutes les insertions et suppressions doivent mentionner la tête de la " +"liste\\ ;" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"In the macro definitions, E<.Fa TYPE> is the name of a user defined " +"structure, that must contain a field of type E<.Li SLIST_ENTRY>, E<.Li " +"STAILQ_ENTRY>, E<.Li LIST_ENTRY>, or E<.Li TAILQ_ENTRY>, named E<.Fa NAME>. " +"The argument E<.Fa HEADNAME> is the name of a user defined structure that " +"must be declared using the macros E<.Li SLIST_HEAD>, E<.Li STAILQ_HEAD>, E<." +"Li LIST_HEAD>, or E<.Li TAILQ_HEAD>. See the examples below for further " +"explanation of how these macros are used." +msgstr "" +"Dans les définitions de macros, I<TYPE> est le nom d'une structure définie " +"par l'utilisateur, qui doit contenir un champ de type B<LIST_ENTRY>, " +"B<TAILQ_ENTRY> ou B<CIRCLEQ_ENTRY>, appelé I<NAME>. L'argument I<HEADNAME> " +"est le nom d'une structure définie par l'utilisateur qui doit être déclarée " +"en utilisant les macros B<LIST_HEAD>, B<TAILQ_HEAD> ou B<CIRCLEQ_HEAD>. " +"Consultez les exemples plus bas pour une explication sur l'utilisation de " +"ces macros." + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Singly-linked lists" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"A singly-linked list is headed by a structure defined by the E<.Nm " +"SLIST_HEAD> macro. This structure contains a single pointer to the first " +"element on the list. The elements are singly linked for minimum space and " +"pointer manipulation overhead at the expense of O(n) removal for arbitrary " +"elements. New elements can be added to the list after an existing element " +"or at the head of the list. An E<.Fa SLIST_HEAD> structure is declared as " +"follows:" +msgstr "" +"Une liste débute par une structure définie par la macro B<LIST_HEAD>. Cette " +"structure contient un pointeur simple sur le premier élément de la liste. " +"Les éléments sont doublement chaînés afin qu'un élément puisse être supprimé " +"sans parcourir toute la liste. Des éléments peuvent être ajoutés après un " +"élément existant ou en tête de liste. Une structure B<LIST_HEAD> est " +"déclarée ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "SLIST_HEAD(HEADNAME, TYPE) head;\n" +msgstr "LIST_HEAD(HEADNAME, TYPE) head;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"where E<.Fa HEADNAME> is the name of the structure to be defined, and E<.Fa " +"TYPE> is the type of the elements to be linked into the list. A pointer to " +"the head of the list can later be declared as:" +msgstr "" +"où I<HEADNAME> est le nom de la structure à définir, et I<TYPE> le type " +"d'élément à lier dans la liste. Un pointeur sur la tête de la liste peut " +"ensuite être déclaré ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "struct HEADNAME *headp;\n" +msgstr "struct HEADNAME *headp;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "(The names E<.Li head> and E<.Li headp> are user selectable.)" +msgstr "(les noms I<head> et I<headp> sont choisis par l'utilisateur)" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_HEAD_INITIALIZER> evaluates to an initializer for the " +"list E<.Fa head>." +msgstr "La macro B<LIST_INIT> initialise la liste référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_EMPTY> evaluates to true if there are no elements in " +"the list." +msgstr "" +"La macro B<LIST_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_ENTRY> declares a structure that connects the elements " +"in the list." +msgstr "" +"La macro B<LIST_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_FIRST> returns the first element in the list or NULL " +"if the list is empty." +msgstr "" +"La macro B<LIST_INSERT_HEAD> insère le nouvel élément I<elm> à la tête de la " +"liste." + +#. .Pp +#. The macro +#. .Nm SLIST_FOREACH_FROM +#. behaves identically to +#. .Nm SLIST_FOREACH +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found SLIST element and begins the loop at +#. .Fa var +#. instead of the first element in the SLIST referenced by +#. .Fa head . +#. .Pp +#. The macro +#. .Nm SLIST_FOREACH_SAFE +#. traverses the list referenced by +#. .Fa head +#. in the forward direction, assigning each element in +#. turn to +#. .Fa var . +#. However, unlike +#. .Fn SLIST_FOREACH +#. here it is permitted to both remove +#. .Fa var +#. as well as free it from within the loop safely without interfering with the +#. traversal. +#. .Pp +#. The macro +#. .Nm SLIST_FOREACH_FROM_SAFE +#. behaves identically to +#. .Nm SLIST_FOREACH_SAFE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found SLIST element and begins the loop at +#. .Fa var +#. instead of the first element in the SLIST referenced by +#. .Fa head . +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm SLIST_FOREACH> traverses the list referenced by E<.Fa head> " +"in the forward direction, assigning each element in turn to E<.Fa var>." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_INIT> initializes the list referenced by E<.Fa head>." +msgstr "La macro B<LIST_INIT> initialise la liste référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_INSERT_HEAD> inserts the new element E<.Fa elm> at the " +"head of the list." +msgstr "" +"La macro B<LIST_INSERT_HEAD> insère le nouvel élément I<elm> à la tête de la " +"liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_INSERT_AFTER> inserts the new element E<.Fa elm> after " +"the element E<.Fa listelm>." +msgstr "" +"La macro B<LIST_INSERT_AFTER> insère le nouvel élément I<elm> après " +"l'élément I<listelm>." + +#. .Pp +#. The macro +#. .Nm SLIST_REMOVE_AFTER +#. removes the element after +#. .Fa elm +#. from the list. +#. Unlike +#. .Fa SLIST_REMOVE , +#. this macro does not traverse the entire list. +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "The macro E<.Nm SLIST_NEXT> returns the next element in the list." +msgstr "" +"La macro B<LIST_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm SLIST_REMOVE_HEAD> removes the element E<.Fa elm> from the " +"head of the list. For optimum efficiency, elements being removed from the " +"head of the list should explicitly use this macro instead of the generic E<." +"Fa SLIST_REMOVE> macro." +msgstr "" + +#. .Pp +#. The macro +#. .Nm SLIST_SWAP +#. swaps the contents of +#. .Fa head1 +#. and +#. .Fa head2 . +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm SLIST_REMOVE> removes the element E<.Fa elm> from the list." +msgstr "La macro B<LIST_REMOVE> supprime l'élément I<elm> de la liste." + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Singly-linked list example" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"SLIST_HEAD(slisthead, entry) head =\n" +" SLIST_HEAD_INITIALIZER(head);\n" +"struct slisthead *headp;\t\t/* Singly-linked List\n" +" head. */\n" +"struct entry {\n" +"\t...\n" +"\tSLIST_ENTRY(entry) entries;\t/* Singly-linked List. */\n" +"\t...\n" +"} *n1, *n2, *n3, *np;\n" +msgstr "" +"LIST_HEAD(listhead, entry) head;\n" +"struct listhead *headp; /* Tête de la liste */\n" +"struct entry {\n" +" ...\n" +" LIST_ENTRY(entry) entries; /* Liste */\n" +" ...\n" +"} *n1, *n2, *np;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "SLIST_INIT(&head);\t\t\t/* Initialize the list. */\n" +msgstr "LIST_INIT(&head); /* Initialisation de liste */\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the head. */\n" +"SLIST_INSERT_HEAD(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion en tête */\n" +"LIST_INSERT_HEAD(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n2 = malloc(sizeof(struct entry));\t/* Insert after. */\n" +"SLIST_INSERT_AFTER(n1, n2, entries);\n" +msgstr "" +"n2 = malloc(sizeof(struct entry)); /* Insertion après */\n" +"CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"SLIST_REMOVE(&head, n2, entry, entries);/* Deletion. */\n" +"free(n2);\n" +msgstr "" + +#. /* Safe forward traversal. */ +#. SLIST_FOREACH_SAFE(np, &head, entries, np_temp) { +#. np\->do_stuff(); +#. ... +#. SLIST_REMOVE(&head, np, entry, entries); +#. free(np); +#. } +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"n3 = SLIST_FIRST(&head);\n" +"SLIST_REMOVE_HEAD(&head, entries);\t/* Deletion from the head. */\n" +"free(n3);\n" +"\t\t\t\t\t/* Forward traversal. */\n" +"SLIST_FOREACH(np, &head, entries)\n" +"\tnp\\-E<gt> ...\n" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"while (!SLIST_EMPTY(&head)) {\t\t/* List Deletion. */\n" +"\tn1 = SLIST_FIRST(&head);\n" +"\tSLIST_REMOVE_HEAD(&head, entries);\n" +"\tfree(n1);\n" +"}\n" +msgstr "" + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Singly-linked tail queues" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"A singly-linked tail queue is headed by a structure defined by the E<.Nm " +"STAILQ_HEAD> macro. This structure contains a pair of pointers, one to the " +"first element in the tail queue and the other to the last element in the " +"tail queue. The elements are singly linked for minimum space and pointer " +"manipulation overhead at the expense of O(n) removal for arbitrary " +"elements. New elements can be added to the tail queue after an existing " +"element, at the head of the tail queue, or at the end of the tail queue. A " +"E<.Fa STAILQ_HEAD> structure is declared as follows:" +msgstr "" +"La tête d'une liste double est désignée par une structure définie par la " +"macro B<TAILQ_HEAD>. Cette structure contient deux pointeurs, l'un sur le " +"premier élément et l'autre sur le dernier élément. Les éléments sont " +"doublement chaînés, ainsi un élément quelconque peut être supprimé sans " +"reparcourir toute la liste. Les nouveaux éléments peuvent être ajoutés après " +"un élément existant, en tête ou en queue de liste. Une structure " +"B<TAILQ_HEAD> est déclarée ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "STAILQ_HEAD(HEADNAME, TYPE) head;\n" +msgstr "TAILQ_HEAD(HEADNAME, TYPE) head;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"where E<.Li HEADNAME> is the name of the structure to be defined, and E<.Li " +"TYPE> is the type of the elements to be linked into the tail queue. A " +"pointer to the head of the tail queue can later be declared as:" +msgstr "" +"où I<HEADNAME> est le nom de la structure à définir, et I<TYPE> représente " +"le type des éléments à lier dans la liste. Un pointeur sur la tête de la " +"liste peut être déclaré ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_HEAD_INITIALIZER> evaluates to an initializer for the " +"tail queue E<.Fa head>." +msgstr "" +"La macro B<TAILQ_INIT> initialise la liste double référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm STAILQ_CONCAT> concatenates the tail queue headed by E<.Fa " +"head2> onto the end of the one headed by E<.Fa head1> removing all entries " +"from the former." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_EMPTY> evaluates to true if there are no items on the " +"tail queue." +msgstr "" +"La macro B<TAILQ_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_ENTRY> declares a structure that connects the " +"elements in the tail queue." +msgstr "" +"La macro B<TAILQ_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_FIRST> returns the first item on the tail queue or " +"NULL if the tail queue is empty." +msgstr "" +"La macro B<TAILQ_INSERT_TAIL> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. .Pp +#. The macro +#. .Nm STAILQ_FOREACH_FROM +#. behaves identically to +#. .Nm STAILQ_FOREACH +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found STAILQ element and begins the loop at +#. .Fa var +#. instead of the first element in the STAILQ referenced by +#. .Fa head . +#. .Pp +#. The macro +#. .Nm STAILQ_FOREACH_SAFE +#. traverses the tail queue referenced by +#. .Fa head +#. in the forward direction, assigning each element +#. in turn to +#. .Fa var . +#. However, unlike +#. .Fn STAILQ_FOREACH +#. here it is permitted to both remove +#. .Fa var +#. as well as free it from within the loop safely without interfering with the +#. traversal. +#. .Pp +#. The macro +#. .Nm STAILQ_FOREACH_FROM_SAFE +#. behaves identically to +#. .Nm STAILQ_FOREACH_SAFE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found STAILQ element and begins the loop at +#. .Fa var +#. instead of the first element in the STAILQ referenced by +#. .Fa head . +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm STAILQ_FOREACH> traverses the tail queue referenced by E<.Fa " +"head> in the forward direction, assigning each element in turn to E<.Fa var>." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_INIT> initializes the tail queue referenced by E<.Fa " +"head>." +msgstr "" +"La macro B<TAILQ_INIT> initialise la liste double référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_INSERT_HEAD> inserts the new element E<.Fa elm> at " +"the head of the tail queue." +msgstr "" +"La macro B<TAILQ_INSERT_HEAD> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_INSERT_TAIL> inserts the new element E<.Fa elm> at " +"the end of the tail queue." +msgstr "" +"La macro B<TAILQ_INSERT_TAIL> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. .Pp +#. The macro +#. .Nm STAILQ_LAST +#. returns the last item on the tail queue. +#. If the tail queue is empty the return value is +#. .Dv NULL . +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_INSERT_AFTER> inserts the new element E<.Fa elm> " +"after the element E<.Fa listelm>." +msgstr "" +"La macro B<TAILQ_INSERT_AFTER> insère le nouvel élément I<elm> après " +"l'élément I<listelm>." + +#. .Pp +#. The macro +#. .Nm STAILQ_REMOVE_AFTER +#. removes the element after +#. .Fa elm +#. from the tail queue. +#. Unlike +#. .Fa STAILQ_REMOVE , +#. this macro does not traverse the entire tail queue. +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm STAILQ_NEXT> returns the next item on the tail queue, or " +"NULL this item is the last." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm STAILQ_REMOVE_HEAD> removes the element at the head of the " +"tail queue. For optimum efficiency, elements being removed from the head of " +"the tail queue should use this macro explicitly rather than the generic E<." +"Fa STAILQ_REMOVE> macro." +msgstr "" + +#. .Pp +#. The macro +#. .Nm STAILQ_SWAP +#. swaps the contents of +#. .Fa head1 +#. and +#. .Fa head2 . +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm STAILQ_REMOVE> removes the element E<.Fa elm> from the tail " +"queue." +msgstr "La macro B<TAILQ_REMOVE> supprime l'élément I<elm> de la liste double." + +#. type: Ss +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "Singly-linked tail queue example" +msgstr "Exemple de liste double" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"STAILQ_HEAD(stailhead, entry) head =\n" +" STAILQ_HEAD_INITIALIZER(head);\n" +"struct stailhead *headp;\t\t/* Singly-linked tail queue head. */\n" +"struct entry {\n" +"\t...\n" +"\tSTAILQ_ENTRY(entry) entries;\t/* Tail queue. */\n" +"\t...\n" +"} *n1, *n2, *n3, *np;\n" +msgstr "" +"TAILQ_HEAD(tailhead, entry) head;\n" +"struct tailhead *headp; /* Tête de liste double */\n" +"struct entry {\n" +" ...\n" +" TAILQ_ENTRY(entry) entries; /* Liste double */\n" +" ...\n" +"} *n1, *n2, *np;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "STAILQ_INIT(&head);\t\t\t/* Initialize the queue. */\n" +msgstr "TAILQ_INIT(&head); /* Initialisation de liste */\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the head. */\n" +"STAILQ_INSERT_HEAD(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion au début */\n" +"TAILQ_INSERT_HEAD(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the tail. */\n" +"STAILQ_INSERT_TAIL(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion à la fin */\n" +"TAILQ_INSERT_TAIL(&head, n1, entries);\n" + +#. /* Safe forward traversal. */ +#. STAILQ_FOREACH_SAFE(np, &head, entries, np_temp) { +#. np\->do_stuff(); +#. ... +#. STAILQ_REMOVE(&head, np, entry, entries); +#. free(np); +#. } +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"n2 = malloc(sizeof(struct entry));\t/* Insert after. */\n" +"STAILQ_INSERT_AFTER(&head, n1, n2, entries);\n" +"\t\t\t\t\t/* Deletion. */\n" +"STAILQ_REMOVE(&head, n2, entry, entries);\n" +"free(n2);\n" +"\t\t\t\t\t/* Deletion from the head. */\n" +"n3 = STAILQ_FIRST(&head);\n" +"STAILQ_REMOVE_HEAD(&head, entries);\n" +"free(n3);\n" +"\t\t\t\t\t/* Forward traversal. */\n" +"STAILQ_FOREACH(np, &head, entries)\n" +"\tnp\\-E<gt> ...\n" +"\t\t\t\t\t/* TailQ Deletion. */\n" +"while (!STAILQ_EMPTY(&head)) {\n" +"\tn1 = STAILQ_FIRST(&head);\n" +"\tSTAILQ_REMOVE_HEAD(&head, entries);\n" +"\tfree(n1);\n" +"}\n" +"\t\t\t\t\t/* Faster TailQ Deletion. */\n" +"n1 = STAILQ_FIRST(&head);\n" +"while (n1 != NULL) {\n" +"\tn2 = STAILQ_NEXT(n1, entries);\n" +"\tfree(n1);\n" +"\tn1 = n2;\n" +"}\n" +"STAILQ_INIT(&head);\n" +msgstr "" + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Lists" +msgstr "Listes" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"A list is headed by a structure defined by the E<.Nm LIST_HEAD> macro. This " +"structure contains a single pointer to the first element on the list. The " +"elements are doubly linked so that an arbitrary element can be removed " +"without traversing the list. New elements can be added to the list after an " +"existing element, before an existing element, or at the head of the list. A " +"E<.Fa LIST_HEAD> structure is declared as follows:" +msgstr "" +"Une liste débute par une structure définie par la macro B<LIST_HEAD>. Cette " +"structure contient un pointeur simple sur le premier élément de la liste. " +"Les éléments sont doublement chaînés afin qu'un élément puisse être supprimé " +"sans parcourir toute la liste. Des éléments peuvent être ajoutés après un " +"élément existant ou en tête de liste. Une structure B<LIST_HEAD> est " +"déclarée ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "LIST_HEAD(HEADNAME, TYPE) head;\n" +msgstr "LIST_HEAD(HEADNAME, TYPE) head;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_HEAD_INITIALIZER> evaluates to an initializer for the " +"list E<.Fa head>." +msgstr "La macro B<LIST_INIT> initialise la liste référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_EMPTY> evaluates to true if there are no elements in " +"the list." +msgstr "" +"La macro B<LIST_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_ENTRY> declares a structure that connects the elements " +"in the list." +msgstr "" +"La macro B<LIST_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_FIRST> returns the first element in the list or NULL if " +"the list is empty." +msgstr "" +"La macro B<LIST_INSERT_HEAD> insère le nouvel élément I<elm> à la tête de la " +"liste." + +#. .Pp +#. The macro +#. .Nm LIST_FOREACH_FROM +#. behaves identically to +#. .Nm LIST_FOREACH +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found LIST element and begins the loop at +#. .Fa var +#. instead of the first element in the LIST referenced by +#. .Fa head . +#. .Pp +#. The macro +#. .Nm LIST_FOREACH_SAFE +#. traverses the list referenced by +#. .Fa head +#. in the forward direction, assigning each element in turn to +#. .Fa var . +#. However, unlike +#. .Fn LIST_FOREACH +#. here it is permitted to both remove +#. .Fa var +#. as well as free it from within the loop safely without interfering with the +#. traversal. +#. .Pp +#. The macro +#. .Nm LIST_FOREACH_FROM_SAFE +#. behaves identically to +#. .Nm LIST_FOREACH_SAFE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found LIST element and begins the loop at +#. .Fa var +#. instead of the first element in the LIST referenced by +#. .Fa head . +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm LIST_FOREACH> traverses the list referenced by E<.Fa head> " +"in the forward direction, assigning each element in turn to E<.Fa var>." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_INIT> initializes the list referenced by E<.Fa head>." +msgstr "La macro B<LIST_INIT> initialise la liste référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_INSERT_HEAD> inserts the new element E<.Fa elm> at the " +"head of the list." +msgstr "" +"La macro B<LIST_INSERT_HEAD> insère le nouvel élément I<elm> à la tête de la " +"liste." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_INSERT_AFTER> inserts the new element E<.Fa elm> after " +"the element E<.Fa listelm>." +msgstr "" +"La macro B<LIST_INSERT_AFTER> insère le nouvel élément I<elm> après " +"l'élément I<listelm>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_INSERT_BEFORE> inserts the new element E<.Fa elm> " +"before the element E<.Fa listelm>." +msgstr "" +"La macro B<CIRCLEQ_INSERT_BEFORE> insère le nouvel élément I<elm> avant " +"l'élément I<listelm>." + +#. .Pp +#. The macro +#. .Nm LIST_PREV +#. returns the previous element in the list, or NULL if this is the first. +#. List +#. .Fa head +#. must contain element +#. .Fa elm . +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_NEXT> returns the next element in the list, or NULL if " +"this is the last." +msgstr "" +"La macro B<LIST_INSERT_HEAD> insère le nouvel élément I<elm> à la tête de la " +"liste." + +#. .Pp +#. The macro +#. .Nm LIST_SWAP +#. swaps the contents of +#. .Fa head1 +#. and +#. .Fa head2 . +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm LIST_REMOVE> removes the element E<.Fa elm> from the list." +msgstr "La macro B<LIST_REMOVE> supprime l'élément I<elm> de la liste." + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "List example" +msgstr "Exemple de liste" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"LIST_HEAD(listhead, entry) head =\n" +" LIST_HEAD_INITIALIZER(head);\n" +"struct listhead *headp;\t\t\t/* List head. */\n" +"struct entry {\n" +"\t...\n" +"\tLIST_ENTRY(entry) entries;\t/* List. */\n" +"\t...\n" +"} *n1, *n2, *n3, *np, *np_temp;\n" +msgstr "" +"LIST_HEAD(listhead, entry) head;\n" +"struct listhead *headp; /* Tête de la liste */\n" +"struct entry {\n" +" ...\n" +" LIST_ENTRY(entry) entries; /* Liste */\n" +" ...\n" +"} *n1, *n2, *np;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "LIST_INIT(&head);\t\t\t/* Initialize the list. */\n" +msgstr "LIST_INIT(&head); /* Initialisation de liste */\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the head. */\n" +"LIST_INSERT_HEAD(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion en tête */\n" +"LIST_INSERT_HEAD(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n2 = malloc(sizeof(struct entry));\t/* Insert after. */\n" +"LIST_INSERT_AFTER(n1, n2, entries);\n" +msgstr "" +"n2 = malloc(sizeof(struct entry)); /* Insertion après */\n" +"CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n3 = malloc(sizeof(struct entry));\t/* Insert before. */\n" +"LIST_INSERT_BEFORE(n2, n3, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion en tête */\n" +"LIST_INSERT_HEAD(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"LIST_REMOVE(n2, entries);\t\t/* Deletion. */\n" +"free(n2);\n" +"\t\t\t\t\t/* Forward traversal. */\n" +"LIST_FOREACH(np, &head, entries)\n" +"\tnp\\-E<gt> ...\n" +msgstr "" + +#. /* Safe forward traversal. */ +#. LIST_FOREACH_SAFE(np, &head, entries, np_temp) { +#. np\->do_stuff(); +#. ... +#. LIST_REMOVE(np, entries); +#. free(np); +#. } +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"while (!LIST_EMPTY(&head)) {\t\t/* List Deletion. */\n" +"\tn1 = LIST_FIRST(&head);\n" +"\tLIST_REMOVE(n1, entries);\n" +"\tfree(n1);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"n1 = LIST_FIRST(&head);\t\t\t/* Faster List Deletion. */\n" +"while (n1 != NULL) {\n" +"\tn2 = LIST_NEXT(n1, entries);\n" +"\tfree(n1);\n" +"\tn1 = n2;\n" +"}\n" +"LIST_INIT(&head);\n" +msgstr "" + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Tail queues" +msgstr "Listes doubles" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"A tail queue is headed by a structure defined by the E<.Nm TAILQ_HEAD> " +"macro. This structure contains a pair of pointers, one to the first element " +"in the tail queue and the other to the last element in the tail queue. The " +"elements are doubly linked so that an arbitrary element can be removed " +"without traversing the tail queue. New elements can be added to the tail " +"queue after an existing element, before an existing element, at the head of " +"the tail queue, or at the end of the tail queue. A E<.Fa TAILQ_HEAD> " +"structure is declared as follows:" +msgstr "" +"La tête d'une liste double est désignée par une structure définie par la " +"macro B<TAILQ_HEAD>. Cette structure contient deux pointeurs, l'un sur le " +"premier élément et l'autre sur le dernier élément. Les éléments sont " +"doublement chaînés, ainsi un élément quelconque peut être supprimé sans " +"reparcourir toute la liste. Les nouveaux éléments peuvent être ajoutés après " +"un élément existant, en tête ou en queue de liste. Une structure " +"B<TAILQ_HEAD> est déclarée ainsi\\ :" + +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "TAILQ_HEAD(HEADNAME, TYPE) head;\n" +msgstr "TAILQ_HEAD(HEADNAME, TYPE) head;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_HEAD_INITIALIZER> evaluates to an initializer for the " +"tail queue E<.Fa head>." +msgstr "" +"La macro B<TAILQ_INIT> initialise la liste double référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_CONCAT> concatenates the tail queue headed by E<.Fa " +"head2> onto the end of the one headed by E<.Fa head1> removing all entries " +"from the former." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_EMPTY> evaluates to true if there are no items on the " +"tail queue." +msgstr "" +"La macro B<TAILQ_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_ENTRY> declares a structure that connects the elements " +"in the tail queue." +msgstr "" +"La macro B<TAILQ_ENTRY> déclare une structure qui connecte les éléments dans " +"la liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_FIRST> returns the first item on the tail queue or " +"NULL if the tail queue is empty." +msgstr "" +"La macro B<TAILQ_INSERT_TAIL> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. .Pp +#. The macro +#. .Nm TAILQ_FOREACH_FROM +#. behaves identically to +#. .Nm TAILQ_FOREACH +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found TAILQ element and begins the loop at +#. .Fa var +#. instead of the first element in the TAILQ referenced by +#. .Fa head . +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_FOREACH> traverses the tail queue referenced by E<.Fa " +"head> in the forward direction, assigning each element in turn to E<.Fa " +"var>. E<.Fa var> is set to E<.Dv NULL> if the loop completes normally, or " +"if there were no elements." +msgstr "" + +#. .Pp +#. The macro +#. .Nm TAILQ_FOREACH_REVERSE_FROM +#. behaves identically to +#. .Nm TAILQ_FOREACH_REVERSE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found TAILQ element and begins the reverse loop at +#. .Fa var +#. instead of the last element in the TAILQ referenced by +#. .Fa head . +#. .Pp +#. The macros +#. .Nm TAILQ_FOREACH_SAFE +#. and +#. .Nm TAILQ_FOREACH_REVERSE_SAFE +#. traverse the list referenced by +#. .Fa head +#. in the forward or reverse direction respectively, +#. assigning each element in turn to +#. .Fa var . +#. However, unlike their unsafe counterparts, +#. .Nm TAILQ_FOREACH +#. and +#. .Nm TAILQ_FOREACH_REVERSE +#. permit to both remove +#. .Fa var +#. as well as free it from within the loop safely without interfering with the +#. traversal. +#. .Pp +#. The macro +#. .Nm TAILQ_FOREACH_FROM_SAFE +#. behaves identically to +#. .Nm TAILQ_FOREACH_SAFE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found TAILQ element and begins the loop at +#. .Fa var +#. instead of the first element in the TAILQ referenced by +#. .Fa head . +#. .Pp +#. The macro +#. .Nm TAILQ_FOREACH_REVERSE_FROM_SAFE +#. behaves identically to +#. .Nm TAILQ_FOREACH_REVERSE_SAFE +#. when +#. .Fa var +#. is NULL, else it treats +#. .Fa var +#. as a previously found TAILQ element and begins the reverse loop at +#. .Fa var +#. instead of the last element in the TAILQ referenced by +#. .Fa head . +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_FOREACH_REVERSE> traverses the tail queue referenced " +"by E<.Fa head> in the reverse direction, assigning each element in turn to " +"E<.Fa var>." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_INIT> initializes the tail queue referenced by E<.Fa " +"head>." +msgstr "" +"La macro B<TAILQ_INIT> initialise la liste double référencée par I<head>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_INSERT_HEAD> inserts the new element E<.Fa elm> at the " +"head of the tail queue." +msgstr "" +"La macro B<TAILQ_INSERT_HEAD> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_INSERT_TAIL> inserts the new element E<.Fa elm> at the " +"end of the tail queue." +msgstr "" +"La macro B<TAILQ_INSERT_TAIL> insère le nouvel élément I<elm> à la fin de la " +"liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_INSERT_AFTER> inserts the new element E<.Fa elm> after " +"the element E<.Fa listelm>." +msgstr "" +"La macro B<TAILQ_INSERT_AFTER> insère le nouvel élément I<elm> après " +"l'élément I<listelm>." + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_INSERT_BEFORE> inserts the new element E<.Fa elm> " +"before the element E<.Fa listelm>." +msgstr "" +"La macro B<CIRCLEQ_INSERT_BEFORE> insère le nouvel élément I<elm> avant " +"l'élément I<listelm>." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_LAST> returns the last item on the tail queue. If the " +"tail queue is empty the return value is E<.Dv NULL>." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_NEXT> returns the next item on the tail queue, or NULL " +"if this item is the last." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_PREV> returns the previous item on the tail queue, or " +"NULL if this item is the first." +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"The macro E<.Nm TAILQ_REMOVE> removes the element E<.Fa elm> from the tail " +"queue." +msgstr "La macro B<TAILQ_REMOVE> supprime l'élément I<elm> de la liste double." + +#. type: Plain text +#: opensuse-leap-15-6 +msgid "" +"The macro E<.Nm TAILQ_SWAP> swaps the contents of E<.Fa head1> and E<.Fa " +"head2>." +msgstr "" + +#. type: Ss +#: opensuse-leap-15-6 +#, no-wrap +msgid "Tail queue example" +msgstr "Exemple de liste double" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"TAILQ_HEAD(tailhead, entry) head =\n" +" TAILQ_HEAD_INITIALIZER(head);\n" +"struct tailhead *headp;\t\t\t/* Tail queue head. */\n" +"struct entry {\n" +"\t...\n" +"\tTAILQ_ENTRY(entry) entries;\t/* Tail queue. */\n" +"\t...\n" +"} *n1, *n2, *n3, *np;\n" +msgstr "" +"TAILQ_HEAD(tailhead, entry) head;\n" +"struct tailhead *headp; /* Tête de liste double */\n" +"struct entry {\n" +" ...\n" +" TAILQ_ENTRY(entry) entries; /* Liste double */\n" +" ...\n" +"} *n1, *n2, *np;\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "TAILQ_INIT(&head);\t\t\t/* Initialize the queue. */\n" +msgstr "TAILQ_INIT(&head); /* Initialisation de liste */\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the head. */\n" +"TAILQ_INSERT_HEAD(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion au début */\n" +"TAILQ_INSERT_HEAD(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n1 = malloc(sizeof(struct entry));\t/* Insert at the tail. */\n" +"TAILQ_INSERT_TAIL(&head, n1, entries);\n" +msgstr "" +"n1 = malloc(sizeof(struct entry)); /* Insertion à la fin */\n" +"TAILQ_INSERT_TAIL(&head, n1, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n2 = malloc(sizeof(struct entry));\t/* Insert after. */\n" +"TAILQ_INSERT_AFTER(&head, n1, n2, entries);\n" +msgstr "" +"n2 = malloc(sizeof(struct entry)); /* Insertion après */\n" +"CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries);\n" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"n3 = malloc(sizeof(struct entry));\t/* Insert before. */\n" +"TAILQ_INSERT_BEFORE(n2, n3, entries);\n" +msgstr "" +"n2 = malloc(sizeof(struct entry)); /* Insertion après */\n" +"CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries);\n" + +#. /* Safe forward traversal. */ +#. TAILQ_FOREACH_SAFE(np, &head, entries, np_temp) { +#. np\->do_stuff(); +#. ... +#. TAILQ_REMOVE(&head, np, entries); +#. free(np); +#. } +#. type: Plain text +#: opensuse-leap-15-6 +#, no-wrap +msgid "" +"TAILQ_REMOVE(&head, n2, entries);\t/* Deletion. */\n" +"free(n2);\n" +"\t\t\t\t\t/* Forward traversal. */\n" +"TAILQ_FOREACH(np, &head, entries)\n" +"\tnp\\-E<gt> ...\n" +"\t\t\t\t\t/* Reverse traversal. */\n" +"TAILQ_FOREACH_REVERSE(np, &head, tailhead, entries)\n" +"\tnp\\-E<gt> ...\n" +"\t\t\t\t\t/* TailQ Deletion. */\n" +"while (!TAILQ_EMPTY(&head)) {\n" +"\tn1 = TAILQ_FIRST(&head);\n" +"\tTAILQ_REMOVE(&head, n1, entries);\n" +"\tfree(n1);\n" +"}\n" +"\t\t\t\t\t/* Faster TailQ Deletion. */\n" +"n1 = TAILQ_FIRST(&head);\n" +"while (n1 != NULL) {\n" +"\tn2 = TAILQ_NEXT(n1, entries);\n" +"\tfree(n1);\n" +"\tn1 = n2;\n" +"}\n" +msgstr "" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy, no-wrap +msgid "" +"TAILQ_INIT(&head);\n" +"n2 = malloc(sizeof(struct entry)); /* Insert before. */\n" +"CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries);\n" +" /* Forward traversal. */\n" +"for (np = head.cqh_first; np != (void *)&head;\n" +" np = np\\-E<gt>entries.cqe_next)\n" +" np\\-E<gt> ...\n" +" /* Reverse traversal. */\n" +"for (np = head.cqh_last; np != (void *)&head; np = np\\-E<gt>entries.cqe_prev)\n" +" np\\-E<gt> ...\n" +" /* Delete. */\n" +"while (head.cqh_first != (void *)&head)\n" +" CIRCLEQ_REMOVE(&head, head.cqh_first, entries);\n" +msgstr "" +"n2 = malloc(sizeof(struct entry)); /* Insertion avant */\n" +"CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries);\n" +" /* Parcours en avant */\n" +"for (np = head.cqh_first; np != (void *)&head;\n" +" np = np-E<gt>entries.cqe_next)\n" +" np-E<gt> ...\n" +" /* Parcours en arrière */\n" +"for (np = head.cqh_last; np != (void *)&head; np = np-E<gt>entries.cqe_prev)\n" +" np-E<gt> ...\n" +" /* Suppression */\n" +"while (head.cqh_first != (void *)&head)\n" +" CIRCLEQ_REMOVE(&head, head.cqh_first, entries);\n" + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "CONFORMING TO" +msgstr "CONFORMITÉ" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008. Present on the BSDs. E<.Nm " +"queue> functions first appeared in E<.Bx 4.4>." +msgstr "" +"Pas dans POSIX.1-2001. Présentes sur les BSD. Les fonctions de liste queue " +"sont apparues dans BSD 4.4." + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. .Xr tree 3 +#. type: Plain text +#: opensuse-leap-15-6 +msgid "E<.Xr insque 3>" +msgstr "" + +#. type: Sh +#: opensuse-leap-15-6 +#, no-wrap +msgid "COLOPHON" +msgstr "COLOPHON" + +#. type: Plain text +#: opensuse-leap-15-6 +#, fuzzy +msgid "" +"This page is part of release 4.16 of the Linux E<.Em 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 " +"peuvent être trouvées à l'adresse \\%https://www.kernel.org/doc/man-pages/." |