pthread_windows_arm64.go (41547B)
1 // Code generated by 'ccgo pthread\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread\pthread_windows_arm64.go -pkgname pthread', DO NOT EDIT. 2 3 package pthread 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 ) 11 12 var _ = math.Pi 13 var _ reflect.Kind 14 var _ atomic.Value 15 var _ unsafe.Pointer 16 17 const ( 18 CHAR_BIT = 8 19 CHAR_MAX = 127 20 CHAR_MIN = -128 21 CLK_TCK = 1000 22 CLOCKS_PER_SEC = 1000 23 CLOCK_MONOTONIC = 1 24 CLOCK_PROCESS_CPUTIME_ID = 2 25 CLOCK_REALTIME = 0 26 CLOCK_REALTIME_COARSE = 4 27 CLOCK_THREAD_CPUTIME_ID = 3 28 DUMMYSTRUCTNAME = 0 29 DUMMYSTRUCTNAME1 = 0 30 DUMMYSTRUCTNAME2 = 0 31 DUMMYSTRUCTNAME3 = 0 32 DUMMYSTRUCTNAME4 = 0 33 DUMMYSTRUCTNAME5 = 0 34 DUMMYUNIONNAME = 0 35 DUMMYUNIONNAME1 = 0 36 DUMMYUNIONNAME2 = 0 37 DUMMYUNIONNAME3 = 0 38 DUMMYUNIONNAME4 = 0 39 DUMMYUNIONNAME5 = 0 40 DUMMYUNIONNAME6 = 0 41 DUMMYUNIONNAME7 = 0 42 DUMMYUNIONNAME8 = 0 43 DUMMYUNIONNAME9 = 0 44 E2BIG = 7 45 EACCES = 13 46 EADDRINUSE = 100 47 EADDRNOTAVAIL = 101 48 EAFNOSUPPORT = 102 49 EAGAIN = 11 50 EALREADY = 103 51 EBADF = 9 52 EBADMSG = 104 53 EBUSY = 16 54 ECANCELED = 105 55 ECHILD = 10 56 ECONNABORTED = 106 57 ECONNREFUSED = 107 58 ECONNRESET = 108 59 EDEADLK = 36 60 EDEADLOCK = 36 61 EDESTADDRREQ = 109 62 EDOM = 33 63 EEXIST = 17 64 EFAULT = 14 65 EFBIG = 27 66 EHOSTUNREACH = 110 67 EIDRM = 111 68 EILSEQ = 42 69 EINPROGRESS = 112 70 EINTR = 4 71 EINVAL = 22 72 EIO = 5 73 EISCONN = 113 74 EISDIR = 21 75 ELOOP = 114 76 EMFILE = 24 77 EMLINK = 31 78 EMSGSIZE = 115 79 ENAMETOOLONG = 38 80 ENETDOWN = 116 81 ENETRESET = 117 82 ENETUNREACH = 118 83 ENFILE = 23 84 ENOBUFS = 119 85 ENODATA = 120 86 ENODEV = 19 87 ENOENT = 2 88 ENOEXEC = 8 89 ENOFILE = 2 90 ENOLCK = 39 91 ENOLINK = 121 92 ENOMEM = 12 93 ENOMSG = 122 94 ENOPROTOOPT = 123 95 ENOSPC = 28 96 ENOSR = 124 97 ENOSTR = 125 98 ENOSYS = 40 99 ENOTCONN = 126 100 ENOTDIR = 20 101 ENOTEMPTY = 41 102 ENOTRECOVERABLE = 127 103 ENOTSOCK = 128 104 ENOTSUP = 129 105 ENOTTY = 25 106 ENXIO = 6 107 EOPNOTSUPP = 130 108 EOVERFLOW = 132 109 EOWNERDEAD = 133 110 EPERM = 1 111 EPIPE = 32 112 EPROTO = 134 113 EPROTONOSUPPORT = 135 114 EPROTOTYPE = 136 115 ERANGE = 34 116 EROFS = 30 117 ESPIPE = 29 118 ESRCH = 3 119 ETIME = 137 120 ETIMEDOUT = 138 121 ETXTBSY = 139 122 EWOULDBLOCK = 140 123 EXDEV = 18 124 GENERIC_ERRORCHECK_INITIALIZER = -2 125 GENERIC_INITIALIZER = -1 126 GENERIC_NORMAL_INITIALIZER = -1 127 GENERIC_RECURSIVE_INITIALIZER = -3 128 INT_MAX = 2147483647 129 INT_MIN = -2147483648 130 LLONG_MAX = 9223372036854775807 131 LLONG_MIN = -9223372036854775808 132 LONG_LONG_MAX = 9223372036854775807 133 LONG_LONG_MIN = -9223372036854775808 134 LONG_MAX = 2147483647 135 LONG_MIN = -2147483648 136 MAX_READ_LOCKS = 2147483646 137 MB_LEN_MAX = 1 138 MINGW_DDK_H = 0 139 MINGW_HAS_DDK_H = 1 140 MINGW_HAS_SECURE_API = 1 141 MINGW_SDK_INIT = 0 142 NSIG = 23 143 OLD_P_OVERLAY = 2 144 PTHREAD_BARRIER_SERIAL_THREAD = 1 145 PTHREAD_CANCEL_ASYNCHRONOUS = 0x02 146 PTHREAD_CANCEL_DEFERRED = 0 147 PTHREAD_CANCEL_DISABLE = 0 148 PTHREAD_CANCEL_ENABLE = 0x01 149 PTHREAD_CREATE_DETACHED = 0x04 150 PTHREAD_CREATE_JOINABLE = 0 151 PTHREAD_DEFAULT_ATTR = 1 152 PTHREAD_DESTRUCTOR_ITERATIONS = 256 153 PTHREAD_EXPLICIT_SCHED = 0 154 PTHREAD_INHERIT_SCHED = 0x08 155 PTHREAD_KEYS_MAX = 1048576 156 PTHREAD_MUTEX_ADAPTIVE_NP = 0 157 PTHREAD_MUTEX_DEFAULT = 0 158 PTHREAD_MUTEX_ERRORCHECK = 1 159 PTHREAD_MUTEX_ERRORCHECK_NP = 1 160 PTHREAD_MUTEX_FAST_NP = 0 161 PTHREAD_MUTEX_NORMAL = 0 162 PTHREAD_MUTEX_PRIVATE = 0 163 PTHREAD_MUTEX_RECURSIVE = 2 164 PTHREAD_MUTEX_RECURSIVE_NP = 2 165 PTHREAD_MUTEX_SHARED = 1 166 PTHREAD_MUTEX_TIMED_NP = 0 167 PTHREAD_ONCE_INIT = 0 168 PTHREAD_PRIO_INHERIT = 8 169 PTHREAD_PRIO_MULT = 32 170 PTHREAD_PRIO_NONE = 0 171 PTHREAD_PRIO_PROTECT = 16 172 PTHREAD_PROCESS_PRIVATE = 0 173 PTHREAD_PROCESS_SHARED = 1 174 PTHREAD_SCOPE_PROCESS = 0 175 PTHREAD_SCOPE_SYSTEM = 0x10 176 PTHREAD_THREADS_MAX = 2019 177 P_DETACH = 4 178 P_NOWAIT = 1 179 P_NOWAITO = 3 180 P_OVERLAY = 2 181 P_WAIT = 0 182 RWLS_PER_THREAD = 8 183 SCHAR_MAX = 127 184 SCHAR_MIN = -128 185 SCHED_FIFO = 1 186 SCHED_MAX = 2 187 SCHED_MIN = 0 188 SCHED_OTHER = 0 189 SCHED_RR = 2 190 SEM_NSEMS_MAX = 1024 191 SHRT_MAX = 32767 192 SHRT_MIN = -32768 193 SIGABRT = 22 194 SIGABRT2 = 22 195 SIGABRT_COMPAT = 6 196 SIGBREAK = 21 197 SIGFPE = 8 198 SIGILL = 4 199 SIGINT = 2 200 SIGSEGV = 11 201 SIGTERM = 15 202 SIG_BLOCK = 0 203 SIG_SETMASK = 2 204 SIG_UNBLOCK = 1 205 STRUNCATE = 80 206 TIMER_ABSTIME = 1 207 TIME_UTC = 1 208 UCHAR_MAX = 255 209 UINT_MAX = 4294967295 210 ULLONG_MAX = 18446744073709551615 211 ULONG_LONG_MAX = 18446744073709551615 212 ULONG_MAX = 4294967295 213 UNALIGNED = 0 214 USE___UUIDOF = 0 215 USHRT_MAX = 65535 216 WAIT_CHILD = 0 217 WAIT_GRANDCHILD = 1 218 WIN32 = 1 219 WIN64 = 1 220 WINNT = 1 221 WINPTHREAD_API = 0 222 WIN_PTHREADS_H = 0 223 WIN_PTHREADS_PTHREAD_COMPAT_H = 0 224 WIN_PTHREADS_SIGNAL_H = 0 225 WIN_PTHREADS_TIME_H = 0 226 WIN_PTHREADS_UNISTD_H = 0 227 X_AGLOBAL = 0 228 X_ANONYMOUS_STRUCT = 0 229 X_ANONYMOUS_UNION = 0 230 X_ARGMAX = 100 231 X_ARM64_ = 1 232 X_CLOCK_T_DEFINED = 0 233 X_CONST_RETURN = 0 234 X_CRTNOALIAS = 0 235 X_CRTRESTRICT = 0 236 X_CRT_ALTERNATIVE_IMPORTED = 0 237 X_CRT_ERRNO_DEFINED = 0 238 X_CRT_GETPID_DEFINED = 0 239 X_CRT_MANAGED_HEAP_DEPRECATE = 0 240 X_CRT_PACKING = 8 241 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0 242 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0 243 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0 244 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0 245 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0 246 X_CRT_SYSTEM_DEFINED = 0 247 X_CRT_TERMINATE_DEFINED = 0 248 X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0 249 X_CRT_WSYSTEM_DEFINED = 0 250 X_DEV_T_DEFINED = 0 251 X_DLL = 0 252 X_ERRCODE_DEFINED = 0 253 X_FILE_OFFSET_BITS = 64 254 X_FILE_OFFSET_BITS_SET_OFFT = 0 255 X_GCC_LIMITS_H_ = 0 256 X_GTHREAD_USE_MUTEX_INIT_FUNC = 1 257 X_INC_CORECRT = 0 258 X_INC_CORECRT_STARTUP = 0 259 X_INC_CRTDEFS = 0 260 X_INC_CRTDEFS_MACRO = 0 261 X_INC_ERRNO = 0 262 X_INC_MINGW_SECAPI = 0 263 X_INC_PROCESS = 0 264 X_INC_SIGNAL = 0 265 X_INC_TYPES = 0 266 X_INC_VADEFS = 0 267 X_INC_WTIME_INL = 0 268 X_INC_WTIME_S_INL = 0 269 X_INC__MINGW_H = 0 270 X_INO_T_DEFINED = 0 271 X_INT128_DEFINED = 0 272 X_INTPTR_T_DEFINED = 0 273 X_MODE_T_ = 0 274 X_MT = 0 275 X_M_ARM64 = 1 276 X_OFF64_T_DEFINED = 0 277 X_OFF_T_ = 0 278 X_OFF_T_DEFINED = 0 279 X_OLD_P_OVERLAY = 2 280 X_PGLOBAL = 0 281 X_PID_T_ = 0 282 X_POSIX_BARRIERS = 200112 283 X_POSIX_CLOCK_SELECTION = 200112 284 X_POSIX_CPUTIME = 200809 285 X_POSIX_MONOTONIC_CLOCK = 200809 286 X_POSIX_READER_WRITER_LOCKS = 200112 287 X_POSIX_SEMAPHORES = 200112 288 X_POSIX_SEM_NSEMS_MAX = 256 289 X_POSIX_SPIN_LOCKS = 200112 290 X_POSIX_THREADS = 200112 291 X_POSIX_THREAD_CPUTIME = 200809 292 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 256 293 X_POSIX_THREAD_KEYS_MAX = 1048576 294 X_POSIX_TIMEOUTS = 200112 295 X_POSIX_TIMERS = 200809 296 X_PTRDIFF_T = 0 297 X_PTRDIFF_T_ = 0 298 X_PTRDIFF_T_DEFINED = 0 299 X_P_DETACH = 4 300 X_P_NOWAIT = 1 301 X_P_NOWAITO = 3 302 X_P_OVERLAY = 2 303 X_P_WAIT = 0 304 X_RSIZE_T_DEFINED = 0 305 X_SECURECRT_ERRCODE_VALUES_DEFINED = 0 306 X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD 307 X_SIGSET_T_ = 0 308 X_SIG_ATOMIC_T_DEFINED = 0 309 X_SIZE_T = 0 310 X_SIZE_T_DEFINED = 0 311 X_SPAWNV_DEFINED = 0 312 X_SSIZE_T_DEFINED = 0 313 X_TAGLC_ID_DEFINED = 0 314 X_THREADLOCALEINFO = 0 315 X_TIME32_T_DEFINED = 0 316 X_TIME64_T_DEFINED = 0 317 X_TIMEB_DEFINED = 0 318 X_TIMEB_H_ = 0 319 X_TIMEB_H_S = 0 320 X_TIMESPEC_DEFINED = 0 321 X_TIMEVAL_DEFINED = 0 322 X_TIMEZONE_DEFINED = 0 323 X_TIME_H_ = 0 324 X_TIME_T_DEFINED = 0 325 X_TM_DEFINED = 0 326 X_UCRT = 0 327 X_UINTPTR_T_DEFINED = 0 328 X_VA_LIST_DEFINED = 0 329 X_W64 = 0 330 X_WAIT_CHILD = 0 331 X_WAIT_GRANDCHILD = 1 332 X_WCHAR_T = 0 333 X_WCHAR_T_DEFINED = 0 334 X_WCTYPE_T_DEFINED = 0 335 X_WEXEC_DEFINED = 0 336 X_WIN32 = 1 337 X_WIN32_WINNT = 0x601 338 X_WIN64 = 1 339 X_WINT_T = 0 340 X_WSPAWN_DEFINED = 0 341 X_WTIME_DEFINED = 0 342 ) 343 344 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 345 346 type Size_t = uint64 /* <builtin>:9:23 */ 347 348 type Wchar_t = uint16 /* <builtin>:15:24 */ 349 350 type X__int128_t = struct { 351 Flo int64 352 Fhi int64 353 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 354 type X__uint128_t = struct { 355 Flo uint64 356 Fhi uint64 357 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 358 359 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 360 type X__float128 = float64 /* <builtin>:47:21 */ 361 362 type Va_list = X__builtin_va_list /* <builtin>:50:27 */ 363 364 // ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---=== 365 // 366 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 367 // See https://llvm.org/LICENSE.txt for license information. 368 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 369 // 370 //===-----------------------------------------------------------------------=== 371 372 // Define 'max_align_t' to match the GCC definition. 373 type Max_align_t = struct { 374 F__clang_max_align_nonce1 int64 375 F__clang_max_align_nonce2 float64 376 } /* __stddef_max_align_t.h:24:3 */ 377 378 // Some C libraries expect to see a wint_t here. Others (notably MinGW) will use 379 // __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t 380 381 // * 382 // This file has no copyright assigned and is placed in the Public Domain. 383 // This file is part of the mingw-w64 runtime package. 384 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 385 386 // * 387 // This file has no copyright assigned and is placed in the Public Domain. 388 // This file is part of the mingw-w64 runtime package. 389 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 390 391 // * 392 // This file has no copyright assigned and is placed in the Public Domain. 393 // This file is part of the mingw-w64 runtime package. 394 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 395 396 // * 397 // This file has no copyright assigned and is placed in the Public Domain. 398 // This file is part of the mingw-w64 runtime package. 399 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 400 401 // * 402 // This file has no copyright assigned and is placed in the Public Domain. 403 // This file is part of the mingw-w64 runtime package. 404 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 405 406 // This macro holds an monotonic increasing value, which indicates 407 // a specific fix/patch is present on trunk. This value isn't related to 408 // minor/major version-macros. It is increased on demand, if a big 409 // fix was applied to trunk. This macro gets just increased on trunk. For 410 // other branches its value won't be modified. 411 412 // mingw.org's version macros: these make gcc to define 413 // MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global 414 // and the __mingwthr_key_dtor() function from the MinGW 415 // CRT in its private gthr-win32.h header. 416 417 // Set VC specific compiler target macros. 418 419 // MS does not prefix symbols by underscores for 64-bit. 420 // As we have to support older gcc version, which are using underscores 421 // as symbol prefix for x64, we have to check here for the user label 422 // prefix defined by gcc. 423 424 // Special case nameless struct/union. 425 426 // MinGW-w64 has some additional C99 printf/scanf feature support. 427 // So we add some helper macros to ease recognition of them. 428 429 // If _FORTIFY_SOURCE is enabled, some inline functions may use 430 // __builtin_va_arg_pack(). GCC may report an error if the address 431 // of such a function is used. Set _FORTIFY_VA_ARG=0 in this case. 432 433 // Enable workaround for ABI incompatibility on affected platforms 434 435 // * 436 // This file has no copyright assigned and is placed in the Public Domain. 437 // This file is part of the mingw-w64 runtime package. 438 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 439 440 // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx 441 // Templates won't work in C, will break if secure API is not enabled, disabled 442 443 // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true 444 // fallback on default implementation if we can't know the size of the destination 445 446 // Include _cygwin.h if we're building a Cygwin application. 447 448 // Target specific macro replacement for type "long". In the Windows API, 449 // the type long is always 32 bit, even if the target is 64 bit (LLP64). 450 // On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right 451 // sized definitions and declarations, all usage of type long in the Windows 452 // headers have to be replaced by the below defined macro __LONG32. 453 454 // C/C++ specific language defines. 455 456 // Note the extern. This is needed to work around GCC's 457 // limitations in handling dllimport attribute. 458 459 // Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's 460 // variadiac macro facility, because variadic macros cause syntax 461 // errors with --traditional-cpp. 462 463 // High byte is the major version, low byte is the minor. 464 465 // Allow both 0x1400 and 0xE00 to identify UCRT 466 467 // ===-------- vadefs.h ---------------------------------------------------=== 468 // 469 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 470 // See https://llvm.org/LICENSE.txt for license information. 471 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 472 // 473 //===-----------------------------------------------------------------------=== 474 475 // Only include this if we are aiming for MSVC compatibility. 476 // * 477 // This file has no copyright assigned and is placed in the Public Domain. 478 // This file is part of the mingw-w64 runtime package. 479 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 480 481 // * 482 // This file has no copyright assigned and is placed in the Public Domain. 483 // This file is part of the mingw-w64 runtime package. 484 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 485 486 // for backward compatibility 487 488 type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */ 489 490 type Ssize_t = int64 /* corecrt.h:45:35 */ 491 492 type Rsize_t = Size_t /* corecrt.h:52:16 */ 493 494 type Intptr_t = int64 /* corecrt.h:62:35 */ 495 496 type Uintptr_t = uint64 /* corecrt.h:75:44 */ 497 498 type Wint_t = uint16 /* corecrt.h:106:24 */ 499 type Wctype_t = uint16 /* corecrt.h:107:24 */ 500 501 type Errno_t = int32 /* corecrt.h:113:13 */ 502 503 type X__time32_t = int32 /* corecrt.h:118:14 */ 504 505 type X__time64_t = int64 /* corecrt.h:123:35 */ 506 507 type Time_t = X__time64_t /* corecrt.h:138:20 */ 508 509 type Threadlocaleinfostruct = struct { 510 F_locale_pctype uintptr 511 F_locale_mb_cur_max int32 512 F_locale_lc_codepage uint32 513 } /* corecrt.h:430:1 */ 514 515 type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */ 516 type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */ 517 518 type Localeinfo_struct = struct { 519 Flocinfo Pthreadlocinfo 520 Fmbcinfo Pthreadmbcinfo 521 } /* corecrt.h:436:9 */ 522 523 type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */ 524 type X_locale_t = uintptr /* corecrt.h:439:19 */ 525 526 type TagLC_ID = struct { 527 FwLanguage uint16 528 FwCountry uint16 529 FwCodePage uint16 530 } /* corecrt.h:443:9 */ 531 532 type LC_ID = TagLC_ID /* corecrt.h:447:3 */ 533 type LPLC_ID = uintptr /* corecrt.h:447:9 */ 534 535 type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */ 536 537 // Posix thread extensions. 538 539 // Extension defined as by report VC 10+ defines error-numbers. 540 541 // Defined as WSAETIMEDOUT. 542 543 // * 544 // This file has no copyright assigned and is placed in the Public Domain. 545 // This file is part of the mingw-w64 runtime package. 546 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 547 548 // * 549 // This file has no copyright assigned and is placed in the Public Domain. 550 // This file is part of the mingw-w64 runtime package. 551 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 552 553 type X_ino_t = uint16 /* types.h:43:24 */ 554 type Ino_t = uint16 /* types.h:45:24 */ 555 556 type X_dev_t = uint32 /* types.h:51:22 */ 557 type Dev_t = uint32 /* types.h:53:22 */ 558 559 type X_pid_t = int64 /* types.h:63:17 */ 560 561 type Pid_t = X_pid_t /* types.h:68:16 */ 562 563 type X_mode_t = uint16 /* types.h:74:24 */ 564 565 type Mode_t = X_mode_t /* types.h:77:17 */ 566 567 type X_off_t = int32 /* _mingw_off_t.h:5:16 */ 568 type Off32_t = int32 /* _mingw_off_t.h:7:16 */ 569 570 type X_off64_t = int64 /* _mingw_off_t.h:13:39 */ 571 type Off64_t = int64 /* _mingw_off_t.h:15:39 */ 572 573 type Off_t = Off64_t /* _mingw_off_t.h:24:17 */ 574 575 type Useconds_t = uint32 /* types.h:84:22 */ 576 577 type Timespec = struct { 578 Ftv_sec Time_t 579 Ftv_nsec int32 580 F__ccgo_pad1 [4]byte 581 } /* types.h:89:1 */ 582 583 type Itimerspec = struct { 584 Fit_interval struct { 585 Ftv_sec Time_t 586 Ftv_nsec int32 587 F__ccgo_pad1 [4]byte 588 } 589 Fit_value struct { 590 Ftv_sec Time_t 591 Ftv_nsec int32 592 F__ccgo_pad1 [4]byte 593 } 594 } /* types.h:94:1 */ 595 596 type X_sigset_t = uint64 /* types.h:104:28 */ 597 598 type X_PVFV = uintptr /* corecrt_startup.h:20:14 */ 599 type X_PIFV = uintptr /* corecrt_startup.h:21:13 */ 600 type X_PVFI = uintptr /* corecrt_startup.h:22:14 */ 601 602 type X_onexit_table_t1 = struct { 603 F_first uintptr 604 F_last uintptr 605 F_end uintptr 606 } /* corecrt_startup.h:24:9 */ 607 608 type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */ 609 610 type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */ 611 612 // Includes a definition of _pid_t and pid_t 613 // * 614 // This file has no copyright assigned and is placed in the Public Domain. 615 // This file is part of the mingw-w64 runtime package. 616 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 617 618 type X_beginthread_proc_type = uintptr /* process.h:32:16 */ 619 type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */ 620 621 type X_tls_callback_type = uintptr /* process.h:64:16 */ 622 623 //===---- limits.h - Standard header for integer sizes --------------------===* * 624 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 625 // See https://llvm.org/LICENSE.txt for license information. 626 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 627 // 628 // \*===----------------------------------------------------------------------=== 629 630 // The system's limits.h may, in turn, try to #include_next GCC's limits.h. 631 // Avert this #include_next madness. 632 633 // System headers include a number of constants from POSIX in <limits.h>. 634 // Include it if we're hosted. 635 636 // Many system headers try to "help us out" by defining these. No really, we 637 // know how big each datatype is. 638 639 // C90/99 5.2.4.2.1 640 641 // C2x 5.2.4.2.1 642 // FIXME: This is using the placeholder dates Clang produces for these macros 643 // in C2x mode; switch to the correct values once they've been published. 644 645 // C99 5.2.4.2.1: Added long long. 646 // C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>. 647 // 648 649 // LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad 650 // that we don't have something like #pragma poison that could be used to 651 // deprecate a macro - the code should just use LLONG_MAX and friends. 652 // 653 654 // * 655 // This file has no copyright assigned and is placed in the Public Domain. 656 // This file is part of the mingw-w64 runtime package. 657 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 658 659 // * 660 // This file has no copyright assigned and is placed in the Public Domain. 661 // This file is part of the mingw-w64 runtime package. 662 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 663 664 // 665 // Copyright (c) 2013-2016 mingw-w64 project 666 // 667 // Permission is hereby granted, free of charge, to any person obtaining a 668 // copy of this software and associated documentation files (the "Software"), 669 // to deal in the Software without restriction, including without limitation 670 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 671 // and/or sell copies of the Software, and to permit persons to whom the 672 // Software is furnished to do so, subject to the following conditions: 673 // 674 // The above copyright notice and this permission notice shall be included in 675 // all copies or substantial portions of the Software. 676 // 677 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 678 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 679 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 680 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 681 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 682 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 683 // DEALINGS IN THE SOFTWARE. 684 685 // Windows has rudimentary signals support. 686 687 type Sig_atomic_t = int32 /* signal.h:18:15 */ 688 689 type X__p_sig_fn_t = uintptr /* signal.h:48:16 */ 690 691 // * 692 // This file has no copyright assigned and is placed in the Public Domain. 693 // This file is part of the mingw-w64 runtime package. 694 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 695 696 // * 697 // This file has no copyright assigned and is placed in the Public Domain. 698 // This file is part of the mingw-w64 runtime package. 699 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 700 701 // Adding timespec definition. 702 // * 703 // This file has no copyright assigned and is placed in the Public Domain. 704 // This file is part of the mingw-w64 runtime package. 705 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 706 707 // * 708 // This file has no copyright assigned and is placed in the Public Domain. 709 // This file is part of the mingw-w64 runtime package. 710 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 711 712 type X__timeb32 = struct { 713 Ftime X__time32_t 714 Fmillitm uint16 715 Ftimezone int16 716 Fdstflag int16 717 F__ccgo_pad1 [2]byte 718 } /* timeb.h:53:3 */ 719 720 type Timeb = struct { 721 Ftime Time_t 722 Fmillitm uint16 723 Ftimezone int16 724 Fdstflag int16 725 F__ccgo_pad1 [2]byte 726 } /* timeb.h:61:3 */ 727 728 type X__timeb64 = struct { 729 Ftime X__time64_t 730 Fmillitm uint16 731 Ftimezone int16 732 Fdstflag int16 733 F__ccgo_pad1 [2]byte 734 } /* timeb.h:69:3 */ 735 736 type X_timespec32 = struct { 737 Ftv_sec X__time32_t 738 Ftv_nsec int32 739 } /* timeb.h:89:1 */ 740 741 type X_timespec64 = struct { 742 Ftv_sec X__time64_t 743 Ftv_nsec int32 744 F__ccgo_pad1 [4]byte 745 } /* timeb.h:94:1 */ 746 747 type Clock_t = int32 /* time.h:63:16 */ 748 749 type Tm = struct { 750 Ftm_sec int32 751 Ftm_min int32 752 Ftm_hour int32 753 Ftm_mday int32 754 Ftm_mon int32 755 Ftm_year int32 756 Ftm_wday int32 757 Ftm_yday int32 758 Ftm_isdst int32 759 } /* time.h:100:3 */ 760 761 var Xdaylight int32 /* time.h:275:22: */ 762 var Xtimezone int32 /* time.h:276:23: */ 763 var Xtzname [2]uintptr /* time.h:277:23: */ 764 765 // * 766 // This file has no copyright assigned and is placed in the Public Domain. 767 // This file is part of the mingw-w64 runtime package. 768 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 769 770 type Timeval = struct { 771 Ftv_sec int32 772 Ftv_usec int32 773 } /* _timeval.h:10:1 */ 774 775 type Timezone = struct { 776 Ftz_minuteswest int32 777 Ftz_dsttime int32 778 } /* time.h:285:1 */ 779 780 // POSIX 2008 says clock_gettime and timespec are defined in time.h header, 781 // but other systems - like Linux, Solaris, etc - tend to declare such 782 // recent extensions only if the following guards are met. 783 // 784 // Copyright (c) 2011-2016 mingw-w64 project 785 // 786 // Permission is hereby granted, free of charge, to any person obtaining a 787 // copy of this software and associated documentation files (the "Software"), 788 // to deal in the Software without restriction, including without limitation 789 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 790 // and/or sell copies of the Software, and to permit persons to whom the 791 // Software is furnished to do so, subject to the following conditions: 792 // 793 // The above copyright notice and this permission notice shall be included in 794 // all copies or substantial portions of the Software. 795 // 796 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 797 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 798 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 799 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 800 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 801 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 802 // DEALINGS IN THE SOFTWARE. 803 804 // * 805 // This file has no copyright assigned and is placed in the Public Domain. 806 // This file is part of the mingw-w64 runtime package. 807 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 808 809 // Posix timers are supported 810 811 // Monotonic clocks are available. 812 813 // CPU-time clocks are available. 814 815 // Clock support in threads are available. 816 817 type Clockid_t = int32 /* pthread_time.h:49:13 */ 818 819 // maximum number of times a read lock may be obtained 820 821 // No fork() in windows - so ignore this 822 823 // unsupported stuff: 824 825 type Pthread_once_t = int32 /* pthread.h:181:14 */ 826 type Pthread_mutexattr_t = uint32 /* pthread.h:182:18 */ 827 type Pthread_key_t = uint32 /* pthread.h:183:18 */ 828 type Pthread_barrierattr_t = uintptr /* pthread.h:184:14 */ 829 type Pthread_condattr_t = int32 /* pthread.h:185:13 */ 830 type Pthread_rwlockattr_t = int32 /* pthread.h:186:13 */ 831 832 // 833 // struct _pthread_v; 834 // 835 // typedef struct pthread_t { 836 // struct _pthread_v *p; 837 // int x; 838 // } pthread_t; 839 840 type Pthread_t = Uintptr_t /* pthread.h:197:19 */ 841 842 type X_pthread_cleanup1 = struct { 843 Ffunc uintptr 844 Farg uintptr 845 Fnext uintptr 846 } /* pthread.h:199:9 */ 847 848 type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:199:33 */ 849 850 // Note that if async cancelling is used, then there is a race here 851 852 // Some POSIX realtime extensions, mostly stubbed 853 854 type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:226:1 */ 855 856 type Pthread_attr_t1 = struct { 857 Fp_state uint32 858 F__ccgo_pad1 [4]byte 859 Fstack uintptr 860 Fs_size Size_t 861 Fparam struct{ Fsched_priority int32 } 862 F__ccgo_pad2 [4]byte 863 } /* pthread.h:238:9 */ 864 865 type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:238:31 */ 866 867 // synchronization objects 868 type Pthread_spinlock_t = Intptr_t /* pthread.h:255:18 */ 869 type Pthread_mutex_t = Intptr_t /* pthread.h:256:18 */ 870 type Pthread_cond_t = Intptr_t /* pthread.h:257:18 */ 871 type Pthread_rwlock_t = Intptr_t /* pthread.h:258:18 */ 872 type Pthread_barrier_t = uintptr /* pthread.h:259:14 */ 873 874 // 875 // Copyright (c) 2011-2016 mingw-w64 project 876 // 877 // Permission is hereby granted, free of charge, to any person obtaining a 878 // copy of this software and associated documentation files (the "Software"), 879 // to deal in the Software without restriction, including without limitation 880 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 881 // and/or sell copies of the Software, and to permit persons to whom the 882 // Software is furnished to do so, subject to the following conditions: 883 // 884 // The above copyright notice and this permission notice shall be included in 885 // all copies or substantial portions of the Software. 886 // 887 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 888 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 889 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 890 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 891 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 892 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 893 // DEALINGS IN THE SOFTWARE. 894 895 // Set defines described by the POSIX Threads Extension (1003.1c-1995) 896 // _SC_THREADS 897 // Basic support for POSIX threads is available. The functions 898 // 899 // pthread_atfork(), 900 // pthread_attr_destroy(), 901 // pthread_attr_getdetachstate(), 902 // pthread_attr_getschedparam(), 903 // pthread_attr_init(), 904 // pthread_attr_setdetachstate(), 905 // pthread_attr_setschedparam(), 906 // pthread_cancel(), 907 // pthread_cleanup_push(), 908 // pthread_cleanup_pop(), 909 // pthread_cond_broadcast(), 910 // pthread_cond_destroy(), 911 // pthread_cond_init(), 912 // pthread_cond_signal(), 913 // pthread_cond_timedwait(), 914 // pthread_cond_wait(), 915 // pthread_condattr_destroy(), 916 // pthread_condattr_init(), 917 // pthread_create(), 918 // pthread_detach(), 919 // pthread_equal(), 920 // pthread_exit(), 921 // pthread_getspecific(), 922 // pthread_join(, 923 // pthread_key_create(), 924 // pthread_key_delete(), 925 // pthread_mutex_destroy(), 926 // pthread_mutex_init(), 927 // pthread_mutex_lock(), 928 // pthread_mutex_trylock(), 929 // pthread_mutex_unlock(), 930 // pthread_mutexattr_destroy(), 931 // pthread_mutexattr_init(), 932 // pthread_once(), 933 // pthread_rwlock_destroy(), 934 // pthread_rwlock_init(), 935 // pthread_rwlock_rdlock(), 936 // pthread_rwlock_tryrdlock(), 937 // pthread_rwlock_trywrlock(), 938 // pthread_rwlock_unlock(), 939 // pthread_rwlock_wrlock(), 940 // pthread_rwlockattr_destroy(), 941 // pthread_rwlockattr_init(), 942 // pthread_self(), 943 // pthread_setcancelstate(), 944 // pthread_setcanceltype(), 945 // pthread_setspecific(), 946 // pthread_testcancel() 947 // 948 // are present. 949 950 // _SC_READER_WRITER_LOCKS 951 // This option implies the _POSIX_THREADS option. Conversely, under 952 // POSIX 1003.1-2001 the _POSIX_THREADS option implies this option. 953 // 954 // The functions 955 // pthread_rwlock_destroy(), 956 // pthread_rwlock_init(), 957 // pthread_rwlock_rdlock(), 958 // pthread_rwlock_tryrdlock(), 959 // pthread_rwlock_trywrlock(), 960 // pthread_rwlock_unlock(), 961 // pthread_rwlock_wrlock(), 962 // pthread_rwlockattr_destroy(), 963 // pthread_rwlockattr_init() 964 // 965 // are present. 966 967 // _SC_SPIN_LOCKS 968 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 969 // options. The functions 970 // 971 // pthread_spin_destroy(), 972 // pthread_spin_init(), 973 // pthread_spin_lock(), 974 // pthread_spin_trylock(), 975 // pthread_spin_unlock() 976 // 977 // are present. 978 979 // _SC_BARRIERS 980 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 981 // options. The functions 982 // 983 // pthread_barrier_destroy(), 984 // pthread_barrier_init(), 985 // pthread_barrier_wait(), 986 // pthread_barrierattr_destroy(), 987 // pthread_barrierattr_init() 988 // 989 // are present. 990 991 // _SC_TIMEOUTS 992 // The functions 993 // 994 // mq_timedreceive(), - not supported 995 // mq_timedsend(), - not supported 996 // posix_trace_timedgetnext_event(), - not supported 997 // pthread_mutex_timedlock(), 998 // pthread_rwlock_timedrdlock(), 999 // pthread_rwlock_timedwrlock(), 1000 // sem_timedwait(), 1001 // 1002 // are present. 1003 1004 // _SC_TIMERS - not supported 1005 // The functions 1006 // 1007 // clock_getres(), 1008 // clock_gettime(), 1009 // clock_settime(), 1010 // nanosleep(), 1011 // timer_create(), 1012 // timer_delete(), 1013 // timer_gettime(), 1014 // timer_getoverrun(), 1015 // timer_settime() 1016 // 1017 // are present. 1018 // #undef _POSIX_TIMERS 1019 1020 // _SC_CLOCK_SELECTION 1021 // This option implies the _POSIX_TIMERS option. The functions 1022 // 1023 // pthread_condattr_getclock(), 1024 // pthread_condattr_setclock(), 1025 // clock_nanosleep() 1026 // 1027 // are present. 1028 1029 // _SC_SEMAPHORES 1030 // The include file <semaphore.h> is present. The functions 1031 // 1032 // sem_close(), 1033 // sem_destroy(), 1034 // sem_getvalue(), 1035 // sem_init(), 1036 // sem_open(), 1037 // sem_post(), 1038 // sem_trywait(), 1039 // sem_unlink(), 1040 // sem_wait() 1041 // 1042 // are present. 1043 1044 // Wrap cancellation points. 1045 1046 // We deal here with a gcc issue for posix threading on Windows. 1047 // We would need to change here gcc's gthr-posix.h header, but this 1048 // got rejected. So we deal it within this header. 1049 1050 var _ int8 /* gen.c:2:13: */