18 lines
342 B
C
Raw Normal View History

2022-09-05 16:13:51 +02:00
#pragma once
#include <stdint.h>
#define IDT_TA_InterruptGate 0b10001110
#define IDT_TA_CallGate 0b10001100
#define IDT_TA_TrapGate 0b10001111
2022-09-06 11:44:37 +02:00
struct IDTR
{
uint16_t limit;
uint64_t offset;
} __attribute__((packed));
2022-09-05 16:13:51 +02:00
namespace IDT
{
void add_handler(short interrupt_number, void* handler, uint8_t type_attr);
void load();
}