#ifndef _IDT_H #define _IDT_H #include struct idt_entry { uint16_t base_low; uint16_t sel; /* Kernel segment selector */ uint8_t always0; /* Always 0 */ uint8_t flags; /* Type and attributes */ uint16_t base_high; } __attribute__((packed)); struct idt_ptr { uint16_t limit; uint32_t base; } __attribute__((packed)); void idt_install(void); void idt_install_isrs(void); void idt_install_syscall(void); void pic_remap(void); void idt_set_entry(int num, uint32_t base, uint16_t sel, uint8_t flags); #endif