60 lines
		
	
	
	
		
			622 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
	
		
			622 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef __TSS_SEGMENT_H
							 | 
						||
| 
								 | 
							
								#define __TSS_SEGMENT_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct tss_segment_32 {
							 | 
						||
| 
								 | 
							
									u32 prev_task_link;
							 | 
						||
| 
								 | 
							
									u32 esp0;
							 | 
						||
| 
								 | 
							
									u32 ss0;
							 | 
						||
| 
								 | 
							
									u32 esp1;
							 | 
						||
| 
								 | 
							
									u32 ss1;
							 | 
						||
| 
								 | 
							
									u32 esp2;
							 | 
						||
| 
								 | 
							
									u32 ss2;
							 | 
						||
| 
								 | 
							
									u32 cr3;
							 | 
						||
| 
								 | 
							
									u32 eip;
							 | 
						||
| 
								 | 
							
									u32 eflags;
							 | 
						||
| 
								 | 
							
									u32 eax;
							 | 
						||
| 
								 | 
							
									u32 ecx;
							 | 
						||
| 
								 | 
							
									u32 edx;
							 | 
						||
| 
								 | 
							
									u32 ebx;
							 | 
						||
| 
								 | 
							
									u32 esp;
							 | 
						||
| 
								 | 
							
									u32 ebp;
							 | 
						||
| 
								 | 
							
									u32 esi;
							 | 
						||
| 
								 | 
							
									u32 edi;
							 | 
						||
| 
								 | 
							
									u32 es;
							 | 
						||
| 
								 | 
							
									u32 cs;
							 | 
						||
| 
								 | 
							
									u32 ss;
							 | 
						||
| 
								 | 
							
									u32 ds;
							 | 
						||
| 
								 | 
							
									u32 fs;
							 | 
						||
| 
								 | 
							
									u32 gs;
							 | 
						||
| 
								 | 
							
									u32 ldt_selector;
							 | 
						||
| 
								 | 
							
									u16 t;
							 | 
						||
| 
								 | 
							
									u16 io_map;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct tss_segment_16 {
							 | 
						||
| 
								 | 
							
									u16 prev_task_link;
							 | 
						||
| 
								 | 
							
									u16 sp0;
							 | 
						||
| 
								 | 
							
									u16 ss0;
							 | 
						||
| 
								 | 
							
									u16 sp1;
							 | 
						||
| 
								 | 
							
									u16 ss1;
							 | 
						||
| 
								 | 
							
									u16 sp2;
							 | 
						||
| 
								 | 
							
									u16 ss2;
							 | 
						||
| 
								 | 
							
									u16 ip;
							 | 
						||
| 
								 | 
							
									u16 flag;
							 | 
						||
| 
								 | 
							
									u16 ax;
							 | 
						||
| 
								 | 
							
									u16 cx;
							 | 
						||
| 
								 | 
							
									u16 dx;
							 | 
						||
| 
								 | 
							
									u16 bx;
							 | 
						||
| 
								 | 
							
									u16 sp;
							 | 
						||
| 
								 | 
							
									u16 bp;
							 | 
						||
| 
								 | 
							
									u16 si;
							 | 
						||
| 
								 | 
							
									u16 di;
							 | 
						||
| 
								 | 
							
									u16 es;
							 | 
						||
| 
								 | 
							
									u16 cs;
							 | 
						||
| 
								 | 
							
									u16 ss;
							 | 
						||
| 
								 | 
							
									u16 ds;
							 | 
						||
| 
								 | 
							
									u16 ldt;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |