/* * hash.h -- Hash Table Library Header * (C)Copyright 1999 by Hiroshi Takekawa * Last Modified: Fri Sep 24 06:30:23 1999. * $Id: hash.h,v 1.3 1999/09/25 08:18:13 sian Exp $ */ #ifndef _HASH_H #define _HASH_H #include "dlist.h" typedef struct { Dlist_data *key; void *datum; } Hash_data; typedef struct { int size; Dlist *keys; Hash_data **data; } Hash; Hash *hash_create(int); int hash_register(Hash *, unsigned char *, void *); Dlist *hash_get_keys(Hash *); void *hash_lookup(Hash *, unsigned char *); int hash_destroy_key(Hash *, unsigned char *, int); void hash_destroy(Hash *, int); #endif