#136: Start working on database persistence

This commit is contained in:
TwinProduction
2021-07-12 00:56:30 -04:00
committed by Chris
parent e6335da94f
commit bd1eb7c61b
657 changed files with 2190821 additions and 82 deletions

5
vendor/modernc.org/libc/time/capi_darwin_amd64.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_amd64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_darwin_arm64.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_darwin_arm64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_linux_386.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_linux_amd64.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_amd64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_linux_arm.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_linux_arm64.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/time/capi_linux_s390x.go generated vendored Normal file
View File

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

9
vendor/modernc.org/libc/time/capi_windows_386.go generated vendored Normal file
View File

@ -0,0 +1,9 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{
"daylight": {},
"timezone": {},
"tzname": {},
}

9
vendor/modernc.org/libc/time/capi_windows_amd64.go generated vendored Normal file
View File

@ -0,0 +1,9 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_amd64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{
"daylight": {},
"timezone": {},
"tzname": {},
}

1769
vendor/modernc.org/libc/time/time_darwin_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load Diff

1759
vendor/modernc.org/libc/time/time_darwin_arm64.go generated vendored Normal file

File diff suppressed because it is too large Load Diff

579
vendor/modernc.org/libc/time/time_linux_386.go generated vendored Normal file
View File

@ -0,0 +1,579 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_386.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 (
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
CLOCK_MONOTONIC_COARSE = 6
CLOCK_MONOTONIC_RAW = 4
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_ALARM = 8
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES___LOCALE_T_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_TIME_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
I386 = 1
Linux = 1
Unix = 1
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
// are already defined.
// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Convenience types.
type X__u_char = uint8 /* types.h:30:23 */
type X__u_short = uint16 /* types.h:31:28 */
type X__u_int = uint32 /* types.h:32:22 */
type X__u_long = uint32 /* types.h:33:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:36:21 */
type X__uint8_t = uint8 /* types.h:37:23 */
type X__int16_t = int16 /* types.h:38:26 */
type X__uint16_t = uint16 /* types.h:39:28 */
type X__int32_t = int32 /* types.h:40:20 */
type X__uint32_t = uint32 /* types.h:41:22 */
type X__int64_t = int64 /* types.h:46:44 */
type X__uint64_t = uint64 /* types.h:47:46 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:51:18 */
type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
type X__int_least16_t = X__int16_t /* types.h:53:19 */
type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
type X__int_least32_t = X__int32_t /* types.h:55:19 */
type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
type X__int_least64_t = X__int64_t /* types.h:57:19 */
type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:65:37 */
type X__u_quad_t = uint64 /* types.h:66:46 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:74:37 */
type X__uintmax_t = uint64 /* types.h:75:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, always long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
// Copyright (C) 2012-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// X32 kernel interface is 64-bit.
// Number of descriptors that can fit in an `fd_set'.
type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:166:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:169:12 */
// Type to represent block size.
type X__blksize_t = int32 /* types.h:172:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int32 /* types.h:177:28 */
type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint32 /* types.h:181:30 */
type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint32 /* types.h:185:30 */
type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int32 /* types.h:189:28 */
type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int32 /* types.h:194:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint32 /* types.h:196:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:201:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int32 /* types.h:204:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:207:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:212:13 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
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
Ftm_gmtoff int32
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:9:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ int8 /* gen.c:2:13: */

598
vendor/modernc.org/libc/time/time_linux_amd64.go generated vendored Normal file
View File

@ -0,0 +1,598 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_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 (
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
CLOCK_MONOTONIC_COARSE = 6
CLOCK_MONOTONIC_RAW = 4
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_ALARM = 8
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES___LOCALE_T_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_TIME_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
Linux = 1
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <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 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
// are already defined.
// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Both x86-64 and x32 use the 64-bit system call interface.
// Convenience types.
type X__u_char = uint8 /* types.h:30:23 */
type X__u_short = uint16 /* types.h:31:28 */
type X__u_int = uint32 /* types.h:32:22 */
type X__u_long = uint64 /* types.h:33:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:36:21 */
type X__uint8_t = uint8 /* types.h:37:23 */
type X__int16_t = int16 /* types.h:38:26 */
type X__uint16_t = uint16 /* types.h:39:28 */
type X__int32_t = int32 /* types.h:40:20 */
type X__uint32_t = uint32 /* types.h:41:22 */
type X__int64_t = int64 /* types.h:43:25 */
type X__uint64_t = uint64 /* types.h:44:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:51:18 */
type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
type X__int_least16_t = X__int16_t /* types.h:53:19 */
type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
type X__int_least32_t = X__int32_t /* types.h:55:19 */
type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
type X__int_least64_t = X__int64_t /* types.h:57:19 */
type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:62:18 */
type X__u_quad_t = uint64 /* types.h:63:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:71:18 */
type X__uintmax_t = uint64 /* types.h:72:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, always long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
// Copyright (C) 2012-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// X32 kernel interface is 64-bit.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for __rlim_t and __rlim64_t.
// Number of descriptors that can fit in an `fd_set'.
type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:166:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:169:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:172:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:177:28 */
type X__blkcnt64_t = int64 /* types.h:178:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:181:30 */
type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:185:30 */
type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:189:28 */
type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:194:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:196:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:201:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:204:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:207:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:212:13 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
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
_ [4]byte
Ftm_gmtoff int64
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:9:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ int8 /* gen.c:2:13: */

591
vendor/modernc.org/libc/time/time_linux_arm.go generated vendored Normal file
View File

@ -0,0 +1,591 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm.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 (
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
CLOCK_MONOTONIC_COARSE = 6
CLOCK_MONOTONIC_RAW = 4
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_ALARM = 8
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES___LOCALE_T_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_TIME_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
Linux = 1
Unix = 1
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = uint32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
// are already defined.
// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Copyright (C) 1999-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Convenience types.
type X__u_char = uint8 /* types.h:30:23 */
type X__u_short = uint16 /* types.h:31:28 */
type X__u_int = uint32 /* types.h:32:22 */
type X__u_long = uint32 /* types.h:33:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:36:21 */
type X__uint8_t = uint8 /* types.h:37:23 */
type X__int16_t = int16 /* types.h:38:26 */
type X__uint16_t = uint16 /* types.h:39:28 */
type X__int32_t = int32 /* types.h:40:20 */
type X__uint32_t = uint32 /* types.h:41:22 */
type X__int64_t = int64 /* types.h:46:44 */
type X__uint64_t = uint64 /* types.h:47:46 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:51:18 */
type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
type X__int_least16_t = X__int16_t /* types.h:53:19 */
type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
type X__int_least32_t = X__int32_t /* types.h:55:19 */
type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
type X__int_least64_t = X__int64_t /* types.h:57:19 */
type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:65:37 */
type X__u_quad_t = uint64 /* types.h:66:46 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:74:37 */
type X__uintmax_t = uint64 /* types.h:75:46 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, always long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// We want __extension__ before typedef's that use nonstandard base types
// such as `long long' in C89 mode.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Number of descriptors that can fit in an `fd_set'.
type X__dev_t = X__u_quad_t /* types.h:143:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
type X__ino_t = uint32 /* types.h:146:25 */ // Type of file serial numbers.
type X__ino64_t = X__u_quad_t /* types.h:147:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
type X__off_t = int32 /* types.h:150:25 */ // Type of file sizes and offsets.
type X__off64_t = X__quad_t /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
type X__clock_t = int32 /* types.h:154:27 */ // Type of CPU usage counts.
type X__rlim_t = uint32 /* types.h:155:26 */ // Type for resource measurement.
type X__rlim64_t = X__u_quad_t /* types.h:156:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
type X__time_t = int32 /* types.h:158:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
type X__suseconds_t = int32 /* types.h:160:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:166:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:169:12 */
// Type to represent block size.
type X__blksize_t = int32 /* types.h:172:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int32 /* types.h:177:28 */
type X__blkcnt64_t = X__quad_t /* types.h:178:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint32 /* types.h:181:30 */
type X__fsblkcnt64_t = X__u_quad_t /* types.h:182:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint32 /* types.h:185:30 */
type X__fsfilcnt64_t = X__u_quad_t /* types.h:186:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int32 /* types.h:189:28 */
type X__ssize_t = int32 /* types.h:191:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int32 /* types.h:194:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint32 /* types.h:196:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:201:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int32 /* types.h:204:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:207:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:212:13 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
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
Ftm_gmtoff int32
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:9:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ int8 /* gen.c:2:13: */

612
vendor/modernc.org/libc/time/time_linux_arm64.go generated vendored Normal file
View File

@ -0,0 +1,612 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_arm64.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 (
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
CLOCK_MONOTONIC_COARSE = 6
CLOCK_MONOTONIC_RAW = 4
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_ALARM = 8
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES___LOCALE_T_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_TIME_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
Linux = 1
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint32 /* <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 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
// are already defined.
// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
//
// Copyright (C) 2016-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Convenience types.
type X__u_char = uint8 /* types.h:30:23 */
type X__u_short = uint16 /* types.h:31:28 */
type X__u_int = uint32 /* types.h:32:22 */
type X__u_long = uint64 /* types.h:33:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:36:21 */
type X__uint8_t = uint8 /* types.h:37:23 */
type X__int16_t = int16 /* types.h:38:26 */
type X__uint16_t = uint16 /* types.h:39:28 */
type X__int32_t = int32 /* types.h:40:20 */
type X__uint32_t = uint32 /* types.h:41:22 */
type X__int64_t = int64 /* types.h:43:25 */
type X__uint64_t = uint64 /* types.h:44:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:51:18 */
type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
type X__int_least16_t = X__int16_t /* types.h:53:19 */
type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
type X__int_least32_t = X__int32_t /* types.h:55:19 */
type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
type X__int_least64_t = X__int64_t /* types.h:57:19 */
type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:62:18 */
type X__u_quad_t = uint64 /* types.h:63:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:71:18 */
type X__uintmax_t = uint64 /* types.h:72:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, always long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI.
// Copyright (C) 2011-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library. If not, see
// <http://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for __rlim_t and __rlim64_t.
// Number of descriptors that can fit in an `fd_set'.
type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint32 /* types.h:149:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:166:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:169:12 */
// Type to represent block size.
type X__blksize_t = int32 /* types.h:172:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:177:28 */
type X__blkcnt64_t = int64 /* types.h:178:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:181:30 */
type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:185:30 */
type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:189:28 */
type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:194:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:196:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:201:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:204:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:207:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:212:13 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
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
_ [4]byte
Ftm_gmtoff int64
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:9:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ int8 /* gen.c:2:13: */

596
vendor/modernc.org/libc/time/time_linux_s390x.go generated vendored Normal file
View File

@ -0,0 +1,596 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_linux_s390x.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 (
CLOCK_BOOTTIME = 7
CLOCK_BOOTTIME_ALARM = 9
CLOCK_MONOTONIC = 1
CLOCK_MONOTONIC_COARSE = 6
CLOCK_MONOTONIC_RAW = 4
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_ALARM = 8
CLOCK_REALTIME_COARSE = 5
CLOCK_TAI = 11
CLOCK_THREAD_CPUTIME_ID = 3
TIMER_ABSTIME = 1
TIME_UTC = 1
X_ATFILE_SOURCE = 1
X_BITS_TIME_H = 1
X_BITS_TYPESIZES_H = 1
X_BITS_TYPES_H = 1
X_BITS_TYPES_LOCALE_T_H = 1
X_BITS_TYPES___LOCALE_T_H = 1
X_BSD_SIZE_T_ = 0
X_BSD_SIZE_T_DEFINED_ = 0
X_DEFAULT_SOURCE = 1
X_FEATURES_H = 1
X_FILE_OFFSET_BITS = 64
X_GCC_SIZE_T = 0
X_LP64 = 1
X_POSIX_C_SOURCE = 200809
X_POSIX_SOURCE = 1
X_SIZET_ = 0
X_SIZE_T = 0
X_SIZE_T_ = 0
X_SIZE_T_DECLARED = 0
X_SIZE_T_DEFINED = 0
X_SIZE_T_DEFINED_ = 0
X_STDC_PREDEF_H = 1
X_STRUCT_TIMESPEC = 1
X_SYS_CDEFS_H = 1
X_SYS_SIZE_T_H = 0
X_TIME_H = 1
X_T_SIZE = 0
X_T_SIZE_ = 0
Linux = 1
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <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 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
// are already defined.
// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Convenience types.
type X__u_char = uint8 /* types.h:30:23 */
type X__u_short = uint16 /* types.h:31:28 */
type X__u_int = uint32 /* types.h:32:22 */
type X__u_long = uint64 /* types.h:33:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:36:21 */
type X__uint8_t = uint8 /* types.h:37:23 */
type X__int16_t = int16 /* types.h:38:26 */
type X__uint16_t = uint16 /* types.h:39:28 */
type X__int32_t = int32 /* types.h:40:20 */
type X__uint32_t = uint32 /* types.h:41:22 */
type X__int64_t = int64 /* types.h:43:25 */
type X__uint64_t = uint64 /* types.h:44:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:51:18 */
type X__uint_least8_t = X__uint8_t /* types.h:52:19 */
type X__int_least16_t = X__int16_t /* types.h:53:19 */
type X__uint_least16_t = X__uint16_t /* types.h:54:20 */
type X__int_least32_t = X__int32_t /* types.h:55:19 */
type X__uint_least32_t = X__uint32_t /* types.h:56:20 */
type X__int_least64_t = X__int64_t /* types.h:57:19 */
type X__uint_least64_t = X__uint64_t /* types.h:58:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:62:18 */
type X__u_quad_t = uint64 /* types.h:63:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:71:18 */
type X__uintmax_t = uint64 /* types.h:72:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, always long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Linux/s390 version.
// Copyright (C) 2003-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// size_t is unsigned long int on s390 -m31.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for __rlim_t and __rlim64_t.
// Number of descriptors that can fit in an `fd_set'.
type X__dev_t = uint64 /* types.h:143:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:144:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:145:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:146:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:147:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:148:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:149:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:150:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:151:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:152:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:153:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:154:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:155:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:156:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:157:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:158:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:159:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:160:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:162:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:163:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:166:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:169:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:172:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:177:28 */
type X__blkcnt64_t = int64 /* types.h:178:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:181:30 */
type X__fsblkcnt64_t = uint64 /* types.h:182:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:185:30 */
type X__fsfilcnt64_t = uint64 /* types.h:186:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:189:28 */
type X__ssize_t = int64 /* types.h:191:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:194:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:196:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:200:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:201:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:204:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:207:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:212:13 */
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
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
_ [4]byte
Ftm_gmtoff int64
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:9:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2018 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ int8 /* gen.c:2:13: */

405
vendor/modernc.org/libc/time/time_windows_386.go generated vendored Normal file
View File

@ -0,0 +1,405 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_windows_386.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
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_IX86 = 600
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_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_USE_32BIT_TIME_T = 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_WINT_T = 0
X_WTIME_DEFINED = 0
X_X86_ = 1
I386 = 1
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
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.
// For x86 we have always to prefix by underscore.
// 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 = int32 /* crtdefs.h:47:13 */
type Rsize_t = Size_t /* crtdefs.h:52:16 */
type Intptr_t = int32 /* crtdefs.h:64:13 */
type Uintptr_t = uint32 /* crtdefs.h:77:22 */
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__time32_t /* crtdefs.h:136: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:279:22: */
var Xtimezone int32 /* time.h:280:23: */
var Xtzname [2]uintptr /* time.h:281: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:289: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
_ [2]byte
} /* timeb.h:53:3 */
type Timeb = struct {
Ftime Time_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
_ [2]byte
} /* timeb.h:61:3 */
type X__timeb64 = struct {
Ftime X__time64_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
_ [2]byte
} /* timeb.h:69:3 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
} /* timeb.h:90:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
}
} /* 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: */

420
vendor/modernc.org/libc/time/time_windows_amd64.go generated vendored Normal file
View File

@ -0,0 +1,420 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -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_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:279:22: */
var Xtimezone int32 /* time.h:280:23: */
var Xtzname [2]uintptr /* time.h:281: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:289: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
_ [2]byte
} /* timeb.h:53:3 */
type Timeb = struct {
Ftime Time_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
_ [2]byte
} /* timeb.h:61:3 */
type X__timeb64 = struct {
Ftime X__time64_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
_ [2]byte
} /* timeb.h:69:3 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
_ [4]byte
} /* timeb.h:90:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
_ [4]byte
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
_ [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: */