stailq.3: Copy and adapt code from queue.3

Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Alejandro Colomar 2020-10-25 00:21:14 +02:00 committed by Michael Kerrisk
parent d47b080534
commit fc89a378d6
1 changed files with 19 additions and 4 deletions

View File

@ -52,6 +52,8 @@
.Nm STAILQ_REMOVE_HEAD ,
.\" .Nm STAILQ_SWAP ,
.SH SYNOPSIS
.In sys/queue.h
.\"
.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2"
.Fn STAILQ_EMPTY "STAILQ_HEAD *head"
.Fn STAILQ_ENTRY "TYPE"
@ -74,6 +76,18 @@
.\" .Fn STAILQ_SWAP "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" "STAILQ_ENTRY NAME"
.\"
.SH DESCRIPTION
In the macro definitions,
.Fa TYPE
is the name of a user-defined structure,
that must contain a field of type
.Li STAILQ_ENTRY ,
named
.Fa NAME .
The argument
.Fa HEADNAME
is the name of a user-defined structure that must be declared
using the macro
.Li STAILQ_HEAD .
.Ss Singly-linked tail queues
A singly-linked tail queue is headed by a structure defined by the
.Nm STAILQ_HEAD
@ -248,11 +262,12 @@ from the tail queue.
.\" .Fa head1
.\" and
.\" .Fa head2 .
.Pp
See the EXAMPLES section below for an example program
using a singly-linked tail queue.
.SH RETURN VALUE
.SH CONFORMING TO
Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008.
Present on the BSDs
(STAILQ macros first appeared in
.Bx 4.4 ).
.SH BUGS
.SH EXAMPLES
.Ss Singly-linked tail queue example
@ -272,7 +287,7 @@ STAILQ_HEAD(stailhead, entry);
int
main(void)
{
struct entry *n1, *n2, *n3, *np;
struct entry *n1, *n2, *n3, *np;
struct stailhead head; /* Singly-linked tail queue
head. */