\ AMIGA JForth Include file.
include? :struct ju:c_struct
decimal
EXISTS? RESOURCES_DISK_H NOT .IF	
: RESOURCES_DISK_H ;


include? EXEC_TYPES_H ji:exec/types.j	
include? EXEC_LISTS_H ji:exec/lists.j	
include? EXEC_PORTS_H ji:exec/ports.j	
include? EXEC_INTERRUPTS_H ji:exec/interrupts.j	
include? EXEC_LIBRARIES_H ji:exec/libraries.j	

:STRUCT DiscResourceUnit
  STRUCT Message	dru_Message
  STRUCT Interrupt	dru_DiscBlock
  STRUCT Interrupt	dru_DiscSync
  STRUCT Interrupt	dru_Index
;STRUCT 


:STRUCT DiscResource
  STRUCT Library	dr_Library
  APTR dr_Current
  UBYTE dr_Flags
  UBYTE dr_pad
  APTR dr_SysLib
  APTR dr_CiaResource
( %?)   4 4 *  BYTES dr_UnitID
  STRUCT List	dr_Waiting
  STRUCT Interrupt	dr_DiscBlock
  STRUCT Interrupt	dr_DiscSync
  STRUCT Interrupt	dr_Index
;STRUCT 

0   constant DRB_ALLOC0
1   constant DRB_ALLOC1
2   constant DRB_ALLOC2
3   constant DRB_ALLOC3
7   constant DRB_ACTIVE
1  0 <<  constant DRF_ALLOC0
1  1 <<  constant DRF_ALLOC1
1  2 <<  constant DRF_ALLOC2
1  3 <<  constant DRF_ALLOC3
1  7 <<  constant DRF_ACTIVE
$ 4000   constant DSKDMAOFF

0" disk.resource" 0string DISKNAME

LIB_BASE  0  LIB_VECTSIZE *  - constant DR_ALLOCUNIT
LIB_BASE  1  LIB_VECTSIZE *  - constant DR_FREEUNIT
LIB_BASE  2  LIB_VECTSIZE *  - constant DR_GETUNIT
LIB_BASE  3  LIB_VECTSIZE *  - constant DR_GIVEUNIT
LIB_BASE  4  LIB_VECTSIZE *  - constant DR_GETUNITID
DR_GIVEUNIT   constant DR_LASTCOMM
$ 00000000   constant DRT_AMIGA
$ 55555555   constant DRT_37422D2S
$ FFFFFFFF   constant DRT_EMPTY
.THEN
