BeRTOS
|
00001 00039 #ifndef DRV_AT91_SYSIRQ_H 00040 #define DRV_AT91_SYSIRQ_H 00041 00042 #include <cfg/compiler.h> 00043 00044 typedef void (* sysirq_handler_t)(void); 00045 typedef void (* sysirq_setEnable_t)(bool); 00046 00050 typedef struct SysIrq 00051 { 00052 bool enabled; 00053 sysirq_setEnable_t setEnable; 00054 sysirq_handler_t handler; 00055 } SysIrq; 00056 00060 typedef enum sysirq_t 00061 { 00062 SYSIRQ_PIT, 00063 /* TODO: add all system irqs */ 00064 SYSIRQ_CNT 00065 } sysirq_t; 00066 00067 void sysirq_init(void); 00068 void sysirq_setHandler(sysirq_t irq, sysirq_handler_t handler); 00069 void sysirq_setEnable(sysirq_t irq, bool enable); 00070 bool sysirq_enabled(sysirq_t irq); 00071 00072 #endif /* ARCH_ARM_SYSIRQ_H */