plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

ureg386.h (903B)


      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*);