IFND UTILITY_TAGITEM_I UTILITY_TAGITEM_I SET 1 ** ** $Filename: utility/tagitem.i $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 36.3 $ ** $Date: 91/01/24 $ ** ** extended specification mechanism ** ** (C) Copyright 1989-1999 Amiga, Inc. ** All Rights Reserved ** IFND EXEC_TYPES_I INCLUDE "exec/types.i" ENDC ; ======================================================================= ; ==== TagItem ========================================================== ; ======================================================================= ; This data type may propagate through the system for more general use. ; In the meantime, it is used as a general mechanism of extensible data ; arrays for parameter specification and property inquiry (coming soon ; to a display controller near you). ; ; In practice, an array (or chain of arrays) of TagItems is used. STRUCTURE TagItem,0 ULONG ti_Tag ; identifies the type of this item ULONG ti_Data ; type-specific data, can be a pointer LABEL ti_SIZEOF ; ---- system tag values ----------------------------- TAG_DONE EQU 0 ; terminates array of TagItems. ti_Data unused TAG_IGNORE EQU 1 ; ignore this item, not end of array TAG_MORE EQU 2 ; ti_Data is pointer to another array of TagItems ; note that this tag terminates the current array TAG_SKIP EQU 3 ; skip this and the next ti_Data items ; ---- user tag identification ----------------------- TAG_USER EQU $80000000 ; differentiates user tags from system tags ; until further notice, tag bits 16-30 are RESERVED and should be zero. ; Also, the value (TAG_USER | 0) should never be used as a tag value. ENDC