
#include <exec/lists.h>

#undef	Prototype
#define Prototype extern

Prototype struct Node *DLL_GetHead (struct List *l);
Prototype struct Node *DLL_GetTail (struct List *l);
Prototype struct Node *DLL_GetSucc (struct List *l, struct Node *n);
Prototype void DLL_Sort (struct List *l, int (*comp)(struct Node *, struct Node *));
Prototype void DLL_Filter (struct List *l, struct List *dest, int (*check)(struct Node *, void *), void *ud);
Prototype void DLL_Scan (struct List *l, void (*scan)(struct Node *, void *, int), void *ud);
Prototype int DLL_Length (struct List *list);
Prototype struct Node *DLL_Search (struct List *l, int (*search)(struct Node *, void *), void *ud);
Prototype struct Node *DLL_NumToNode (struct List *l, int num);
Prototype int DLL_NodeToNum (struct List *l, struct Node *n);
Prototype void DLL_Join (struct List *dest, struct List *add);
Prototype void DLL_AddSorted (struct List *l, struct Node *n, int (*comp)(struct Node *, struct Node *, void *), void *ud);
