#ifndef UTILITY_TAGITEM_H #define UTILITY_TAGITEM_H /* ** $VER: tagitem.h 40.1 (19.7.1993) ** Includes Release 44.1 ** ** Extended specification mechanism ** ** (C) Copyright 1989-1999 Amiga, Inc. ** All Rights Reserved */ /*****************************************************************************/ #ifndef EXEC_TYPES_H #include <exec/types.h> #endif /*****************************************************************************/ /* Tags are a general mechanism of extensible data arrays for parameter * specification and property inquiry. In practice, tags are used in arrays, * or chain of arrays. * */ typedef ULONG Tag; struct TagItem { Tag ti_Tag; /* identifies the type of data */ ULONG ti_Data; /* type-specific data */ }; /* constants for Tag.ti_Tag, control tag values */ #define TAG_DONE (0L) /* terminates array of TagItems. ti_Data unused */ #define TAG_END (0L) /* synonym for TAG_DONE */ #define TAG_IGNORE (1L) /* ignore this item, not end of array */ #define TAG_MORE (2L) /* ti_Data is pointer to another array of TagItems * note that this tag terminates the current array */ #define TAG_SKIP (3L) /* skip this and the next ti_Data items */ /* differentiates user tags from control tags */ #define TAG_USER ((ULONG)(1L<<31)) /* If the TAG_USER bit is set in a tag number, it tells utility.library that * the tag is not a control tag (like TAG_DONE, TAG_IGNORE, TAG_MORE) and is * instead an application tag. "USER" means a client of utility.library in * general, including system code like Intuition or ASL, it has nothing to do * with user code. */ /*****************************************************************************/ /* Tag filter logic specifiers for use with FilterTagItems() */ #define TAGFILTER_AND 0 /* exclude everything but filter hits */ #define TAGFILTER_NOT 1 /* exclude only filter hits */ /*****************************************************************************/ /* Mapping types for use with MapTags() */ #define MAP_REMOVE_NOT_FOUND 0 /* remove tags that aren't in mapList */ #define MAP_KEEP_NOT_FOUND 1 /* keep tags that aren't in mapList */ /*****************************************************************************/ #endif /* UTILITY_TAGITEM_H */