]>
Commit | Line | Data |
---|---|---|
0e2cd867 | 1 | /* |
bdffbfa5 | 2 | * $Id: splay.h,v 1.9 2001/01/07 14:44:32 hno Exp $ |
0e2cd867 | 3 | */ |
4 | ||
bdffbfa5 | 5 | #ifndef _SPLAY_H |
6 | #define _SPLAY_H | |
3c01c392 | 7 | |
8 | typedef struct _splay_node { | |
5b220cbf | 9 | void *data; |
10 | struct _splay_node *left; | |
11 | struct _splay_node *right; | |
3c01c392 | 12 | } splayNode; |
13 | ||
9bc73deb | 14 | typedef int SPLAYCMP(const void *a, const void *b); |
15 | typedef void SPLAYWALKEE(void *nodedata, void *state); | |
a49fd4c6 | 16 | typedef void SPLAYFREE(void *); |
3c01c392 | 17 | |
18 | extern int splayLastResult; | |
19 | ||
a49fd4c6 | 20 | extern splayNode *splay_insert(void *, splayNode *, SPLAYCMP *); |
21 | extern splayNode *splay_splay(const void *, splayNode *, SPLAYCMP *); | |
22 | extern void splay_destroy(splayNode *, SPLAYFREE *); | |
23 | extern void splay_walk(splayNode *, SPLAYWALKEE *, void *); | |
bdffbfa5 | 24 | |
25 | #endif /* _SPLAY_H */ |