2 Copyright © 1995-2005, The AROS Development Team. All rights reserved.
6 #ifndef AROSLIST_INTERN_H
7 #define AROSLIST_INTERN_H
12 # include <exec/types.h>
14 #ifndef EXEC_LIBRARIES_H
15 # include <exec/libraries.h>
18 # include <exec/lists.h>
21 # include <dos/bptr.h>
23 #ifndef UTILTY_HOOKS_H
24 # include <utility/hooks.h>
29 struct ListEntry
*le_Next
;
32 APTR le_Item
; /* The inserted item */
35 /* Flag bits for le_Flags */
36 #define LEFLG_SELECTED (1 << 0)
42 /* How any entries are pssible to put into currently allocated buffer */
44 struct ListEntry
*ld_EntryTables
;
45 struct ListEntry
*ld_UnusedEntries
;
46 struct ListEntry
**ld_PointerArray
;
47 struct Hook
*ld_ConstructHook
;
48 struct Hook
*ld_DestructHook
;
54 #define LD(x) ((struct ListData *)x)
57 #define UB(x) ((UBYTE *)x)
59 #define NUMENTRIES_TO_ADD 100
62 /* Macro to add a filentry at the head of a filentry list */
63 #define AddLEHead(l, le) \
67 #define NewLEList(l) \
70 #define IsLEListEmpty(l) \
73 #define RemLEHead(l) \
81 struct ListEntry
**AllocEntries(ULONG
, struct ListData
*);
82 ULONG
InsertItems(APTR
*, struct ListEntry
**, LONG
, struct ListData
*);
83 ULONG
CountItems(APTR
*);
85 #endif /* AROSLIST_INTERN_H */