summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kochan <vadim4j@gmail.com>2016-04-21 21:47:38 +0300
committerTobias Klauser <tklauser@distanz.ch>2016-04-22 15:26:16 +0200
commit627b1d172d19372dc43248cfe680521743efd826 (patch)
treee10e28cfe6b5493a6a4d410ab01a3c18abdfbe14
parent0f6b6059d9d4d36e1132af423ccac33267e910a5 (diff)
list: Add re-defined double-linked list API from liburcu
Add definitions for list structure & functions without cds_/CDS_ prefix. The purpose of this change is to use such linked-list in sorting or ordering some kind of items (e.g. flowtop - flows, columns). Signed-off-by: Vadim Kochan <vadim4j@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r--list.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/list.h b/list.h
new file mode 100644
index 0000000..a8ac408
--- /dev/null
+++ b/list.h
@@ -0,0 +1,39 @@
+#ifndef LIST_I_H
+#define LIST_I_H
+
+#include <urcu/list.h>
+#include <urcu/rculist.h>
+
+#define list_head cds_list_head
+
+#define LIST_HEAD CDS_LIST_HEAD
+#define INIT_LIST_HEAD CDS_INIT_LIST_HEAD
+#define LIST_HEAD_INIT CDS_LIST_HEAD_INIT
+
+#define list_add cds_list_add
+#define list_add_tail cds_list_add_tail
+#define list_del cds_list_del
+#define list_del_init cds_list_del_init
+#define list_move cds_list_move
+#define list_replace cds_list_replace
+#define list_splice cds_list_splice
+#define list_entry cds_list_entry
+#define list_first_entry cds_list_first_entry
+#define list_for_each cds_list_for_each
+#define list_for_each_safe cds_list_for_each_safe
+#define list_for_each_prev cds_list_for_each_prev
+#define list_for_each_prev_safe cds_list_for_each_prev_safe
+#define list_for_each_entry cds_list_for_each_entry
+#define list_for_each_entry_safe cds_list_for_each_entry_safe
+#define list_for_each_entry_reverse cds_list_for_each_entry_reverse
+#define list_empty cds_list_empty
+#define list_replace_init cds_list_replace_init
+
+#define list_add_rcu cds_list_add_rcu
+#define list_add_tail_rcu cds_list_add_tail_rcu
+#define list_replace_rcu cds_list_replace_rcu
+#define list_del_rcu cds_list_del_rcu
+#define list_for_each_rcu cds_list_for_each_rcu
+#define list_for_each_entry_rcu cds_list_for_each_entry_rcu
+
+#endif /* LIST_I_H */