xref: /inferno-os/Inferno/sparc/include/u.h (revision 715a866f4203b352703247b51de6e9e29894384b)
1  #define nil		((void*)0)
2  typedef	unsigned short	ushort;
3  typedef	unsigned char	uchar;
4  typedef	unsigned long	ulong;
5  typedef	unsigned int	uint;
6  typedef	signed char	schar;
7  typedef	long long	vlong;
8  typedef	unsigned long long uvlong;
9  typedef unsigned long	uintptr;
10  typedef	uint		Rune;
11  typedef 	union FPdbleword FPdbleword;
12  typedef long	jmp_buf[2];
13  #define	JMPBUFSP	0
14  #define	JMPBUFPC	1
15  #define	JMPBUFDPC	(-8)
16  typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
17  typedef unsigned char u8int;
18  typedef unsigned short u16int;
19  typedef unsigned int	u32int;
20  typedef unsigned long long u64int;
21  
22  /* FCR */
23  #define	FPINEX	(1<<23)
24  #define	FPOVFL	(1<<26)
25  #define	FPUNFL	(1<<25)
26  #define	FPZDIV	(1<<24)
27  #define	FPRNR	(0<<30)
28  #define	FPRZ	(1<<30)
29  #define	FPINVAL	(1<<27)
30  #define	FPRPINF	(2<<30)
31  #define	FPRNINF	(3<<30)
32  #define	FPRMASK	(3<<30)
33  #define	FPPEXT	0
34  #define	FPPSGL	0
35  #define	FPPDBL	0
36  #define	FPPMASK	0
37  /* FSR */
38  #define	FPAINEX	(1<<5)
39  #define	FPAZDIV	(1<<6)
40  #define	FPAUNFL	(1<<7)
41  #define	FPAOVFL	(1<<8)
42  #define	FPAINVAL	(1<<9)
43  union FPdbleword
44  {
45  	double	x;
46  	struct {	/* big endian */
47  		ulong hi;
48  		ulong lo;
49  	};
50  };
51  
52  typedef	char*	va_list;
53  #define va_start(list, start) list =\
54  	(sizeof(start) < 4?\
55  		(char*)((int*)&(start)+1):\
56  		(char*)(&(start)+1))
57  #define va_end(list)\
58  	USED(list)
59  #define va_arg(list, mode)\
60  	((sizeof(mode) == 1)?\
61  		((mode*)(list += 4))[-1]:\
62  	(sizeof(mode) == 2)?\
63  		((mode*)(list += 4))[-1]:\
64  		((mode*)(list += sizeof(mode)))[-1])
65