dict.h revision cac15c3f170b5ec2cc6304c8c0763a78103e1778
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  Dictionary based on code by Morten Eriksen <mortene@sim.no>.
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstruct dict;
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern struct dict * dict_init(unsigned int (*key2hash)(void *),
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		int (*key_cmp)(void *, void *));
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern void dict_clear(struct dict * d);
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int dict_enter(struct dict * d, void * key, void * value);
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern void * dict_find_entry(struct dict * d, void * key);
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern void dict_apply_to_all(struct dict * d,
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project		void (*func)(void *key, void *value, void *data), void *data);
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern unsigned int dict_key2hash_string(void * key);
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int dict_key_cmp_string(void * key1, void * key2);
171d3165f10b12165f02b7015ac1a817c5f60e6399Neal Nguyenextern unsigned int dict_key2hash_int(void * key);
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int dict_key_cmp_int(void * key1, void * key2);
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project