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