#ifndef _HASHMAP_H #define _HASHMAP_H #include #define BUCKET_ENTRIES 20 #define HASHMAP_BUCKETS 2048 typedef struct Entry { char *key; void *data; size_t data_size; } Entry; typedef struct Bucket { size_t n_entries; Entry entries[BUCKET_ENTRIES]; } Bucket; typedef struct HashMap { Bucket buckets[HASHMAP_BUCKETS]; } HashMap; void init_map(HashMap *map); void *get(HashMap *map, char *key); Entry *set(HashMap *map, char *key, void *data, size_t data_size); #endif // _HASHMAP_H