blob: ea046d7aeb51cf8f35b35fe443808cdc72c8d993 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
|