unistd_windows_arm64.go 24 KB

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