Sync usage with man page.
[netbsd-mini2440.git] / gnu / dist / gettext / gettext-tools / lib / hash.h
blob07b1de4612f22bf484efc066b0cd8e363b92f99e
1 /* Copyright (C) 1995, 2000-2003 Free Software Foundation, Inc.
3 The GNU C Library is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Library General Public License as
5 published by the Free Software Foundation; either version 2 of the
6 License, or (at your option) any later version.
8 The GNU C Library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
13 You should have received a copy of the GNU Library General Public
14 License along with the GNU C Library; see the file COPYING.LIB. If
15 not, write to the Free Software Foundation, Inc., 59 Temple Place
16 - Suite 330, Boston, MA 02111-1307, USA. */
18 #ifndef _HASH_H
19 #define _HASH_H
21 #include <obstack.h>
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
27 typedef struct hash_table
29 unsigned long int size;
30 unsigned long int filled;
31 void *first;
32 void *table;
33 struct obstack mem_pool;
35 hash_table;
37 extern int init_hash (hash_table *htab, unsigned long int init_size);
38 extern int delete_hash (hash_table *htab);
39 extern int insert_entry (hash_table *htab,
40 const void *key, size_t keylen,
41 void *data);
42 extern int find_entry (hash_table *htab,
43 const void *key, size_t keylen,
44 void **result);
46 extern int iterate_table (hash_table *htab, void **ptr,
47 const void **key, size_t *keylen,
48 void **data);
50 extern unsigned long int next_prime (unsigned long int seed);
52 #ifdef __cplusplus
54 #endif
56 #endif /* not _HASH_H */