1 #ifndef UTILITY_TAGITEM_H
2 #define UTILITY_TAGITEM_H
4 ** $VER: tagitem.h 40.1 (19.7.1993)
5 ** Includes Release 45.1
7 ** Extended specification mechanism
9 ** (C) Copyright 1989-2001 Amiga, Inc.
10 ** All Rights Reserved
13 /*****************************************************************************/
17 #include <exec/types.h>
21 /*****************************************************************************/
24 /* Tags are a general mechanism of extensible data arrays for parameter
25 * specification and property inquiry. In practice, tags are used in arrays,
34 Tag ti_Tag; /* identifies the type of data */
35 ULONG ti_Data; /* type-specific data */
38 /* constants for Tag.ti_Tag, control tag values */
39 #define TAG_DONE (0L) /* terminates array of TagItems. ti_Data unused */
40 #define TAG_END (0L) /* synonym for TAG_DONE */
41 #define TAG_IGNORE (1L) /* ignore this item, not end of array */
42 #define TAG_MORE (2L) /* ti_Data is pointer to another array of TagItems
43 * note that this tag terminates the current array
45 #define TAG_SKIP (3L) /* skip this and the next ti_Data items */
47 /* differentiates user tags from control tags */
48 #define TAG_USER ((ULONG)(1L<<31))
50 /* If the TAG_USER bit is set in a tag number, it tells utility.library that
51 * the tag is not a control tag (like TAG_DONE, TAG_IGNORE, TAG_MORE) and is
52 * instead an application tag. "USER" means a client of utility.library in
53 * general, including system code like Intuition or ASL, it has nothing to do
58 /*****************************************************************************/
61 /* Tag filter logic specifiers for use with FilterTagItems() */
62 #define TAGFILTER_AND 0 /* exclude everything but filter hits */
63 #define TAGFILTER_NOT 1 /* exclude only filter hits */
66 /*****************************************************************************/
69 /* Mapping types for use with MapTags() */
70 #define MAP_REMOVE_NOT_FOUND 0 /* remove tags that aren't in mapList */
71 #define MAP_KEEP_NOT_FOUND 1 /* keep tags that aren't in mapList */
74 /*****************************************************************************/
77 #endif /* UTILITY_TAGITEM_H */