From 4466182539196d2a2379481f08f0b0cacdf8ca75 Mon Sep 17 00:00:00 2001 From: Kamil Kaminski Date: Sat, 27 Nov 2010 15:06:25 -0600 Subject: Initial commit --- hashtbl.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 hashtbl.h (limited to 'hashtbl.h') diff --git a/hashtbl.h b/hashtbl.h new file mode 100644 index 0000000..70428f8 --- /dev/null +++ b/hashtbl.h @@ -0,0 +1,31 @@ +#ifndef HASHTBL_H_ +#define HASHTBL_H_ + +#include +#include +#include + +typedef struct hashtbl +{ + size_t size; + struct hashnode_s **nodes; + unsigned int (*hashfunc)(const char *); +} HASHTBL; + +struct hashnode_s { + char *key; + void *data; + struct hashnode_s *next; +}; + +/* function prototypes */ +char *strdup(const char *); +HASHTBL *hashtbl_create(size_t, unsigned int (*hashfunc)(const char *)); +void hashtbl_destroy(HASHTBL *); +int hashtbl_insert(HASHTBL *, const char *, void *); +int hashtbl_remove(HASHTBL *, const char *); +void *hashtbl_get(HASHTBL *, const char *); +int hashtbl_resize(HASHTBL *, size_t); + +#endif + -- cgit v1.2.3