| typedef struct Ureg Ureg; |
| struct Ureg |
| { |
| ulong di; /* general registers */ |
| ulong si; /* ... */ |
| ulong bp; /* ... */ |
| ulong nsp; |
| ulong bx; /* ... */ |
| ulong dx; /* ... */ |
| ulong cx; /* ... */ |
| ulong ax; /* ... */ |
| ulong gs; /* data segments */ |
| ulong fs; /* ... */ |
| ulong es; /* ... */ |
| ulong ds; /* ... */ |
| ulong trap; /* trap type */ |
| ulong ecode; /* error code (or zero) */ |
| ulong pc; /* pc */ |
| ulong cs; /* old context */ |
| ulong flags; /* old flags */ |
| ulong sp; |
| ulong ss; /* old stack segment */ |
| }; |
| |
| typedef struct UregLinux386 UregLinux386; |
| struct UregLinux386 |
| { |
| u32int ebx; |
| u32int ecx; |
| u32int edx; |
| u32int esi; |
| u32int edi; |
| u32int ebp; |
| u32int eax; |
| u32int xds; |
| u32int xes; |
| u32int xfs; |
| u32int xgs; |
| u32int origeax; |
| u32int eip; |
| u32int xcs; |
| u32int eflags; |
| u32int esp; |
| u32int xss; |
| }; |
| |
| void linux2ureg386(UregLinux386*, Ureg*); |
| void ureg2linux386(Ureg*, UregLinux386*); |