**
**      $VER: identify.i 6.0 (13.4.97)
**
**      identify.library definitions
**
**      (C) Copyright 1996-97 Richard Koerber
**      All Rights Reserved.
**

		IFND    LIBRARIES_IDENTIFY_I
LIBRARIES_IDENTIFY_I    SET     1

		IFND    EXEC_TYPES_I
		INCLUDE 'exec/types.i'
		ENDC

		IFND    EXEC_LIBRARIES_I
		INCLUDE 'exec/libraries.i'
		ENDC

		IFND    UTILITY_TAGITEM_I
		INCLUDE utility/tagitem.i
		ENDC

_IDTAGS         EQU     $CD450000

*------------------------------------------------------------------------*
* Generic library informations
*
IDENTIFYNAME    MACRO
		dc.b    "identify.library",0
		ENDM

IDENTIFYVERSION EQU     6

    STRUCTURE IdentifyBase,0
	STRUCT  ifyb_LibNode,LIB_SIZE
	LABEL   ifyb_SIZEOF

IDENTIFYBUFLEN  EQU     50              ; default buffer length

*------------------------------------------------------------------------*
* Expansion() tags
*
IDTAG_ConfigDev EQU     _IDTAGS+$00     ;(struct ConfigDev *) ConfigDev
					; structure to be evaluated
IDTAG_ManufID   EQU     _IDTAGS+$01     ;UWORD manufacturer ID if no
					; ConfigDev is available
IDTAG_ProdID    EQU     _IDTAGS+$02     ;UBYTE product ID if no
					; ConfigDev is available
IDTAG_StrLength EQU     _IDTAGS+$03     ;UWORD of maximum buffer length,
					; including termination. Default
					; is 50.
IDTAG_ManufStr  EQU     _IDTAGS+$04     ;STRPTR of manufacturer name
					; puffer, or NULL
IDTAG_ProdStr   EQU     _IDTAGS+$05     ;STRPTR of product name
					; puffer, or NULL
IDTAG_ClassStr  EQU     _IDTAGS+$06     ;STRPTR of product class
					; puffer, or NULL
IDTAG_DeadStr   EQU     _IDTAGS+$07     ;STRPTR deadend or recoverable alert?
IDTAG_SubsysStr EQU     _IDTAGS+$08     ;STRPTR alert subsystem
IDTAG_GeneralStr EQU    _IDTAGS+$09     ;STRPTR alert general cause
IDTAG_SpecStr   EQU     _IDTAGS+$0A     ;STRPTR alert specific cause
IDTAG_FuncNameStr EQU   _IDTAGS+$0B     ;STRPTR function name
IDTAG_Expansion EQU     _IDTAGS+$0C     ;(struct ConfigDev **) for a
					; complete expansion check. Init
					; the variable with NULL.

