17dd7cddfSDavid du Colombier #define nil ((void*)0) 27dd7cddfSDavid du Colombier 37dd7cddfSDavid du Colombier typedef unsigned short ushort; 47dd7cddfSDavid du Colombier typedef unsigned char uchar; 57dd7cddfSDavid du Colombier typedef unsigned long ulong; 67dd7cddfSDavid du Colombier typedef unsigned int uint; 77dd7cddfSDavid du Colombier typedef signed char schar; 87dd7cddfSDavid du Colombier typedef long long vlong; 97dd7cddfSDavid du Colombier typedef unsigned long long uvlong; 101517f4bcSDavid du Colombier typedef unsigned long uintptr; 113f9c8393SDavid du Colombier typedef unsigned long usize; 12*e94a8e9bSDavid du Colombier typedef uint Rune; 1359cc4ca5SDavid du Colombier typedef union FPdbleword FPdbleword; 147dd7cddfSDavid du Colombier typedef long jmp_buf[2]; 157dd7cddfSDavid du Colombier #define JMPBUFSP 0 167dd7cddfSDavid du Colombier #define JMPBUFPC 1 177dd7cddfSDavid du Colombier #define JMPBUFDPC 0 187dd7cddfSDavid du Colombier typedef unsigned int mpdigit; /* for /sys/include/mp.h */ 199800bf03SDavid du Colombier typedef unsigned char u8int; 209800bf03SDavid du Colombier typedef unsigned short u16int; 2159cc4ca5SDavid du Colombier typedef unsigned int u32int; 229800bf03SDavid du Colombier typedef unsigned long long u64int; 237dd7cddfSDavid du Colombier 2489c5a6d2SDavid du Colombier /* VFP FCR */ 256ca8a7e3SDavid du Colombier #define FPINEX (1<<12) /* trap enables for exceptions */ 2689c5a6d2SDavid du Colombier #define FPUNFL (1<<11) 2789c5a6d2SDavid du Colombier #define FPOVFL (1<<10) 2889c5a6d2SDavid du Colombier #define FPZDIV (1<<9) 2989c5a6d2SDavid du Colombier #define FPINVAL (1<<8) 3089c5a6d2SDavid du Colombier #define FPRNR (0<<22) 3189c5a6d2SDavid du Colombier #define FPRZ (1<<22) 3289c5a6d2SDavid du Colombier #define FPRPINF (2<<22) 3389c5a6d2SDavid du Colombier #define FPRNINF (3<<22) 3489c5a6d2SDavid du Colombier #define FPRMASK (3<<22) 357dd7cddfSDavid du Colombier #define FPPEXT 0 367dd7cddfSDavid du Colombier #define FPPSGL 0 377dd7cddfSDavid du Colombier #define FPPDBL 0 387dd7cddfSDavid du Colombier #define FPPMASK 0 397dd7cddfSDavid du Colombier /* FSR */ 406ca8a7e3SDavid du Colombier #define FPAINEX (1<<4) /* accrued exceptions */ 417dd7cddfSDavid du Colombier #define FPAUNFL (1<<3) 427dd7cddfSDavid du Colombier #define FPAOVFL (1<<2) 437dd7cddfSDavid du Colombier #define FPAZDIV (1<<1) 447dd7cddfSDavid du Colombier #define FPAINVAL (1<<0) 4559cc4ca5SDavid du Colombier union FPdbleword 4659cc4ca5SDavid du Colombier { 4759cc4ca5SDavid du Colombier double x; 4859cc4ca5SDavid du Colombier struct { /* little endian */ 499a747e4fSDavid du Colombier ulong lo; 509a747e4fSDavid du Colombier ulong hi; 5159cc4ca5SDavid du Colombier }; 5259cc4ca5SDavid du Colombier }; 537dd7cddfSDavid du Colombier 547dd7cddfSDavid du Colombier typedef char* va_list; 557dd7cddfSDavid du Colombier #define va_start(list, start) list =\ 567dd7cddfSDavid du Colombier (sizeof(start) < 4?\ 577dd7cddfSDavid du Colombier (char*)((int*)&(start)+1):\ 587dd7cddfSDavid du Colombier (char*)(&(start)+1)) 599a747e4fSDavid du Colombier #define va_end(list)\ 609a747e4fSDavid du Colombier USED(list) 617dd7cddfSDavid du Colombier #define va_arg(list, mode)\ 629a747e4fSDavid du Colombier ((sizeof(mode) == 1)?\ 633f9c8393SDavid du Colombier ((list += 4), (mode*)list)[-4]:\ 649a747e4fSDavid du Colombier (sizeof(mode) == 2)?\ 653f9c8393SDavid du Colombier ((list += 4), (mode*)list)[-2]:\ 663f9c8393SDavid du Colombier ((list += sizeof(mode)), (mode*)list)[-1]) 67