time_windows_arm64.go 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. // Code generated by 'ccgo time\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 time\time_windows_arm64.go -pkgname time', DO NOT EDIT.
  2. package time
  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. CLK_TCK = 1000
  15. CLOCKS_PER_SEC = 1000
  16. CLOCK_MONOTONIC = 1
  17. CLOCK_PROCESS_CPUTIME_ID = 2
  18. CLOCK_REALTIME = 0
  19. CLOCK_REALTIME_COARSE = 4
  20. CLOCK_THREAD_CPUTIME_ID = 3
  21. DUMMYSTRUCTNAME = 0
  22. DUMMYSTRUCTNAME1 = 0
  23. DUMMYSTRUCTNAME2 = 0
  24. DUMMYSTRUCTNAME3 = 0
  25. DUMMYSTRUCTNAME4 = 0
  26. DUMMYSTRUCTNAME5 = 0
  27. DUMMYUNIONNAME = 0
  28. DUMMYUNIONNAME1 = 0
  29. DUMMYUNIONNAME2 = 0
  30. DUMMYUNIONNAME3 = 0
  31. DUMMYUNIONNAME4 = 0
  32. DUMMYUNIONNAME5 = 0
  33. DUMMYUNIONNAME6 = 0
  34. DUMMYUNIONNAME7 = 0
  35. DUMMYUNIONNAME8 = 0
  36. DUMMYUNIONNAME9 = 0
  37. MINGW_DDK_H = 0
  38. MINGW_HAS_DDK_H = 1
  39. MINGW_HAS_SECURE_API = 1
  40. MINGW_SDK_INIT = 0
  41. TIMER_ABSTIME = 1
  42. TIME_UTC = 1
  43. UNALIGNED = 0
  44. USE___UUIDOF = 0
  45. WIN32 = 1
  46. WIN64 = 1
  47. WINNT = 1
  48. WINPTHREAD_API = 0
  49. WIN_PTHREADS_TIME_H = 0
  50. X_AGLOBAL = 0
  51. X_ANONYMOUS_STRUCT = 0
  52. X_ANONYMOUS_UNION = 0
  53. X_ARGMAX = 100
  54. X_ARM64_ = 1
  55. X_CLOCK_T_DEFINED = 0
  56. X_CONST_RETURN = 0
  57. X_CRTNOALIAS = 0
  58. X_CRTRESTRICT = 0
  59. X_CRT_ALTERNATIVE_IMPORTED = 0
  60. X_CRT_MANAGED_HEAP_DEPRECATE = 0
  61. X_CRT_PACKING = 8
  62. X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
  63. X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
  64. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
  65. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
  66. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
  67. X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
  68. X_DLL = 0
  69. X_ERRCODE_DEFINED = 0
  70. X_FILE_OFFSET_BITS = 64
  71. X_INC_CORECRT = 0
  72. X_INC_CRTDEFS = 0
  73. X_INC_CRTDEFS_MACRO = 0
  74. X_INC_MINGW_SECAPI = 0
  75. X_INC_VADEFS = 0
  76. X_INC_WTIME_INL = 0
  77. X_INC_WTIME_S_INL = 0
  78. X_INC__MINGW_H = 0
  79. X_INT128_DEFINED = 0
  80. X_INTPTR_T_DEFINED = 0
  81. X_MT = 0
  82. X_M_ARM64 = 1
  83. X_PGLOBAL = 0
  84. X_POSIX_CPUTIME = 200809
  85. X_POSIX_MONOTONIC_CLOCK = 200809
  86. X_POSIX_THREAD_CPUTIME = 200809
  87. X_POSIX_TIMERS = 200809
  88. X_PTRDIFF_T_ = 0
  89. X_PTRDIFF_T_DEFINED = 0
  90. X_RSIZE_T_DEFINED = 0
  91. X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
  92. X_SIZE_T_DEFINED = 0
  93. X_SSIZE_T_DEFINED = 0
  94. X_TAGLC_ID_DEFINED = 0
  95. X_THREADLOCALEINFO = 0
  96. X_TIME32_T_DEFINED = 0
  97. X_TIME64_T_DEFINED = 0
  98. X_TIMEB_DEFINED = 0
  99. X_TIMEB_H_ = 0
  100. X_TIMEB_H_S = 0
  101. X_TIMESPEC_DEFINED = 0
  102. X_TIMEVAL_DEFINED = 0
  103. X_TIMEZONE_DEFINED = 0
  104. X_TIME_H_ = 0
  105. X_TIME_T_DEFINED = 0
  106. X_TM_DEFINED = 0
  107. X_UCRT = 0
  108. X_UINTPTR_T_DEFINED = 0
  109. X_VA_LIST_DEFINED = 0
  110. X_W64 = 0
  111. X_WCHAR_T_DEFINED = 0
  112. X_WCTYPE_T_DEFINED = 0
  113. X_WIN32 = 1
  114. X_WIN32_WINNT = 0x601
  115. X_WIN64 = 1
  116. X_WINT_T = 0
  117. X_WTIME_DEFINED = 0
  118. )
  119. type Ptrdiff_t = int64 /* <builtin>:3:26 */
  120. type Size_t = uint64 /* <builtin>:9:23 */
  121. type Wchar_t = uint16 /* <builtin>:15:24 */
  122. type X__int128_t = struct {
  123. Flo int64
  124. Fhi int64
  125. } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  126. type X__uint128_t = struct {
  127. Flo uint64
  128. Fhi uint64
  129. } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  130. type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  131. type X__float128 = float64 /* <builtin>:47:21 */
  132. type Va_list = X__builtin_va_list /* <builtin>:50:27 */
  133. // *
  134. // This file has no copyright assigned and is placed in the Public Domain.
  135. // This file is part of the mingw-w64 runtime package.
  136. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  137. // *
  138. // This file has no copyright assigned and is placed in the Public Domain.
  139. // This file is part of the mingw-w64 runtime package.
  140. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  141. // *
  142. // This file has no copyright assigned and is placed in the Public Domain.
  143. // This file is part of the mingw-w64 runtime package.
  144. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  145. // *
  146. // This file has no copyright assigned and is placed in the Public Domain.
  147. // This file is part of the mingw-w64 runtime package.
  148. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  149. // *
  150. // This file has no copyright assigned and is placed in the Public Domain.
  151. // This file is part of the mingw-w64 runtime package.
  152. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  153. // This macro holds an monotonic increasing value, which indicates
  154. // a specific fix/patch is present on trunk. This value isn't related to
  155. // minor/major version-macros. It is increased on demand, if a big
  156. // fix was applied to trunk. This macro gets just increased on trunk. For
  157. // other branches its value won't be modified.
  158. // mingw.org's version macros: these make gcc to define
  159. // MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
  160. // and the __mingwthr_key_dtor() function from the MinGW
  161. // CRT in its private gthr-win32.h header.
  162. // Set VC specific compiler target macros.
  163. // MS does not prefix symbols by underscores for 64-bit.
  164. // As we have to support older gcc version, which are using underscores
  165. // as symbol prefix for x64, we have to check here for the user label
  166. // prefix defined by gcc.
  167. // Special case nameless struct/union.
  168. // MinGW-w64 has some additional C99 printf/scanf feature support.
  169. // So we add some helper macros to ease recognition of them.
  170. // If _FORTIFY_SOURCE is enabled, some inline functions may use
  171. // __builtin_va_arg_pack(). GCC may report an error if the address
  172. // of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
  173. // Enable workaround for ABI incompatibility on affected platforms
  174. // *
  175. // This file has no copyright assigned and is placed in the Public Domain.
  176. // This file is part of the mingw-w64 runtime package.
  177. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  178. // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
  179. // Templates won't work in C, will break if secure API is not enabled, disabled
  180. // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
  181. // fallback on default implementation if we can't know the size of the destination
  182. // Include _cygwin.h if we're building a Cygwin application.
  183. // Target specific macro replacement for type "long". In the Windows API,
  184. // the type long is always 32 bit, even if the target is 64 bit (LLP64).
  185. // On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
  186. // sized definitions and declarations, all usage of type long in the Windows
  187. // headers have to be replaced by the below defined macro __LONG32.
  188. // C/C++ specific language defines.
  189. // Note the extern. This is needed to work around GCC's
  190. // limitations in handling dllimport attribute.
  191. // Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
  192. // variadiac macro facility, because variadic macros cause syntax
  193. // errors with --traditional-cpp.
  194. // High byte is the major version, low byte is the minor.
  195. // Allow both 0x1400 and 0xE00 to identify UCRT
  196. // ===-------- vadefs.h ---------------------------------------------------===
  197. //
  198. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  199. // See https://llvm.org/LICENSE.txt for license information.
  200. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  201. //
  202. //===-----------------------------------------------------------------------===
  203. // Only include this if we are aiming for MSVC compatibility.
  204. // *
  205. // This file has no copyright assigned and is placed in the Public Domain.
  206. // This file is part of the mingw-w64 runtime package.
  207. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  208. // *
  209. // This file has no copyright assigned and is placed in the Public Domain.
  210. // This file is part of the mingw-w64 runtime package.
  211. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  212. // for backward compatibility
  213. type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
  214. type Ssize_t = int64 /* corecrt.h:45:35 */
  215. type Rsize_t = Size_t /* corecrt.h:52:16 */
  216. type Intptr_t = int64 /* corecrt.h:62:35 */
  217. type Uintptr_t = uint64 /* corecrt.h:75:44 */
  218. type Wint_t = uint16 /* corecrt.h:106:24 */
  219. type Wctype_t = uint16 /* corecrt.h:107:24 */
  220. type Errno_t = int32 /* corecrt.h:113:13 */
  221. type X__time32_t = int32 /* corecrt.h:118:14 */
  222. type X__time64_t = int64 /* corecrt.h:123:35 */
  223. type Time_t = X__time64_t /* corecrt.h:138:20 */
  224. type Threadlocaleinfostruct = struct {
  225. F_locale_pctype uintptr
  226. F_locale_mb_cur_max int32
  227. F_locale_lc_codepage uint32
  228. } /* corecrt.h:430:1 */
  229. type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
  230. type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
  231. type Localeinfo_struct = struct {
  232. Flocinfo Pthreadlocinfo
  233. Fmbcinfo Pthreadmbcinfo
  234. } /* corecrt.h:436:9 */
  235. type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
  236. type X_locale_t = uintptr /* corecrt.h:439:19 */
  237. type TagLC_ID = struct {
  238. FwLanguage uint16
  239. FwCountry uint16
  240. FwCodePage uint16
  241. } /* corecrt.h:443:9 */
  242. type LC_ID = TagLC_ID /* corecrt.h:447:3 */
  243. type LPLC_ID = uintptr /* corecrt.h:447:9 */
  244. type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
  245. // Adding timespec definition.
  246. // *
  247. // This file has no copyright assigned and is placed in the Public Domain.
  248. // This file is part of the mingw-w64 runtime package.
  249. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  250. // *
  251. // This file has no copyright assigned and is placed in the Public Domain.
  252. // This file is part of the mingw-w64 runtime package.
  253. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  254. type X__timeb32 = struct {
  255. Ftime X__time32_t
  256. Fmillitm uint16
  257. Ftimezone int16
  258. Fdstflag int16
  259. F__ccgo_pad1 [2]byte
  260. } /* timeb.h:53:3 */
  261. type Timeb = struct {
  262. Ftime Time_t
  263. Fmillitm uint16
  264. Ftimezone int16
  265. Fdstflag int16
  266. F__ccgo_pad1 [2]byte
  267. } /* timeb.h:61:3 */
  268. type X__timeb64 = struct {
  269. Ftime X__time64_t
  270. Fmillitm uint16
  271. Ftimezone int16
  272. Fdstflag int16
  273. F__ccgo_pad1 [2]byte
  274. } /* timeb.h:69:3 */
  275. type X_timespec32 = struct {
  276. Ftv_sec X__time32_t
  277. Ftv_nsec int32
  278. } /* timeb.h:89:1 */
  279. type X_timespec64 = struct {
  280. Ftv_sec X__time64_t
  281. Ftv_nsec int32
  282. F__ccgo_pad1 [4]byte
  283. } /* timeb.h:94:1 */
  284. type Timespec = struct {
  285. Ftv_sec Time_t
  286. Ftv_nsec int32
  287. F__ccgo_pad1 [4]byte
  288. } /* timeb.h:101:1 */
  289. type Itimerspec = struct {
  290. Fit_interval struct {
  291. Ftv_sec Time_t
  292. Ftv_nsec int32
  293. F__ccgo_pad1 [4]byte
  294. }
  295. Fit_value struct {
  296. Ftv_sec Time_t
  297. Ftv_nsec int32
  298. F__ccgo_pad1 [4]byte
  299. }
  300. } /* timeb.h:106:1 */
  301. type Clock_t = int32 /* time.h:63:16 */
  302. type Tm = struct {
  303. Ftm_sec int32
  304. Ftm_min int32
  305. Ftm_hour int32
  306. Ftm_mday int32
  307. Ftm_mon int32
  308. Ftm_year int32
  309. Ftm_wday int32
  310. Ftm_yday int32
  311. Ftm_isdst int32
  312. } /* time.h:100:3 */
  313. var Xdaylight int32 /* time.h:275:22: */
  314. var Xtimezone int32 /* time.h:276:23: */
  315. var Xtzname [2]uintptr /* time.h:277:23: */
  316. // *
  317. // This file has no copyright assigned and is placed in the Public Domain.
  318. // This file is part of the mingw-w64 runtime package.
  319. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  320. type Timeval = struct {
  321. Ftv_sec int32
  322. Ftv_usec int32
  323. } /* _timeval.h:10:1 */
  324. type Timezone = struct {
  325. Ftz_minuteswest int32
  326. Ftz_dsttime int32
  327. } /* time.h:285:1 */
  328. // POSIX 2008 says clock_gettime and timespec are defined in time.h header,
  329. // but other systems - like Linux, Solaris, etc - tend to declare such
  330. // recent extensions only if the following guards are met.
  331. //
  332. // Copyright (c) 2011-2016 mingw-w64 project
  333. //
  334. // Permission is hereby granted, free of charge, to any person obtaining a
  335. // copy of this software and associated documentation files (the "Software"),
  336. // to deal in the Software without restriction, including without limitation
  337. // the rights to use, copy, modify, merge, publish, distribute, sublicense,
  338. // and/or sell copies of the Software, and to permit persons to whom the
  339. // Software is furnished to do so, subject to the following conditions:
  340. //
  341. // The above copyright notice and this permission notice shall be included in
  342. // all copies or substantial portions of the Software.
  343. //
  344. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  345. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  346. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  347. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  348. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  349. // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  350. // DEALINGS IN THE SOFTWARE.
  351. // *
  352. // This file has no copyright assigned and is placed in the Public Domain.
  353. // This file is part of the mingw-w64 runtime package.
  354. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  355. // Posix timers are supported
  356. // Monotonic clocks are available.
  357. // CPU-time clocks are available.
  358. // Clock support in threads are available.
  359. type Clockid_t = int32 /* pthread_time.h:49:13 */
  360. var _ int8 /* gen.c:2:13: */