*------------------------------------------------------------------------*
* Hardware description types
*
IDHW_SYSTEM     EQU     0       ; System (Amiga,DraCo,...)            [V2]
IDHW_CPU        EQU     1       ; CPU (68000,68010,...,68060)
IDHW_FPU        EQU     2       ; FPU (---,68881,68882,68040,68060)
IDHW_MMU        EQU     3       ; MMU (---,68852,68030,68040,68060)
IDHW_OSVER      EQU     4       ; OS Version (V*.*)
IDHW_EXECVER    EQU     5       ; Exec Version (V*.*)
IDHW_WBVER      EQU     6       ; Workbench Version (---,V*.*)
IDHW_ROMSIZE    EQU     7       ; OS ROM Size (*KB, *MB)
IDHW_CHIPSET    EQU     8       ; Chipset (OCS,ECS,AGA,DraCo)
IDHW_GFXSYS     EQU     9       ; Graphic OS (AmigaOS, CyberGraphX, ...)
IDHW_CHIPRAM    EQU     10      ; All Chip RAM (*KB, *MB, *GB)
IDHW_FASTRAM    EQU     11      ; All Fast RAM (*KB, *MB, *GB)
IDHW_RAM        EQU     12      ; All Total RAM (*KB, *MB, *GB)
IDHW_SETPATCHVER EQU    13      ; SetPatch Version (---,V*.*)         [V4]
IDHW_AUDIOSYS   EQU     14      ; Audio OS (AmigaOS, AHI, ...)        [V5]
IDHW_OSNR       EQU     15      ; AmigaOS (2.04, 3.1, ...)
IDHW_VMMCHIPRAM EQU     16      ; VMM Chip RAM (*KB, *MB, *GB)
IDHW_VMMFASTRAM EQU     17      ; VMM Fast RAM (*KB, *MB, *GB)
IDHW_VMMRAM     EQU     18      ; VMM Total RAM (*KB, *MB, *GB)
IDHW_PLNCHIPRAM EQU     19      ; Plain Chip RAM (*KB, *MB, *GB)
IDHW_PLNFASTRAM EQU     20      ; Plain Fast RAM (*KB, *MB, *GB)
IDHW_PLNRAM     EQU     21      ; Plain Total RAM (*KB, *MB, *GB)
IDHW_VBR        EQU     22      ; Vector Base Register                [V6]
IDHW_LASTALERT  EQU     23      ; Last Alert code
IDHW_VBLANKFREQ EQU     24      ; VBlank Frequency
IDHW_POWERFREQ  EQU     25      ; Power Frequency
IDHW_ECLOCK     EQU     26      ; EClock
IDHW_SLOWRAM    EQU     27      ; Plain Slow RAM (*KB, *MB, *GB)
IDHW_GARY       EQU     28      ; Gary (---,Normal,...)
IDHW_RAMSEY     EQU     29      ; RAMSEY (---,D,F)
IDHW_BATTCLOCK  EQU     30      ; Battery Backed Up Clock (---,Found)
IDHW_NUMBEROF   EQU     31      ; Number of types, PRIVATE!

*------------------------------------------------------------------------*
* IDHW_SYSTEM numerical result codes
*
IDSYS_AMIGA1000 EQU     0       ; Amiga 1000
IDSYS_AMIGAOCS  EQU     1       ; OCS Amiga 500/2000
IDSYS_AMIGAECS  EQU     2       ; ECS Amiga 500/2000
IDSYS_AMIGA500  EQU     3       ; Amiga 500
IDSYS_AMIGA2000 EQU     4       ; Amiga 2000
IDSYS_AMIGA3000 EQU     5       ; Amiga 3000
IDSYS_CDTV      EQU     6       ; CDTV
IDSYS_AMIGA600  EQU     7       ; Amiga 600
IDSYS_CD32      EQU     8       ; CD32
IDSYS_AMIGA1200 EQU     9       ; Amiga 1200
IDSYS_AMIGA4000 EQU     10      ; Amiga 4000
IDSYS_DRACO     EQU     11      ; DraCo

*------------------------------------------------------------------------*
* IDHW_CPU numerical result codes
*
IDCPU_68000     EQU     0       ; 68000
IDCPU_68010     EQU     1       ; 68010
IDCPU_68020     EQU     2       ; 68020
IDCPU_68030     EQU     3       ; 68030
IDCPU_68EC030   EQU     4       ; 68EC030 (without MMU)
IDCPU_68040     EQU     5       ; 68040
IDCPU_68LC040   EQU     6       ; 68LC040 (without FPU)
IDCPU_68060     EQU     7       ; 68060
IDCPU_68LC060   EQU     8       ; 68LC060 (without FPU)

*------------------------------------------------------------------------*
* IDHW_FPU numerical result codes
*
IDFPU_NONE      EQU     0       ; no FPU
IDFPU_68881     EQU     1       ; 68881
IDFPU_68882     EQU     2       ; 68882
IDFPU_68040     EQU     3       ; 68040
IDFPU_68060     EQU     4       ; 68060

