33 строки
623 B
C
33 строки
623 B
C
/* linklist.h */
|
|
#if !defined(__LINKLIST_H)
|
|
#define __LINKLIST_H
|
|
|
|
struct linklist {
|
|
void *data;
|
|
struct linklist *next;
|
|
struct linklist *prev;
|
|
};
|
|
|
|
struct LRU_list {
|
|
struct LRU_list *prev;
|
|
struct LRU_list *next;
|
|
void *data;
|
|
};
|
|
|
|
struct list_iterator {
|
|
struct linklist *linklist;
|
|
struct linklist *current_pos;
|
|
};
|
|
|
|
struct linklist *linklist_init(void);
|
|
void linklist_destroy(struct linklist *, void (*destructor) (void *));
|
|
int linklist_insert(struct linklist *, void *);
|
|
int linklist_delete(struct linklist *, void *);
|
|
void linklist_delete_all(struct linklist *, void (*) (void *));
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|