grub2: bring back build of aros-side grub2 tools
[AROS.git] / workbench / libs / popupmenu / pmdlist.h
blob4400569f89878032b5b1519ad8db67c5cc27103f
1 //
2 // pmdlist.h
3 //
4 // PopupMenu Library - Linked Lists
5 //
6 // Copyright (C)2000 Henrik Isaksson <henrik@boing.nu>
7 // All Rights Reserved.
8 //
11 #ifndef PM_DLIST_H
12 #define PM_DLIST_H
14 #include <exec/nodes.h>
15 #include <exec/lists.h>
17 struct PM_GenericListNode {
18 struct MinNode n;
19 UWORD Length;
22 typedef struct MinList PMDList;
23 typedef APTR PMNode;
24 typedef struct PM_GenericListNode PMGLN;
26 #define PM_NextNode(x) (((struct MinNode *)x)->mln_Succ)
28 PMDList *PM_InitList(void); // Create a new list header. *
29 void PM_FreeList(PMDList *list); // Free a list. *
30 PMDList *PM_CopyList(PMDList *list); // Copy a list. *
32 void PM_AddToList(PMDList *l, PMNode *A); // Add A to l. *
33 void PM_Unlink(PMDList *l, PMNode *A); // Remove A from l. *
34 void PM_FreeNode(PMNode *A); // Free a node. *
35 PMNode *PM_CopyNode(PMNode *A); // Copy a node. *
37 #endif