quinn-os/interrupts.h
2022-07-19 11:40:37 +10:00

34 lines
570 B
C

#ifndef __IDT_H
#define __IDT_H
struct regs {
uint32_t gs;
uint32_t fs;
uint32_t es;
uint32_t ds;
uint32_t edi;
uint32_t esi;
uint32_t ebp;
uint32_t esp;
uint32_t ebx;
uint32_t edx;
uint32_t ecx;
uint32_t eax;
uint32_t int_no;
uint32_t err_code;
uint32_t eip;
uint32_t cs;
uint32_t eflags;
uint32_t useresp;
uint32_t ss;
};
typedef void (*handler_t)(struct regs *r);
extern int irq_install_handler(int irq, handler_t handler, uint8_t shared);
extern void init_idt();
extern void init_isrs();
extern void init_irqs(void);
#endif