--- title: "interrupts.h" summary: "the infrastructure to handle x86 interrupts" --- # `idt_register_T` - struct [packed] This struct is very similar to the [GDT descriptor](https://nerdcult.net/projects/noxos/docs/codebase/platform/gdt.h/#gdt_descriptor_t---struct-packed). It holds the size and address of the Table, where the interrupt handlers are looked up. # `idt_descriptor_entry_T` - struct This struct stores information about one interrupt handler. The osdev wiki explains this more detailed. # `g_idt_register` - global variable The default IDT configuration loaded when the IDT gets initialized. # `g_handling_interrupt` - global variable When the system isn't handling an interrupt this is set to 0. If this is greater than 0 the system is currently handling an interrupt, # `idt_init()` - function (void) This function fills all the interrupt gates (handlers) into the IDT and loads it.