#ifndef _SYSTEM_STRUCTS_H
#define _SYSTEM_STRUCTS_H
struct __attribute__ ((packed)) descr_struct {
union {
struct {
unsigned short limit1;
unsigned short base1;
unsigned char base2;
unsigned char flags1;
unsigned char limit2_flags2;
unsigned char base3;
};
struct {
unsigned short offset1;
unsigned short selector;
unsigned char dword_count;
unsigned char flags;
unsigned short offset2;
};
};
};
struct __attribute__ ((packed)) tss_struct {
unsigned short previous;
unsigned short res1;
unsigned long esp0;
unsigned short ss0;
unsigned short res2;
unsigned long esp1;
unsigned short ss1;
unsigned short res3;
unsigned long esp2;
unsigned short ss2;
unsigned short res4;
unsigned long cr3;
unsigned long eip;
unsigned long eflags;
unsigned long eax;
unsigned long ecx;
unsigned long edx;
unsigned long ebx;
unsigned long esp;
unsigned long ebp;
unsigned long esi;
unsigned long edi;
unsigned short es;
unsigned short res5;
unsigned short cs;
unsigned short res6;
unsigned short ss;
unsigned short res7;
unsigned short ds;
unsigned short res8;
unsigned short fs;
unsigned short res9;
unsigned short gs;
unsigned short res10;
unsigned short ldt;
unsigned short res11;
unsigned short trap_res12;
unsigned short iomap_base;
};
#endif