Hamazing/source/includes/resources/disk.i
2023-05-22 18:29:18 +02:00

122 lines
2.6 KiB
OpenEdge ABL

IFND RESOURCES_DISK_I
RESOURCES_DISK_I SET 1
**
** $VER: disk.i 27.10 (21.11.90)
** Includes Release 40.16
**
** disk.i -- external declarations for the disk resource
**
** (C) Copyright 1985-1995 ESCOM AG
** 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