23 lines
585 B
C
23 lines
585 B
C
#ifndef _GENERIC_CACHE_H
|
|
|
|
#include "list.h"
|
|
#include "hashtable.h"
|
|
|
|
struct cache_node {
|
|
struct hlist_node list;
|
|
};
|
|
|
|
struct cache_head;
|
|
|
|
struct cache_head *cache_new(int hashsize, void (*item_free)(struct cache_head *head, struct cache_node *node));
|
|
|
|
int cache_add(struct cache_head *head, struct cache_node *node, void *key, int key_len);
|
|
|
|
struct cache_node *cache_lookup(struct cache_head *head, void *key, int key_len);
|
|
|
|
int cache_update(struct cache_head *head, void *key, int key_len);
|
|
|
|
void cache_free(struct cache_head *head);
|
|
|
|
#endif // !_GENERIC_CACHE_H
|