This is a simple C hashmap, using strings for the keys. Originally based on code by Eliot Back at http://elliottback.com/wp/hashmap-implementation-in-c/ Reworked by Pete Warden - http://petewarden.typepad.com/searchbrowser/2010/01/c-hashmap.html This version is now deprecated, since it's unmaintained. @sheredom has a newer version at https://github.com/sheredom/hashmap.h main.c contains an example that tests the functionality of the hashmap module. To compile it, run something like this on your system: gcc main.c hashmap.c -o hashmaptest There are no restrictions on how you reuse this code.