From fad8df848092d7f35e95c3b70b5917593df84952 Mon Sep 17 00:00:00 2001 From: kartofen Date: Wed, 3 Jan 2024 00:08:27 +0200 Subject: hashtable and symtable things --- src/hashtbl.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/hashtbl.h (limited to 'src/hashtbl.h') diff --git a/src/hashtbl.h b/src/hashtbl.h new file mode 100644 index 0000000..a6cfa10 --- /dev/null +++ b/src/hashtbl.h @@ -0,0 +1,23 @@ +#ifndef HASHTBL_H +#define HASHTBL_H + +typedef struct hash_table *hashtbl_t; + +struct hash_table { + struct hash_item { + struct hash_item *next; + char *key; + void *data; + } **items; + + size_t cap; +}; + +hashtbl_t hashtbl_create(size_t cap); +void hashtbl_destroy(hashtbl_t hashtbl); +void hashtbl_reset(hashtbl_t hashtbl); + +int hashtbl_insert(hashtbl_t hashtbl, char *key, void *data, size_t data_sz); +int hashtbl_query(hashtbl_t hashtbl, char *key, void **dest); + +#endif -- cgit v1.2.3