summaryrefslogtreecommitdiff
path: root/include/stack.h
diff options
context:
space:
mode:
authorGaurav Sinha <gaurav.sinha@vyatta.com>2012-05-30 07:54:05 -0700
committerGaurav Sinha <gaurav.sinha@vyatta.com>2012-05-30 07:54:05 -0700
commita608049a22dc23676c85bbf443e45cbbf0e9b83c (patch)
tree1b82fa315337a8503390384c2684fdbb27b58294 /include/stack.h
parent775fea07517af4b68cb2ce75e25ee5af09af0f05 (diff)
parent687fc04ea8de73eb1ec19d933c8d81f054c977dd (diff)
downloadconntrack-tools-a608049a22dc23676c85bbf443e45cbbf0e9b83c.tar.gz
conntrack-tools-a608049a22dc23676c85bbf443e45cbbf0e9b83c.zip
Merge branch 'cthelper9' of git://git.netfilter.org/conntrack-tools into user_space_helpers
Conflicts: .gitignore src/run.c
Diffstat (limited to 'include/stack.h')
-rw-r--r--include/stack.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/stack.h b/include/stack.h
new file mode 100644
index 0000000..512a30f
--- /dev/null
+++ b/include/stack.h
@@ -0,0 +1,28 @@
+#ifndef _STACK_H_
+#define _STACK_H_
+
+#include "linux_list.h"
+
+struct stack {
+ struct list_head list;
+ int items;
+};
+
+static inline void stack_init(struct stack *s)
+{
+ INIT_LIST_HEAD(&s->list);
+}
+
+struct stack_item {
+ struct list_head head;
+ int type;
+ int data_len;
+ char data[0];
+};
+
+struct stack_item *stack_item_alloc(int type, size_t data_len);
+void stack_item_free(struct stack_item *e);
+void stack_item_push(struct stack *s, struct stack_item *e);
+struct stack_item *stack_item_pop(struct stack *s, int type);
+
+#endif