summaryrefslogtreecommitdiffhomepage
path: root/list.h
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2009-07-06 12:59:13 +0000
committerMatt Johnston <matt@ucc.asn.au>2009-07-06 12:59:13 +0000
commitc742137dc8c8dd2163a2353d3382fdf2cae44c24 (patch)
tree25f52a38fb21d20051e2e44faa40ab25f45a5cad /list.h
parent9dc9aff0164ba777ae9806e9608af09aaf1a786e (diff)
New standard linked list to use, rather than adhoc SignKeyList or TCPFwdList
--HG-- branch : agent-client extra : convert_revision : 5465e639cc3f5ee0c6c55f0de6e7b6d5a8769da3
Diffstat (limited to 'list.h')
-rw-r--r--list.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/list.h b/list.h
new file mode 100644
index 0000000..678fff1
--- /dev/null
+++ b/list.h
@@ -0,0 +1,28 @@
+#ifndef _DROPBEAR_LIST_H
+#define _DROPBEAR_LIST_H
+
+struct _m_list;
+
+struct _m_list_elem {
+ void *item;
+ struct _m_list_elem *next;
+ struct _m_list_elem *prev;
+ struct _m_list *list;
+};
+
+typedef struct _m_list_elem m_list_elem;
+
+struct _m_list {
+ m_list_elem *first;
+ m_list_elem *last;
+};
+
+typedef struct _m_list m_list;
+
+m_list * list_new();
+void list_append(m_list *list, void *item);
+/* returns the item for the element removed */
+void * list_remove(m_list_elem *elem);
+
+
+#endif /* _DROPBEAR_LIST_H */ \ No newline at end of file