00001 /*************************************************************************** 00002 ktask.h - description 00003 ------------------- 00004 begin : Sat Jan 3 2004 00005 copyright : (C) 2004 by Dynacube Team 00006 email : mdshah82@yahoo.com 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef __KTASK_H 00019 #define __KTASK_H 00020 00021 #include "common/ktypes.h" 00022 #include "common/kconst.h" 00023 #include "core/kasm.h" 00024 #include "core/kstdio.h" 00025 00026 00027 typedef struct 00028 { 00029 DW pre_task_link; 00030 DW resv0; 00031 DD esp0; 00032 DW ss0; 00033 DW resv1; 00034 DD esp1; 00035 DW ss1; 00036 DW resv2; 00037 DD esp2; 00038 DW ss2; 00039 DW resv3; 00040 DD cr3; 00041 DD eip; 00042 DD eflags; 00043 DD eax; 00044 DD ecx; 00045 DD edx; 00046 DD ebx; 00047 DD esp; 00048 DD ebp; 00049 DD esi; 00050 DD edi; 00051 DW es; 00052 DW resv4; 00053 DW cs; 00054 DW resv5; 00055 DW ss; 00056 DW resv6; 00057 DW ds; 00058 DW resv7; 00059 DW fs; 00060 DW resv8; 00061 DW gs; 00062 DW resv9; 00063 DW ldt_sel; 00064 DW resv10; 00065 DW flags; //0 - No Trap 00066 DW io_map; //0 00067 } TSS; 00068 00069 void printTSS(const TSS *tmp); 00070 00071 extern TSS _system, _task[2]; 00072 00073 #endif