#ifndef __INC_POS_PUTIL_TAGITEM_H
#define __INC_POS_PUTIL_TAGITEM_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>TagItem.h<<   15 Sep 1996    08:48:18 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PEXEC_TYPES_H
#include <pExec/Types.h>
#endif



/*----------------------------------
-----------------------------------*/
struct pOS_TagItem
{
  ULONG ti_Tag;       /* Tag-Typ, siehe unten */
  ULONG ti_Data;      /* Datenwert zum ti_Tag */
};

/* ti_Tag, System-Kontroll Werte */
#define TAG_DONE   0    /* Kennzeichnet das Ende einer Tag-Liste.
                        ** ti_Data wird nicht ausgelesen.
                        */
#define TAG_END    0    /* gleich wie TAG_DONE */
#define TAG_IGNORE 1    /* Ignoriert diesen Tag und fährt mit dem nächten
                        ** Tag mit der Bearbeitung fort.
                        */
#define TAG_MORE   2    /* Ist eine Art Springmarke. In ti_Data befindet sich
                        ** der Zeiger auf eine weitere (const struct pOS_TagItem*)
                        ** Liste. Nach der Bearbeitung von ti_Data wird NICHT
                        ** mit dem folgenden Tag weitergearbeitet. Das Ende
                        ** von ti_Data ist immer das Ende der gesamten Tag-Liste.
                        ** Ist ti_Data==NULL, dann wird die Abarbeitung sofort
                        ** beendet (TAG_END).
                        */
#define TAG_SKIP   3    /* Überspringt den aktuellen Tag und die Anzahl von ti_Data.
                        ** Z.B.  {TAG_A,0, TAG_SKIP,2, TAG_B,1, TAG_C,3, TAG_D,4,...}
                        ** Ausgelesen werden: TAG_A, TAG_D
                        ** Befindet sich im Skip-Bereich ein TAG_END, so wird
                        ** die Tag-Bearbeitung ordnungsgemäß beendet.
                        ** Wird im Skip-Bereich ein TAG_MORE entdeckt, wird der
                        ** Skip abgebrochen und normal mit TAG_MORE weitergearbeitet.
                        */

#define TAG_USER 0x80000000     /* Mit diesem Tag beginnen die verwendbaren
                                ** Tag-Nummern. Wird in der pOS-Debugversion
                                ** ein Tag entdeckt, der <TAG_USER && >TAG_SKIP
                                ** ist, so wird ein Laufzeitfehler angezeigt.
                                */

#endif
