urcu-ht: work in progress RCU hash table
[urcu.git] / urcu-ht.h
1 #ifndef _URCU_HT_H
2 #define _URCU_HT_H
3
4 #define HASH_SIZE 4096
5 typedef unsigned long (*ht_hash_fct)(void *key);
6
7 struct rcu_ht *ht_new(ht_hash_fct hash_fct, void (*free_fct)(void *data));
8
9 void ht_delete_all(struct rcu_ht *ht);
10
11 void ht_destroy(struct rcu_ht *ht);
12
13 void *ht_lookup(struct rcu_ht *ht, void *key);
14
15 int ht_add(struct rcu_ht *ht, void *key, void *data);
16
17 int ht_delete(struct rcu_ht *ht, void *key);
18
19 void *ht_steal(struct rcu_ht *ht, void *key);
20
21 unsigned long stupid_hash(void *key);
22
23 #endif /* _URCU_HT_H */
This page took 0.04131 seconds and 5 git commands to generate.