{ 
** $VER: identify.h 4.0 (6.9.96) 
** 
** identify.library definitions 
** 
** (C) Copyright 1996 Richard Koerber 
** All Rights Reserved. 
}

{$if not def LIBRARIES_IDENTIFY_H} CONST LIBRARIES_IDENTIFY_H=1;


{$if not def EXEC_LIBRARIES_H;incl 'exec/libraries.h';endif}
{$if not def UTILITY_TAGITEM_H;incl 'utility/tagitem.h';endif}

CONST  _IDTAGS      = $CD450000;

{ --------------------------------------------------------------------------}
{ Generic library informations }

CONST  IDENTIFYVERSION = 4;

TYPE   p_IdentifyBase = ^_IdentifyBase;
       _IdentifyBase  = Record
                          ifyb_LibNode  :_Library;
                        End;

CONST  IDENTIFYBUFLEN = 50;  { default buffer length }

{ --------------------------------------------------------------------------}
{ Expansion() tags }

       IDTAG_ConfigDev = _IDTAGS+$00;   { "p_ConfigDev" ConfigDev }
                                        { structure to be evaluated }
       IDTAG_ManufID = _IDTAGS+$01;     { UWORD manufacturer ID if no }
                                        { ConfigDev is available }
       IDTAG_ProdID = _IDTAGS+$02;      { UBYTE product ID if no }
                                        { ConfigDev is available }
       IDTAG_StrLength = _IDTAGS+$03;   { UWORD of maximum buffer length, }
                                        { including termination. Default }
                                        { is 50. }
       IDTAG_ManufStr = _IDTAGS+$04;    { STRPTR of manufacturer name }
                                        { puffer, or NULL }
       IDTAG_ProdStr = _IDTAGS+$05;     { STRPTR of product name }
                                        { puffer, or NULL }
       IDTAG_ClassStr = _IDTAGS+$06;    { STRPTR of product class }
                                        { puffer, or NULL }
       IDTAG_DeadStr = _IDTAGS+$07;     { STRPTR deadend or recoverable alert? }
       IDTAG_SubsysStr = _IDTAGS+$08;   { STRPTR alert subsystem }
       IDTAG_GeneralStr = _IDTAGS+$09;  { STRPTR alert general cause }
       IDTAG_SpecStr = _IDTAGS+$0A;     { STRPTR alert specific cause }
       IDTAG_FuncNameStr = _IDTAGS+$0B; { STRPTR function name }

{ --------------------------------------------------------------------------}
{ Hardware description types }

       IDHW_SYSTEM = 0;  { System (Amiga,DraCo,...) }
       IDHW_CPU = 1;  { CPU (68000,68010,...,68060) }
       IDHW_FPU = 2;  { FPU (---,68881,68882,68040,68060) }
       IDHW_MMU = 3;  { MMU (---,68852,68030,68040,68060) }
       IDHW_OSVER = 4;  { OS Version (Vx.x) }
       IDHW_EXECVER = 5;  { Exec Version (Vx.x) }
       IDHW_WBVER = 6;  { Workbench Version (---,Vx.x) }
       IDHW_ROMSIZE = 7;  { OS ROM Size (xKB, xMB) }
       IDHW_CHIPSET = 8;  { Chipset (OCS,ECS,AGA,DraCo) }
       IDHW_GFXSYS = 9;  { Graphics system (AmigaOS, CyberGraphX, ...) }
       IDHW_CHIPRAM = 10;  { Chip RAM (xKB, xMB, xGB) }
       IDHW_FASTRAM = 11;  { Fast RAM (xKB, xMB, xGB) }
       IDHW_RAM = 12;  { Total RAM (xKB, xMB, xGB) }
       IDHW_SETPATCHVER = 13; { SetPatch Version (---,Vx.x) }
       IDHW_NUMBEROF = 14;  { Number of types, PRIVATE! }

{ --------------------------------------------------------------------------}
{ Error codes }

{ Positive error codes are DOS errors! }
       IDERR_OKAY = 0;      { No error }
       IDERR_NOLENGTH = -1; { Buffer length is 0 ?? }
       IDERR_BADID = -2;    { Missing or bad board ID }
       IDERR_NOMEM = -3;    { Not enough memory }
       IDERR_NOFD = -4;     { No fitting FD file found }
       IDERR_OFFSET = -5;   { Function offset not found }

{ --------------------------------------------------------------------------}
{ That's all... }

{$endif} 


