[Contents] [Index] [Help] [Retrace] [browse <] [Browse >]

    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