00001 #ifndef QEMU_IRQ_H
00002 #define QEMU_IRQ_H
00003
00004
00005
00006
00007 typedef void (*qemu_irq_handler)(void *opaque, int n, int level);
00008 typedef void SetIRQFunc(void *opaque, int irq_num, int level);
00009
00010 void qemu_set_irq(qemu_irq irq, int level);
00011
00012 static inline void qemu_irq_raise(qemu_irq irq)
00013 {
00014 qemu_set_irq(irq, 1);
00015 }
00016
00017 static inline void qemu_irq_lower(qemu_irq irq)
00018 {
00019 qemu_set_irq(irq, 0);
00020 }
00021
00022 static inline void qemu_irq_pulse(qemu_irq irq)
00023 {
00024 qemu_set_irq(irq, 1);
00025 qemu_set_irq(irq, 0);
00026 }
00027
00028
00029 qemu_irq *qemu_allocate_irqs(qemu_irq_handler handler, void *opaque, int n);
00030 void qemu_free_irqs(qemu_irq *s);
00031
00032
00033 qemu_irq qemu_irq_invert(qemu_irq irq);
00034
00035 #endif