The following charts give a brief description of the Exec list and queue
functions and assembler macros. See the Amiga ROM Kernel Reference
Manual: Includes and Autodocs for details about each call.
Table 23-1: Exec List and Queue Functions
_________________________________________________________________
| |
| Exec Function Description |
|=================================================================|
| addhead() insert a node at the head of a list. |
| addtail() append a node to the tail of a list. |
| enqueue() insert or append a node to a system queue. |
| findname() find a node with a given name in a system list. |
| insert() insert a node into a list. |
| IsListEmpty Test if list is empty |
| newlist() initialize a list structure for use. |
| remhead() remove the head node from a list. |
| remove() remove a node from a list. |
| remtail() remove the tail node from a list. |
|_________________________________________________________________|
Table 23-2: Exec List and Queue Assembler Macros
_________________________________________________________________
| |
| Exec Function Description |
|=================================================================|
| newlist initialize a list header for use. |
| tstlist test if list is empty (list address in register). |
| No arbitration needed. |
| tstlst2 test is list is empty (from effective address of |
| list). Arbitration needed. |
| succ get next node in a list. |
| pred get previous node in a list. |
| ifempty branch if list is empty. |
| ifnotempty branch if list is not empty. |
| tstnode get next node, test if at end of list. |
| nextnode get next node, go to exit label if at end. |
| addhead add node to head of list. |
| addtail add node to tail of list. |
| remove remove node from a list. |
| remhead remove node from head of list. |
| remheadq remove node from head of list quickly. |
| remtail remove node from tail of list. |
|_________________________________________________________________|