cache.h 585 B

12345678910111213141516171819202122
  1. #ifndef _GENERIC_CACHE_H
  2. #include "list.h"
  3. #include "hashtable.h"
  4. struct cache_node {
  5. struct hlist_node list;
  6. };
  7. struct cache_head;
  8. struct cache_head *cache_new(int hashsize, void (*item_free)(struct cache_head *head, struct cache_node *node));
  9. int cache_add(struct cache_head *head, struct cache_node *node, void *key, int key_len);
  10. struct cache_node *cache_lookup(struct cache_head *head, void *key, int key_len);
  11. int cache_update(struct cache_head *head, void *key, int key_len);
  12. void cache_free(struct cache_head *head);
  13. #endif // !_GENERIC_CACHE_H