Exec provides a number of symmetric functions for handling lists. There are functions for inserting and removing nodes, for adding and removing head and tail nodes, for inserting nodes in a priority order, and for searching for nodes by name. The prototypes for Exec list handling functions are as follows. Exec Functions -------------- VOID AddHead( struct List *list, struct Node *node ); VOID AddTail( struct List *list, struct Node *node ); VOID Enqueue( struct List *list, struct Node *node ); struct Node *FindName( struct List *list, UBYTE *name ); VOID Insert( struct List *list, struct Node *node, struct Node *pred ); VOID Remove( struct Node *node ); struct Node *RemHead( struct List *list ); struct Node *RemTail( struct List *list ); Exec Support Functions in amiga.lib ----------------------------------- VOID NewList( struct List *list ); In this discussion of the Exec list handling functions, header represents a pointer to List header, and node represents pointer to a Node. Insertion and Removal Special Case Insertion Special Case Removal MinList/MinNode Operations Prioritized Insertion Searching by Name More on the Use of Named Lists List Macros for Assembly Language Programmers Empty Lists Scanning a List Important Note About Shared Lists