This is a simple Doubly Linked List header that you can include in your proyect under the GPL 3+ licence conditions. Please take a look at main.c to see an example that shows how to use this header. As dllist handles all kind of structures using void* pointers, you need to define a print function, a comparision function and a free functions, in order to work with it.
If you have any question, please let me know at mmager (at) turing (dot) iimas (dot) unam (dot) mx