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