blob: c9092dd8c2cb32f6c1a811f60f0b303e8032585b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#ifndef IDT_HPP
#define IDT_HPP
#include <cstddef>
#include <cstdint>
struct Registers
{
std::uint32_t inum;
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
|