Trivial change: consistent struct names.
Replace doubly-linked list with GLib implementation.

Good documentation/examples for GLib lists:
https://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.html
http://www.ibm.com/developerworks/linux/tutorials/l-glib/section4.html