1 #ifndef HIDDSTORAGE_INTERN_H
2 #define HIDDSTORAGE_INTERN_H
4 #include <exec/semaphores.h>
5 #include <exec/libraries.h>
9 #include <hidd/storage.h>
11 struct HIDDStorageData
16 struct HIDDStorageControllerData
18 struct SignalSemaphore scd_BusLock
;
19 struct MinList scd_Buses
;
25 OOP_Object
*busObject
; /* Bus object */
28 struct class_static_data
30 struct Library
*cs_OOPBase
;
36 OOP_Class
*storageClass
; /* Storage Subsystem Class */
37 OOP_Class
*controllerClass
; /* Storage "Controller" BaseClass */
38 OOP_Class
*busClass
; /* Storage "Bus" BaseClass */
39 OOP_Class
*unitClass
; /* Storage "Unit" BaseClass */
43 OOP_AttrBase hwAttrBase
;
45 OOP_MethodID hwMethodBase
;
46 OOP_MethodID hiddSCMethodBase
;
51 struct HiddStorageIntBase
53 struct Library hsi_LibNode
;
55 struct class_static_data hsi_csd
;
58 #define CSD(x) (&((struct HiddStorageIntBase *)x->UserData)->hsi_csd)
61 #define HWAttrBase (CSD(cl)->hwAttrBase)
64 #define HWBase (CSD(cl)->hwMethodBase)
65 #undef HiddStorageControllerBase
66 #define HiddStorageControllerBase (CSD(cl)->hiddSCMethodBase)
68 #define OOPBase (CSD(cl)->cs_OOPBase)
70 /* ID Namespace structures */
72 struct Storage_IDFamily
74 struct Node SIDF_Node
; /* ln_Name = IDBase (e.g "CD") */
80 struct Node SIDN_Node
; /* ln_Name = ID (e.g. "CD0") */