From fa751e537db75108f9a1597d83a4e1093173fc28 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 21 Nov 2004 02:43:05 +0000 Subject: some commenting git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@298 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/hashmap.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'polyp/hashmap.h') diff --git a/polyp/hashmap.h b/polyp/hashmap.h index f858c355..d55834c1 100644 --- a/polyp/hashmap.h +++ b/polyp/hashmap.h @@ -22,14 +22,23 @@ USA. ***/ +/* Simple Implementation of a hash table. Memory management is the + * user's job. It's a good idea to have the key pointer point to a + * string in the value data. */ + struct pa_hashmap; +/* Create a new hashmap. Use the specified functions for hashing and comparing objects in the map */ struct pa_hashmap *pa_hashmap_new(unsigned (*hash_func) (const void *p), int (*compare_func) (const void*a, const void*b)); + +/* Free the hash table. Calls the specified function for every value in the table. The function may be NULL */ void pa_hashmap_free(struct pa_hashmap*, void (*free_func)(void *p, void *userdata), void *userdata); +/* Returns non-zero when the entry already exists */ int pa_hashmap_put(struct pa_hashmap *h, const void *key, void *value); void* pa_hashmap_get(struct pa_hashmap *h, const void *key); +/* Returns the data of the entry while removing */ void* pa_hashmap_remove(struct pa_hashmap *h, const void *key); unsigned pa_hashmap_ncontents(struct pa_hashmap *h); -- cgit