time_windows_386.go 18 KB

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