diff options
Diffstat (limited to 'elist.h')
-rw-r--r-- | elist.h | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -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 |