*------------------------------------------------------------------------*
* IDHW_MMU numerical result codes
*
IDMMU_NONE      EQU     0       ; no MMU
IDMMU_68851     EQU     1       ; 68851
IDMMU_68030     EQU     2       ; 68030
IDMMU_68040     EQU     3       ; 68040
IDMMU_68060     EQU     4       ; 68060

*------------------------------------------------------------------------*
* IDHW_OSNR numerical result codes
*
IDOS_UNKNOWN    EQU     0       ; <V36 or >V41
IDOS_2_0        EQU     1       ; OS2.0  (V36)
IDOS_2_04       EQU     2       ; OS2.04 (V37)
IDOS_2_1        EQU     3       ; OS2.1  (V38)
IDOS_3_0        EQU     4       ; OS3.0  (V39)
IDOS_3_1        EQU     5       ; OS3.1  (V40)
IDOS_3_2        EQU     6       ; OS3.2  (V41)

*------------------------------------------------------------------------*
* IDHW_CHIPSET numerical result codes
*
IDCS_OCS        EQU     0       ; OCS
IDCS_ECS        EQU     1       ; ECS
IDCS_AGA        EQU     2       ; AGA
IDCS_ALTAIS     EQU     3       ; DraCo Altais

*------------------------------------------------------------------------*
* IDHW_GFXSYS numerical result codes
*
IDGOS_AMIGAOS   EQU     0       ; Plain AmigaOS
IDGOS_EGS       EQU     1       ; EGS
IDGOS_RETINA    EQU     2       ; Retina
IDGOS_GRAFFITI  EQU     3       ; Graffiti
IDGOS_TIGA      EQU     4       ; TIGA
IDGOS_PROBENCH  EQU     5       ; Merlin ProBench
IDGOS_PICASSO   EQU     6       ; Picasso
IDGOS_CGX       EQU     7       ; CyberGraphX
IDGOS_CGX3      EQU     8       ; CyberGraphX 3D
IDGOS_PICASSO96 EQU     9       ; Picasso96

*------------------------------------------------------------------------*
* IDHW_AUDIOSYS numerical result codes
*
IDAOS_AMIGAOS   EQU     0       ; Plain AmigaOS
IDAOS_MAESTIX   EQU     1       ; MaestroPro driver
IDAOS_TOCCATA   EQU     2       ; Toccata driver
IDAOS_PRELUDE   EQU     3       ; Prelude driver
IDAOS_AHI       EQU     4       ; AHI
IDAOS_MACROAUDIO EQU    5       ; MacroAudio

*------------------------------------------------------------------------*
* IDHW_GARY numerical result codes
*
IDGRY_NONE      EQU     0       ; No Gary available
IDGRY_NORMAL    EQU     1       ; Normal Gary
IDGRY_ENHANCED  EQU     2       ; Enhanced Gary

*------------------------------------------------------------------------*
* IDHW_RAMSEY numerical result codes
*
IDRSY_NONE      EQU     0       ; No RamSey available
IDRSY_REVD      EQU     1       ; RamSey Revision D
IDRSY_REVF      EQU     2       ; RamSey Revision F

*------------------------------------------------------------------------*
* Error codes
*
				;Positive error codes are DOS errors!
IDERR_OKAY      EQU     0       ;No error
IDERR_NOLENGTH  EQU     -1      ;Buffer length is 0 ??
IDERR_BADID     EQU     -2      ;Missing or bad board ID
IDERR_NOMEM     EQU     -3      ;Not enough memory
IDERR_NOFD      EQU     -4      ;No fitting FD file found
IDERR_OFFSET    EQU     -5      ;Function offset not found
IDERR_DONE      EQU     -6      ;Done with traversing (not an error)

*------------------------------------------------------------------------*
* That's all...
*
	ENDC

