root/bidlist.h
/* [<][>][^][v][top][bottom][index][help] */
1 /* bidlist.h */
2 #ifndef _BIDLIST_H_
3 #define _BIDLIST_H_
4
5 typedef struct bidnode{
6 struct bidnode* prev;
7 struct bidnode* next;
8 void* data;
9 } bidnode;
10
11 typedef struct bidlist{
12 bidnode* head;
13 bidnode* tail;
14 bidnode* mark;
15 int count;
16 } bidlist;
17
18
19 bidlist* newbidlist(void);
20 int bidlistadd(bidlist* blist, void* data);
21 int bidlistremove(bidlist* blist, bidnode* node);
22 int bidlistcount(bidlist* blist);
23 bidnode* bidlistget(bidlist* blist, int num);
24 void bidlistreset(bidlist* blist);
25 bidnode* bidlistnext(bidlist* blist);
26 bidnode* bidlistsetmark(bidlist* blist, bidnode* node);
27
28 #endif