diff options
Diffstat (limited to 'src/interrupts.h')
-rw-r--r-- | src/interrupts.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/interrupts.h b/src/interrupts.h index 0cdb6cc..82f95f4 100644 --- a/src/interrupts.h +++ b/src/interrupts.h @@ -43,7 +43,16 @@ typedef struct { struct interrupt_t; -typedef uint32_t (*interrupt_handler_t)( struct interrupt_t *interrupt, uint32_t esp ); +typedef uint32_t (*interrupt_handler_func_t)( struct interrupt_t *interrupt, uint32_t esp ); + +typedef struct interrupt_handler_t { + uint8_t interrupt_no; + struct interrupt_t *interrupt; + interrupt_handler_func_t handle; +} interrupt_handler_t; + +void interrupt_handler_init_void( interrupt_handler_t *handler ); +void interrupt_handler_init( interrupt_handler_t *handler, uint8_t interrupt_no, struct interrupt_t *interrupt, interrupt_handler_func_t handle ); typedef struct interrupt_t { interrupt_descriptor_table_pointer_t idt_pointer; |