00001 #ifndef TEMU_IRQ_CONTROLLER_H 00002 #define TEMU_IRQ_CONTROLLER_H 00003 00004 #include "temu-c/Support/Objsys.h" 00005 00006 #ifdef __cplusplus 00007 extern "C" { 00008 #endif 00009 00015 00016 typedef struct temu_IrqControllerIface { 00017 void (*raiseInterrupt)(void *Obj, uint8_t Irq); 00018 void (*lowerInterrupt)(void *Obj, uint8_t Irq); 00019 } temu_IrqCtrlIface;; 00020 00021 OBJSYS_OBJ_TYPE(temu_IrqCtrl); 00022 00033 00034 typedef struct temu_IrqClientIface { 00035 void (*ackInterrupt)(void *Obj, uint8_t Irq); 00038 void (*updateInterrupts)(void *Obj); 00039 } temu_IrqClientIface; 00040 00041 OBJSYS_OBJ_TYPE(temu_IrqClient); 00042 00043 #ifdef __cplusplus 00044 } 00045 #endif 00046 00047 #endif /* ! TEMU_IRQ_CONTROLLER_H */