{ 
** $VER: identify.h 6.0 (16.4.97)
** 
** identify.library definitions 
** 
** (C) Copyright 1996-97 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 = 6;

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 }
       IDTAG_Expansion   = _IDTAGS+$0C; { "pp_ConfigDev" ConfigDev for a }
                                        { complete expansion check. Init }
                                        { the variable with NULL and pass }
                                        { a pointer to it using this tag. }

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

       IDHW_SYSTEM      = 0;   { System (Amiga,DraCo,...)            [V2] }
       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;   { Graphic OS (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)         [V4] }
       IDHW_AUDIOSYS    = 14;  { Audio OS (AmigaOS, AHI, ...)        [V5] }
       IDHW_OSNR        = 15;  { AmigaOS (2.04, 3.1, ...) }
       IDHW_VMMCHIPRAM  = 16;  { VMM Chip RAM (*KB, *MB, *GB) }
       IDHW_VMMFASTRAM  = 17;  { VMM Fast RAM (*KB, *MB, *GB) }
       IDHW_VMMRAM      = 18;  { VMM Total RAM (*KB, *MB, *GB) }
       IDHW_PLNCHIPRAM  = 19;  { Plain Chip RAM (*KB, *MB, *GB) }
       IDHW_PLNFASTRAM  = 20;  { Plain Fast RAM (*KB, *MB, *GB) }
       IDHW_PLNRAM      = 21;  { Plain Total RAM (*KB, *MB, *GB) }
       IDHW_VBR         = 22;  { Vector Base Register                [V6] }
       IDHW_LASTALERT   = 23;  { Last Alert code }
       IDHW_VBLANKFREQ  = 24;  { VBlank Frequency }
       IDHW_POWERFREQ   = 25;  { Power Frequency }
       IDHW_ECLOCK      = 26;  { EClock }
       IDHW_SLOWRAM     = 27;  { Plain Slow RAM (*KB, *MB, *GB) }
       IDHW_GARY        = 28;  { Gary (---,Normal,...) }
       IDHW_RAMSEY      = 29;  { RAMSEY (---,D,F)
       IDHW_BATTCLOCK   = 30;  { Battery Backed Up Clock (---,Found) }
       IDHW_NUMBEROF    = 31;  { Number of types, PRIVATE! }

{ --------------------------------------------------------------------------}
{ IDHW_SYSTEM numerical result codes }

       IDSYS_AMIGA1000 = 0;     { Amiga 1000 }
       IDSYS_AMIGAOCS  = 1;     { OCS Amiga 500/2000 }
       IDSYS_AMIGAECS  = 2;     { ECS Amiga 500/2000 }
       IDSYS_AMIGA500  = 3;     { Amiga 500 }
       IDSYS_AMIGA2000 = 4;     { Amiga 2000 }
       IDSYS_AMIGA3000 = 5;     { Amiga 3000 }
       IDSYS_CDTV      = 6;     { CDTV }
       IDSYS_AMIGA600  = 7;     { Amiga 600 }
       IDSYS_CD32      = 8;     { CD32 }
       IDSYS_AMIGA1200 = 9;     { Amiga 1200 }
       IDSYS_AMIGA4000 = 10;    { Amiga 4000 }
       IDSYS_DRACO     = 11;    { DraCo }

{ --------------------------------------------------------------------------}
{ IDHW_CPU numerical result codes }

       IDCPU_68000     = 0;     { 68000 }
       IDCPU_68010     = 1;     { 68010 }
       IDCPU_68020     = 2;     { 68020 }
       IDCPU_68030     = 3;     { 68030 }
       IDCPU_68EC030   = 4;     { 68EC030 (without MMU) }
       IDCPU_68040     = 5;     { 68040 }
       IDCPU_68LC040   = 6;     { 68LC040 (without FPU) }
       IDCPU_68060     = 7;     { 68060 }
       IDCPU_68LC060   = 8;     { 68LC060 (without FPU) }

{ --------------------------------------------------------------------------}
{ IDHW_FPU numerical result codes }

       IDFPU_NONE      = 0;     { no FPU }
       IDFPU_68881     = 1;     { 68881 }
       IDFPU_68882     = 2;     { 68882 }
       IDFPU_68040     = 3;     { 68040 }
       IDFPU_68060     = 4;     { 68060 }

{ --------------------------------------------------------------------------}
{ IDHW_MMU numerical result codes }

       IDMMU_NONE      = 0;     { no MMU }
       IDMMU_68851     = 1;     { 68851 }
       IDMMU_68030     = 2;     { 68030 }
       IDMMU_68040     = 3;     { 68040 }
       IDMMU_68060     = 4;     { 68060 }

{ --------------------------------------------------------------------------}
{ IDHW_OSNR numerical result codes }

       IDOS_UNKNOWN    = 0;     { <V36 or >V41 }
       IDOS_2_0        = 1;     { OS2.0  (V36) }
       IDOS_2_04       = 2;     { OS2.04 (V37) }
       IDOS_2_1        = 3;     { OS2.1  (V38) }
       IDOS_3_0        = 4;     { OS3.0  (V39) }
       IDOS_3_1        = 5;     { OS3.1  (V40) }
       IDOS_3_2        = 6;     { OS3.2  (V41) }

{ --------------------------------------------------------------------------}
{ IDHW_CHIPSET numerical result codes }

       IDCS_OCS        = 0;     { OCS }
       IDCS_ECS        = 1;     { ECS }
       IDCS_AGA        = 2;     { AGA }
       IDCS_ALTAIS     = 3;     { DraCo Altais }

{ --------------------------------------------------------------------------}
{ IDHW_GFXSYS numerical result codes }

       IDGOS_AMIGAOS   = 0;     { Plain AmigaOS }
       IDGOS_EGS       = 1;     { EGS }
       IDGOS_RETINA    = 2;     { Retina }
       IDGOS_GRAFFITI  = 3;     { Graffiti }
       IDGOS_TIGA      = 4;     { TIGA }
       IDGOS_PROBENCH  = 5;     { Merlin ProBench }
       IDGOS_PICASSO   = 6;     { Picasso }
       IDGOS_CGX       = 7;     { CyberGraphX }
       IDGOS_CGX3      = 8;     { CyberGraphX 3D }
       IDGOS_PICASSO96 = 9;     { Picasso96 }

{ --------------------------------------------------------------------------}
{ IDHW_AUDIOSYS numerical result codes }

       IDAOS_AMIGAOS   = 0;     { Plain AmigaOS }
       IDAOS_MAESTIX   = 1;     { MaestroPro driver }
       IDAOS_TOCCATA   = 2;     { Toccata driver }
       IDAOS_PRELUDE   = 3;     { Prelude driver }
       IDAOS_AHI       = 4;     { AHI }
       IDAOS_MACROAUDIO = 5;    { MacroAudio }

{ --------------------------------------------------------------------------}
{ IDHW_GARY numerical result codes }

       IDGRY_NONE      = 0;     { No Gary available }
       IDGRY_NORMAL    = 1;     { Normal Gary }
       IDGRY_ENHANCED  = 2;     { Enhanced Gary }

{ --------------------------------------------------------------------------}
{ IDHW_RAMSEY numerical result codes }

       IDRSY_NONE      = 0;     { No RamSey available }
       IDRSY_REVD      = 1;     { RamSey Revision D }
       IDRSY_REVF      = 2;     { RamSey Revision F }

{ --------------------------------------------------------------------------}
{ 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 }
       IDERR_DONE = -6;     { Done with traversing (not an error) }

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

{$endif} 


