[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