struct cache_entry;
struct cache;
/* prototypes */
struct cache *cache_new(int id_size, int size);
void cache_resize(struct cache *cache, int size);
void *cache_entry_new(struct cache *cache, void *id, int size);
void cache_entry_destroy(struct cache *cache, void *data);
void *cache_lookup(struct cache *cache, void *id);
void cache_insert(struct cache *cache, void *data);
void *cache_insert_new(struct cache *cache, void *id, int size);
void cache_flush(struct cache *cache, void *id);
void cache_dump(struct cache *cache);
void cache_flush_data(struct cache *cache, void *data);
/* end of prototypes */
