I've written a C code that implements a list usable with generic types.
To use this list you have to declare in an enum the types that you want to store in the list ad so you can arrive to generate mixed lists.
In the example I make tha case that you have a list with inside an int, a float and a struct Speed item.
If you want to use this generic list code you have to know that the code i really basic and not tested hard. Probably you have to extend him to your needs.
In the tar you will find also an example of using fully commented.