summaryrefslogtreecommitdiffstats
path: root/share/man/man3/queue.3
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2009-05-27 19:28:04 +0000
committered <ed@FreeBSD.org>2009-05-27 19:28:04 +0000
commit3779b68747cdae9d6e156307aae1ecb97b52d4ea (patch)
tree6d3ce9791e7680277093a1a296bcbea3aaeb6040 /share/man/man3/queue.3
parent9fc2aafa8283c2dc1af8bfbfd1d727b16c0837d2 (diff)
downloadFreeBSD-src-3779b68747cdae9d6e156307aae1ecb97b52d4ea.zip
FreeBSD-src-3779b68747cdae9d6e156307aae1ecb97b52d4ea.tar.gz
Rename the queue macros I introduced last year.
Last year I added SLIST_REMOVE_NEXT and STAILQ_REMOVE_NEXT, to remove entries behind an element in the list, using O(1) time. I recently discovered NetBSD also has a similar macro, called SLIST_REMOVE_AFTER. In my opinion this approach is a lot better: - It doesn't have the unused first argument of the list pointer. I added this, mainly because OpenBSD also had it. - The _AFTER suffix makes a lot more sense, because it is related to SLIST_INSERT_AFTER. _NEXT is only used to iterate through the list. The reason why I want to rename this now, is to make sure we don't release a major version with the badly named macros.
Diffstat (limited to 'share/man/man3/queue.3')
-rw-r--r--share/man/man3/queue.340
1 files changed, 20 insertions, 20 deletions
diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3
index 372c4ad..763ae42 100644
--- a/share/man/man3/queue.3
+++ b/share/man/man3/queue.3
@@ -47,8 +47,8 @@
.Nm SLIST_INSERT_AFTER ,
.Nm SLIST_INSERT_HEAD ,
.Nm SLIST_NEXT ,
+.Nm SLIST_REMOVE_AFTER ,
.Nm SLIST_REMOVE_HEAD ,
-.Nm SLIST_REMOVE_NEXT ,
.Nm SLIST_REMOVE ,
.Nm STAILQ_CONCAT ,
.Nm STAILQ_EMPTY ,
@@ -64,8 +64,8 @@
.Nm STAILQ_INSERT_TAIL ,
.Nm STAILQ_LAST ,
.Nm STAILQ_NEXT ,
+.Nm STAILQ_REMOVE_AFTER ,
.Nm STAILQ_REMOVE_HEAD ,
-.Nm STAILQ_REMOVE_NEXT ,
.Nm STAILQ_REMOVE ,
.Nm LIST_EMPTY ,
.Nm LIST_ENTRY ,
@@ -115,8 +115,8 @@ lists and tail queues
.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_AFTER "TYPE *elm" "SLIST_ENTRY NAME"
.Fn SLIST_REMOVE_HEAD "SLIST_HEAD *head" "SLIST_ENTRY NAME"
-.Fn SLIST_REMOVE_NEXT "SLIST_HEAD *head" "TYPE *elm" "SLIST_ENTRY NAME"
.Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME"
.\"
.Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2"
@@ -133,8 +133,8 @@ lists and tail queues
.Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
.Fn STAILQ_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME"
.Fn STAILQ_NEXT "TYPE *elm" "STAILQ_ENTRY NAME"
+.Fn STAILQ_REMOVE_AFTER "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
.Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME"
-.Fn STAILQ_REMOVE_NEXT "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME"
.Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME"
.\"
.Fn LIST_EMPTY "LIST_HEAD *head"
@@ -380,6 +380,14 @@ The macro
returns the next element in the list.
.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.
+.Pp
+The macro
.Nm SLIST_REMOVE_HEAD
removes the element
.Fa elm
@@ -391,14 +399,6 @@ this macro instead of the generic
macro.
.Pp
The macro
-.Nm SLIST_REMOVE_NEXT
-removes the element after
-.Fa elm
-from the list. Unlike
-.Fa SLIST_REMOVE ,
-this macro does not traverse the entire list.
-.Pp
-The macro
.Nm SLIST_REMOVE
removes the element
.Fa elm
@@ -564,6 +564,14 @@ The macro
returns the next item on the tail queue, or NULL this item is the last.
.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.
+.Pp
+The macro
.Nm STAILQ_REMOVE_HEAD
removes the element at the head of the tail queue.
For optimum efficiency,
@@ -573,14 +581,6 @@ use this macro explicitly rather than the generic
macro.
.Pp
The macro
-.Nm STAILQ_REMOVE_NEXT
-removes the element after
-.Fa elm
-from the tail queue. Unlike
-.Fa STAILQ_REMOVE ,
-this macro does not traverse the entire tail queue.
-.Pp
-The macro
.Nm STAILQ_REMOVE
removes the element
.Fa elm
OpenPOWER on IntegriCloud