1 8ad51794 2004-03-25 devnull #ifndef _U_H_
2 8ad51794 2004-03-25 devnull #define _U_H_ 1
3 8ad51794 2004-03-25 devnull #if defined(__cplusplus)
4 8ad51794 2004-03-25 devnull extern "C" {
7 8ad51794 2004-03-25 devnull #define _BSD_SOURCE 1
8 8ad51794 2004-03-25 devnull #define _SVID_SOURCE 1
9 8ad51794 2004-03-25 devnull #define _XOPEN_SOURCE 1000
10 8ad51794 2004-03-25 devnull #define _XOPEN_SOURCE_EXTENDED 1
11 8ad51794 2004-03-25 devnull #define _LARGEFILE64_SOURCE 1
12 8ad51794 2004-03-25 devnull #define _FILE_OFFSET_BITS 64
13 8ad51794 2004-03-25 devnull #define __EXTENSIONS__ 1 /* SunOS */
15 8ad51794 2004-03-25 devnull #include <unistd.h>
16 8ad51794 2004-03-25 devnull #include <string.h>
17 8ad51794 2004-03-25 devnull #include <stdlib.h>
18 8ad51794 2004-03-25 devnull #include <stdarg.h>
19 8ad51794 2004-03-25 devnull #include <fcntl.h>
20 8ad51794 2004-03-25 devnull #include <assert.h>
21 8ad51794 2004-03-25 devnull #include <setjmp.h>
22 8ad51794 2004-03-25 devnull #include <stddef.h>
23 8ad51794 2004-03-25 devnull #include <utf.h>
24 8ad51794 2004-03-25 devnull #include <fmt.h>
25 8ad51794 2004-03-25 devnull #include <math.h>
26 c8af1ab1 2004-04-19 devnull #include <ctype.h> /* for tolower */
27 bcf527a9 2004-09-17 devnull #include <pthread.h> /* for Locks */
30 8ad51794 2004-03-25 devnull * OS-specific crap
32 8ad51794 2004-03-25 devnull #define _NEEDUCHAR 1
33 8ad51794 2004-03-25 devnull #define _NEEDUSHORT 1
34 8ad51794 2004-03-25 devnull #define _NEEDUINT 1
35 8ad51794 2004-03-25 devnull #define _NEEDULONG 1
37 8ad51794 2004-03-25 devnull typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
39 8ad51794 2004-03-25 devnull #if defined(__linux__)
40 8ad51794 2004-03-25 devnull # include <sys/types.h>
41 8ad51794 2004-03-25 devnull # if defined(__USE_MISC)
42 8ad51794 2004-03-25 devnull # undef _NEEDUSHORT
43 8ad51794 2004-03-25 devnull # undef _NEEDUINT
44 8ad51794 2004-03-25 devnull # undef _NEEDULONG
45 06bb4ed2 2004-09-17 devnull # include <pthread.h>
46 06bb4ed2 2004-09-17 devnull # define PLAN9_PTHREADS
49 8ad51794 2004-03-25 devnull #if defined(__sun__)
50 8ad51794 2004-03-25 devnull # include <sys/types.h>
51 8ad51794 2004-03-25 devnull # undef _NEEDUSHORT
52 8ad51794 2004-03-25 devnull # undef _NEEDUINT
53 8ad51794 2004-03-25 devnull # undef _NEEDULONG
54 06bb4ed2 2004-09-17 devnull # include <pthread.h>
55 06bb4ed2 2004-09-17 devnull # define PLAN9_PTHREADS
57 8ad51794 2004-03-25 devnull #if defined(__FreeBSD__)
58 8ad51794 2004-03-25 devnull # include <sys/types.h>
59 8ad51794 2004-03-25 devnull # if !defined(_POSIX_SOURCE)
60 8ad51794 2004-03-25 devnull # undef _NEEDUSHORT
61 8ad51794 2004-03-25 devnull # undef _NEEDUINT
64 8ad51794 2004-03-25 devnull #if defined(__APPLE__)
65 8ad51794 2004-03-25 devnull # include <sys/types.h>
66 8ad51794 2004-03-25 devnull # undef _NEEDUSHORT
67 8ad51794 2004-03-25 devnull # undef _NEEDUINT
68 8ad51794 2004-03-25 devnull # define _NEEDLL 1
69 06bb4ed2 2004-09-17 devnull # include <pthread.h>
70 06bb4ed2 2004-09-17 devnull # define PLAN9_PTHREADS
74 8ad51794 2004-03-25 devnull typedef signed char schar;
75 8ad51794 2004-03-25 devnull typedef unsigned int u32int;
76 785a7364 2004-04-19 devnull typedef int s32int;
78 8ad51794 2004-03-25 devnull #ifdef _NEEDUCHAR
79 8ad51794 2004-03-25 devnull typedef unsigned char uchar;
81 8ad51794 2004-03-25 devnull #ifdef _NEEDUSHORT
82 8ad51794 2004-03-25 devnull typedef unsigned short ushort;
84 8ad51794 2004-03-25 devnull #ifdef _NEEDUINT
85 8ad51794 2004-03-25 devnull typedef unsigned int uint;
87 8ad51794 2004-03-25 devnull #ifdef _NEEDULONG
88 8ad51794 2004-03-25 devnull typedef unsigned long ulong;
90 8ad51794 2004-03-25 devnull typedef unsigned long long uvlong;
91 8ad51794 2004-03-25 devnull typedef long long vlong;
92 8ad51794 2004-03-25 devnull typedef uvlong u64int;
93 785a7364 2004-04-19 devnull typedef vlong s64int;
94 8ad51794 2004-03-25 devnull typedef uchar u8int;
95 785a7364 2004-04-19 devnull typedef schar s8int;
96 8ad51794 2004-03-25 devnull typedef ushort u16int;
97 785a7364 2004-04-19 devnull typedef short s16int;
99 8ad51794 2004-03-25 devnull #undef _NEEDUCHAR
100 8ad51794 2004-03-25 devnull #undef _NEEDUSHORT
101 8ad51794 2004-03-25 devnull #undef _NEEDUINT
102 8ad51794 2004-03-25 devnull #undef _NEEDULONG
104 8ad51794 2004-03-25 devnull #if defined(__cplusplus)