unistd_windows_arm64.go (24304B)
1 // Code generated by 'ccgo unistd\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 unistd\unistd_windows_arm64.go -pkgname unistd', DO NOT EDIT. 2 3 package unistd 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 DUMMYSTRUCTNAME = 0 19 DUMMYSTRUCTNAME1 = 0 20 DUMMYSTRUCTNAME2 = 0 21 DUMMYSTRUCTNAME3 = 0 22 DUMMYSTRUCTNAME4 = 0 23 DUMMYSTRUCTNAME5 = 0 24 DUMMYUNIONNAME = 0 25 DUMMYUNIONNAME1 = 0 26 DUMMYUNIONNAME2 = 0 27 DUMMYUNIONNAME3 = 0 28 DUMMYUNIONNAME4 = 0 29 DUMMYUNIONNAME5 = 0 30 DUMMYUNIONNAME6 = 0 31 DUMMYUNIONNAME7 = 0 32 DUMMYUNIONNAME8 = 0 33 DUMMYUNIONNAME9 = 0 34 FTRUNCATE_DEFINED = 0 35 F_OK = 0 36 MINGW_DDK_H = 0 37 MINGW_HAS_DDK_H = 1 38 MINGW_HAS_SECURE_API = 1 39 MINGW_SDK_INIT = 0 40 OLD_P_OVERLAY = 2 41 P_DETACH = 4 42 P_NOWAIT = 1 43 P_NOWAITO = 3 44 P_OVERLAY = 2 45 P_WAIT = 0 46 R_OK = 4 47 SEEK_CUR = 1 48 SEEK_END = 2 49 SEEK_SET = 0 50 STDERR_FILENO = 2 51 STDIN_FILENO = 0 52 STDOUT_FILENO = 1 53 UNALIGNED = 0 54 USE___UUIDOF = 0 55 WAIT_CHILD = 0 56 WAIT_GRANDCHILD = 1 57 WIN32 = 1 58 WIN64 = 1 59 WINNT = 1 60 WIN_PTHREADS_UNISTD_H = 0 61 W_OK = 2 62 X_OK = 1 63 X_AGLOBAL = 0 64 X_ANONYMOUS_STRUCT = 0 65 X_ANONYMOUS_UNION = 0 66 X_ARGMAX = 100 67 X_ARM64_ = 1 68 X_A_ARCH = 0x20 69 X_A_HIDDEN = 0x02 70 X_A_NORMAL = 0x00 71 X_A_RDONLY = 0x01 72 X_A_SUBDIR = 0x10 73 X_A_SYSTEM = 0x04 74 X_CONST_RETURN = 0 75 X_CRTNOALIAS = 0 76 X_CRTRESTRICT = 0 77 X_CRT_ALTERNATIVE_IMPORTED = 0 78 X_CRT_DIRECTORY_DEFINED = 0 79 X_CRT_GETPID_DEFINED = 0 80 X_CRT_MANAGED_HEAP_DEPRECATE = 0 81 X_CRT_MEMORY_DEFINED = 0 82 X_CRT_PACKING = 8 83 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0 84 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0 85 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0 86 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0 87 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0 88 X_CRT_SWAB_DEFINED = 0 89 X_CRT_SYSTEM_DEFINED = 0 90 X_CRT_TERMINATE_DEFINED = 0 91 X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0 92 X_CRT_WSYSTEM_DEFINED = 0 93 X_DEV_T_DEFINED = 0 94 X_DLL = 0 95 X_ERRCODE_DEFINED = 0 96 X_FILE_OFFSET_BITS = 64 97 X_FILE_OFFSET_BITS_SET_FTRUNCATE = 0 98 X_FILE_OFFSET_BITS_SET_LSEEK = 0 99 X_FILE_OFFSET_BITS_SET_OFFT = 0 100 X_FINDDATA_T_DEFINED = 0 101 X_FSIZE_T_DEFINED = 0 102 X_INC_CORECRT = 0 103 X_INC_CORECRT_STARTUP = 0 104 X_INC_CRTDEFS = 0 105 X_INC_CRTDEFS_MACRO = 0 106 X_INC_MINGW_SECAPI = 0 107 X_INC_PROCESS = 0 108 X_INC_STRING = 0 109 X_INC_STRING_S = 0 110 X_INC_TYPES = 0 111 X_INC_VADEFS = 0 112 X_INC__MINGW_H = 0 113 X_INO_T_DEFINED = 0 114 X_INT128_DEFINED = 0 115 X_INTPTR_T_DEFINED = 0 116 X_IO_H_ = 0 117 X_MODE_T_ = 0 118 X_MT = 0 119 X_M_ARM64 = 1 120 X_NLSCMPERROR = 2147483647 121 X_NLSCMP_DEFINED = 0 122 X_OFF64_T_DEFINED = 0 123 X_OFF_T_ = 0 124 X_OFF_T_DEFINED = 0 125 X_OLD_P_OVERLAY = 2 126 X_PGLOBAL = 0 127 X_PID_T_ = 0 128 X_POSIX_BARRIERS = 200112 129 X_POSIX_CLOCK_SELECTION = 200112 130 X_POSIX_READER_WRITER_LOCKS = 200112 131 X_POSIX_SEMAPHORES = 200112 132 X_POSIX_SPIN_LOCKS = 200112 133 X_POSIX_THREADS = 200112 134 X_POSIX_TIMEOUTS = 200112 135 X_PTRDIFF_T_ = 0 136 X_PTRDIFF_T_DEFINED = 0 137 X_P_DETACH = 4 138 X_P_NOWAIT = 1 139 X_P_NOWAITO = 3 140 X_P_OVERLAY = 2 141 X_P_WAIT = 0 142 X_RSIZE_T_DEFINED = 0 143 X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD 144 X_SIGSET_T_ = 0 145 X_SIZE_T_DEFINED = 0 146 X_SPAWNV_DEFINED = 0 147 X_SSIZE_T_DEFINED = 0 148 X_TAGLC_ID_DEFINED = 0 149 X_THREADLOCALEINFO = 0 150 X_TIME32_T_DEFINED = 0 151 X_TIME64_T_DEFINED = 0 152 X_TIMESPEC_DEFINED = 0 153 X_TIME_T_DEFINED = 0 154 X_UCRT = 0 155 X_UINTPTR_T_DEFINED = 0 156 X_UNISTD_H = 0 157 X_VA_LIST_DEFINED = 0 158 X_W64 = 0 159 X_WAIT_CHILD = 0 160 X_WAIT_GRANDCHILD = 1 161 X_WCHAR_T_DEFINED = 0 162 X_WCTYPE_T_DEFINED = 0 163 X_WConst_return = 0 164 X_WEXEC_DEFINED = 0 165 X_WFINDDATA_T_DEFINED = 0 166 X_WIN32 = 1 167 X_WIN32_WINNT = 0x601 168 X_WIN64 = 1 169 X_WINT_T = 0 170 X_WIO_DEFINED = 0 171 X_WSPAWN_DEFINED = 0 172 X_WSTRING_DEFINED = 0 173 X_WSTRING_S_DEFINED = 0 174 ) 175 176 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 177 178 type Size_t = uint64 /* <builtin>:9:23 */ 179 180 type Wchar_t = uint16 /* <builtin>:15:24 */ 181 182 type X__int128_t = struct { 183 Flo int64 184 Fhi int64 185 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 186 type X__uint128_t = struct { 187 Flo uint64 188 Fhi uint64 189 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 190 191 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 192 type X__float128 = float64 /* <builtin>:47:21 */ 193 194 type Va_list = X__builtin_va_list /* <builtin>:50:27 */ 195 196 // * 197 // This file has no copyright assigned and is placed in the Public Domain. 198 // This file is part of the mingw-w64 runtime package. 199 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 200 201 // * 202 // This file has no copyright assigned and is placed in the Public Domain. 203 // This file is part of the mingw-w64 runtime package. 204 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 205 206 // * 207 // This file has no copyright assigned and is placed in the Public Domain. 208 // This file is part of the mingw-w64 runtime package. 209 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 210 211 // * 212 // This file has no copyright assigned and is placed in the Public Domain. 213 // This file is part of the mingw-w64 runtime package. 214 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 215 216 // * 217 // This file has no copyright assigned and is placed in the Public Domain. 218 // This file is part of the mingw-w64 runtime package. 219 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 220 221 // * 222 // This file has no copyright assigned and is placed in the Public Domain. 223 // This file is part of the mingw-w64 runtime package. 224 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 225 226 // This macro holds an monotonic increasing value, which indicates 227 // a specific fix/patch is present on trunk. This value isn't related to 228 // minor/major version-macros. It is increased on demand, if a big 229 // fix was applied to trunk. This macro gets just increased on trunk. For 230 // other branches its value won't be modified. 231 232 // mingw.org's version macros: these make gcc to define 233 // MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global 234 // and the __mingwthr_key_dtor() function from the MinGW 235 // CRT in its private gthr-win32.h header. 236 237 // Set VC specific compiler target macros. 238 239 // MS does not prefix symbols by underscores for 64-bit. 240 // As we have to support older gcc version, which are using underscores 241 // as symbol prefix for x64, we have to check here for the user label 242 // prefix defined by gcc. 243 244 // Special case nameless struct/union. 245 246 // MinGW-w64 has some additional C99 printf/scanf feature support. 247 // So we add some helper macros to ease recognition of them. 248 249 // If _FORTIFY_SOURCE is enabled, some inline functions may use 250 // __builtin_va_arg_pack(). GCC may report an error if the address 251 // of such a function is used. Set _FORTIFY_VA_ARG=0 in this case. 252 253 // Enable workaround for ABI incompatibility on affected platforms 254 255 // * 256 // This file has no copyright assigned and is placed in the Public Domain. 257 // This file is part of the mingw-w64 runtime package. 258 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 259 260 // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx 261 // Templates won't work in C, will break if secure API is not enabled, disabled 262 263 // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true 264 // fallback on default implementation if we can't know the size of the destination 265 266 // Include _cygwin.h if we're building a Cygwin application. 267 268 // Target specific macro replacement for type "long". In the Windows API, 269 // the type long is always 32 bit, even if the target is 64 bit (LLP64). 270 // On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right 271 // sized definitions and declarations, all usage of type long in the Windows 272 // headers have to be replaced by the below defined macro __LONG32. 273 274 // C/C++ specific language defines. 275 276 // Note the extern. This is needed to work around GCC's 277 // limitations in handling dllimport attribute. 278 279 // Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's 280 // variadiac macro facility, because variadic macros cause syntax 281 // errors with --traditional-cpp. 282 283 // High byte is the major version, low byte is the minor. 284 285 // Allow both 0x1400 and 0xE00 to identify UCRT 286 287 // ===-------- vadefs.h ---------------------------------------------------=== 288 // 289 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 290 // See https://llvm.org/LICENSE.txt for license information. 291 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 292 // 293 //===-----------------------------------------------------------------------=== 294 295 // Only include this if we are aiming for MSVC compatibility. 296 // * 297 // This file has no copyright assigned and is placed in the Public Domain. 298 // This file is part of the mingw-w64 runtime package. 299 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 300 301 // * 302 // This file has no copyright assigned and is placed in the Public Domain. 303 // This file is part of the mingw-w64 runtime package. 304 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 305 306 // for backward compatibility 307 308 type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */ 309 310 type Ssize_t = int64 /* corecrt.h:45:35 */ 311 312 type Rsize_t = Size_t /* corecrt.h:52:16 */ 313 314 type Intptr_t = int64 /* corecrt.h:62:35 */ 315 316 type Uintptr_t = uint64 /* corecrt.h:75:44 */ 317 318 type Wint_t = uint16 /* corecrt.h:106:24 */ 319 type Wctype_t = uint16 /* corecrt.h:107:24 */ 320 321 type Errno_t = int32 /* corecrt.h:113:13 */ 322 323 type X__time32_t = int32 /* corecrt.h:118:14 */ 324 325 type X__time64_t = int64 /* corecrt.h:123:35 */ 326 327 type Time_t = X__time64_t /* corecrt.h:138:20 */ 328 329 type Threadlocaleinfostruct = struct { 330 F_locale_pctype uintptr 331 F_locale_mb_cur_max int32 332 F_locale_lc_codepage uint32 333 } /* corecrt.h:430:1 */ 334 335 type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */ 336 type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */ 337 338 type Localeinfo_struct = struct { 339 Flocinfo Pthreadlocinfo 340 Fmbcinfo Pthreadmbcinfo 341 } /* corecrt.h:436:9 */ 342 343 type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */ 344 type X_locale_t = uintptr /* corecrt.h:439:19 */ 345 346 type TagLC_ID = struct { 347 FwLanguage uint16 348 FwCountry uint16 349 FwCodePage uint16 350 } /* corecrt.h:443:9 */ 351 352 type LC_ID = TagLC_ID /* corecrt.h:447:3 */ 353 type LPLC_ID = uintptr /* corecrt.h:447:9 */ 354 355 type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */ 356 type X_fsize_t = uint32 /* io.h:29:25 */ 357 358 type X_finddata32_t = struct { 359 Fattrib uint32 360 Ftime_create X__time32_t 361 Ftime_access X__time32_t 362 Ftime_write X__time32_t 363 Fsize X_fsize_t 364 Fname [260]int8 365 } /* io.h:35:3 */ 366 367 type X_finddata32i64_t = struct { 368 Fattrib uint32 369 Ftime_create X__time32_t 370 Ftime_access X__time32_t 371 Ftime_write X__time32_t 372 Fsize int64 373 Fname [260]int8 374 F__ccgo_pad1 [4]byte 375 } /* io.h:44:3 */ 376 377 type X_finddata64i32_t = struct { 378 Fattrib uint32 379 F__ccgo_pad1 [4]byte 380 Ftime_create X__time64_t 381 Ftime_access X__time64_t 382 Ftime_write X__time64_t 383 Fsize X_fsize_t 384 Fname [260]int8 385 } /* io.h:53:3 */ 386 387 type X__finddata64_t = struct { 388 Fattrib uint32 389 F__ccgo_pad1 [4]byte 390 Ftime_create X__time64_t 391 Ftime_access X__time64_t 392 Ftime_write X__time64_t 393 Fsize int64 394 Fname [260]int8 395 F__ccgo_pad2 [4]byte 396 } /* io.h:62:3 */ 397 398 type X_wfinddata32_t = struct { 399 Fattrib uint32 400 Ftime_create X__time32_t 401 Ftime_access X__time32_t 402 Ftime_write X__time32_t 403 Fsize X_fsize_t 404 Fname [260]Wchar_t 405 } /* io.h:94:3 */ 406 407 type X_wfinddata32i64_t = struct { 408 Fattrib uint32 409 Ftime_create X__time32_t 410 Ftime_access X__time32_t 411 Ftime_write X__time32_t 412 Fsize int64 413 Fname [260]Wchar_t 414 } /* io.h:103:3 */ 415 416 type X_wfinddata64i32_t = struct { 417 Fattrib uint32 418 F__ccgo_pad1 [4]byte 419 Ftime_create X__time64_t 420 Ftime_access X__time64_t 421 Ftime_write X__time64_t 422 Fsize X_fsize_t 423 Fname [260]Wchar_t 424 F__ccgo_pad2 [4]byte 425 } /* io.h:112:3 */ 426 427 type X_wfinddata64_t = struct { 428 Fattrib uint32 429 F__ccgo_pad1 [4]byte 430 Ftime_create X__time64_t 431 Ftime_access X__time64_t 432 Ftime_write X__time64_t 433 Fsize int64 434 Fname [260]Wchar_t 435 } /* io.h:121:3 */ 436 437 type X_off_t = int32 /* _mingw_off_t.h:5:16 */ 438 type Off32_t = int32 /* _mingw_off_t.h:7:16 */ 439 440 type X_off64_t = int64 /* _mingw_off_t.h:13:39 */ 441 type Off64_t = int64 /* _mingw_off_t.h:15:39 */ 442 443 type Off_t = Off64_t /* _mingw_off_t.h:24:17 */ 444 445 type X_PVFV = uintptr /* corecrt_startup.h:20:14 */ 446 type X_PIFV = uintptr /* corecrt_startup.h:21:13 */ 447 type X_PVFI = uintptr /* corecrt_startup.h:22:14 */ 448 449 type X_onexit_table_t1 = struct { 450 F_first uintptr 451 F_last uintptr 452 F_end uintptr 453 } /* corecrt_startup.h:24:9 */ 454 455 type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */ 456 457 type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */ 458 459 // Includes a definition of _pid_t and pid_t 460 // * 461 // This file has no copyright assigned and is placed in the Public Domain. 462 // This file is part of the mingw-w64 runtime package. 463 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 464 465 // * 466 // This file has no copyright assigned and is placed in the Public Domain. 467 // This file is part of the mingw-w64 runtime package. 468 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 469 470 type X_ino_t = uint16 /* types.h:43:24 */ 471 type Ino_t = uint16 /* types.h:45:24 */ 472 473 type X_dev_t = uint32 /* types.h:51:22 */ 474 type Dev_t = uint32 /* types.h:53:22 */ 475 476 type X_pid_t = int64 /* types.h:63:17 */ 477 478 type Pid_t = X_pid_t /* types.h:68:16 */ 479 480 type X_mode_t = uint16 /* types.h:74:24 */ 481 482 type Mode_t = X_mode_t /* types.h:77:17 */ 483 484 type Useconds_t = uint32 /* types.h:84:22 */ 485 486 type Timespec = struct { 487 Ftv_sec Time_t 488 Ftv_nsec int32 489 F__ccgo_pad1 [4]byte 490 } /* types.h:89:1 */ 491 492 type Itimerspec = struct { 493 Fit_interval struct { 494 Ftv_sec Time_t 495 Ftv_nsec int32 496 F__ccgo_pad1 [4]byte 497 } 498 Fit_value struct { 499 Ftv_sec Time_t 500 Ftv_nsec int32 501 F__ccgo_pad1 [4]byte 502 } 503 } /* types.h:94:1 */ 504 505 type X_sigset_t = uint64 /* types.h:104:28 */ 506 507 type X_beginthread_proc_type = uintptr /* process.h:32:16 */ 508 type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */ 509 510 type X_tls_callback_type = uintptr /* process.h:64:16 */ 511 512 // 513 // Copyright (c) 2011-2016 mingw-w64 project 514 // 515 // Permission is hereby granted, free of charge, to any person obtaining a 516 // copy of this software and associated documentation files (the "Software"), 517 // to deal in the Software without restriction, including without limitation 518 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 519 // and/or sell copies of the Software, and to permit persons to whom the 520 // Software is furnished to do so, subject to the following conditions: 521 // 522 // The above copyright notice and this permission notice shall be included in 523 // all copies or substantial portions of the Software. 524 // 525 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 526 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 527 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 528 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 529 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 530 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 531 // DEALINGS IN THE SOFTWARE. 532 533 // Set defines described by the POSIX Threads Extension (1003.1c-1995) 534 // _SC_THREADS 535 // Basic support for POSIX threads is available. The functions 536 // 537 // pthread_atfork(), 538 // pthread_attr_destroy(), 539 // pthread_attr_getdetachstate(), 540 // pthread_attr_getschedparam(), 541 // pthread_attr_init(), 542 // pthread_attr_setdetachstate(), 543 // pthread_attr_setschedparam(), 544 // pthread_cancel(), 545 // pthread_cleanup_push(), 546 // pthread_cleanup_pop(), 547 // pthread_cond_broadcast(), 548 // pthread_cond_destroy(), 549 // pthread_cond_init(), 550 // pthread_cond_signal(), 551 // pthread_cond_timedwait(), 552 // pthread_cond_wait(), 553 // pthread_condattr_destroy(), 554 // pthread_condattr_init(), 555 // pthread_create(), 556 // pthread_detach(), 557 // pthread_equal(), 558 // pthread_exit(), 559 // pthread_getspecific(), 560 // pthread_join(, 561 // pthread_key_create(), 562 // pthread_key_delete(), 563 // pthread_mutex_destroy(), 564 // pthread_mutex_init(), 565 // pthread_mutex_lock(), 566 // pthread_mutex_trylock(), 567 // pthread_mutex_unlock(), 568 // pthread_mutexattr_destroy(), 569 // pthread_mutexattr_init(), 570 // pthread_once(), 571 // pthread_rwlock_destroy(), 572 // pthread_rwlock_init(), 573 // pthread_rwlock_rdlock(), 574 // pthread_rwlock_tryrdlock(), 575 // pthread_rwlock_trywrlock(), 576 // pthread_rwlock_unlock(), 577 // pthread_rwlock_wrlock(), 578 // pthread_rwlockattr_destroy(), 579 // pthread_rwlockattr_init(), 580 // pthread_self(), 581 // pthread_setcancelstate(), 582 // pthread_setcanceltype(), 583 // pthread_setspecific(), 584 // pthread_testcancel() 585 // 586 // are present. 587 588 // _SC_READER_WRITER_LOCKS 589 // This option implies the _POSIX_THREADS option. Conversely, under 590 // POSIX 1003.1-2001 the _POSIX_THREADS option implies this option. 591 // 592 // The functions 593 // pthread_rwlock_destroy(), 594 // pthread_rwlock_init(), 595 // pthread_rwlock_rdlock(), 596 // pthread_rwlock_tryrdlock(), 597 // pthread_rwlock_trywrlock(), 598 // pthread_rwlock_unlock(), 599 // pthread_rwlock_wrlock(), 600 // pthread_rwlockattr_destroy(), 601 // pthread_rwlockattr_init() 602 // 603 // are present. 604 605 // _SC_SPIN_LOCKS 606 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 607 // options. The functions 608 // 609 // pthread_spin_destroy(), 610 // pthread_spin_init(), 611 // pthread_spin_lock(), 612 // pthread_spin_trylock(), 613 // pthread_spin_unlock() 614 // 615 // are present. 616 617 // _SC_BARRIERS 618 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 619 // options. The functions 620 // 621 // pthread_barrier_destroy(), 622 // pthread_barrier_init(), 623 // pthread_barrier_wait(), 624 // pthread_barrierattr_destroy(), 625 // pthread_barrierattr_init() 626 // 627 // are present. 628 629 // _SC_TIMEOUTS 630 // The functions 631 // 632 // mq_timedreceive(), - not supported 633 // mq_timedsend(), - not supported 634 // posix_trace_timedgetnext_event(), - not supported 635 // pthread_mutex_timedlock(), 636 // pthread_rwlock_timedrdlock(), 637 // pthread_rwlock_timedwrlock(), 638 // sem_timedwait(), 639 // 640 // are present. 641 642 // _SC_TIMERS - not supported 643 // The functions 644 // 645 // clock_getres(), 646 // clock_gettime(), 647 // clock_settime(), 648 // nanosleep(), 649 // timer_create(), 650 // timer_delete(), 651 // timer_gettime(), 652 // timer_getoverrun(), 653 // timer_settime() 654 // 655 // are present. 656 // #undef _POSIX_TIMERS 657 658 // _SC_CLOCK_SELECTION 659 // This option implies the _POSIX_TIMERS option. The functions 660 // 661 // pthread_condattr_getclock(), 662 // pthread_condattr_setclock(), 663 // clock_nanosleep() 664 // 665 // are present. 666 667 // _SC_SEMAPHORES 668 // The include file <semaphore.h> is present. The functions 669 // 670 // sem_close(), 671 // sem_destroy(), 672 // sem_getvalue(), 673 // sem_init(), 674 // sem_open(), 675 // sem_post(), 676 // sem_trywait(), 677 // sem_unlink(), 678 // sem_wait() 679 // 680 // are present. 681 682 var _ int8 /* gen.c:2:13: */