quinn-os/interrupts.h
2015-09-03 14:22:38 +10:00

35 lines
634 B
C

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