/* API for the generic C linked list
 *
 * last update: 15.07.05
 */

/* Function: AllocList
 *
 * Parameters: none
 * Returns: *LIST
 *
 * Allocates one empty linked list and returns a pointer to it.
 */

/* Function: AllocIterator
 *
 * Parameters: *LIST
 * Returns: *ITERATOR
 *
 * Creates an iterator for a given list, and returns a pointer to it.
 */

/* Function: AttachToList
 *
 * Parameters: *void, *LIST
 * Returns: nothing
 *
 * Will allocate memory for a cell, and let the cell point
 * to the location of the content given. The cell is then
 * attached to the beginning of the list.
 *
 * NOTICE: If the given content is already located in the
 * list, it will NOT be added.
 */

/* Function: DetachFromList
 *
 * Parameters: *void, *LIST
 * Returns: void
 *
 * Scans the list and removes the cell with the given content.
 * The cell is free'd from memory. The content of the cell is
 * not free'd.
 */

/* Function: FreeIterator
 *
 * Parameters: *ITERATOR
 * Returns: nothing
 *
 * Destroys the iterator.
 */

/* Function: FreeList
 *
 * Parameters: *LIST
 * Returns: nothing
 *
 * Destroys all cells in the list and finally the list.
 */

/* Function: NextInList
 *
 * Arguments: *ITERATOR
 * Returns: *void
 *
 * Returns the content of the cell that the iterator is
 * currently pointing to, and moves the iterator to the next
 * cell in the list.
 *
 * Will return NULL if there are no more cells in the list.
 */

/* Function: SizeOfList
 *
 * Paramters: *LIST
 * Returns: int
 *
 * Returns the amount of cells in the list
 */