update for HEAD-2003091401
[reactos.git] / include / ntos / tss.h
1 /*
2  * 
3  */
4
5 #ifndef __INCLUDE_DDK_I386_TSS_H
6 #define __INCLUDE_DDK_I386_TSS_H
7
8 #define KTSS_ESP0 (0x4)
9 #define KTSS_IOMAPBASE (0x66)
10
11 #ifndef __ASM__
12
13 typedef struct _KTSSNOIOPM
14 {
15   USHORT PreviousTask;
16   USHORT Reserved1;
17   ULONG  Esp0;
18   USHORT Ss0;
19   USHORT Reserved2;
20   ULONG  Esp1;
21   USHORT Ss1;
22   USHORT Reserved3;
23   ULONG  Esp2;
24   USHORT Ss2;
25   USHORT Reserved4;
26   ULONG  Cr3;
27   ULONG  Eip;
28   ULONG  Eflags;
29   ULONG  Eax;
30   ULONG  Ecx;
31   ULONG  Edx;
32   ULONG  Ebx;
33   ULONG  Esp;
34   ULONG  Ebp;
35   ULONG  Esi;
36   ULONG  Edi;
37   USHORT Es;
38   USHORT Reserved5;
39   USHORT Cs;
40   USHORT Reserved6;
41   USHORT Ss;
42   USHORT Reserved7;
43   USHORT Ds;
44   USHORT Reserved8;
45   USHORT Fs;
46   USHORT Reserved9;
47   USHORT Gs;
48   USHORT Reserved10;
49   USHORT Ldt;
50   USHORT Reserved11;
51   USHORT Trap;
52   USHORT IoMapBase;
53   /* no interrupt redirection map */
54   UCHAR IoBitmap[1];
55 } PACKED KTSSNOIOPM;
56
57 typedef struct _KTSS
58 {
59   USHORT PreviousTask;
60   USHORT Reserved1;
61   ULONG  Esp0;
62   USHORT Ss0;
63   USHORT Reserved2;
64   ULONG  Esp1;
65   USHORT Ss1;
66   USHORT Reserved3;
67   ULONG  Esp2;
68   USHORT Ss2;
69   USHORT Reserved4;
70   ULONG  Cr3;
71   ULONG  Eip;
72   ULONG  Eflags;
73   ULONG  Eax;
74   ULONG  Ecx;
75   ULONG  Edx;
76   ULONG  Ebx;
77   ULONG  Esp;
78   ULONG  Ebp;
79   ULONG  Esi;
80   ULONG  Edi;
81   USHORT Es;
82   USHORT Reserved5;
83   USHORT Cs;
84   USHORT Reserved6;
85   USHORT Ss;
86   USHORT Reserved7;
87   USHORT Ds;
88   USHORT Reserved8;
89   USHORT Fs;
90   USHORT Reserved9;
91   USHORT Gs;
92   USHORT Reserved10;
93   USHORT Ldt;
94   USHORT Reserved11;
95   USHORT Trap;
96   USHORT IoMapBase;
97   /* no interrupt redirection map */
98   UCHAR  IoBitmap[8193];
99 } PACKED KTSS;
100
101 #endif /* not __ASM__ */
102
103 #endif /* __INCLUDE_DDK_I386_TSS_H */