423 lines
15 KiB
Go
423 lines
15 KiB
Go
|
// 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_amd64.go -pkgname time', DO NOT EDIT.
|
||
|
|
||
|
package time
|
||
|
|
||
|
import (
|
||
|
"math"
|
||
|
"reflect"
|
||
|
"sync/atomic"
|
||
|
"unsafe"
|
||
|
)
|
||
|
|
||
|
var _ = math.Pi
|
||
|
var _ reflect.Kind
|
||
|
var _ atomic.Value
|
||
|
var _ unsafe.Pointer
|
||
|
|
||
|
const (
|
||
|
CLK_TCK = 1000
|
||
|
CLOCKS_PER_SEC = 1000
|
||
|
CLOCK_MONOTONIC = 1
|
||
|
CLOCK_PROCESS_CPUTIME_ID = 2
|
||
|
CLOCK_REALTIME = 0
|
||
|
CLOCK_THREAD_CPUTIME_ID = 3
|
||
|
DUMMYSTRUCTNAME = 0
|
||
|
DUMMYSTRUCTNAME1 = 0
|
||
|
DUMMYSTRUCTNAME2 = 0
|
||
|
DUMMYSTRUCTNAME3 = 0
|
||
|
DUMMYSTRUCTNAME4 = 0
|
||
|
DUMMYSTRUCTNAME5 = 0
|
||
|
DUMMYUNIONNAME = 0
|
||
|
DUMMYUNIONNAME1 = 0
|
||
|
DUMMYUNIONNAME2 = 0
|
||
|
DUMMYUNIONNAME3 = 0
|
||
|
DUMMYUNIONNAME4 = 0
|
||
|
DUMMYUNIONNAME5 = 0
|
||
|
DUMMYUNIONNAME6 = 0
|
||
|
DUMMYUNIONNAME7 = 0
|
||
|
DUMMYUNIONNAME8 = 0
|
||
|
DUMMYUNIONNAME9 = 0
|
||
|
MINGW_DDK_H = 0
|
||
|
MINGW_DDRAW_VERSION = 7
|
||
|
MINGW_HAS_DDK_H = 1
|
||
|
MINGW_HAS_DDRAW_H = 1
|
||
|
MINGW_HAS_SECURE_API = 1
|
||
|
MINGW_SDK_INIT = 0
|
||
|
TIMER_ABSTIME = 1
|
||
|
UNALIGNED = 0
|
||
|
USE___UUIDOF = 0
|
||
|
WIN32 = 1
|
||
|
WIN64 = 1
|
||
|
WINNT = 1
|
||
|
WINPTHREAD_API = 0
|
||
|
WIN_PTHREADS_TIME_H = 0
|
||
|
X_AGLOBAL = 0
|
||
|
X_ANONYMOUS_STRUCT = 0
|
||
|
X_ANONYMOUS_UNION = 0
|
||
|
X_ARGMAX = 100
|
||
|
X_CLOCK_T_DEFINED = 0
|
||
|
X_CONST_RETURN = 0
|
||
|
X_CRTNOALIAS = 0
|
||
|
X_CRTRESTRICT = 0
|
||
|
X_CRT_ALTERNATIVE_IMPORTED = 0
|
||
|
X_CRT_MANAGED_HEAP_DEPRECATE = 0
|
||
|
X_CRT_PACKING = 8
|
||
|
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
|
||
|
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
|
||
|
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
|
||
|
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
|
||
|
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
|
||
|
X_DLL = 0
|
||
|
X_ERRCODE_DEFINED = 0
|
||
|
X_FILE_OFFSET_BITS = 64
|
||
|
X_INC_CRTDEFS = 0
|
||
|
X_INC_CRTDEFS_MACRO = 0
|
||
|
X_INC_MINGW_SECAPI = 0
|
||
|
X_INC_VADEFS = 0
|
||
|
X_INC_WTIME_INL = 0
|
||
|
X_INC_WTIME_S_INL = 0
|
||
|
X_INC__MINGW_H = 0
|
||
|
X_INT128_DEFINED = 0
|
||
|
X_INTEGRAL_MAX_BITS = 64
|
||
|
X_INTPTR_T_DEFINED = 0
|
||
|
X_MT = 0
|
||
|
X_M_AMD64 = 100
|
||
|
X_M_X64 = 100
|
||
|
X_PGLOBAL = 0
|
||
|
X_POSIX_CPUTIME = 200809
|
||
|
X_POSIX_MONOTONIC_CLOCK = 200809
|
||
|
X_POSIX_THREAD_CPUTIME = 200809
|
||
|
X_POSIX_TIMERS = 200809
|
||
|
X_PTRDIFF_T_ = 0
|
||
|
X_PTRDIFF_T_DEFINED = 0
|
||
|
X_REENTRANT = 1
|
||
|
X_RSIZE_T_DEFINED = 0
|
||
|
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
|
||
|
X_SIZE_T_DEFINED = 0
|
||
|
X_SSIZE_T_DEFINED = 0
|
||
|
X_TAGLC_ID_DEFINED = 0
|
||
|
X_THREADLOCALEINFO = 0
|
||
|
X_TIME32_T_DEFINED = 0
|
||
|
X_TIME64_T_DEFINED = 0
|
||
|
X_TIMEB_DEFINED = 0
|
||
|
X_TIMEB_H_ = 0
|
||
|
X_TIMEB_H_S = 0
|
||
|
X_TIMESPEC_DEFINED = 0
|
||
|
X_TIMEVAL_DEFINED = 0
|
||
|
X_TIMEZONE_DEFINED = 0
|
||
|
X_TIME_H_ = 0
|
||
|
X_TIME_T_DEFINED = 0
|
||
|
X_TM_DEFINED = 0
|
||
|
X_UINTPTR_T_DEFINED = 0
|
||
|
X_VA_LIST_DEFINED = 0
|
||
|
X_W64 = 0
|
||
|
X_WCHAR_T_DEFINED = 0
|
||
|
X_WCTYPE_T_DEFINED = 0
|
||
|
X_WIN32 = 1
|
||
|
X_WIN32_WINNT = 0x502
|
||
|
X_WIN64 = 1
|
||
|
X_WINT_T = 0
|
||
|
X_WTIME_DEFINED = 0
|
||
|
)
|
||
|
|
||
|
type Ptrdiff_t = int64 /* <builtin>:3:26 */
|
||
|
|
||
|
type Size_t = uint64 /* <builtin>:9:23 */
|
||
|
|
||
|
type Wchar_t = uint16 /* <builtin>:15:24 */
|
||
|
|
||
|
type X__int128_t = struct {
|
||
|
Flo int64
|
||
|
Fhi int64
|
||
|
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
|
||
|
type X__uint128_t = struct {
|
||
|
Flo uint64
|
||
|
Fhi uint64
|
||
|
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
|
||
|
|
||
|
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
|
||
|
type X__float128 = float64 /* <builtin>:47:21 */
|
||
|
|
||
|
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// This macro holds an monotonic increasing value, which indicates
|
||
|
// a specific fix/patch is present on trunk. This value isn't related to
|
||
|
// minor/major version-macros. It is increased on demand, if a big
|
||
|
// fix was applied to trunk. This macro gets just increased on trunk. For
|
||
|
// other branches its value won't be modified.
|
||
|
|
||
|
// mingw.org's version macros: these make gcc to define
|
||
|
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
|
||
|
// and the __mingwthr_key_dtor() function from the MinGW
|
||
|
// CRT in its private gthr-win32.h header.
|
||
|
|
||
|
// Set VC specific compiler target macros.
|
||
|
|
||
|
// MS does not prefix symbols by underscores for 64-bit.
|
||
|
// As we have to support older gcc version, which are using underscores
|
||
|
// as symbol prefix for x64, we have to check here for the user label
|
||
|
// prefix defined by gcc.
|
||
|
|
||
|
// Special case nameless struct/union.
|
||
|
|
||
|
// MinGW-w64 has some additional C99 printf/scanf feature support.
|
||
|
// So we add some helper macros to ease recognition of them.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
|
||
|
// Templates won't work in C, will break if secure API is not enabled, disabled
|
||
|
|
||
|
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
|
||
|
// fallback on default implementation if we can't know the size of the destination
|
||
|
|
||
|
// Include _cygwin.h if we're building a Cygwin application.
|
||
|
|
||
|
// Target specific macro replacement for type "long". In the Windows API,
|
||
|
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
|
||
|
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
|
||
|
// sized definitions and declarations, all usage of type long in the Windows
|
||
|
// headers have to be replaced by the below defined macro __LONG32.
|
||
|
|
||
|
// C/C++ specific language defines.
|
||
|
|
||
|
// Note the extern. This is needed to work around GCC's
|
||
|
// limitations in handling dllimport attribute.
|
||
|
|
||
|
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
|
||
|
// variadiac macro facility, because variadic macros cause syntax
|
||
|
// errors with --traditional-cpp.
|
||
|
|
||
|
// High byte is the major version, low byte is the minor.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
|
||
|
|
||
|
type Ssize_t = int64 /* crtdefs.h:45:35 */
|
||
|
|
||
|
type Rsize_t = Size_t /* crtdefs.h:52:16 */
|
||
|
|
||
|
type Intptr_t = int64 /* crtdefs.h:62:35 */
|
||
|
|
||
|
type Uintptr_t = uint64 /* crtdefs.h:75:44 */
|
||
|
|
||
|
type Wint_t = uint16 /* crtdefs.h:106:24 */
|
||
|
type Wctype_t = uint16 /* crtdefs.h:107:24 */
|
||
|
|
||
|
type Errno_t = int32 /* crtdefs.h:113:13 */
|
||
|
|
||
|
type X__time32_t = int32 /* crtdefs.h:118:14 */
|
||
|
|
||
|
type X__time64_t = int64 /* crtdefs.h:123:35 */
|
||
|
|
||
|
type Time_t = X__time64_t /* crtdefs.h:138:20 */
|
||
|
|
||
|
type Threadlocaleinfostruct = struct {
|
||
|
Frefcount int32
|
||
|
Flc_codepage uint32
|
||
|
Flc_collate_cp uint32
|
||
|
Flc_handle [6]uint32
|
||
|
Flc_id [6]LC_ID
|
||
|
Flc_category [6]struct {
|
||
|
Flocale uintptr
|
||
|
Fwlocale uintptr
|
||
|
Frefcount uintptr
|
||
|
Fwrefcount uintptr
|
||
|
}
|
||
|
Flc_clike int32
|
||
|
Fmb_cur_max int32
|
||
|
Flconv_intl_refcount uintptr
|
||
|
Flconv_num_refcount uintptr
|
||
|
Flconv_mon_refcount uintptr
|
||
|
Flconv uintptr
|
||
|
Fctype1_refcount uintptr
|
||
|
Fctype1 uintptr
|
||
|
Fpctype uintptr
|
||
|
Fpclmap uintptr
|
||
|
Fpcumap uintptr
|
||
|
Flc_time_curr uintptr
|
||
|
} /* crtdefs.h:422:1 */
|
||
|
|
||
|
type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */
|
||
|
type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */
|
||
|
|
||
|
type Localeinfo_struct = struct {
|
||
|
Flocinfo Pthreadlocinfo
|
||
|
Fmbcinfo Pthreadmbcinfo
|
||
|
} /* crtdefs.h:428:9 */
|
||
|
|
||
|
type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */
|
||
|
type X_locale_t = uintptr /* crtdefs.h:431:19 */
|
||
|
|
||
|
type TagLC_ID = struct {
|
||
|
FwLanguage uint16
|
||
|
FwCountry uint16
|
||
|
FwCodePage uint16
|
||
|
} /* crtdefs.h:422:1 */
|
||
|
|
||
|
type LC_ID = TagLC_ID /* crtdefs.h:439:3 */
|
||
|
type LPLC_ID = uintptr /* crtdefs.h:439:9 */
|
||
|
|
||
|
type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */
|
||
|
|
||
|
type Clock_t = int32 /* time.h:60:16 */
|
||
|
|
||
|
type Tm = struct {
|
||
|
Ftm_sec int32
|
||
|
Ftm_min int32
|
||
|
Ftm_hour int32
|
||
|
Ftm_mday int32
|
||
|
Ftm_mon int32
|
||
|
Ftm_year int32
|
||
|
Ftm_wday int32
|
||
|
Ftm_yday int32
|
||
|
Ftm_isdst int32
|
||
|
} /* time.h:97:3 */
|
||
|
|
||
|
var Xdaylight int32 /* time.h:278:22: */
|
||
|
|
||
|
var Xtimezone int32 /* time.h:281:23: */
|
||
|
var Xtzname [2]uintptr /* time.h:282:23: */
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
type Timeval = struct {
|
||
|
Ftv_sec int32
|
||
|
Ftv_usec int32
|
||
|
} /* _timeval.h:10:1 */
|
||
|
|
||
|
type Timezone = struct {
|
||
|
Ftz_minuteswest int32
|
||
|
Ftz_dsttime int32
|
||
|
} /* time.h:290:1 */
|
||
|
|
||
|
// Adding timespec definition.
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
type X__timeb32 = struct {
|
||
|
Ftime X__time32_t
|
||
|
Fmillitm uint16
|
||
|
Ftimezone int16
|
||
|
Fdstflag int16
|
||
|
F__ccgo_pad1 [2]byte
|
||
|
} /* timeb.h:53:3 */
|
||
|
|
||
|
type Timeb = struct {
|
||
|
Ftime Time_t
|
||
|
Fmillitm uint16
|
||
|
Ftimezone int16
|
||
|
Fdstflag int16
|
||
|
F__ccgo_pad1 [2]byte
|
||
|
} /* timeb.h:61:3 */
|
||
|
|
||
|
type X__timeb64 = struct {
|
||
|
Ftime X__time64_t
|
||
|
Fmillitm uint16
|
||
|
Ftimezone int16
|
||
|
Fdstflag int16
|
||
|
F__ccgo_pad1 [2]byte
|
||
|
} /* timeb.h:69:3 */
|
||
|
|
||
|
type Timespec = struct {
|
||
|
Ftv_sec Time_t
|
||
|
Ftv_nsec int32
|
||
|
F__ccgo_pad1 [4]byte
|
||
|
} /* timeb.h:90:1 */
|
||
|
|
||
|
type Itimerspec = struct {
|
||
|
Fit_interval struct {
|
||
|
Ftv_sec Time_t
|
||
|
Ftv_nsec int32
|
||
|
F__ccgo_pad1 [4]byte
|
||
|
}
|
||
|
Fit_value struct {
|
||
|
Ftv_sec Time_t
|
||
|
Ftv_nsec int32
|
||
|
F__ccgo_pad1 [4]byte
|
||
|
}
|
||
|
} /* timeb.h:95:1 */
|
||
|
|
||
|
// POSIX 2008 says clock_gettime and timespec are defined in time.h header,
|
||
|
// but other systems - like Linux, Solaris, etc - tend to declare such
|
||
|
// recent extensions only if the following guards are met.
|
||
|
//
|
||
|
// Copyright (c) 2011-2016 mingw-w64 project
|
||
|
//
|
||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||
|
// copy of this software and associated documentation files (the "Software"),
|
||
|
// to deal in the Software without restriction, including without limitation
|
||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||
|
// Software is furnished to do so, subject to the following conditions:
|
||
|
//
|
||
|
// The above copyright notice and this permission notice shall be included in
|
||
|
// all copies or substantial portions of the Software.
|
||
|
//
|
||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||
|
// DEALINGS IN THE SOFTWARE.
|
||
|
|
||
|
// *
|
||
|
// This file has no copyright assigned and is placed in the Public Domain.
|
||
|
// This file is part of the mingw-w64 runtime package.
|
||
|
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||
|
|
||
|
// Posix timers are supported
|
||
|
|
||
|
// Monotonic clocks are available.
|
||
|
|
||
|
// CPU-time clocks are available.
|
||
|
|
||
|
// Clock support in threads are available.
|
||
|
|
||
|
type Clockid_t = int32 /* pthread_time.h:49:13 */
|
||
|
|
||
|
var _ int8 /* gen.c:2:13: */
|