diff options
Diffstat (limited to 'utils/hashtable.h')
-rw-r--r-- | utils/hashtable.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/hashtable.h b/utils/hashtable.h new file mode 100644 index 000000000..8f9df5009 --- /dev/null +++ b/utils/hashtable.h @@ -0,0 +1,30 @@ +/* + * This file is part of NetSurf, http://netsurf.sourceforge.net/ + * Licensed under the GNU General Public License, + * http://www.opensource.org/licenses/gpl-license + * Copyright 2006 Rob Kendrick <rjek@rjek.com> + */ + +/** Write-Once hash table for string to string mappings */ + +#ifndef _NETSURF_HASH_H_ +#define _NETSURF_HASH_H_ + +struct hash_entry { + char *key; + char *value; + struct hash_entry *next; +}; + +struct hash_table { + unsigned int nchains; + struct hash_entry **chain; +}; + +struct hash_table *hash_create(unsigned int chains); +void hash_destroy(struct hash_table *ht); +void hash_add(struct hash_table *ht, const char *key, const char *value); +const char *hash_get(struct hash_table *ht, const char *key); +unsigned int hash_string_fnv(const char *datum); + +#endif |