#pragma once #include "types.h" typedef struct { u16 offset_low; u16 segment; u8 reserved; u8 attrs; u16 offset_high; }__attribute__((packed)) IDTEntry; typedef struct { u16 limit; u32 base; }__attribute__((packed)) IDTR; void remap_pic(); void send_eoi_pic(int irq); void set_idt_entry(IDTEntry* entry, void (*handler)(), u16 segment, u8 attrs); void setup_idt(); void install_idt(IDTR* idtr);