diff options
Diffstat (limited to 'include/u.h')
-rw-r--r-- | include/u.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/include/u.h b/include/u.h index e69de29b..4716ce4f 100644 --- a/include/u.h +++ b/include/u.h @@ -0,0 +1,93 @@ +#ifndef _U_H_ +#define _U_H_ 1 +#if defined(__cplusplus) +extern "C" { +#endif + +#define _BSD_SOURCE 1 +#define _SVID_SOURCE 1 +#define _XOPEN_SOURCE 1000 +#define _XOPEN_SOURCE_EXTENDED 1 +#define _LARGEFILE64_SOURCE 1 +#define _FILE_OFFSET_BITS 64 +#define __EXTENSIONS__ 1 /* SunOS */ + +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <stdarg.h> +#include <fcntl.h> +#include <assert.h> +#include <setjmp.h> +#include <stddef.h> +#include <utf.h> +#include <fmt.h> +#include <math.h> + +/* + * OS-specific crap + */ +#define _NEEDUCHAR 1 +#define _NEEDUSHORT 1 +#define _NEEDUINT 1 +#define _NEEDULONG 1 + +typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)]; + +#if defined(__linux__) +# include <sys/types.h> +# if defined(__USE_MISC) +# undef _NEEDUSHORT +# undef _NEEDUINT +# undef _NEEDULONG +# endif +#endif +#if defined(__sun__) +# include <sys/types.h> +# undef _NEEDUSHORT +# undef _NEEDUINT +# undef _NEEDULONG +#endif +#if defined(__FreeBSD__) +# include <sys/types.h> +# if !defined(_POSIX_SOURCE) +# undef _NEEDUSHORT +# undef _NEEDUINT +# endif +#endif +#if defined(__APPLE__) +# include <sys/types.h> +# undef _NEEDUSHORT +# undef _NEEDUINT +# define _NEEDLL 1 +#endif + +typedef signed char schar; +typedef unsigned int u32int; +#ifdef _NEEDUCHAR + typedef unsigned char uchar; +#endif +#ifdef _NEEDUSHORT + typedef unsigned short ushort; +#endif +#ifdef _NEEDUINT + typedef unsigned int uint; +#endif +#ifdef _NEEDULONG + typedef unsigned long ulong; +#endif +typedef unsigned long long uvlong; +typedef long long vlong; +typedef uvlong u64int; +typedef uchar u8int; +typedef ushort u16int; + +#undef _NEEDUCHAR +#undef _NEEDUSHORT +#undef _NEEDUINT +#undef _NEEDULONG + +#if defined(__cplusplus) +} +#endif +#endif |