This library currently implements a singly linked, two directional list and a simple hash map, which uses a linked list for collision resolving.
Both the linked list and the hash map can store arbitrary data inside them, either basic ones (integer, float) or complex ones, using a void pointer.
See the test.c file for tests and example usage.