Generic Linked list Management Library in C