4 #include <lunaix/ds/llist.h>
5 #include <lunaix/types.h>
9 struct llist_header lru_nodes;
12 typedef int (*evict_cb)(struct lru_node* lru_obj);
16 struct llist_header lead_node;
17 struct llist_header zones;
23 lru_new_zone(evict_cb try_evict_cb);
26 lru_use_one(struct lru_zone* zone, struct lru_node* node);
29 lru_evict_one(struct lru_zone* zone);
32 lru_remove(struct lru_zone* zone, struct lru_node* node);
35 lru_evict_half(struct lru_zone* zone);
37 #endif /* __LUNAIX_LRU_H */