| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050 |
- // Code generated by 'ccgo pthread\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread\pthread_windows_arm64.go -pkgname pthread', DO NOT EDIT.
- package pthread
- import (
- "math"
- "reflect"
- "sync/atomic"
- "unsafe"
- )
- var _ = math.Pi
- var _ reflect.Kind
- var _ atomic.Value
- var _ unsafe.Pointer
- const (
- CHAR_BIT = 8
- CHAR_MAX = 127
- CHAR_MIN = -128
- CLK_TCK = 1000
- CLOCKS_PER_SEC = 1000
- CLOCK_MONOTONIC = 1
- CLOCK_PROCESS_CPUTIME_ID = 2
- CLOCK_REALTIME = 0
- CLOCK_REALTIME_COARSE = 4
- 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
- E2BIG = 7
- EACCES = 13
- EADDRINUSE = 100
- EADDRNOTAVAIL = 101
- EAFNOSUPPORT = 102
- EAGAIN = 11
- EALREADY = 103
- EBADF = 9
- EBADMSG = 104
- EBUSY = 16
- ECANCELED = 105
- ECHILD = 10
- ECONNABORTED = 106
- ECONNREFUSED = 107
- ECONNRESET = 108
- EDEADLK = 36
- EDEADLOCK = 36
- EDESTADDRREQ = 109
- EDOM = 33
- EEXIST = 17
- EFAULT = 14
- EFBIG = 27
- EHOSTUNREACH = 110
- EIDRM = 111
- EILSEQ = 42
- EINPROGRESS = 112
- EINTR = 4
- EINVAL = 22
- EIO = 5
- EISCONN = 113
- EISDIR = 21
- ELOOP = 114
- EMFILE = 24
- EMLINK = 31
- EMSGSIZE = 115
- ENAMETOOLONG = 38
- ENETDOWN = 116
- ENETRESET = 117
- ENETUNREACH = 118
- ENFILE = 23
- ENOBUFS = 119
- ENODATA = 120
- ENODEV = 19
- ENOENT = 2
- ENOEXEC = 8
- ENOFILE = 2
- ENOLCK = 39
- ENOLINK = 121
- ENOMEM = 12
- ENOMSG = 122
- ENOPROTOOPT = 123
- ENOSPC = 28
- ENOSR = 124
- ENOSTR = 125
- ENOSYS = 40
- ENOTCONN = 126
- ENOTDIR = 20
- ENOTEMPTY = 41
- ENOTRECOVERABLE = 127
- ENOTSOCK = 128
- ENOTSUP = 129
- ENOTTY = 25
- ENXIO = 6
- EOPNOTSUPP = 130
- EOVERFLOW = 132
- EOWNERDEAD = 133
- EPERM = 1
- EPIPE = 32
- EPROTO = 134
- EPROTONOSUPPORT = 135
- EPROTOTYPE = 136
- ERANGE = 34
- EROFS = 30
- ESPIPE = 29
- ESRCH = 3
- ETIME = 137
- ETIMEDOUT = 138
- ETXTBSY = 139
- EWOULDBLOCK = 140
- EXDEV = 18
- GENERIC_ERRORCHECK_INITIALIZER = -2
- GENERIC_INITIALIZER = -1
- GENERIC_NORMAL_INITIALIZER = -1
- GENERIC_RECURSIVE_INITIALIZER = -3
- INT_MAX = 2147483647
- INT_MIN = -2147483648
- LLONG_MAX = 9223372036854775807
- LLONG_MIN = -9223372036854775808
- LONG_LONG_MAX = 9223372036854775807
- LONG_LONG_MIN = -9223372036854775808
- LONG_MAX = 2147483647
- LONG_MIN = -2147483648
- MAX_READ_LOCKS = 2147483646
- MB_LEN_MAX = 1
- MINGW_DDK_H = 0
- MINGW_HAS_DDK_H = 1
- MINGW_HAS_SECURE_API = 1
- MINGW_SDK_INIT = 0
- NSIG = 23
- OLD_P_OVERLAY = 2
- PTHREAD_BARRIER_SERIAL_THREAD = 1
- PTHREAD_CANCEL_ASYNCHRONOUS = 0x02
- PTHREAD_CANCEL_DEFERRED = 0
- PTHREAD_CANCEL_DISABLE = 0
- PTHREAD_CANCEL_ENABLE = 0x01
- PTHREAD_CREATE_DETACHED = 0x04
- PTHREAD_CREATE_JOINABLE = 0
- PTHREAD_DEFAULT_ATTR = 1
- PTHREAD_DESTRUCTOR_ITERATIONS = 256
- PTHREAD_EXPLICIT_SCHED = 0
- PTHREAD_INHERIT_SCHED = 0x08
- PTHREAD_KEYS_MAX = 1048576
- PTHREAD_MUTEX_ADAPTIVE_NP = 0
- PTHREAD_MUTEX_DEFAULT = 0
- PTHREAD_MUTEX_ERRORCHECK = 1
- PTHREAD_MUTEX_ERRORCHECK_NP = 1
- PTHREAD_MUTEX_FAST_NP = 0
- PTHREAD_MUTEX_NORMAL = 0
- PTHREAD_MUTEX_PRIVATE = 0
- PTHREAD_MUTEX_RECURSIVE = 2
- PTHREAD_MUTEX_RECURSIVE_NP = 2
- PTHREAD_MUTEX_SHARED = 1
- PTHREAD_MUTEX_TIMED_NP = 0
- PTHREAD_ONCE_INIT = 0
- PTHREAD_PRIO_INHERIT = 8
- PTHREAD_PRIO_MULT = 32
- PTHREAD_PRIO_NONE = 0
- PTHREAD_PRIO_PROTECT = 16
- PTHREAD_PROCESS_PRIVATE = 0
- PTHREAD_PROCESS_SHARED = 1
- PTHREAD_SCOPE_PROCESS = 0
- PTHREAD_SCOPE_SYSTEM = 0x10
- PTHREAD_THREADS_MAX = 2019
- P_DETACH = 4
- P_NOWAIT = 1
- P_NOWAITO = 3
- P_OVERLAY = 2
- P_WAIT = 0
- RWLS_PER_THREAD = 8
- SCHAR_MAX = 127
- SCHAR_MIN = -128
- SCHED_FIFO = 1
- SCHED_MAX = 2
- SCHED_MIN = 0
- SCHED_OTHER = 0
- SCHED_RR = 2
- SEM_NSEMS_MAX = 1024
- SHRT_MAX = 32767
- SHRT_MIN = -32768
- SIGABRT = 22
- SIGABRT2 = 22
- SIGABRT_COMPAT = 6
- SIGBREAK = 21
- SIGFPE = 8
- SIGILL = 4
- SIGINT = 2
- SIGSEGV = 11
- SIGTERM = 15
- SIG_BLOCK = 0
- SIG_SETMASK = 2
- SIG_UNBLOCK = 1
- STRUNCATE = 80
- TIMER_ABSTIME = 1
- TIME_UTC = 1
- UCHAR_MAX = 255
- UINT_MAX = 4294967295
- ULLONG_MAX = 18446744073709551615
- ULONG_LONG_MAX = 18446744073709551615
- ULONG_MAX = 4294967295
- UNALIGNED = 0
- USE___UUIDOF = 0
- USHRT_MAX = 65535
- WAIT_CHILD = 0
- WAIT_GRANDCHILD = 1
- WIN32 = 1
- WIN64 = 1
- WINNT = 1
- WINPTHREAD_API = 0
- WIN_PTHREADS_H = 0
- WIN_PTHREADS_PTHREAD_COMPAT_H = 0
- WIN_PTHREADS_SIGNAL_H = 0
- WIN_PTHREADS_TIME_H = 0
- WIN_PTHREADS_UNISTD_H = 0
- X_AGLOBAL = 0
- X_ANONYMOUS_STRUCT = 0
- X_ANONYMOUS_UNION = 0
- X_ARGMAX = 100
- X_ARM64_ = 1
- X_CLOCK_T_DEFINED = 0
- X_CONST_RETURN = 0
- X_CRTNOALIAS = 0
- X_CRTRESTRICT = 0
- X_CRT_ALTERNATIVE_IMPORTED = 0
- X_CRT_ERRNO_DEFINED = 0
- X_CRT_GETPID_DEFINED = 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_CRT_SYSTEM_DEFINED = 0
- X_CRT_TERMINATE_DEFINED = 0
- X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
- X_CRT_WSYSTEM_DEFINED = 0
- X_DEV_T_DEFINED = 0
- X_DLL = 0
- X_ERRCODE_DEFINED = 0
- X_FILE_OFFSET_BITS = 64
- X_FILE_OFFSET_BITS_SET_OFFT = 0
- X_GCC_LIMITS_H_ = 0
- X_GTHREAD_USE_MUTEX_INIT_FUNC = 1
- X_INC_CORECRT = 0
- X_INC_CORECRT_STARTUP = 0
- X_INC_CRTDEFS = 0
- X_INC_CRTDEFS_MACRO = 0
- X_INC_ERRNO = 0
- X_INC_MINGW_SECAPI = 0
- X_INC_PROCESS = 0
- X_INC_SIGNAL = 0
- X_INC_TYPES = 0
- X_INC_VADEFS = 0
- X_INC_WTIME_INL = 0
- X_INC_WTIME_S_INL = 0
- X_INC__MINGW_H = 0
- X_INO_T_DEFINED = 0
- X_INT128_DEFINED = 0
- X_INTPTR_T_DEFINED = 0
- X_MODE_T_ = 0
- X_MT = 0
- X_M_ARM64 = 1
- X_OFF64_T_DEFINED = 0
- X_OFF_T_ = 0
- X_OFF_T_DEFINED = 0
- X_OLD_P_OVERLAY = 2
- X_PGLOBAL = 0
- X_PID_T_ = 0
- X_POSIX_BARRIERS = 200112
- X_POSIX_CLOCK_SELECTION = 200112
- X_POSIX_CPUTIME = 200809
- X_POSIX_MONOTONIC_CLOCK = 200809
- X_POSIX_READER_WRITER_LOCKS = 200112
- X_POSIX_SEMAPHORES = 200112
- X_POSIX_SEM_NSEMS_MAX = 256
- X_POSIX_SPIN_LOCKS = 200112
- X_POSIX_THREADS = 200112
- X_POSIX_THREAD_CPUTIME = 200809
- X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 256
- X_POSIX_THREAD_KEYS_MAX = 1048576
- X_POSIX_TIMEOUTS = 200112
- X_POSIX_TIMERS = 200809
- X_PTRDIFF_T = 0
- X_PTRDIFF_T_ = 0
- X_PTRDIFF_T_DEFINED = 0
- X_P_DETACH = 4
- X_P_NOWAIT = 1
- X_P_NOWAITO = 3
- X_P_OVERLAY = 2
- X_P_WAIT = 0
- X_RSIZE_T_DEFINED = 0
- X_SECURECRT_ERRCODE_VALUES_DEFINED = 0
- X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
- X_SIGSET_T_ = 0
- X_SIG_ATOMIC_T_DEFINED = 0
- X_SIZE_T = 0
- X_SIZE_T_DEFINED = 0
- X_SPAWNV_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_UCRT = 0
- X_UINTPTR_T_DEFINED = 0
- X_VA_LIST_DEFINED = 0
- X_W64 = 0
- X_WAIT_CHILD = 0
- X_WAIT_GRANDCHILD = 1
- X_WCHAR_T = 0
- X_WCHAR_T_DEFINED = 0
- X_WCTYPE_T_DEFINED = 0
- X_WEXEC_DEFINED = 0
- X_WIN32 = 1
- X_WIN32_WINNT = 0x601
- X_WIN64 = 1
- X_WINT_T = 0
- X_WSPAWN_DEFINED = 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 */
- // ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===-----------------------------------------------------------------------===
- // Define 'max_align_t' to match the GCC definition.
- type Max_align_t = struct {
- F__clang_max_align_nonce1 int64
- F__clang_max_align_nonce2 float64
- } /* __stddef_max_align_t.h:24:3 */
- // Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
- // __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t
- // *
- // 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 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.
- // If _FORTIFY_SOURCE is enabled, some inline functions may use
- // __builtin_va_arg_pack(). GCC may report an error if the address
- // of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
- // Enable workaround for ABI incompatibility on affected platforms
- // *
- // 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.
- // Allow both 0x1400 and 0xE00 to identify UCRT
- // ===-------- vadefs.h ---------------------------------------------------===
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===-----------------------------------------------------------------------===
- // Only include this if we are aiming for MSVC compatibility.
- // *
- // 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.
- // for backward compatibility
- type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
- type Ssize_t = int64 /* corecrt.h:45:35 */
- type Rsize_t = Size_t /* corecrt.h:52:16 */
- type Intptr_t = int64 /* corecrt.h:62:35 */
- type Uintptr_t = uint64 /* corecrt.h:75:44 */
- type Wint_t = uint16 /* corecrt.h:106:24 */
- type Wctype_t = uint16 /* corecrt.h:107:24 */
- type Errno_t = int32 /* corecrt.h:113:13 */
- type X__time32_t = int32 /* corecrt.h:118:14 */
- type X__time64_t = int64 /* corecrt.h:123:35 */
- type Time_t = X__time64_t /* corecrt.h:138:20 */
- type Threadlocaleinfostruct = struct {
- F_locale_pctype uintptr
- F_locale_mb_cur_max int32
- F_locale_lc_codepage uint32
- } /* corecrt.h:430:1 */
- type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
- type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
- type Localeinfo_struct = struct {
- Flocinfo Pthreadlocinfo
- Fmbcinfo Pthreadmbcinfo
- } /* corecrt.h:436:9 */
- type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
- type X_locale_t = uintptr /* corecrt.h:439:19 */
- type TagLC_ID = struct {
- FwLanguage uint16
- FwCountry uint16
- FwCodePage uint16
- } /* corecrt.h:443:9 */
- type LC_ID = TagLC_ID /* corecrt.h:447:3 */
- type LPLC_ID = uintptr /* corecrt.h:447:9 */
- type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
- // Posix thread extensions.
- // Extension defined as by report VC 10+ defines error-numbers.
- // Defined as WSAETIMEDOUT.
- // *
- // 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_ino_t = uint16 /* types.h:43:24 */
- type Ino_t = uint16 /* types.h:45:24 */
- type X_dev_t = uint32 /* types.h:51:22 */
- type Dev_t = uint32 /* types.h:53:22 */
- type X_pid_t = int64 /* types.h:63:17 */
- type Pid_t = X_pid_t /* types.h:68:16 */
- type X_mode_t = uint16 /* types.h:74:24 */
- type Mode_t = X_mode_t /* types.h:77:17 */
- type X_off_t = int32 /* _mingw_off_t.h:5:16 */
- type Off32_t = int32 /* _mingw_off_t.h:7:16 */
- type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
- type Off64_t = int64 /* _mingw_off_t.h:15:39 */
- type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
- type Useconds_t = uint32 /* types.h:84:22 */
- type Timespec = struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- F__ccgo_pad1 [4]byte
- } /* types.h:89:1 */
- type Itimerspec = struct {
- Fit_interval struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- F__ccgo_pad1 [4]byte
- }
- Fit_value struct {
- Ftv_sec Time_t
- Ftv_nsec int32
- F__ccgo_pad1 [4]byte
- }
- } /* types.h:94:1 */
- type X_sigset_t = uint64 /* types.h:104:28 */
- type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
- type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
- type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
- type X_onexit_table_t1 = struct {
- F_first uintptr
- F_last uintptr
- F_end uintptr
- } /* corecrt_startup.h:24:9 */
- type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
- type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
- // Includes a definition of _pid_t and pid_t
- // *
- // 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_beginthread_proc_type = uintptr /* process.h:32:16 */
- type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
- type X_tls_callback_type = uintptr /* process.h:64:16 */
- //===---- limits.h - Standard header for integer sizes --------------------===* *
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- // \*===----------------------------------------------------------------------===
- // The system's limits.h may, in turn, try to #include_next GCC's limits.h.
- // Avert this #include_next madness.
- // System headers include a number of constants from POSIX in <limits.h>.
- // Include it if we're hosted.
- // Many system headers try to "help us out" by defining these. No really, we
- // know how big each datatype is.
- // C90/99 5.2.4.2.1
- // C2x 5.2.4.2.1
- // FIXME: This is using the placeholder dates Clang produces for these macros
- // in C2x mode; switch to the correct values once they've been published.
- // C99 5.2.4.2.1: Added long long.
- // C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
- //
- // LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
- // that we don't have something like #pragma poison that could be used to
- // deprecate a macro - the code should just use LLONG_MAX and friends.
- //
- // *
- // 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.
- //
- // Copyright (c) 2013-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.
- // Windows has rudimentary signals support.
- type Sig_atomic_t = int32 /* signal.h:18:15 */
- type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
- // *
- // 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.
- // Adding timespec definition.
- // *
- // This file has no copyright assigned and is placed in the Public Domain.
- // This file is part of the mingw-w64 runtime package.
- // No warranty is given; refer to the file DISCLAIMER.PD within this package.
- // *
- // This file has no copyright assigned and is placed in the Public Domain.
- // This file is part of the mingw-w64 runtime package.
- // No warranty is given; refer to the file DISCLAIMER.PD within this package.
- type X__timeb32 = struct {
- Ftime X__time32_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- F__ccgo_pad1 [2]byte
- } /* timeb.h:53:3 */
- type Timeb = struct {
- Ftime Time_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- F__ccgo_pad1 [2]byte
- } /* timeb.h:61:3 */
- type X__timeb64 = struct {
- Ftime X__time64_t
- Fmillitm uint16
- Ftimezone int16
- Fdstflag int16
- F__ccgo_pad1 [2]byte
- } /* timeb.h:69:3 */
- type X_timespec32 = struct {
- Ftv_sec X__time32_t
- Ftv_nsec int32
- } /* timeb.h:89:1 */
- type X_timespec64 = struct {
- Ftv_sec X__time64_t
- Ftv_nsec int32
- F__ccgo_pad1 [4]byte
- } /* timeb.h:94:1 */
- type Clock_t = int32 /* time.h:63: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:100:3 */
- var Xdaylight int32 /* time.h:275:22: */
- var Xtimezone int32 /* time.h:276:23: */
- var Xtzname [2]uintptr /* time.h:277: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:285: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 */
- // maximum number of times a read lock may be obtained
- // No fork() in windows - so ignore this
- // unsupported stuff:
- type Pthread_once_t = int32 /* pthread.h:181:14 */
- type Pthread_mutexattr_t = uint32 /* pthread.h:182:18 */
- type Pthread_key_t = uint32 /* pthread.h:183:18 */
- type Pthread_barrierattr_t = uintptr /* pthread.h:184:14 */
- type Pthread_condattr_t = int32 /* pthread.h:185:13 */
- type Pthread_rwlockattr_t = int32 /* pthread.h:186:13 */
- //
- // struct _pthread_v;
- //
- // typedef struct pthread_t {
- // struct _pthread_v *p;
- // int x;
- // } pthread_t;
- type Pthread_t = Uintptr_t /* pthread.h:197:19 */
- type X_pthread_cleanup1 = struct {
- Ffunc uintptr
- Farg uintptr
- Fnext uintptr
- } /* pthread.h:199:9 */
- type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:199:33 */
- // Note that if async cancelling is used, then there is a race here
- // Some POSIX realtime extensions, mostly stubbed
- type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:226:1 */
- type Pthread_attr_t1 = struct {
- Fp_state uint32
- F__ccgo_pad1 [4]byte
- Fstack uintptr
- Fs_size Size_t
- Fparam struct{ Fsched_priority int32 }
- F__ccgo_pad2 [4]byte
- } /* pthread.h:238:9 */
- type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:238:31 */
- // synchronization objects
- type Pthread_spinlock_t = Intptr_t /* pthread.h:255:18 */
- type Pthread_mutex_t = Intptr_t /* pthread.h:256:18 */
- type Pthread_cond_t = Intptr_t /* pthread.h:257:18 */
- type Pthread_rwlock_t = Intptr_t /* pthread.h:258:18 */
- type Pthread_barrier_t = uintptr /* pthread.h:259:14 */
- //
- // 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.
- // Set defines described by the POSIX Threads Extension (1003.1c-1995)
- // _SC_THREADS
- // Basic support for POSIX threads is available. The functions
- //
- // pthread_atfork(),
- // pthread_attr_destroy(),
- // pthread_attr_getdetachstate(),
- // pthread_attr_getschedparam(),
- // pthread_attr_init(),
- // pthread_attr_setdetachstate(),
- // pthread_attr_setschedparam(),
- // pthread_cancel(),
- // pthread_cleanup_push(),
- // pthread_cleanup_pop(),
- // pthread_cond_broadcast(),
- // pthread_cond_destroy(),
- // pthread_cond_init(),
- // pthread_cond_signal(),
- // pthread_cond_timedwait(),
- // pthread_cond_wait(),
- // pthread_condattr_destroy(),
- // pthread_condattr_init(),
- // pthread_create(),
- // pthread_detach(),
- // pthread_equal(),
- // pthread_exit(),
- // pthread_getspecific(),
- // pthread_join(,
- // pthread_key_create(),
- // pthread_key_delete(),
- // pthread_mutex_destroy(),
- // pthread_mutex_init(),
- // pthread_mutex_lock(),
- // pthread_mutex_trylock(),
- // pthread_mutex_unlock(),
- // pthread_mutexattr_destroy(),
- // pthread_mutexattr_init(),
- // pthread_once(),
- // pthread_rwlock_destroy(),
- // pthread_rwlock_init(),
- // pthread_rwlock_rdlock(),
- // pthread_rwlock_tryrdlock(),
- // pthread_rwlock_trywrlock(),
- // pthread_rwlock_unlock(),
- // pthread_rwlock_wrlock(),
- // pthread_rwlockattr_destroy(),
- // pthread_rwlockattr_init(),
- // pthread_self(),
- // pthread_setcancelstate(),
- // pthread_setcanceltype(),
- // pthread_setspecific(),
- // pthread_testcancel()
- //
- // are present.
- // _SC_READER_WRITER_LOCKS
- // This option implies the _POSIX_THREADS option. Conversely, under
- // POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
- //
- // The functions
- // pthread_rwlock_destroy(),
- // pthread_rwlock_init(),
- // pthread_rwlock_rdlock(),
- // pthread_rwlock_tryrdlock(),
- // pthread_rwlock_trywrlock(),
- // pthread_rwlock_unlock(),
- // pthread_rwlock_wrlock(),
- // pthread_rwlockattr_destroy(),
- // pthread_rwlockattr_init()
- //
- // are present.
- // _SC_SPIN_LOCKS
- // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
- // options. The functions
- //
- // pthread_spin_destroy(),
- // pthread_spin_init(),
- // pthread_spin_lock(),
- // pthread_spin_trylock(),
- // pthread_spin_unlock()
- //
- // are present.
- // _SC_BARRIERS
- // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
- // options. The functions
- //
- // pthread_barrier_destroy(),
- // pthread_barrier_init(),
- // pthread_barrier_wait(),
- // pthread_barrierattr_destroy(),
- // pthread_barrierattr_init()
- //
- // are present.
- // _SC_TIMEOUTS
- // The functions
- //
- // mq_timedreceive(), - not supported
- // mq_timedsend(), - not supported
- // posix_trace_timedgetnext_event(), - not supported
- // pthread_mutex_timedlock(),
- // pthread_rwlock_timedrdlock(),
- // pthread_rwlock_timedwrlock(),
- // sem_timedwait(),
- //
- // are present.
- // _SC_TIMERS - not supported
- // The functions
- //
- // clock_getres(),
- // clock_gettime(),
- // clock_settime(),
- // nanosleep(),
- // timer_create(),
- // timer_delete(),
- // timer_gettime(),
- // timer_getoverrun(),
- // timer_settime()
- //
- // are present.
- // #undef _POSIX_TIMERS
- // _SC_CLOCK_SELECTION
- // This option implies the _POSIX_TIMERS option. The functions
- //
- // pthread_condattr_getclock(),
- // pthread_condattr_setclock(),
- // clock_nanosleep()
- //
- // are present.
- // _SC_SEMAPHORES
- // The include file <semaphore.h> is present. The functions
- //
- // sem_close(),
- // sem_destroy(),
- // sem_getvalue(),
- // sem_init(),
- // sem_open(),
- // sem_post(),
- // sem_trywait(),
- // sem_unlink(),
- // sem_wait()
- //
- // are present.
- // Wrap cancellation points.
- // We deal here with a gcc issue for posix threading on Windows.
- // We would need to change here gcc's gthr-posix.h header, but this
- // got rejected. So we deal it within this header.
- var _ int8 /* gen.c:2:13: */
|