MyOS Kernel
isr.h
Go to the documentation of this file.
1 
5 #ifndef ISR_H
6 #define ISR_H
7 
8 #include <stdint.h>
9 
13 typedef struct {
14  uint32_t ds;
15  uint32_t edi;
16  uint32_t esi;
17  uint32_t ebp;
18  uint32_t esp;
19  uint32_t ebx;
20  uint32_t edx;
21  uint32_t ecx;
22  uint32_t eax;
23  uint32_t int_no;
24  uint32_t err_code;
25  uint32_t eip;
26  uint32_t cs;
27  uint32_t eflags;
28  uint32_t useresp;
29  uint32_t ss;
30 } registers_t;
31 
32 typedef void (*isr_t)(registers_t*);
33 
37 void isr_install();
38 
44 void isr_register_handler(int n,isr_t handler);
45 
46 #endif
isr_register_handler
void isr_register_handler(int n, isr_t handler)
Definition: isr.c:305
registers_t::eax
uint32_t eax
Pushed by pusha.
Definition: isr.h:22
registers_t::useresp
uint32_t useresp
Pushed by the processor automatically.
Definition: isr.h:28
registers_t::int_no
uint32_t int_no
Interrupt number.
Definition: isr.h:23
registers_t::cs
uint32_t cs
Pushed by the processor automatically.
Definition: isr.h:26
registers_t::ebx
uint32_t ebx
Pushed by pusha.
Definition: isr.h:19
registers_t::esp
uint32_t esp
Pushed by pusha.
Definition: isr.h:18
isr_install
void isr_install()
Definition: isr.c:26
registers_t::ss
uint32_t ss
Pushed by the processor automatically.
Definition: isr.h:29
registers_t
Definition: isr.h:13
registers_t::esi
uint32_t esi
Pushed by pusha.
Definition: isr.h:16
registers_t::edx
uint32_t edx
Pushed by pusha.
Definition: isr.h:20
registers_t::ds
uint32_t ds
Data segment selector.
Definition: isr.h:14
registers_t::eip
uint32_t eip
Pushed by the processor automatically.
Definition: isr.h:25
registers_t::eflags
uint32_t eflags
Pushed by the processor automatically.
Definition: isr.h:27
registers_t::edi
uint32_t edi
Pushed by pusha.
Definition: isr.h:15
registers_t::err_code
uint32_t err_code
Error code (if applicable)
Definition: isr.h:24
registers_t::ecx
uint32_t ecx
Pushed by pusha.
Definition: isr.h:21
registers_t::ebp
uint32_t ebp
Pushed by pusha.
Definition: isr.h:17
isr_t
void(* isr_t)(registers_t *)
Type of an ISR handler function pointer.
Definition: isr.h:32