COBE 0.1 ALPHA

D:/COBE-Packet/cobe/system/idt.h

gehe zur Dokumentation dieser Datei
00001 #ifndef IDT_H
00002 #define IDT_H
00003 
00004 #include <multitasking.h>
00005 #include <stdio.h>
00006 
00007 #define ITR_GATE 0xE
00008 #define PRESENT_BIT 0x80
00009 #define RING0 0x00
00010 #define RING3 0x60
00011 
00012 struct idt_entry_struct {
00013         uint16_t offset_1;
00014         uint16_t selector;
00015         uint8_t zero;
00016         uint8_t typ_attr;
00017         uint16_t offset_2; 
00018 } __attribute((packed));
00019 
00020 struct idt_ptr_struct {
00021         uint16_t limit;
00022         uint32_t base;
00023 } __attribute((packed));
00024 
00025 typedef struct idt_entry_struct idt_entry_t;
00026 typedef struct idt_ptr_struct idt_ptr_t;
00027 
00028 void init_idt();
00029 void set_idt(uint8_t, void (*)(void), uint16_t, uint8_t);
00030 cpu_regs* itr_handler(cpu_regs *);
00031 
00032 #endif
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Makrodefinitionen