/* kdtables.h * Kernel Discriptor Tables * * Contains GDT, IDT, and any relevant functions and structs pertaining to them * */ #ifndef KDTABLES_H #define KDTABLES_H #include // TSS typedef struct tss_s { uint32_t LINK; uint32_t ESP0; uint32_t SS0; uint32_t ESP1; uint32_t SS1; uint32_t ESP2; uint32_t SS2; uint32_t CR3; uint32_t EIP; uint32_t EFLAGS; uint32_t EAX; uint32_t ECX; uint32_t EDX; uint32_t EBX; uint32_t ESP; uint32_t ESI; uint32_t EDI; uint32_t ES; uint32_t CS; uint32_t SS; uint32_t DS; uint32_t FS; uint32_t GS; uint32_t LDTR; uint32_t IOPB; uint32_t SSP; } __attribute__((packed)) tss_t; extern tss_t tss; void clear_tss(); // GDT #endif