sysirq_at91.h
Go to the documentation of this file.
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 */