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