|
PatchworkOS
|
Go to the source code of this file.
Data Structures | |
| struct | irq_callback_t |
| Structure to hold an IRQ callback and its data. More... | |
| struct | irq_handler_t |
| Structure to hold all callbacks for an IRQ. More... | |
Macros | |
| #define | IRQ_MAX_CALLBACK 16 |
| Maximum amount of callbacks per IRQ. | |
Typedefs | |
| typedef void(* | irq_callback_func_t) (irq_t irq, void *data) |
| Callback function type for IRQs. | |
Enumerations | |
| enum | irq_t { IRQ_PIT = 0x0 , IRQ_PS2_FIRST_DEVICE = 0x1 , IRQ_CASCADE = 0x2 , IRQ_COM2 = 0x3 , IRQ_COM1 = 0x4 , IRQ_LPT2 = 0x5 , IRQ_FLOPPY = 0x6 , IRQ_LPT1 = 0x7 , IRQ_CMOS = 0x8 , IRQ_FREE1 = 0x9 , IRQ_FREE2 = 0xA , IRQ_FREE3 = 0xB , IRQ_PS2_SECOND_DEVICE = 0xC , IRQ_FPU = 0xD , IRQ_PRIMARY_ATA_HARD_DRIVE = 0xE , IRQ_SECONDARY_ATA_HARD_DRIVE = 0xF , IRQ_AMOUNT = 0x10 } |
| IRQ numbers. More... | |
Functions | |
| void | irq_dispatch (interrupt_frame_t *frame) |
| Dispatch an IRQ. | |
| void | irq_install (irq_t irq, irq_callback_func_t func, void *data) |
| Install an IRQ handler. | |
| void | irq_uninstall (irq_t irq, irq_callback_func_t func) |
| Uninstall an IRQ handler. | |