#ifndef IDT_HPP #define IDT_HPP #include #include struct Registers { std::uint32_t inum; std::uint32_t ds; std::uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax; std::uint32_t error; std::uint32_t eip, cs, eflags; } __attribute__((packed)); using Callback = void (*)(const Registers&); void idt_initialize(); void idt_register_callback(std::size_t num, Callback cb); #endif // IDT_HPP