summaryrefslogtreecommitdiffstats
path: root/polyp/llist.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-11-21 21:31:28 +0000
committerLennart Poettering <lennart@poettering.net>2004-11-21 21:31:28 +0000
commit4763ca1376fc136158e576de94dc1cf6c6584973 (patch)
tree6f8d36ec68061a587883d94e9eacc52bbf707028 /polyp/llist.h
parent2fb83d13f27214476f90fe619b26f5bbc8f520c8 (diff)
Comment some more files
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@309 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/llist.h')
-rw-r--r--polyp/llist.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/polyp/llist.h b/polyp/llist.h
index c48c5c6e..eb8cd017 100644
--- a/polyp/llist.h
+++ b/polyp/llist.h
@@ -7,33 +7,41 @@
This file is part of polypaudio.
polypaudio is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation; either version 2 of the License,
- or (at your option) any later version.
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
polypaudio is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License
- along with polypaudio; if not, write to the Free Software
+ You should have received a copy of the GNU Lesser General Public
+ License along with polypaudio; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA.
***/
+/* Some macros for maintaining doubly linked lists */
+
+/* The head of the linked list. Use this in the structure that shall
+ * contain the head of the linked list */
#define PA_LLIST_HEAD(t,name) t *name
+/* The pointers in the linked list's items. Use this in the item structure */
#define PA_LLIST_FIELDS(t) t *next, *prev
+/* Initialize the list's head */
#define PA_LLIST_HEAD_INIT(t,item) do { (item) = NULL; } while(0)
+/* Initialize a list item */
#define PA_LLIST_INIT(t,item) do { \
t *_item = (item); \
assert(_item); \
_item->prev = _item->next = NULL; \
} while(0)
+/* Prepend an item to the list */
#define PA_LLIST_PREPEND(t,head,item) do { \
t **_head = &(head), *_item = (item); \
assert(_item); \
@@ -43,6 +51,7 @@
*_head = _item; \
} while (0)
+/* Remove an item from the list */
#define PA_LLIST_REMOVE(t,head,item) do { \
t **_head = &(head), *_item = (item); \
assert(_item); \