aboutsummaryrefslogtreecommitdiff
path: root/list.h
diff options
context:
space:
mode:
Diffstat (limited to 'list.h')
-rw-r--r--list.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/list.h b/list.h
new file mode 100644
index 0000000..ea82440
--- /dev/null
+++ b/list.h
@@ -0,0 +1,19 @@
+#ifndef LIST_H
+#define LIST_H
+
+struct list
+{
+ void *data;
+ struct list *next;
+};
+
+typedef void (*list_free_cb)(void *data, void *userdata);
+
+void list_init(struct list *list);
+struct list *list_new(void *data);
+struct list *list_append(struct list *list, void *data);
+struct list *list_get_last(struct list *list);
+struct list *list_pop_front(struct list **list);
+void list_free(struct list *list, list_free_cb free_cb, void *userdata);
+
+#endif