BeRTOS
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 */