aboutsummaryrefslogtreecommitdiff
path: root/dict.h
blob: 6be0995d2d9df0ed037f318b51821caf93fe6686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
  Dictionary based on code by Morten Eriksen <mortene@sim.no>.
*/

struct dict;

extern struct dict * dict_init(unsigned int (*key2hash)(void *),
		int (*key_cmp)(void *, void *));
extern void dict_clear(struct dict * d);
extern int dict_enter(struct dict * d, void * key, void * value);
extern void * dict_find_entry(struct dict * d, void * key);
extern void dict_apply_to_all(struct dict * d,
		void (*func)(void *key, void *value, void *data), void *data);

extern unsigned int dict_key2hash_string(void * key);
extern int dict_key_cmp_string(void * key1, void * key2);
extern unsigned int dict_key2hash_int(void * key);
extern int dict_key_cmp_int(void * key1, void * key2);