grub2: bring back build of aros-side grub2 tools
[AROS.git] / rom / hidds / mouse / mouse.h
blob1d1fab6222ab36bf3ed88c838623b6bcfa62e156
1 #include <exec/lists.h>
2 #include <exec/semaphores.h>
3 #include <dos/bptr.h>
5 struct mouse_data
7 struct MinNode node;
8 void (*callback)(APTR data, struct pHidd_Mouse_ExtEvent *ev);
9 APTR callbackdata;
12 struct driverNode
14 OOP_Object *drv;
15 struct MinList *callbacks;
16 UWORD flags;
19 #define vHidd_Mouse_Extended 0x8000 /* Private flag */
21 struct mouse_staticdata
23 OOP_AttrBase driverdataAB;
24 OOP_AttrBase hiddMouseAB;
25 OOP_AttrBase hwAttrBase;
26 OOP_MethodID hwMethodBase;
27 OOP_Class *mouseClass;
28 OOP_Class *dataClass;
29 OOP_Class *hwClass;
30 OOP_Object *hwObject;
32 struct MinList callbacks;
34 struct Library *cs_SysBase;
35 struct Library *cs_OOPBase;
36 struct Library *cs_UtilityBase;
39 struct mousebase
41 struct Library LibNode;
42 struct mouse_staticdata csd;
45 #define CSD(cl) (&((struct mousebase *)cl->UserData)->csd)
47 #undef HiddMouseAB
48 #undef HWAttrBase
49 #undef HWBase
50 #define HiddMouseAB (CSD(cl)->hiddMouseAB)
51 #define HWAttrBase (CSD(cl)->hwAttrBase)
52 #define HWBase (CSD(cl)->hwMethodBase)
54 /* Private interface of our private driverNode class */
55 #define IID_DriverData "hidd.mouse.driverdata"
57 #define aHidd_DriverData_ClassPtr (CSD(cl)->driverdataAB + 0)