Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright 2006 Rob Kendrick <rjek@rjek.com>
  3.  *
  4.  * This file is part of NetSurf, http://www.netsurf-browser.org/
  5.  *
  6.  * NetSurf is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; version 2 of the License.
  9.  *
  10.  * NetSurf is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17.  */
  18.  
  19. /** \file
  20.  * Write-Once hash table for string to string mappings */
  21.  
  22. #ifndef _NETSURF_UTILS_HASHTABLE_H_
  23. #define _NETSURF_UTILS_HASHTABLE_H_
  24.  
  25. #include <stdbool.h>
  26.  
  27. struct hash_table;
  28.  
  29. struct hash_table *hash_create(unsigned int chains);
  30. void hash_destroy(struct hash_table *ht);
  31. bool hash_add(struct hash_table *ht, const char *key, const char *value);
  32. const char *hash_get(struct hash_table *ht, const char *key);
  33. const char *hash_iterate(struct hash_table *ht, unsigned int *c1,
  34.                 unsigned int **c2);
  35.  
  36. #endif
  37.