IFND RESOURCES_DISK_I RESOURCES_DISK_I SET 1 ** ** $Filename: resources/disk.i $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 27.10 $ ** $Date: 90/11/21 $ ** ** disk.i -- external declarations for the disk resource ** ** (C) Copyright 1985-1999 Amiga, Inc. ** All Rights Reserved ** IFND EXEC_TYPES_I INCLUDE "exec/types.i" ENDC !EXEC_TYPES_I IFND EXEC_LISTS_I INCLUDE "exec/lists.i" ENDC !EXEC_LISTS_I IFND EXEC_PORTS_I INCLUDE "exec/ports.i" ENDC !EXEC_PORTS_I IFND EXEC_INTERRUPTS_I INCLUDE "exec/interrupts.i" ENDC !EXEC_INTERRUPTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" ENDC !EXEC_LIBRARIES_I ********************************************************************* * * Resource structures * ********************************************************************* STRUCTURE DISCRESOURCEUNIT,MN_SIZE STRUCT DRU_DISCBLOCK,IS_SIZE STRUCT DRU_DISCSYNC,IS_SIZE STRUCT DRU_INDEX,IS_SIZE LABEL DRU_SIZE STRUCTURE DISCRESOURCE,LIB_SIZE APTR DR_CURRENT ; pointer to current unit structure UBYTE DR_FLAGS UBYTE DR_pad APTR DR_SYSLIB APTR DR_CIARESOURCE STRUCT DR_UNITID,4*4 STRUCT DR_WAITING,LH_SIZE STRUCT DR_DISCBLOCK,IS_SIZE STRUCT DR_DISCSYNC,IS_SIZE STRUCT DR_INDEX,IS_SIZE APTR DR_CURRTASK ; pointer to owning task for GiveUnit LABEL DR_SIZE BITDEF DR,ALLOC0,0 ; unit zero is allocated BITDEF DR,ALLOC1,1 ; unit one is allocated BITDEF DR,ALLOC2,2 ; unit two is allocated BITDEF DR,ALLOC3,3 ; unit three is allocated BITDEF DR,ACTIVE,7 ; is the disc currently busy? ********************************************************************* * * Hardware Magic * ********************************************************************* DSKDMAOFF EQU $4000 ; idle command for dsklen register ********************************************************************* * * Resource specific commands * ********************************************************************* *-- DR_NAME is a generic macro to get the name of the resource. This *-- way if the name is ever changed you will pick up the change *-- automatically. *-- *-- Normal usage would be: *-- *-- internalName: DISKNAME *-- DISKNAME: MACRO DC.B 'disk.resource',0 DS.W 0 ENDM LIBINIT LIB_BASE LIBDEF DR_ALLOCUNIT LIBDEF DR_FREEUNIT LIBDEF DR_GETUNIT LIBDEF DR_GIVEUNIT LIBDEF DR_GETUNITID LIBDEF DR_READUNITID DR_LASTCOMM EQU DR_READUNITID ********************************************************************* * * drive types * ********************************************************************* DRT_AMIGA EQU $00000000 DRT_37422D2S EQU $55555555 DRT_EMPTY EQU $FFFFFFFF DRT_150RPM EQU $AAAAAAAA ENDC ; RESOURCES_DISK_I