Some fixes.
[cake.git] / rom / hidd / hiddclass_intern.h
blob7dca63eae274ef8a8d6a793b7c8305b4a61ad0d9
1 #ifndef HIDD_CLASS_INTERN_H
2 #define HIDD_CLASS_INTERN_H
4 /* Include files */
6 #ifndef EXEC_LIBRARIES_H
7 # include <exec/libraries.h>
8 #endif
9 #ifndef EXEC_SEMAPHORES_H
10 # include <exec/semaphores.h>
11 #endif
12 #ifndef OOP_OOP_H
13 # include <oop/oop.h>
14 #endif
15 #ifndef HIDD_HIDD_H
16 # include <hidd/hidd.h>
17 #endif
18 #ifndef DOS_DOS_H
19 # include <dos/dos.h>
20 #endif
23 struct HIDDData
25 UWORD hd_Type;
26 UWORD hd_SubType;
27 ULONG hd_Producer;
28 STRPTR hd_Name;
29 STRPTR hd_HWName;
30 BOOL hd_Active;
31 UWORD hd_Locking;
32 ULONG hd_Status;
33 ULONG hd_ErrorCode;
37 /* Static Data for the hiddclass. */
38 struct class_static_data
40 OOP_AttrBase hiddAttrBase; // keep lower case so it does not clash with define.
42 OOP_Class *hiddclass;
44 struct MinList hiddList;
45 struct SignalSemaphore listLock;
49 /* Library base */
51 struct IntHIDDClassBase
53 struct Library hd_LibNode;
55 struct class_static_data hd_csd;
59 #define CSD(cl) (&((struct IntHIDDClassBase *)cl->UserData)->hd_csd)
60 #define csd CSD(cl)
62 #undef HiddAttrBase
63 #define HiddAttrBase (csd->hiddAttrBase)
65 #endif /* HIDD_CLASS_INTERN_H */