1 typedef struct Ureg Ureg; 2 struct Ureg 3 { 4 ulong di; /* general registers */ 5 ulong si; /* ... */ 6 ulong bp; /* ... */ 7 ulong nsp; 8 ulong bx; /* ... */ 9 ulong dx; /* ... */ 10 ulong cx; /* ... */ 11 ulong ax; /* ... */ 12 ulong gs; /* data segments */ 13 ulong fs; /* ... */ 14 ulong es; /* ... */ 15 ulong ds; /* ... */ 16 ulong trap; /* trap type */ 17 ulong ecode; /* error code (or zero) */ 18 ulong pc; /* pc */ 19 ulong cs; /* old context */ 20 ulong flags; /* old flags */ 21 ulong sp; 22 ulong ss; /* old stack segment */ 23 }; 24 25 typedef struct UregLinux386 UregLinux386; 26 struct UregLinux386 27 { 28 u32int ebx; 29 u32int ecx; 30 u32int edx; 31 u32int esi; 32 u32int edi; 33 u32int ebp; 34 u32int eax; 35 u32int xds; 36 u32int xes; 37 u32int xfs; 38 u32int xgs; 39 u32int origeax; 40 u32int eip; 41 u32int xcs; 42 u32int eflags; 43 u32int esp; 44 u32int xss; 45 }; 46 47 void linux2ureg386(UregLinux386*, Ureg*); 48 void ureg2linux386(Ureg*, UregLinux386*); 49