                IFND    WARPRACE_I
WARPRACE_I              SET     1
**
**      $VER: WarpRace.i 1.0 (20.9.97)
**
**      '(C) Copyright 1997 Haage & Partner Computer GmbH'
**           All Rights Reserved
**
**      structures for WarpRace.s and custom modules
**
**

                IFND    EXEC_TYPES_I
                include exec/types.i
                ENDC

****  data structures/equates used by custom modules

WR_ID           =       $52414345               ;identifaction value passed to
                                                ;the module as first argument

* data structure passed to the module as second argument

        STRUCTURE       WR_INPUT,0
        APTR            WRI_POWERPCBASE         ;base of powerpc.library
        ULONG           WRI_VERSION             ;version of powerpc.library
        FPTR            WRI_STARTTIMER_68K      ;-> start timer function (68K)
        FPTR            WRI_STOPTIMER_68K       ;-> stop timer function (68K)
        FPTR            WRI_STARTTIMER_PPC      ;-> start timer function (PPC)
        FPTR            WRI_STOPTIMER_PPC       ;-> stop timer function (PPC)
        APTR            WRI_LINKERDB            ;LinkerDB (arg for PPC functions)
        BOOL            WRI_68K                 ;TRUE for 68K-modules
        ULONG           WRI_FLAGS               ;not used yet
        APTR            WRI_EXT                 ;reserved for future extension
        LABEL           WRI_SIZE

* data structure returned from the module (if not NULL is returned)

        STRUCTURE       WR_OUTPUT,0
        APTR            WRO_MODNAME             ;module name
        APTR            WRO_SHORT               ;module short description
        APTR            WRO_DESCRIPTION         ;module full description
        APTR            WRO_AUTHOR              ;module author
        ULONG           WRO_VERSION             ;module version
        ULONG           WRO_REVISION            ;module revision
        ULONG           WRO_REVSIZE             ;number of digits for revision
        ULONG           WRO_FLAGS               ;not used yet
        APTR            WRO_RESULT              ;result used for statistics
        ULONG           WRO_RESULT_TYPE         ;result type (see below)
        APTR            WRO_RESULT_STRING       ;result string for VPrintF
        APTR            WRO_RESULT_PARAMS       ;arguments for result string
        ULONG           WRO_STATUS              ;completion status (see below)
        APTR            WRO_ERRORSTRING         ;error string for VPrintF
        APTR            WRO_ERRORPARAMS         ;arguments for error string
        APTR            WRO_EXT                 ;reserved for future extension
        LABEL           WRO_SIZE

* result types

RES_UNKNOWN             =       0               ;unknown
RES_PROP                =       1               ;unknown - proportional to power
RES_INVPROP             =       2               ;unknown - inv. proportional
RES_MICROSECS           =       3               ;time in microseconds
RES_BYTESPERSEC         =       4               ;memory performance (bytes/sec)

* status values

STATUS_SUCCESS          =       -1
STATUS_ERROR            =       0


****  Internal data structures (not used by custom modules)

        STRUCTURE       DIR,0
        APTR            DIR_NEXT
        APTR            DIR_LOCK
        APTR            DIR_FIB
        APTR            DIR_PATH
        APTR            DIR_PARENT
        APTR            DIR_CHILD
        APTR            DIR_MODULES
        LABEL           DIR_SIZE

        STRUCTURE       FILE,0
        APTR            FILE_NEXT
        APTR            FILE_TEXT
        LABEL           FILE_SIZE

        STRUCTURE       CLIARG,0
        ULONG           CLIARG_HELP
        APTR            CLIARG_MODULES
        ULONG           CLIARG_CPU
        ULONG           CLIARG_ALL
        ULONG           CLIARG_FULL
        APTR            CLIARG_STATS
        LABEL           CLIARG_SIZE

                ENDC
