1*bad30d5dSDavid du Colombier #undef _BSD_EXTENSION /* avoid multiple def'n if predefined */ 2*bad30d5dSDavid du Colombier #undef _PLAN9_SOURCE 3*bad30d5dSDavid du Colombier #undef _POSIX_SOURCE 4*bad30d5dSDavid du Colombier #undef _RESEARCH_SOURCE 5*bad30d5dSDavid du Colombier #undef _SUSV2_SOURCE 6*bad30d5dSDavid du Colombier 7*bad30d5dSDavid du Colombier #define _BSD_EXTENSION 8*bad30d5dSDavid du Colombier #define _PLAN9_SOURCE 9*bad30d5dSDavid du Colombier #define _POSIX_SOURCE 10*bad30d5dSDavid du Colombier #define _RESEARCH_SOURCE 11*bad30d5dSDavid du Colombier #define _SUSV2_SOURCE 12*bad30d5dSDavid du Colombier 13*bad30d5dSDavid du Colombier #include <stdlib.h> 14*bad30d5dSDavid du Colombier #include <stdarg.h> 15*bad30d5dSDavid du Colombier #include <string.h> 16*bad30d5dSDavid du Colombier #include <unistd.h> 17*bad30d5dSDavid du Colombier #include <fcntl.h> 18*bad30d5dSDavid du Colombier #include <signal.h> 19*bad30d5dSDavid du Colombier #include <inttypes.h> 20*bad30d5dSDavid du Colombier 21*bad30d5dSDavid du Colombier #ifndef NSIG 22*bad30d5dSDavid du Colombier #define NSIG 32 23*bad30d5dSDavid du Colombier #endif 24*bad30d5dSDavid du Colombier 25*bad30d5dSDavid du Colombier /* plan 9 compatibility */ 26*bad30d5dSDavid du Colombier #define RFPROC 1 27*bad30d5dSDavid du Colombier #define RFFDG 1 28*bad30d5dSDavid du Colombier #define RFNOTEG 1 29*bad30d5dSDavid du Colombier 30*bad30d5dSDavid du Colombier #define uintptr uintptr_t 31*bad30d5dSDavid du Colombier 32*bad30d5dSDavid du Colombier char *strdup(const char *); 33*bad30d5dSDavid du Colombier 34*bad30d5dSDavid du Colombier #define nil ((void*)0) 35*bad30d5dSDavid du Colombier 36*bad30d5dSDavid du Colombier /* in case uchar, etc. are built-in types */ 37*bad30d5dSDavid du Colombier #define uchar _fmtuchar 38*bad30d5dSDavid du Colombier #define ushort _fmtushort 39*bad30d5dSDavid du Colombier #define uint _fmtuint 40*bad30d5dSDavid du Colombier #define ulong _fmtulong 41*bad30d5dSDavid du Colombier #define vlong _fmtvlong 42*bad30d5dSDavid du Colombier #define uvlong _fmtuvlong 43*bad30d5dSDavid du Colombier 44*bad30d5dSDavid du Colombier typedef unsigned char uchar; 45*bad30d5dSDavid du Colombier typedef unsigned short ushort; 46*bad30d5dSDavid du Colombier typedef unsigned int uint; 47*bad30d5dSDavid du Colombier typedef unsigned long ulong; 48*bad30d5dSDavid du Colombier typedef unsigned long long uvlong; 49*bad30d5dSDavid du Colombier 50*bad30d5dSDavid du Colombier #define OREAD O_RDONLY 51*bad30d5dSDavid du Colombier #define OWRITE O_WRONLY 52*bad30d5dSDavid du Colombier #define ORDWR O_RDWR 53*bad30d5dSDavid du Colombier #define OCEXEC 0 54