2 Copyright © 2010, The AROS Development Team. All rights reserved.
6 #ifndef RESOURCES_DISK_H
7 #define RESOURCES_DISK_H
9 #include <exec/interrupts.h>
10 #include <exec/libraries.h>
11 #include <exec/ports.h>
13 struct DiscResourceUnit
15 struct Message dru_Message
;
16 struct Interrupt dru_DiscBlock
;
17 struct Interrupt dru_DiscSync
;
18 struct Interrupt dru_Index
;
23 struct Library dr_Library
;
24 struct DiscResourceUnit
*dr_Current
;
27 struct Library
*dr_SysLib
;
28 struct Library
*dr_CiaResource
;
30 struct List dr_Waiting
;
31 struct Interrupt dr_DiscBlock
;
32 struct Interrupt dr_DiscSync
;
33 struct Interrupt dr_Index
;
34 struct Task
*dr_CurrTask
;
44 #define DRF_ALLOC0 (1<<DRB_ALLOC0)
45 #define DRF_ALLOC1 (1<<DRB_ALLOC1)
46 #define DRF_ALLOC2 (1<<DRB_ALLOC2)
47 #define DRF_ALLOC3 (1<<DRB_ALLOC3)
48 #define DRF_ACTIVE (1<<DRB_ACTIVE)
50 #define DSKDMAOFF 0x4000
52 #define DISKNAME "disk.resource"
54 #define DR_ALLOCUNIT ((LIB_BASE - 0) * LIB_VECTSIZE)
55 #define DR_FREEUNIT ((LIB_BASE - 1) * LIB_VECTSIZE)
56 #define DR_GETUNIT ((LIB_BASE - 2) * LIB_VECTSIZE)
57 #define DR_GIVEUNIT ((LIB_BASE - 3) * LIB_VECTSIZE)
58 #define DR_GETUNITID ((LIB_BASE - 4) * LIB_VECTSIZE)
59 #define DR_READUNITID ((LIB_BASE - 5) * LIB_VECTSIZE)
61 #define DR_LASTCOMM (DR_READUNITID)
63 #define DRT_AMIGA (0x00000000)
64 #define DRT_37422D2S (0x55555555)
65 #define DRT_EMPTY (0xFFFFFFFF)
66 #define DRT_150RPM (0xAAAAAAAA)