Check for SYS/GL during library init. Reason is that
[AROS.git] / rom / utility / nexttagitem.c
blobf725ff3f0a1179e072d43b3ce634fc6abb719f33
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$ $Log
4 */
6 #include <proto/arossupport.h>
8 #include "intern.h"
10 /*****************************************************************************
12 NAME */
13 #include <utility/tagitem.h>
14 #include <proto/utility.h>
16 AROS_LH1I(struct TagItem *, NextTagItem,
18 /* SYNOPSIS */
19 AROS_LHA(struct TagItem **, tagListPtr, A0),
21 /* LOCATION */
22 struct Library *, UtilityBase, 8, Utility)
24 /* FUNCTION
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.
42 INPUTS
43 tagListPtr - Pointer to an element in a taglist.
45 RESULT
46 Next tag item or NULL if you reached the end of the list.
48 NOTES
49 - TAG_MORE works like "go on with new list" instead of "read new
50 list and go on with the current one".
52 EXAMPLE
54 BUGS
56 SEE ALSO
58 INTERNALS
60 *****************************************************************************/
62 AROS_LIBFUNC_INIT
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);
73 AROS_LIBFUNC_EXIT
74 } /* NextTagItem */