#ifndef GDT_H #define GDT_H struct gdt { unsigned short size; unsigned int address; } __attribute__((packed)); struct gdt_entry { unsigned short limit_low; unsigned short base_low; unsigned char base_middle; unsigned char access; unsigned char granularity; unsigned char base_high; } __attribute__((packed)); void gdt_install(); void load_gdt(struct gdt *); void gdt_set_gate(unsigned long, unsigned long, unsigned char, unsigned char, struct gdt_entry*); #endif