TEMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
IrqController.h
Go to the documentation of this file.
1 //===------------------------------------------------------------*- C++ -*-===//
2 //
3 // T-EMU: The Terma Emulator
4 // (c) Terma 2015
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef TEMU_IRQ_CONTROLLER_H
10 #define TEMU_IRQ_CONTROLLER_H
11 
12 #include "temu-c/Support/Objsys.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
23 
24 typedef struct temu_IrqControllerIface {
25  void (*raiseInterrupt)(void *Obj, uint8_t Irq);
26  void (*lowerInterrupt)(void *Obj, uint8_t Irq);
28 #define TEMU_IRQ_CTRL_IFACE_TYPE "IrqCtrlIface"
29 TEMU_IFACE_REFERENCE_TYPE(temu_IrqCtrl);
30 
41 
42 typedef struct temu_IrqClientIface {
43  void (*ackInterrupt)(void *Obj, uint8_t Irq);
46  void (*updateInterrupts)(void *Obj);
48 #define TEMU_IRQ_CLIENT_IFACE_TYPE "IrqClientIface"
49 TEMU_IFACE_REFERENCE_TYPE(temu_IrqClient);
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif /* ! TEMU_IRQ_CONTROLLER_H */
struct temu_IrqClientIface temu_IrqClientIface
void(* updateInterrupts)(void *Obj)
Definition: IrqController.h:46
void(* ackInterrupt)(void *Obj, uint8_t Irq)
Definition: IrqController.h:43
void(* lowerInterrupt)(void *Obj, uint8_t Irq)
Definition: IrqController.h:26
struct temu_IrqControllerIface temu_IrqCtrlIface
#define TEMU_IFACE_REFERENCE_TYPE(N)
Definition: Objsys.h:129
void(* raiseInterrupt)(void *Obj, uint8_t Irq)
Definition: IrqController.h:25