summaryrefslogtreecommitdiff
path: root/src/interrupts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/interrupts.h')
-rw-r--r--src/interrupts.h11
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;