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