Reorder macros within a queue type to match queue.h definition order.
Document STAILQ_* as compatibility macros for SIMPLEQ_*. Document TAILQ_LAST and TAILQ_PREV.
This commit is contained in:
parent
5060b3b780
commit
2f6ed1a801
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: queue.3,v 1.29 2004/04/13 20:40:26 wiz Exp $
|
||||
.\" $NetBSD: queue.3,v 1.30 2004/04/18 23:39:13 lukem Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2000, 2002 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
|
@ -60,38 +60,51 @@
|
|||
.\"
|
||||
.\" @(#)queue.3 8.1 (Berkeley) 12/13/93
|
||||
.\"
|
||||
.Dd April 13, 2004
|
||||
.Dd April 18, 2004
|
||||
.Dt QUEUE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm SLIST_ENTRY ,
|
||||
.Nm SLIST_HEAD ,
|
||||
.Nm SLIST_HEAD_INITIALIZER ,
|
||||
.Nm SLIST_ENTRY ,
|
||||
.Nm SLIST_INIT ,
|
||||
.Nm SLIST_INSERT_AFTER ,
|
||||
.Nm SLIST_INSERT_HEAD ,
|
||||
.Nm SLIST_REMOVE ,
|
||||
.Nm SLIST_REMOVE_HEAD ,
|
||||
.Nm SLIST_REMOVE ,
|
||||
.Nm SLIST_FOREACH ,
|
||||
.Nm SLIST_EMPTY ,
|
||||
.Nm SLIST_FIRST ,
|
||||
.Nm SLIST_NEXT ,
|
||||
.Nm SIMPLEQ_ENTRY ,
|
||||
.Nm SIMPLEQ_HEAD ,
|
||||
.Nm SIMPLEQ_HEAD_INITIALIZER ,
|
||||
.Nm SIMPLEQ_ENTRY ,
|
||||
.Nm SIMPLEQ_INIT ,
|
||||
.Nm SIMPLEQ_INSERT_HEAD ,
|
||||
.Nm SIMPLEQ_INSERT_TAIL ,
|
||||
.Nm SIMPLEQ_INSERT_AFTER ,
|
||||
.Nm SIMPLEQ_REMOVE ,
|
||||
.Nm SIMPLEQ_REMOVE_HEAD ,
|
||||
.Nm SIMPLEQ_REMOVE ,
|
||||
.Nm SIMPLEQ_FOREACH ,
|
||||
.Nm SIMPLEQ_EMPTY ,
|
||||
.Nm SIMPLEQ_FIRST ,
|
||||
.Nm SIMPLEQ_NEXT ,
|
||||
.Nm LIST_ENTRY ,
|
||||
.Nm STAILQ_HEAD ,
|
||||
.Nm STAILQ_HEAD_INITIALIZER ,
|
||||
.Nm STAILQ_ENTRY ,
|
||||
.Nm STAILQ_INIT ,
|
||||
.Nm STAILQ_INSERT_HEAD ,
|
||||
.Nm STAILQ_INSERT_TAIL ,
|
||||
.Nm STAILQ_INSERT_AFTER ,
|
||||
.Nm STAILQ_REMOVE_HEAD ,
|
||||
.Nm STAILQ_REMOVE ,
|
||||
.Nm STAILQ_FOREACH ,
|
||||
.Nm STAILQ_EMPTY ,
|
||||
.Nm STAILQ_FIRST ,
|
||||
.Nm STAILQ_NEXT ,
|
||||
.Nm LIST_HEAD ,
|
||||
.Nm LIST_HEAD_INITIALIZER ,
|
||||
.Nm LIST_ENTRY ,
|
||||
.Nm LIST_INIT ,
|
||||
.Nm LIST_INSERT_AFTER ,
|
||||
.Nm LIST_INSERT_BEFORE ,
|
||||
|
@ -101,23 +114,25 @@
|
|||
.Nm LIST_EMPTY ,
|
||||
.Nm LIST_FIRST ,
|
||||
.Nm LIST_NEXT ,
|
||||
.Nm TAILQ_ENTRY ,
|
||||
.Nm TAILQ_HEAD ,
|
||||
.Nm TAILQ_HEAD_INITIALIZER ,
|
||||
.Nm TAILQ_ENTRY ,
|
||||
.Nm TAILQ_INIT ,
|
||||
.Nm TAILQ_INSERT_AFTER ,
|
||||
.Nm TAILQ_INSERT_BEFORE ,
|
||||
.Nm TAILQ_INSERT_HEAD ,
|
||||
.Nm TAILQ_INSERT_TAIL ,
|
||||
.Nm TAILQ_INSERT_AFTER ,
|
||||
.Nm TAILQ_INSERT_BEFORE ,
|
||||
.Nm TAILQ_REMOVE ,
|
||||
.Nm TAILQ_FOREACH ,
|
||||
.Nm TAILQ_FOREACH_REVERSE ,
|
||||
.Nm TAILQ_EMPTY ,
|
||||
.Nm TAILQ_FIRST ,
|
||||
.Nm TAILQ_NEXT ,
|
||||
.Nm CIRCLEQ_ENTRY ,
|
||||
.Nm TAILQ_LAST ,
|
||||
.Nm TAILQ_PREV ,
|
||||
.Nm CIRCLEQ_HEAD ,
|
||||
.Nm CIRCLEQ_HEAD_INITIALIZER ,
|
||||
.Nm CIRCLEQ_ENTRY ,
|
||||
.Nm CIRCLEQ_INIT ,
|
||||
.Nm CIRCLEQ_INSERT_AFTER ,
|
||||
.Nm CIRCLEQ_INSERT_BEFORE ,
|
||||
|
@ -135,15 +150,15 @@
|
|||
.Sh SYNOPSIS
|
||||
.In sys/queue.h
|
||||
.sp
|
||||
.Fn SLIST_ENTRY "TYPE"
|
||||
.Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME"
|
||||
.Fn SLIST_HEAD "HEADNAME" "TYPE"
|
||||
.Fn SLIST_HEAD_INITIALIZER "head"
|
||||
.Fn SLIST_ENTRY "TYPE"
|
||||
.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_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "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_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn SLIST_EMPTY "SLIST_HEAD *head"
|
||||
.Ft TYPE *
|
||||
|
@ -151,16 +166,16 @@
|
|||
.Ft TYPE *
|
||||
.Fn SLIST_NEXT "TYPE *elm" "SLIST_ENTRY NAME"
|
||||
.sp
|
||||
.Fn SIMPLEQ_ENTRY "TYPE"
|
||||
.Fn SIMPLEQ_FOREACH "TYPE *var" "SIMPLEQ_HEAD *head" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_HEAD "HEADNAME" "TYPE"
|
||||
.Fn SIMPLEQ_HEAD_INITIALIZER "head"
|
||||
.Fn SIMPLEQ_ENTRY "TYPE"
|
||||
.Fn SIMPLEQ_INIT "SIMPLEQ_HEAD *head"
|
||||
.Fn SIMPLEQ_INSERT_AFTER "SIMPLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_INSERT_HEAD "SIMPLEQ_HEAD *head" "TYPE *elm" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_INSERT_TAIL "SIMPLEQ_HEAD *head" "TYPE *elm" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_REMOVE "SIMPLEQ_HEAD *head" "TYPE *elm" "TYPE" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_INSERT_AFTER "SIMPLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_REMOVE_HEAD "SIMPLEQ_HEAD *head" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_REMOVE "SIMPLEQ_HEAD *head" "TYPE *elm" "TYPE" "SIMPLEQ_ENTRY NAME"
|
||||
.Fn SIMPLEQ_FOREACH "TYPE *var" "SIMPLEQ_HEAD *head" "SIMPLEQ_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn SIMPLEQ_EMPTY "SIMPLEQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
|
@ -168,15 +183,32 @@
|
|||
.Ft TYPE *
|
||||
.Fn SIMPLEQ_NEXT "TYPE *elm" "SIMPLEQ_ENTRY NAME"
|
||||
.sp
|
||||
.Fn LIST_ENTRY "TYPE"
|
||||
.Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME"
|
||||
.Fn STAILQ_HEAD "HEADNAME" "TYPE"
|
||||
.Fn STAILQ_HEAD_INITIALIZER "head"
|
||||
.Fn STAILQ_ENTRY "TYPE"
|
||||
.Fn STAILQ_INIT "STAILQ_HEAD *head"
|
||||
.Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
|
||||
.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
|
||||
.Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME"
|
||||
.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME"
|
||||
.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME"
|
||||
.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn STAILQ_EMPTY "STAILQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
.Fn STAILQ_FIRST "STAILQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME"
|
||||
.sp
|
||||
.Fn LIST_HEAD "HEADNAME" "TYPE"
|
||||
.Fn LIST_HEAD_INITIALIZER "head"
|
||||
.Fn LIST_ENTRY "TYPE"
|
||||
.Fn LIST_INIT "LIST_HEAD *head"
|
||||
.Fn LIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME"
|
||||
.Fn LIST_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME"
|
||||
.Fn LIST_INSERT_HEAD "LIST_HEAD *head" "TYPE *elm" "LIST_ENTRY NAME"
|
||||
.Fn LIST_REMOVE "TYPE *elm" "LIST_ENTRY NAME"
|
||||
.Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn LIST_EMPTY "LIST_HEAD *head"
|
||||
.Ft TYPE *
|
||||
|
@ -184,35 +216,39 @@
|
|||
.Ft TYPE *
|
||||
.Fn LIST_NEXT "TYPE *elm" "LIST_ENTRY NAME"
|
||||
.sp
|
||||
.Fn TAILQ_ENTRY "TYPE"
|
||||
.Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_FOREACH_REVERSE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_HEAD "HEADNAME" "TYPE"
|
||||
.Fn TAILQ_HEAD_INITIALIZER "head"
|
||||
.Fn TAILQ_ENTRY "TYPE"
|
||||
.Fn TAILQ_INIT "TAILQ_HEAD *head"
|
||||
.Fn TAILQ_INSERT_AFTER "TAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_INSERT_HEAD "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_INSERT_TAIL "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_INSERT_AFTER "TAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME"
|
||||
.Fn TAILQ_FOREACH_REVERSE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn TAILQ_EMPTY "TAILQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
.Fn TAILQ_FIRST "TAILQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
.Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME"
|
||||
.Ft TYPE *
|
||||
.Fn TAILQ_LAST "TAILQ_HEAD *head" "HEADNAME"
|
||||
.Ft TYPE *
|
||||
.Fn TAILQ_PREV "TYPE *elm" "HEADNAME" "TAILQ_ENTRY NAME"
|
||||
.sp
|
||||
.Fn CIRCLEQ_ENTRY "TYPE"
|
||||
.Fn CIRCLEQ_FOREACH "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_FOREACH_REVERSE "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_HEAD "HEADNAME" "TYPE"
|
||||
.Fn CIRCLEQ_HEAD_INITIALIZER "head"
|
||||
.Fn CIRCLEQ_ENTRY "TYPE"
|
||||
.Fn CIRCLEQ_INIT "CIRCLEQ_HEAD *head"
|
||||
.Fn CIRCLEQ_INSERT_AFTER "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_INSERT_BEFORE "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_INSERT_HEAD "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_INSERT_TAIL "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_REMOVE "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_FOREACH "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME"
|
||||
.Fn CIRCLEQ_FOREACH_REVERSE "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME"
|
||||
.Ft int
|
||||
.Fn CIRCLEQ_EMPTY "CIRCLEQ_HEAD *head"
|
||||
.Ft TYPE *
|
||||
|
@ -583,6 +619,26 @@ The macro
|
|||
.Nm SIMPLEQ_NEXT
|
||||
returns the element after the element
|
||||
.Fa elm .
|
||||
.Pp
|
||||
The macros prefixed with
|
||||
.Dq Nm STAILQ_
|
||||
.Nm ( STAILQ_HEAD ,
|
||||
.Nm STAILQ_HEAD_INITIALIZER ,
|
||||
.Nm STAILQ_ENTRY ,
|
||||
.Nm STAILQ_INIT ,
|
||||
.Nm STAILQ_INSERT_HEAD ,
|
||||
.Nm STAILQ_INSERT_TAIL ,
|
||||
.Nm STAILQ_INSERT_AFTER ,
|
||||
.Nm STAILQ_REMOVE_HEAD ,
|
||||
.Nm STAILQ_REMOVE ,
|
||||
.Nm STAILQ_FOREACH ,
|
||||
.Nm STAILQ_EMPTY ,
|
||||
.Nm STAILQ_FIRST ,
|
||||
and
|
||||
.Nm STAILQ_NEXT )
|
||||
are functionally identical to these simple queue functions,
|
||||
and are provided for compatibility with
|
||||
.Fx .
|
||||
.Sh SIMPLE QUEUE EXAMPLE
|
||||
.Bd -literal
|
||||
SIMPLEQ_HEAD(simplehead, entry) head;
|
||||
|
@ -1062,5 +1118,7 @@ functions first appeared in
|
|||
.Nx 1.2 .
|
||||
The
|
||||
.Nm SLIST
|
||||
and
|
||||
.Nm STAILQ
|
||||
functions first appeared in
|
||||
.Fx 2.1.5 .
|
||||
|
|
Loading…
Reference in New Issue