revert between 56095 -> 55830 in arch
[AROS.git] / rom / hidds / base / storage / storage_intern.h
blobce32d2b0718565901a15890804766d2beaba82db
1 #ifndef HIDDSTORAGE_INTERN_H
2 #define HIDDSTORAGE_INTERN_H
4 #include <exec/semaphores.h>
5 #include <exec/libraries.h>
6 #include <dos/bptr.h>
7 #include <oop/oop.h>
8 #include <hidd/hidd.h>
9 #include <hidd/storage.h>
11 struct HIDDStorageData
13 IPTR sd_Private;
16 struct HIDDStorageControllerData
18 struct SignalSemaphore scd_BusLock;
19 struct MinList scd_Buses;
22 struct BusNode
24 struct MinNode node;
25 OOP_Object *busObject; /* Bus object */
28 struct class_static_data
30 struct Library *cs_OOPBase;
31 BPTR cs_SegList;
32 APTR cs_MemPool;
34 struct List cs_IDs;
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 */
41 OOP_Object *instance;
43 OOP_AttrBase hwAttrBase;
45 OOP_MethodID hwMethodBase;
46 OOP_MethodID hiddSCMethodBase;
49 /* Library base */
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)
60 #undef HWAttrBase
61 #define HWAttrBase (CSD(cl)->hwAttrBase)
63 #undef HWBase
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") */
75 struct List SIDF_IDs;
78 struct Storage_IDNode
80 struct Node SIDN_Node; /* ln_Name = ID (e.g. "CD0") */
83 #endif