#ifndef IDT_H #define IDT_H #include typedef struct InterruptDescriptor_s { uint16_t offset_lo; uint16_t selector; uint8_t reserved; uint8_t attributes; uint16_t offset_hi; } InterruptDescriptor_t; typedef struct IDTR_s { uint16_t size; InterruptDescriptor_t* IDT; } __attribute__((packed)) IDTR_t; extern IDTR_t idtr; extern InterruptDescriptor_t idt_start; extern unsigned char num_interrupts; void setup_idt(); void write_descriptors(); extern void load_idt(); #endif