Main Page   Compound List   File List   Compound Members   File Members  

hash.h

00001 /*
00002 GOCR Copyright (C) 2000  Joerg Schulenburg
00003 GOCR API Copyright (C) 2001 Bruno Barberi Gnecco
00004 
00005 This program is free software; you can redistribute it and/or
00006 modify it under the terms of the GNU General Public License
00007 as published by the Free Software Foundation; either version 2
00008 of the License, or (at your option) any later version.
00009 
00010 This program is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 GNU General Public License for more details.
00014 
00015 You should have received a copy of the GNU General Public License
00016 along with this program; if not, write to the Free Software
00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 
00019 */
00020 
00021 #ifndef _GOCR_HASH_H
00022 #define _GOCR_HASH_H
00023 
00024 struct hashitem {
00025         char            *key;
00026         void            *data;
00027         struct hashitem *next;
00028 };
00029 typedef struct hashitem hashItem;
00030 
00031 struct hashtable {
00032         int             size;
00033         hashItem        **item;
00034         int             (* hash_func)(char *);
00035 };
00036 typedef struct hashtable HashTable;
00037 
00038 extern void *hash_data ( HashTable *t, char *key );
00039 extern void *hash_del ( HashTable *t, char *key );
00040 extern int hash_free ( HashTable *t, void (*free_func)(void *) );
00041 extern int hash_init ( HashTable *t, int size, int (*hash_func)(char *) );
00042 extern int hash_insert ( HashTable *t, char *key, void *data );
00043 extern char *hash_key ( HashTable *t, void *data );
00044 
00045 #endif

Generated at Sun Dec 9 16:13:18 2001 for dicelib by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001