mirror of https://github.com/mkerrisk/man-pages
slist.3: Copy and adapt code from queue.3
A few fixes to note: - Sorted alphabetically some macros - ffix: remove alignment spaces in example (as in list.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:
parent
21b0363fd0
commit
6a1c4d6fc4
30
man3/slist.3
30
man3/slist.3
|
@ -36,38 +36,52 @@
|
|||
.Nm SLIST_FIRST ,
|
||||
.Nm SLIST_FOREACH ,
|
||||
.\" .Nm SLIST_FOREACH_FROM ,
|
||||
.\" .Nm SLIST_FOREACH_SAFE ,
|
||||
.\" .Nm SLIST_FOREACH_FROM_SAFE ,
|
||||
.\" .Nm SLIST_FOREACH_SAFE ,
|
||||
.Nm SLIST_HEAD ,
|
||||
.Nm SLIST_HEAD_INITIALIZER ,
|
||||
.Nm SLIST_INIT ,
|
||||
.Nm SLIST_INSERT_AFTER ,
|
||||
.Nm SLIST_INSERT_HEAD ,
|
||||
.Nm SLIST_NEXT ,
|
||||
.Nm SLIST_REMOVE ,
|
||||
.\" .Nm SLIST_REMOVE_AFTER ,
|
||||
.Nm SLIST_REMOVE_HEAD ,
|
||||
.Nm SLIST_REMOVE ,
|
||||
.\" .Nm SLIST_SWAP ,
|
||||
.SH SYNOPSIS
|
||||
.In sys/queue.h
|
||||
.\"
|
||||
.Fn SLIST_EMPTY "SLIST_HEAD *head"
|
||||
.Fn SLIST_ENTRY "TYPE"
|
||||
.Fn SLIST_FIRST "SLIST_HEAD *head"
|
||||
.Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME"
|
||||
.\" .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_FOREACH_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var"
|
||||
.Fn SLIST_HEAD "HEADNAME" "TYPE"
|
||||
.Fn SLIST_HEAD_INITIALIZER "SLIST_HEAD head"
|
||||
.Fn SLIST_INIT "SLIST_HEAD *head"
|
||||
.Fn SLIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_INSERT_HEAD "SLIST_HEAD *head" "TYPE *elm" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_NEXT "TYPE *elm" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME"
|
||||
.\" .Fn SLIST_REMOVE_AFTER "TYPE *elm" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_REMOVE_HEAD "SLIST_HEAD *head" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME"
|
||||
.\" .Fn SLIST_SWAP "SLIST_HEAD *head1" "SLIST_HEAD *head2" "SLIST_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 SLIST_ENTRY ,
|
||||
named
|
||||
.Fa NAME .
|
||||
The argument
|
||||
.Fa HEADNAME
|
||||
is the name of a user defined structure that must be declared
|
||||
using the macro
|
||||
.Li SLIST_HEAD .
|
||||
.Ss Singly-linked lists
|
||||
A singly-linked list is headed by a structure defined by the
|
||||
.Nm SLIST_HEAD
|
||||
|
@ -221,10 +235,12 @@ from the list.
|
|||
.\" .Fa head1
|
||||
.\" and
|
||||
.\" .Fa head2 .
|
||||
.Pp
|
||||
See the EXAMPLES section below for an example program using a singly-linked list.
|
||||
.SH RETURN VALUE
|
||||
.SH CONFORMING TO
|
||||
Not in POSIX.1, POSIX.1-2001 or POSIX.1-2008.
|
||||
Present on the BSDs
|
||||
(SLIST macros first appeared in
|
||||
.Bx 4.4 ).
|
||||
.SH BUGS
|
||||
.SH EXAMPLES
|
||||
.Ss Singly-linked list example
|
||||
|
@ -245,7 +261,7 @@ SLIST_HEAD(slisthead, entry);
|
|||
int
|
||||
main(void)
|
||||
{
|
||||
struct entry *n1, *n2, *n3, *np;
|
||||
struct entry *n1, *n2, *n3, *np;
|
||||
struct slisthead head; /* Singly-linked List
|
||||
head. */
|
||||
|
||||
|
|
Loading…
Reference in New Issue