diff options
author | Rob Kendrick <rjek@netsurf-browser.org> | 2006-08-20 12:25:41 +0000 |
---|---|---|
committer | Rob Kendrick <rjek@netsurf-browser.org> | 2006-08-20 12:25:41 +0000 |
commit | d6b1f763ff7b39732a8ea91c98af306e47af82ed (patch) | |
tree | bf7271796f603f5546d1ff1e148e1f7b5a45ab25 /utils/hashtable.h | |
parent | 537bc37805a5f33fe00a9b119ed218defae8232a (diff) | |
download | netsurf-d6b1f763ff7b39732a8ea91c98af306e47af82ed.tar.gz netsurf-d6b1f763ff7b39732a8ea91c98af306e47af82ed.tar.bz2 |
Implement simple reusable write-once hash table for use in new Messages file handling.
svn path=/trunk/netsurf/; revision=2871
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 |