xref: /plan9/386/include/ape/ureg.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1*219b2ee8SDavid du Colombier #ifndef __UREG_H
2*219b2ee8SDavid du Colombier #define __UREG_H
3*219b2ee8SDavid du Colombier #if !defined(_PLAN9_SOURCE)
4*219b2ee8SDavid du Colombier     This header file is an extension to ANSI/POSIX
5*219b2ee8SDavid du Colombier #endif
6*219b2ee8SDavid du Colombier 
7*219b2ee8SDavid du Colombier struct Ureg
8*219b2ee8SDavid du Colombier {
9*219b2ee8SDavid du Colombier 	unsigned long	di;		/* general registers */
10*219b2ee8SDavid du Colombier 	unsigned long	si;		/* ... */
11*219b2ee8SDavid du Colombier 	unsigned long	bp;		/* ... */
12*219b2ee8SDavid du Colombier 	unsigned long	nsp;
13*219b2ee8SDavid du Colombier 	unsigned long	bx;		/* ... */
14*219b2ee8SDavid du Colombier 	unsigned long	dx;		/* ... */
15*219b2ee8SDavid du Colombier 	unsigned long	cx;		/* ... */
16*219b2ee8SDavid du Colombier 	unsigned long	ax;		/* ... */
17*219b2ee8SDavid du Colombier 	unsigned long	gs;		/* data segments */
18*219b2ee8SDavid du Colombier 	unsigned long	fs;		/* ... */
19*219b2ee8SDavid du Colombier 	unsigned long	es;		/* ... */
20*219b2ee8SDavid du Colombier 	unsigned long	ds;		/* ... */
21*219b2ee8SDavid du Colombier 	unsigned long	trap;		/* trap type */
22*219b2ee8SDavid du Colombier 	unsigned long	ecode;		/* error code (or zero) */
23*219b2ee8SDavid du Colombier 	unsigned long	pc;		/* pc */
24*219b2ee8SDavid du Colombier 	unsigned long	cs;		/* old context */
25*219b2ee8SDavid du Colombier 	unsigned long	flags;		/* old flags */
26*219b2ee8SDavid du Colombier 	union {
27*219b2ee8SDavid du Colombier 		unsigned long	usp;
28*219b2ee8SDavid du Colombier 		unsigned long	sp;
29*219b2ee8SDavid du Colombier 	};
30*219b2ee8SDavid du Colombier 	unsigned long	ss;		/* old stack segment */
31*219b2ee8SDavid du Colombier };
32*219b2ee8SDavid du Colombier 
33*219b2ee8SDavid du Colombier #endif
34