5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Definitions for the IRQ HIDD system.
13 # include <exec/types.h>
16 # include <exec/nodes.h>
19 # include <hidd/hidd.h>
25 #include <utility/utility.h>
27 #define CLID_Hidd_IRQ "hidd.bus.irq"
28 #define IID_Hidd_IRQ "hidd.bus.irq"
30 /**** irq definitions ****************************************************/
34 /* Methods for a serial hidd */
36 moHidd_IRQ_AddHandler
= 0,
37 moHidd_IRQ_RemHandler
,
43 struct Node h_Node
; /* Handler's node */
44 APTR h_Data
; /* Handler data */
45 VOID (* h_Code
)(); /* Handler code */
49 struct ExecBase
*sysBase
;
50 ULONG Error
; /* Error code if defined */
56 The ID's defined here are not real IRQ numbers! They are internal codes.
58 vHidd_IRQ_Timer
= -14, /* Timer IRQ, also known as VBlank IRQ */
59 vHidd_IRQ_Keyboard
, /* Keyboard */
60 vHidd_IRQ_Serial1
, /* Serial ports 1 and 3 */
61 vHidd_IRQ_Serial2
, /* Serial ports 2 and 4 */
62 vHidd_IRQ_Audio
, /* IRQ from audio card */
63 vHidd_IRQ_Floppy
, /* Floppy drive */
64 vHidd_IRQ_Parallel1
, /* Parallel port 1 */
65 vHidd_IRQ_Parallel2
, /* Parallel port 2 */
66 vHidd_IRQ_RTC
, /* Real Time Clock, 1024Hz interrupt */
67 vHidd_IRQ_FPU
, /* FPU math error */
68 vHidd_IRQ_HDD1
, /* IDE port 1 */
69 vHidd_IRQ_HDD2
, /* IDE port 2 */
70 vHidd_IRQ_Ether
, /* Ethernet card IRQ */
71 vHidd_IRQ_Mouse
, /* PS/2 mouse IRQ */
73 // vHidd_IRQ_NumIRQ /* Number of IRQ's defined */
77 /* messages for IRQ hidd */
79 struct pHidd_IRQ_AddHandler
82 HIDDT_IRQ_Handler
*handlerinfo
;
86 struct pHidd_IRQ_RemHandler
89 HIDDT_IRQ_Handler
*handlerinfo
;
92 struct pHidd_IRQ_CauseIRQ
96 HIDDT_IRQ_HwInfo
*hardwareinfo
;
99 /* Predeclarations of stubs in libhiddirqstubs */
101 BOOL
HIDD_IRQ_AddHandler (OOP_Object
*, HIDDT_IRQ_Handler
*, HIDDT_IRQ_Id
);
102 VOID
HIDD_IRQ_RemHandler (OOP_Object
*, HIDDT_IRQ_Handler
*);
103 VOID
HIDD_IRQ_CauseIRQ (OOP_Object
*, HIDDT_IRQ_Id
, HIDDT_IRQ_HwInfo
*);
105 #endif /* HIDD_IRQ_H */