2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 #include <proto/arossupport.h>
10 /*****************************************************************************
13 #include <utility/tagitem.h>
14 #include <proto/utility.h>
16 AROS_LH1I(struct TagItem
*, NextTagItem
,
19 AROS_LHA(struct TagItem
**, tagListPtr
, A0
),
22 struct Library
*, UtilityBase
, 8, Utility
)
25 Returns the address of the next tag-item in the list. This
26 routine correctly handles TAG_END, TAG_DONE, TAG_MORE,
27 TAG_IGNORE and TAG_SKIP.
29 TAG_END and TAG_DONE both terminate a TagItems-array (in
30 fact, TAG_DONE is the same as TAG_END).
32 With TAG_MORE, you can redirect the processing to a new list
33 of tags. Note that the processing will not return to the previous
34 list when a TAG_END/TAG_DONE is encountered.
36 TAG_IGNORE disables the processing of an entry in the list.
37 This entry is just ignored (We use this technique for filtering).
39 TAG_SKIP skips this tagitem, and the next number of tagitems as
40 indicated in the tag's ti_Data field.
43 tagListPtr - Pointer to an element in a taglist.
46 Next tag item or NULL if you reached the end of the list.
49 - TAG_MORE works like "go on with new list" instead of "read new
50 list and go on with the current one".
60 *****************************************************************************/
64 /* Gosh, can't enable these because we get LOTS of hits at startup time
66 * ASSERT_VALID_PTR(tagListPtr);
67 * ASSERT_VALID_PTR(*tagListPtr);
70 /* Use code from libarossupport */
71 return LibNextTagItem(tagListPtr
);