
;*
;*
;*  $VER: classinit.asm 1.1 (5.11.97)
;*  mpegaudio.datatype 1.1
;*
;*  Library routines for a DataTypes class
;*
;*  Written 1996/1997 by Roland 'Gizzy' Mainz
;*  Original example source from David N. Junod
;*
;*

;       OPTIMON

;---------------------------------------------------------------------------

        NOLIST

        INCLUDE "exec/types.i"
        INCLUDE "exec/libraries.i"
        INCLUDE "exec/lists.i"
        INCLUDE "exec/alerts.i"
        INCLUDE "exec/initializers.i"
        INCLUDE "exec/resident.i"
        INCLUDE "libraries/dos.i"

        INCLUDE "mpegaudio.datatype_rev.i"
        INCLUDE "classbase.i"

        LIST

;---------------------------------------------------------------------------

    XREF    _LibInit
    XREF    _LibOpen
    XREF    _LibClose
    XREF    _LibExpunge

    XREF    _ObtainMPEGAudioEngine

        XREF    ENDCODE

;---------------------------------------------------------------------------

        XDEF    LibReserved

;---------------------------------------------------------------------------

; First executable location, must return an error to the caller
Start:
        moveq   #-1,d0
        rts

;-----------------------------------------------------------------------

ROMTAG:
        DC.W    RTC_MATCHWORD           ; UWORD RT_MATCHWORD
        DC.L    ROMTAG                  ; APTR  RT_MATCHTAG
        DC.L    ENDCODE                 ; APTR  RT_ENDSKIP
        DC.B    RTF_AUTOINIT            ; UBYTE RT_FLAGS
        DC.B    VERSION                 ; UBYTE RT_VERSION
        DC.B    NT_LIBRARY              ; UBYTE RT_TYPE
        DC.B    0                       ; BYTE  RT_PRI
        DC.L    LibName                 ; APTR  RT_NAME
        DC.L    LibId                   ; APTR  RT_IDSTRING
        DC.L    LibInitTable            ; APTR  RT_INIT

LibName DC.B 'mpegaudio.datatype',0
LibId   VSTRING

        CNOP    0,4

LibInitTable:
        DC.L    ClassBase_SIZEOF
        DC.L    LibFuncTable
        DC.L    LibDataTable
        DC.L    _LibInit

V_DEF    MACRO
    DC.W    \1+(*-LibFuncTable)
    ENDM

LibFuncTable:
    DC.W    -1
        V_DEF    _LibOpen
        V_DEF    _LibClose
        V_DEF    _LibExpunge
        V_DEF    LibReserved

    V_DEF    _ObtainMPEGAudioEngine

        DC.W   -1

LibDataTable:
        INITBYTE   LN_TYPE,NT_LIBRARY
        INITLONG   LN_NAME,LibName
        INITBYTE   LIB_FLAGS,(LIBF_SUMUSED!LIBF_CHANGED)
        INITWORD   LIB_VERSION,VERSION
        INITWORD   LIB_REVISION,REVISION
        INITLONG   LIB_IDSTRING,LibId
        DC.W       0

        CNOP    0,4

;-----------------------------------------------------------------------

LibReserved:
        moveq   #0,d0
        rts

;-----------------------------------------------------------------------

        END
