diff options
Diffstat (limited to '68020/include/u.h')
-rw-r--r-- | 68020/include/u.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/68020/include/u.h b/68020/include/u.h new file mode 100644 index 000000000..7ff92a408 --- /dev/null +++ b/68020/include/u.h @@ -0,0 +1,66 @@ +#define nil ((void*)0) +typedef unsigned short ushort; +typedef unsigned char uchar; +typedef unsigned long ulong; +typedef unsigned int uint; +typedef signed char schar; +typedef long long vlong; +typedef unsigned long long uvlong; +typedef unsigned long uintptr; +typedef unsigned long usize; +typedef ushort Rune; +typedef union FPdbleword FPdbleword; +typedef long jmp_buf[2]; +#define JMPBUFSP 0 +#define JMPBUFPC 1 +#define JMPBUFDPC 0 +typedef unsigned int mpdigit; /* for /sys/include/mp.h */ +typedef unsigned char u8int; +typedef unsigned short u16int; +typedef unsigned int u32int; +typedef unsigned long long u64int; + + +/* FCR */ +#define FPINEX (3<<8) +#define FPOVFL (1<<12) +#define FPUNFL (1<<11) +#define FPZDIV (1<<10) +#define FPRNR (0<<4) +#define FPRZ (1<<4) +#define FPINVAL (3<<13) +#define FPRPINF (3<<4) +#define FPRNINF (2<<4) +#define FPRMASK (3<<4) +#define FPPEXT (0<<6) +#define FPPSGL (1<<6) +#define FPPDBL (2<<6) +#define FPPMASK (3<<6) +/* FSR */ +#define FPAINEX FPINEX +#define FPAOVFL FPOVFL +#define FPAUNFL FPUNFL +#define FPAZDIV FPZDIV +#define FPAINVAL FPINVAL +union FPdbleword +{ + double x; + struct { /* big endian */ + ulong hi; + ulong lo; + }; +}; + +typedef char* va_list; +#define va_start(list, start) list =\ + (sizeof(start) < 4?\ + (char*)((int*)&(start)+1):\ + (char*)(&(start)+1)) +#define va_end(list)\ + USED(list) +#define va_arg(list, mode)\ + ((sizeof(mode) == 1)?\ + ((list += 4), (mode*)list)[-1]:\ + (sizeof(mode) == 2)?\ + ((list += 4), (mode*)list)[-1]:\ + ((list += sizeof(mode)), (mode*)list)[-1]) |