summaryrefslogtreecommitdiffstats
path: root/elist.h
diff options
context:
space:
mode:
Diffstat (limited to 'elist.h')
-rw-r--r--elist.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/elist.h b/elist.h
new file mode 100644
index 0000000..ea046d7
--- /dev/null
+++ b/elist.h
@@ -0,0 +1,39 @@
+#ifndef ELIST_H
+#define ELIST_H
+
+/* $Header: /home/ksheff/src/e2tools/RCS/elist.h,v 0.3 2002/06/05 22:04:13 ksheff Exp $ */
+
+/* Copyright 2002 Keith W. Sheffield */
+
+/*
+ * $Log: elist.h,v $
+ * Revision 0.3 2002/06/05 22:04:13 ksheff
+ * Added elist_delete.
+ *
+ * Revision 0.2 2002/06/03 21:02:39 ksheff
+ * Added elist_sort() definition.
+ *
+ * Revision 0.1 2002/03/07 07:24:50 ksheff
+ * initial revision
+ *
+ */
+
+
+typedef struct _elist_t
+{
+ struct _elist_t *prev;
+ struct _elist_t *next;
+ void *data;
+} elist_t;
+
+#ifndef ELIST_C
+extern elist_t * elist_new();
+extern elist_t *elist_delete(elist_t *l, void (*data_free)(void *));
+extern void elist_free(elist_t *l, void (*data_free)(void *));
+extern elist_t * elist_append(elist_t *l, void *data);
+extern elist_t * elist_insert(elist_t *l, void *data);
+extern void
+elist_sort(elist_t *l, int (sort_func)(void *, void *), int reverse);
+#endif
+
+#endif