sysirq_at91.h

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