summaryrefslogtreecommitdiffstats
path: root/po/fr/archive/man3/queue.3.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/fr/archive/man3/queue.3.po
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/fr/archive/man3/queue.3.po')
-rw-r--r--po/fr/archive/man3/queue.3.po1739
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/."