rendered paste bodytypedef struct _gdt_t { short limit_low; short segment_base_low; char segment_base_mid; char access; char flags_limit_high; char segment_base_high;} __attribute__((packed)) gdt_t;gdt_t GDT[6];void gdt_set_gate(int num, unsigned long limit, void *segment_base, char access, char flags);void gdt_set_gate(int num, unsigned long limit, void *segment_base, char access, char flags){ GDT[num].limit_low = (short)limit; GDT[num].flags_limit_high = (((char)limit >> 16) & 0xC0) | flags; GDT[num].segment_base_low = (short)segment_base; GDT[num].segment_base_mid = (char) segment_base >> 16; GDT[num].segment_base_high = (char) segment_base >> 24; GDT[num].access = access;}