1 #define _Addr long
2 #define _Int64 long long
3 #define _Reg long long
4 
5 #define __BYTE_ORDER __BYTE_ORDER__
6 
7 #define __LONG_MAX __LONG_MAX__
8 
9 /*
10  * Rather than define everything ourselves here in the musl layer, for
11  * WASI, reference the definitions in the lower layers.
12  */
13 
14 #if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
15 #define __need_wchar_t
16 #include <stddef.h>
17 #define __DEFINED_wchar_t
18 #endif
19 
20 #if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
21 #define __need_wint_t
22 #include <stddef.h>
23 #define __DEFINED_wint_t
24 #endif
25 
26 #if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
27 typedef float float_t;
28 #define __DEFINED_float_t
29 #endif
30 
31 #if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
32 typedef double double_t;
33 #define __DEFINED_double_t
34 #endif
35 
36 
37 #if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
38 #define __need_max_align_t
39 #include <stddef.h>
40 #define __DEFINED_max_align_t
41 #endif
42 
43 #if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
44 #include <__typedef_time_t.h>
45 #define __DEFINED_time_t
46 #endif
47 
48 #if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
49 #include <__typedef_suseconds_t.h>
50 #define __DEFINED_suseconds_t
51 #endif
52 
53 #if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
54 #include <__typedef_clockid_t.h>
55 #define __DEFINED_clockid_t
56 #endif
57 
58 #if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
59 #include <__typedef_sigset_t.h>
60 #define __DEFINED_sigset_t
61 #endif
62 
63 #if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
64 #include <__typedef_clock_t.h>
65 #define __DEFINED_clock_t
66 #endif
67 #define __LITTLE_ENDIAN 1234
68 #define __BIG_ENDIAN 4321
69 #define __USE_TIME_BITS64 1
70 
71 #if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
72 typedef unsigned _Addr size_t;
73 #define __DEFINED_size_t
74 #endif
75 
76 #if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
77 typedef unsigned _Addr uintptr_t;
78 #define __DEFINED_uintptr_t
79 #endif
80 
81 #if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
82 typedef _Addr ptrdiff_t;
83 #define __DEFINED_ptrdiff_t
84 #endif
85 
86 #if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
87 typedef _Addr ssize_t;
88 #define __DEFINED_ssize_t
89 #endif
90 
91 #if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
92 typedef _Addr intptr_t;
93 #define __DEFINED_intptr_t
94 #endif
95 
96 #if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
97 typedef _Addr regoff_t;
98 #define __DEFINED_regoff_t
99 #endif
100 
101 #if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
102 typedef _Reg register_t;
103 #define __DEFINED_register_t
104 #endif
105 
106 #ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */
107 #if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
108 typedef _Int64 time_t;
109 #define __DEFINED_time_t
110 #endif
111 
112 #if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
113 typedef _Int64 suseconds_t;
114 #define __DEFINED_suseconds_t
115 #endif
116 
117 #else
118 #if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
119 #include <__typedef_time_t.h>
120 #define __DEFINED_time_t
121 #endif
122 
123 #if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
124 #include <__typedef_suseconds_t.h>
125 #define __DEFINED_suseconds_t
126 #endif
127 #endif
128 
129 #if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
130 typedef signed char     int8_t;
131 #define __DEFINED_int8_t
132 #endif
133 
134 #if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
135 typedef signed short    int16_t;
136 #define __DEFINED_int16_t
137 #endif
138 
139 #if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
140 typedef signed int      int32_t;
141 #define __DEFINED_int32_t
142 #endif
143 
144 #if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
145 typedef signed _Int64   int64_t;
146 #define __DEFINED_int64_t
147 #endif
148 
149 #if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
150 typedef signed _Int64   intmax_t;
151 #define __DEFINED_intmax_t
152 #endif
153 
154 #if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
155 typedef unsigned char   uint8_t;
156 #define __DEFINED_uint8_t
157 #endif
158 
159 #if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
160 typedef unsigned short  uint16_t;
161 #define __DEFINED_uint16_t
162 #endif
163 
164 #if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
165 typedef unsigned int    uint32_t;
166 #define __DEFINED_uint32_t
167 #endif
168 
169 #if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
170 typedef unsigned _Int64 uint64_t;
171 #define __DEFINED_uint64_t
172 #endif
173 
174 #if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
175 typedef unsigned _Int64 u_int64_t;
176 #define __DEFINED_u_int64_t
177 #endif
178 
179 #if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
180 typedef unsigned _Int64 uintmax_t;
181 #define __DEFINED_uintmax_t
182 #endif
183 
184 
185 #if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
186 typedef unsigned mode_t;
187 #define __DEFINED_mode_t
188 #endif
189 
190 #if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
191 typedef unsigned _Reg nlink_t;
192 #define __DEFINED_nlink_t
193 #endif
194 
195 #if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
196 typedef _Int64 off_t;
197 #define __DEFINED_off_t
198 #endif
199 
200 #if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
201 typedef unsigned _Int64 ino_t;
202 #define __DEFINED_ino_t
203 #endif
204 
205 #if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
206 typedef unsigned _Int64 dev_t;
207 #define __DEFINED_dev_t
208 #endif
209 
210 #if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
211 typedef long blksize_t;
212 #define __DEFINED_blksize_t
213 #endif
214 
215 #if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
216 typedef _Int64 blkcnt_t;
217 #define __DEFINED_blkcnt_t
218 #endif
219 
220 #if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
221 typedef unsigned _Int64 fsblkcnt_t;
222 #define __DEFINED_fsblkcnt_t
223 #endif
224 
225 #if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
226 typedef unsigned _Int64 fsfilcnt_t;
227 #define __DEFINED_fsfilcnt_t
228 #endif
229 
230 
231 #if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
232 typedef unsigned wint_t;
233 #define __DEFINED_wint_t
234 #endif
235 
236 #if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
237 typedef unsigned long wctype_t;
238 #define __DEFINED_wctype_t
239 #endif
240 
241 
242 #if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
243 typedef void * timer_t;
244 #define __DEFINED_timer_t
245 #endif
246 
247 #if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
248 typedef int clockid_t;
249 #define __DEFINED_clockid_t
250 #endif
251 
252 #if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
253 typedef long clock_t;
254 #define __DEFINED_clock_t
255 #endif
256 
257 #ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */
258 #if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
259 struct timeval { time_t tv_sec; suseconds_t tv_usec; };
260 #define __DEFINED_struct_timeval
261 #endif
262 
263 #if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
264 struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); };
265 #define __DEFINED_struct_timespec
266 #endif
267 
268 #else
269 #include <__struct_timeval.h>
270 #include <__struct_timespec.h>
271 #endif
272 
273 #if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
274 typedef int pid_t;
275 #define __DEFINED_pid_t
276 #endif
277 
278 #if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
279 typedef unsigned id_t;
280 #define __DEFINED_id_t
281 #endif
282 
283 #if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
284 typedef unsigned uid_t;
285 #define __DEFINED_uid_t
286 #endif
287 
288 #if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
289 typedef unsigned gid_t;
290 #define __DEFINED_gid_t
291 #endif
292 
293 #if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
294 typedef int key_t;
295 #define __DEFINED_key_t
296 #endif
297 
298 #if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
299 typedef unsigned useconds_t;
300 #define __DEFINED_useconds_t
301 #endif
302 
303 
304 #ifdef __cplusplus
305 #if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
306 typedef unsigned long pthread_t;
307 #define __DEFINED_pthread_t
308 #endif
309 
310 #else
311 #if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
312 typedef struct __pthread * pthread_t;
313 #define __DEFINED_pthread_t
314 #endif
315 
316 #endif
317 #if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
318 typedef int pthread_once_t;
319 #define __DEFINED_pthread_once_t
320 #endif
321 
322 #if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
323 typedef unsigned pthread_key_t;
324 #define __DEFINED_pthread_key_t
325 #endif
326 
327 #if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
328 typedef int pthread_spinlock_t;
329 #define __DEFINED_pthread_spinlock_t
330 #endif
331 
332 #if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
333 typedef struct { unsigned __attr; } pthread_mutexattr_t;
334 #define __DEFINED_pthread_mutexattr_t
335 #endif
336 
337 #if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
338 typedef struct { unsigned __attr; } pthread_condattr_t;
339 #define __DEFINED_pthread_condattr_t
340 #endif
341 
342 #if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
343 typedef struct { unsigned __attr; } pthread_barrierattr_t;
344 #define __DEFINED_pthread_barrierattr_t
345 #endif
346 
347 #if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
348 typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
349 #define __DEFINED_pthread_rwlockattr_t
350 #endif
351 
352 
353 #ifdef __wasilibc_unmodified_upstream /* WASI doesn't need to define FILE as a complete type */
354 #if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
355 struct _IO_FILE { char __x; };
356 #define __DEFINED_struct__IO_FILE
357 #endif
358 
359 #endif
360 #if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
361 typedef struct _IO_FILE FILE;
362 #define __DEFINED_FILE
363 #endif
364 
365 
366 #if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
367 typedef __builtin_va_list va_list;
368 #define __DEFINED_va_list
369 #endif
370 
371 #if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
372 typedef __builtin_va_list __isoc_va_list;
373 #define __DEFINED___isoc_va_list
374 #endif
375 
376 
377 #if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
378 typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
379 #define __DEFINED_mbstate_t
380 #endif
381 
382 
383 #if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
384 typedef struct __locale_struct * locale_t;
385 #define __DEFINED_locale_t
386 #endif
387 
388 
389 #if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
390 typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t;
391 #define __DEFINED_sigset_t
392 #endif
393 
394 
395 #ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */
396 #if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
397 struct iovec { void *iov_base; size_t iov_len; };
398 #define __DEFINED_struct_iovec
399 #endif
400 
401 #else
402 #include <__struct_iovec.h>
403 #endif
404 
405 #if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize)
406 struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; };
407 #define __DEFINED_struct_winsize
408 #endif
409 
410 
411 #if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
412 typedef unsigned socklen_t;
413 #define __DEFINED_socklen_t
414 #endif
415 
416 #if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
417 typedef unsigned short sa_family_t;
418 #define __DEFINED_sa_family_t
419 #endif
420 
421 
422 #if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
423 typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t;
424 #define __DEFINED_pthread_attr_t
425 #endif
426 
427 #if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
428 typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t;
429 #define __DEFINED_pthread_mutex_t
430 #endif
431 
432 #if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
433 typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t;
434 #define __DEFINED_mtx_t
435 #endif
436 
437 #if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
438 typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t;
439 #define __DEFINED_pthread_cond_t
440 #endif
441 
442 #if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
443 typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t;
444 #define __DEFINED_cnd_t
445 #endif
446 
447 #if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
448 typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t;
449 #define __DEFINED_pthread_rwlock_t
450 #endif
451 
452 #if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
453 typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t;
454 #define __DEFINED_pthread_barrier_t
455 #endif
456 
457 
458 #undef _Addr
459 #undef _Int64
460 #undef _Reg
461