gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

pthread_windows_386.go (59019B)


      1 // 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 -ignore-unsupported-alignment -o pthread/pthread_windows_386.go -pkgname pthread', DO NOT EDIT.
      2 
      3 package pthread
      4 
      5 import (
      6 	"math"
      7 	"reflect"
      8 	"sync/atomic"
      9 	"unsafe"
     10 )
     11 
     12 var _ = math.Pi
     13 var _ reflect.Kind
     14 var _ atomic.Value
     15 var _ unsafe.Pointer
     16 
     17 const (
     18 	CHAR_BIT                                        = 8                    // limits.h:64:1:
     19 	CHAR_MAX                                        = 127                  // limits.h:99:1:
     20 	CHAR_MIN                                        = -128                 // limits.h:97:1:
     21 	DUMMYSTRUCTNAME                                 = 0                    // _mingw.h:519:1:
     22 	DUMMYSTRUCTNAME1                                = 0                    // _mingw.h:520:1:
     23 	DUMMYSTRUCTNAME2                                = 0                    // _mingw.h:521:1:
     24 	DUMMYSTRUCTNAME3                                = 0                    // _mingw.h:522:1:
     25 	DUMMYSTRUCTNAME4                                = 0                    // _mingw.h:523:1:
     26 	DUMMYSTRUCTNAME5                                = 0                    // _mingw.h:524:1:
     27 	DUMMYUNIONNAME                                  = 0                    // _mingw.h:497:1:
     28 	DUMMYUNIONNAME1                                 = 0                    // _mingw.h:498:1:
     29 	DUMMYUNIONNAME2                                 = 0                    // _mingw.h:499:1:
     30 	DUMMYUNIONNAME3                                 = 0                    // _mingw.h:500:1:
     31 	DUMMYUNIONNAME4                                 = 0                    // _mingw.h:501:1:
     32 	DUMMYUNIONNAME5                                 = 0                    // _mingw.h:502:1:
     33 	DUMMYUNIONNAME6                                 = 0                    // _mingw.h:503:1:
     34 	DUMMYUNIONNAME7                                 = 0                    // _mingw.h:504:1:
     35 	DUMMYUNIONNAME8                                 = 0                    // _mingw.h:505:1:
     36 	DUMMYUNIONNAME9                                 = 0                    // _mingw.h:506:1:
     37 	E2BIG                                           = 7                    // errno.h:31:1:
     38 	EACCES                                          = 13                   // errno.h:37:1:
     39 	EADDRINUSE                                      = 100                  // errno.h:86:1:
     40 	EADDRNOTAVAIL                                   = 101                  // errno.h:90:1:
     41 	EAFNOSUPPORT                                    = 102                  // errno.h:82:1:
     42 	EAGAIN                                          = 11                   // errno.h:35:1:
     43 	EALREADY                                        = 103                  // errno.h:106:1:
     44 	EBADF                                           = 9                    // errno.h:33:1:
     45 	EBADMSG                                         = 104                  // errno.h:182:1:
     46 	EBUSY                                           = 16                   // errno.h:39:1:
     47 	ECANCELED                                       = 105                  // errno.h:154:1:
     48 	ECHILD                                          = 10                   // errno.h:34:1:
     49 	ECONNABORTED                                    = 106                  // errno.h:102:1:
     50 	ECONNREFUSED                                    = 107                  // errno.h:110:1:
     51 	ECONNRESET                                      = 108                  // errno.h:114:1:
     52 	EDEADLK                                         = 36                   // errno.h:55:1:
     53 	EDEADLOCK                                       = 36                   // errno.h:71:1:
     54 	EDESTADDRREQ                                    = 109                  // errno.h:118:1:
     55 	EDOM                                            = 33                   // errno.h:54:1:
     56 	EEXIST                                          = 17                   // errno.h:40:1:
     57 	EFAULT                                          = 14                   // errno.h:38:1:
     58 	EFBIG                                           = 27                   // errno.h:48:1:
     59 	EHOSTUNREACH                                    = 110                  // errno.h:122:1:
     60 	EIDRM                                           = 111                  // errno.h:186:1:
     61 	EILSEQ                                          = 42                   // errno.h:66:1:
     62 	EINPROGRESS                                     = 112                  // errno.h:158:1:
     63 	EINTR                                           = 4                    // errno.h:28:1:
     64 	EINVAL                                          = 22                   // errno.h:64:1:
     65 	EIO                                             = 5                    // errno.h:29:1:
     66 	EISCONN                                         = 113                  // errno.h:94:1:
     67 	EISDIR                                          = 21                   // errno.h:44:1:
     68 	ELOOP                                           = 114                  // errno.h:227:1:
     69 	EMFILE                                          = 24                   // errno.h:46:1:
     70 	EMLINK                                          = 31                   // errno.h:52:1:
     71 	EMSGSIZE                                        = 115                  // errno.h:126:1:
     72 	ENAMETOOLONG                                    = 38                   // errno.h:56:1:
     73 	ENETDOWN                                        = 116                  // errno.h:130:1:
     74 	ENETRESET                                       = 117                  // errno.h:134:1:
     75 	ENETUNREACH                                     = 118                  // errno.h:138:1:
     76 	ENFILE                                          = 23                   // errno.h:45:1:
     77 	ENOBUFS                                         = 119                  // errno.h:98:1:
     78 	ENODATA                                         = 120                  // errno.h:190:1:
     79 	ENODEV                                          = 19                   // errno.h:42:1:
     80 	ENOENT                                          = 2                    // errno.h:25:1:
     81 	ENOEXEC                                         = 8                    // errno.h:32:1:
     82 	ENOFILE                                         = 2                    // errno.h:26:1:
     83 	ENOLCK                                          = 39                   // errno.h:57:1:
     84 	ENOLINK                                         = 121                  // errno.h:194:1:
     85 	ENOMEM                                          = 12                   // errno.h:36:1:
     86 	ENOMSG                                          = 122                  // errno.h:198:1:
     87 	ENOPROTOOPT                                     = 123                  // errno.h:142:1:
     88 	ENOSPC                                          = 28                   // errno.h:49:1:
     89 	ENOSR                                           = 124                  // errno.h:202:1:
     90 	ENOSTR                                          = 125                  // errno.h:206:1:
     91 	ENOSYS                                          = 40                   // errno.h:58:1:
     92 	ENOTCONN                                        = 126                  // errno.h:150:1:
     93 	ENOTDIR                                         = 20                   // errno.h:43:1:
     94 	ENOTEMPTY                                       = 41                   // errno.h:59:1:
     95 	ENOTRECOVERABLE                                 = 127                  // errno.h:210:1:
     96 	ENOTSOCK                                        = 128                  // errno.h:146:1:
     97 	ENOTSUP                                         = 129                  // errno.h:76:1:
     98 	ENOTTY                                          = 25                   // errno.h:47:1:
     99 	ENXIO                                           = 6                    // errno.h:30:1:
    100 	EOPNOTSUPP                                      = 130                  // errno.h:162:1:
    101 	EOVERFLOW                                       = 132                  // errno.h:235:1:
    102 	EOWNERDEAD                                      = 133                  // errno.h:170:1:
    103 	EPERM                                           = 1                    // errno.h:24:1:
    104 	EPIPE                                           = 32                   // errno.h:53:1:
    105 	EPROTO                                          = 134                  // errno.h:174:1:
    106 	EPROTONOSUPPORT                                 = 135                  // errno.h:178:1:
    107 	EPROTOTYPE                                      = 136                  // errno.h:231:1:
    108 	ERANGE                                          = 34                   // errno.h:65:1:
    109 	EROFS                                           = 30                   // errno.h:51:1:
    110 	ESPIPE                                          = 29                   // errno.h:50:1:
    111 	ESRCH                                           = 3                    // errno.h:27:1:
    112 	ETIME                                           = 137                  // errno.h:214:1:
    113 	ETIMEDOUT                                       = 138                  // errno.h:223:1:
    114 	ETXTBSY                                         = 139                  // errno.h:218:1:
    115 	EWOULDBLOCK                                     = 140                  // errno.h:166:1:
    116 	EXDEV                                           = 18                   // errno.h:41:1:
    117 	GENERIC_ERRORCHECK_INITIALIZER                  = -2                   // pthread.h:279:1:
    118 	GENERIC_INITIALIZER                             = -1                   // pthread.h:278:1:
    119 	GENERIC_NORMAL_INITIALIZER                      = -1                   // pthread.h:281:1:
    120 	GENERIC_RECURSIVE_INITIALIZER                   = -3                   // pthread.h:280:1:
    121 	INT_MAX                                         = 2147483647           // limits.h:120:1:
    122 	INT_MIN                                         = -2147483648          // limits.h:118:1:
    123 	LLONG_MAX                                       = 9223372036854775807  // limits.h:142:1:
    124 	LLONG_MIN                                       = -9223372036854775808 // limits.h:140:1:
    125 	LONG_LONG_MAX                                   = 9223372036854775807  // limits.h:154:1:
    126 	LONG_LONG_MIN                                   = -9223372036854775808 // limits.h:152:1:
    127 	LONG_MAX                                        = 2147483647           // limits.h:131:1:
    128 	LONG_MIN                                        = -2147483648          // limits.h:129:1:
    129 	MAX_READ_LOCKS                                  = 2147483646           // pthread.h:168:1:
    130 	MB_LEN_MAX                                      = 5                    // limits.h:35:1:
    131 	MINGW_DDK_H                                     = 0                    // _mingw_ddk.h:2:1:
    132 	MINGW_HAS_DDK_H                                 = 1                    // _mingw_ddk.h:4:1:
    133 	MINGW_HAS_SECURE_API                            = 1                    // _mingw.h:602:1:
    134 	MINGW_SDK_INIT                                  = 0                    // _mingw.h:598:1:
    135 	NSIG                                            = 23                   // signal.h:21:1:
    136 	OLD_P_OVERLAY                                   = 2                    // process.h:149:1:
    137 	PATH_MAX                                        = 260                  // limits.h:20:1:
    138 	PTHREAD_BARRIER_SERIAL_THREAD                   = 1                    // pthread.h:165:1:
    139 	PTHREAD_CANCEL_ASYNCHRONOUS                     = 0x02                 // pthread.h:117:1:
    140 	PTHREAD_CANCEL_DEFERRED                         = 0                    // pthread.h:116:1:
    141 	PTHREAD_CANCEL_DISABLE                          = 0                    // pthread.h:113:1:
    142 	PTHREAD_CANCEL_ENABLE                           = 0x01                 // pthread.h:114:1:
    143 	PTHREAD_CREATE_DETACHED                         = 0x04                 // pthread.h:120:1:
    144 	PTHREAD_CREATE_JOINABLE                         = 0                    // pthread.h:119:1:
    145 	PTHREAD_DEFAULT_ATTR                            = 1                    // pthread.h:128:1:
    146 	PTHREAD_DESTRUCTOR_ITERATIONS                   = 256                  // pthread.h:136:1:
    147 	PTHREAD_EXPLICIT_SCHED                          = 0                    // pthread.h:122:1:
    148 	PTHREAD_INHERIT_SCHED                           = 0x08                 // pthread.h:123:1:
    149 	PTHREAD_KEYS_MAX                                = 1048576              // pthread.h:137:1:
    150 	PTHREAD_MUTEX_ADAPTIVE_NP                       = 0                    // pthread.h:156:1:
    151 	PTHREAD_MUTEX_DEFAULT                           = 0                    // pthread.h:142:1:
    152 	PTHREAD_MUTEX_ERRORCHECK                        = 1                    // pthread.h:275:1:
    153 	PTHREAD_MUTEX_ERRORCHECK_NP                     = 1                    // pthread.h:157:1:
    154 	PTHREAD_MUTEX_FAST_NP                           = 0                    // pthread.h:154:1:
    155 	PTHREAD_MUTEX_NORMAL                            = 0                    // pthread.h:274:1:
    156 	PTHREAD_MUTEX_PRIVATE                           = 0                    // pthread.h:145:1:
    157 	PTHREAD_MUTEX_RECURSIVE                         = 2                    // pthread.h:276:1:
    158 	PTHREAD_MUTEX_RECURSIVE_NP                      = 2                    // pthread.h:158:1:
    159 	PTHREAD_MUTEX_SHARED                            = 1                    // pthread.h:144:1:
    160 	PTHREAD_MUTEX_TIMED_NP                          = 0                    // pthread.h:155:1:
    161 	PTHREAD_ONCE_INIT                               = 0                    // pthread.h:134:1:
    162 	PTHREAD_PRIO_INHERIT                            = 8                    // pthread.h:148:1:
    163 	PTHREAD_PRIO_MULT                               = 32                   // pthread.h:150:1:
    164 	PTHREAD_PRIO_NONE                               = 0                    // pthread.h:147:1:
    165 	PTHREAD_PRIO_PROTECT                            = 16                   // pthread.h:149:1:
    166 	PTHREAD_PROCESS_PRIVATE                         = 0                    // pthread.h:152:1:
    167 	PTHREAD_PROCESS_SHARED                          = 1                    // pthread.h:151:1:
    168 	PTHREAD_SCOPE_PROCESS                           = 0                    // pthread.h:125:1:
    169 	PTHREAD_SCOPE_SYSTEM                            = 0x10                 // pthread.h:126:1:
    170 	PTHREAD_THREADS_MAX                             = 2019                 // pthread.h:437:1:
    171 	P_DETACH                                        = 4                    // process.h:151:1:
    172 	P_NOWAIT                                        = 1                    // process.h:147:1:
    173 	P_NOWAITO                                       = 3                    // process.h:150:1:
    174 	P_OVERLAY                                       = 2                    // process.h:148:1:
    175 	P_WAIT                                          = 0                    // process.h:146:1:
    176 	RWLS_PER_THREAD                                 = 8                    // pthread.h:98:1:
    177 	SCHAR_MAX                                       = 127                  // limits.h:75:1:
    178 	SCHAR_MIN                                       = -128                 // limits.h:73:1:
    179 	SCHED_FIFO                                      = 1                    // pthread.h:234:1:
    180 	SCHED_MAX                                       = 2                    // pthread.h:237:1:
    181 	SCHED_MIN                                       = 0                    // pthread.h:236:1:
    182 	SCHED_OTHER                                     = 0                    // pthread.h:233:1:
    183 	SCHED_RR                                        = 2                    // pthread.h:235:1:
    184 	SEM_NSEMS_MAX                                   = 1024                 // pthread.h:443:1:
    185 	SHRT_MAX                                        = 32767                // limits.h:106:1:
    186 	SHRT_MIN                                        = -32768               // limits.h:104:1:
    187 	SIGABRT                                         = 22                   // signal.h:30:1:
    188 	SIGABRT2                                        = 22                   // signal.h:31:1:
    189 	SIGABRT_COMPAT                                  = 6                    // signal.h:25:1:
    190 	SIGBREAK                                        = 21                   // signal.h:29:1:
    191 	SIGFPE                                          = 8                    // signal.h:26:1:
    192 	SIGILL                                          = 4                    // signal.h:24:1:
    193 	SIGINT                                          = 2                    // signal.h:23:1:
    194 	SIGSEGV                                         = 11                   // signal.h:27:1:
    195 	SIGTERM                                         = 15                   // signal.h:28:1:
    196 	SIG_BLOCK                                       = 0                    // pthread.h:419:1:
    197 	SIG_SETMASK                                     = 2                    // pthread.h:425:1:
    198 	SIG_UNBLOCK                                     = 1                    // pthread.h:422:1:
    199 	SIZE_MAX                                        = 4294967295           // limits.h:78:1:
    200 	SSIZE_MAX                                       = 2147483647           // limits.h:86:1:
    201 	STRUNCATE                                       = 80                   // errno.h:67:1:
    202 	UCHAR_MAX                                       = 255                  // limits.h:82:1:
    203 	UINT_MAX                                        = 4294967295           // limits.h:124:1:
    204 	ULLONG_MAX                                      = 18446744073709551615 // limits.h:146:1:
    205 	ULONG_LONG_MAX                                  = 18446744073709551615 // limits.h:158:1:
    206 	ULONG_MAX                                       = 4294967295           // limits.h:135:1:
    207 	UNALIGNED                                       = 0                    // _mingw.h:384:1:
    208 	USE___UUIDOF                                    = 0                    // _mingw.h:77:1:
    209 	USHRT_MAX                                       = 65535                // limits.h:113:1:
    210 	WAIT_CHILD                                      = 0                    // process.h:152:1:
    211 	WAIT_GRANDCHILD                                 = 1                    // process.h:153:1:
    212 	WIN32                                           = 1                    // <predefined>:258:1:
    213 	WINNT                                           = 1                    // <predefined>:306:1:
    214 	WINPTHREAD_API                                  = 0                    // pthread.h:92:1:
    215 	WIN_PTHREADS_H                                  = 0                    // pthread.h:60:1:
    216 	WIN_PTHREADS_PTHREAD_COMPAT_H                   = 0                    // pthread_compat.h:61:1:
    217 	WIN_PTHREADS_SIGNAL_H                           = 0                    // pthread_signal.h:24:1:
    218 	WIN_PTHREADS_UNISTD_H                           = 0                    // pthread_unistd.h:24:1:
    219 	X_AGLOBAL                                       = 0                    // _mingw.h:346:1:
    220 	X_ANONYMOUS_STRUCT                              = 0                    // _mingw.h:474:1:
    221 	X_ANONYMOUS_UNION                               = 0                    // _mingw.h:473:1:
    222 	X_ANSI_STDDEF_H                                 = 0                    // stddef.h:52:1:
    223 	X_ARGMAX                                        = 100                  // _mingw.h:402:1:
    224 	X_CONST_RETURN                                  = 0                    // _mingw.h:377:1:
    225 	X_CRTNOALIAS                                    = 0                    // corecrt.h:29:1:
    226 	X_CRTRESTRICT                                   = 0                    // corecrt.h:33:1:
    227 	X_CRT_ALTERNATIVE_IMPORTED                      = 0                    // _mingw.h:313:1:
    228 	X_CRT_ERRNO_DEFINED                             = 0                    // stddef.h:17:1:
    229 	X_CRT_GETPID_DEFINED                            = 0                    // process.h:157:1:
    230 	X_CRT_MANAGED_HEAP_DEPRECATE                    = 0                    // _mingw.h:361:1:
    231 	X_CRT_PACKING                                   = 8                    // corecrt.h:14:1:
    232 	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES          = 0                    // _mingw_secapi.h:34:1:
    233 	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY   = 0                    // _mingw_secapi.h:35:1:
    234 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES        = 0                    // _mingw_secapi.h:36:1:
    235 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT  = 0                    // _mingw_secapi.h:37:1:
    236 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0                    // _mingw_secapi.h:38:1:
    237 	X_CRT_SYSTEM_DEFINED                            = 0                    // process.h:91:1:
    238 	X_CRT_TERMINATE_DEFINED                         = 0                    // process.h:41:1:
    239 	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP             = 0                    // corecrt.h:501:1:
    240 	X_CRT_WSYSTEM_DEFINED                           = 0                    // process.h:120:1:
    241 	X_DEV_T_DEFINED                                 = 0                    // types.h:50:1:
    242 	X_DLL                                           = 0                    // _mingw.h:326:1:
    243 	X_ERRCODE_DEFINED                               = 0                    // corecrt.h:117:1:
    244 	X_FILE_OFFSET_BITS                              = 64                   // <builtin>:25:1:
    245 	X_FILE_OFFSET_BITS_SET_OFFT                     = 0                    // _mingw_off_t.h:21:1:
    246 	X_GCC_LIMITS_H_                                 = 0                    // limits.h:30:1:
    247 	X_GCC_MAX_ALIGN_T                               = 0                    // stddef.h:419:1:
    248 	X_GTHREAD_USE_MUTEX_INIT_FUNC                   = 1                    // pthread.h:686:1:
    249 	X_I16_MAX                                       = 32767                // limits.h:54:1:
    250 	X_I16_MIN                                       = -32768               // limits.h:53:1:
    251 	X_I32_MAX                                       = 2147483647           // limits.h:58:1:
    252 	X_I32_MIN                                       = -2147483648          // limits.h:57:1:
    253 	X_I64_MAX                                       = 9223372036854775807  // limits.h:71:1:
    254 	X_I64_MIN                                       = -9223372036854775808 // limits.h:70:1:
    255 	X_I8_MAX                                        = 127                  // limits.h:50:1:
    256 	X_I8_MIN                                        = -128                 // limits.h:49:1:
    257 	X_ILP32                                         = 1                    // <predefined>:211:1:
    258 	X_INC_CORECRT                                   = 0                    // corecrt.h:8:1:
    259 	X_INC_CORECRT_STARTUP                           = 0                    // corecrt_startup.h:8:1:
    260 	X_INC_CRTDEFS                                   = 0                    // crtdefs.h:8:1:
    261 	X_INC_CRTDEFS_MACRO                             = 0                    // _mingw_mac.h:8:1:
    262 	X_INC_ERRNO                                     = 0                    // errno.h:7:1:
    263 	X_INC_LIMITS                                    = 0                    // limits.h:9:1:
    264 	X_INC_MINGW_SECAPI                              = 0                    // _mingw_secapi.h:8:1:
    265 	X_INC_PROCESS                                   = 0                    // process.h:7:1:
    266 	X_INC_SIGNAL                                    = 0                    // signal.h:7:1:
    267 	X_INC_STDDEF                                    = 0                    // stddef.h:10:1:
    268 	X_INC_TYPES                                     = 0                    // types.h:7:1:
    269 	X_INC_VADEFS                                    = 0                    // vadefs.h:7:1:
    270 	X_INC__MINGW_H                                  = 0                    // _mingw.h:8:1:
    271 	X_INO_T_DEFINED                                 = 0                    // types.h:42:1:
    272 	X_INT128_DEFINED                                = 0                    // _mingw.h:237:1:
    273 	X_INTEGRAL_MAX_BITS                             = 64                   // <predefined>:320:1:
    274 	X_INTPTR_T_DEFINED                              = 0                    // corecrt.h:62:1:
    275 	X_LIMITS_H___                                   = 0                    // limits.h:60:1:
    276 	X_MODE_T_                                       = 0                    // types.h:73:1:
    277 	X_MT                                            = 0                    // _mingw.h:330:1:
    278 	X_M_IX86                                        = 600                  // _mingw_mac.h:54:1:
    279 	X_OFF64_T_DEFINED                               = 0                    // _mingw_off_t.h:12:1:
    280 	X_OFF_T_                                        = 0                    // _mingw_off_t.h:4:1:
    281 	X_OFF_T_DEFINED                                 = 0                    // _mingw_off_t.h:2:1:
    282 	X_OLD_P_OVERLAY                                 = 2                    // process.h:23:1:
    283 	X_PGLOBAL                                       = 0                    // _mingw.h:342:1:
    284 	X_PID_T_                                        = 0                    // types.h:58:1:
    285 	X_POSIX_BARRIERS                                = 200112               // pthread_unistd.h:130:1:
    286 	X_POSIX_CLOCK_SELECTION                         = 200112               // pthread_unistd.h:173:1:
    287 	X_POSIX_READER_WRITER_LOCKS                     = 200112               // pthread_unistd.h:101:1:
    288 	X_POSIX_SEMAPHORES                              = 200112               // pthread_unistd.h:190:1:
    289 	X_POSIX_SEM_NSEMS_MAX                           = 256                  // pthread.h:440:1:
    290 	X_POSIX_SPIN_LOCKS                              = 200112               // pthread_unistd.h:115:1:
    291 	X_POSIX_THREADS                                 = 200112               // pthread_unistd.h:81:1:
    292 	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS            = 256                  // pthread.h:431:1:
    293 	X_POSIX_THREAD_KEYS_MAX                         = 1048576              // pthread.h:434:1:
    294 	X_POSIX_TIMEOUTS                                = 200112               // pthread_unistd.h:145:1:
    295 	X_PTRDIFF_T_                                    = 0                    // corecrt.h:90:1:
    296 	X_PTRDIFF_T_DEFINED                             = 0                    // corecrt.h:88:1:
    297 	X_P_DETACH                                      = 4                    // process.h:25:1:
    298 	X_P_NOWAIT                                      = 1                    // process.h:22:1:
    299 	X_P_NOWAITO                                     = 3                    // process.h:24:1:
    300 	X_P_OVERLAY                                     = 2                    // process.h:26:1:
    301 	X_P_WAIT                                        = 0                    // process.h:21:1:
    302 	X_RSIZE_T_DEFINED                               = 0                    // corecrt.h:58:1:
    303 	X_SECURECRT_ERRCODE_VALUES_DEFINED              = 0                    // errno.h:63:1:
    304 	X_SECURECRT_FILL_BUFFER_PATTERN                 = 0xFD                 // _mingw.h:349:1:
    305 	X_SIGSET_T_                                     = 0                    // types.h:101:1:
    306 	X_SIG_ATOMIC_T_DEFINED                          = 0                    // signal.h:17:1:
    307 	X_SIZE_T_DEFINED                                = 0                    // corecrt.h:37:1:
    308 	X_SPAWNV_DEFINED                                = 0                    // process.h:83:1:
    309 	X_SSIZE_T_DEFINED                               = 0                    // corecrt.h:47:1:
    310 	X_STDDEF_H                                      = 0                    // stddef.h:49:1:
    311 	X_STDDEF_H_                                     = 0                    // stddef.h:50:1:
    312 	X_TAGLC_ID_DEFINED                              = 0                    // corecrt.h:447:1:
    313 	X_THREADLOCALEINFO                              = 0                    // corecrt.h:456:1:
    314 	X_TIME32_T_DEFINED                              = 0                    // corecrt.h:122:1:
    315 	X_TIME64_T_DEFINED                              = 0                    // corecrt.h:127:1:
    316 	X_TIMEB_DEFINED                                 = 0                    // timeb.h:51:1:
    317 	X_TIMEB_H_                                      = 0                    // timeb.h:7:1:
    318 	X_TIMEB_H_S                                     = 0                    // timeb_s.h:8:1:
    319 	X_TIMESPEC_DEFINED                              = 0                    // types.h:88:1:
    320 	X_TIME_T_DEFINED                                = 0                    // corecrt.h:139:1:
    321 	X_UI16_MAX                                      = 0xffff               // limits.h:55:1:
    322 	X_UI32_MAX                                      = 0xffffffff           // limits.h:59:1:
    323 	X_UI64_MAX                                      = 0xffffffffffffffff   // limits.h:72:1:
    324 	X_UI8_MAX                                       = 0xff                 // limits.h:51:1:
    325 	X_UINTPTR_T_DEFINED                             = 0                    // corecrt.h:75:1:
    326 	X_USE_32BIT_TIME_T                              = 0                    // _mingw.h:372:1:
    327 	X_VA_LIST_DEFINED                               = 0                    // <builtin>:55:1:
    328 	X_W64                                           = 0                    // _mingw.h:296:1:
    329 	X_WAIT_CHILD                                    = 0                    // process.h:28:1:
    330 	X_WAIT_GRANDCHILD                               = 1                    // process.h:29:1:
    331 	X_WCHAR_T_DEFINED                               = 0                    // corecrt.h:101:1:
    332 	X_WCTYPE_T_DEFINED                              = 0                    // corecrt.h:108:1:
    333 	X_WEXEC_DEFINED                                 = 0                    // process.h:96:1:
    334 	X_WIN32                                         = 1                    // <predefined>:164:1:
    335 	X_WIN32_WINNT                                   = 0x502                // _mingw.h:233:1:
    336 	X_WINT_T                                        = 0                    // corecrt.h:110:1:
    337 	X_WSPAWN_DEFINED                                = 0                    // process.h:108:1:
    338 	X_X86_                                          = 1                    // <predefined>:169:1:
    339 	I386                                            = 1                    // <predefined>:171:1:
    340 )
    341 
    342 type Ptrdiff_t = int32 /* <builtin>:3:26 */
    343 
    344 type Size_t = uint32 /* <builtin>:9:23 */
    345 
    346 type Wchar_t = uint16 /* <builtin>:15:24 */
    347 
    348 type X__builtin_va_list = uintptr /* <builtin>:46:14 */
    349 type X__float128 = float64        /* <builtin>:47:21 */
    350 
    351 type Va_list = X__builtin_va_list /* <builtin>:50:27 */
    352 
    353 //
    354 //    Copyright (c) 2011-2016 mingw-w64 project
    355 //
    356 //    Permission is hereby granted, free of charge, to any person obtaining a
    357 //    copy of this software and associated documentation files (the "Software"),
    358 //    to deal in the Software without restriction, including without limitation
    359 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    360 //    and/or sell copies of the Software, and to permit persons to whom the
    361 //    Software is furnished to do so, subject to the following conditions:
    362 //
    363 //    The above copyright notice and this permission notice shall be included in
    364 //    all copies or substantial portions of the Software.
    365 //
    366 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    367 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    368 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    369 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    370 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    371 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    372 //    DEALINGS IN THE SOFTWARE.
    373 
    374 // Parts of this library are derived by:
    375 //
    376 // Posix Threads library for Microsoft Windows
    377 //
    378 // Use at own risk, there is no implied warranty to this code.
    379 // It uses undocumented features of Microsoft Windows that can change
    380 // at any time in the future.
    381 //
    382 // (C) 2010 Lockless Inc.
    383 // All rights reserved.
    384 //
    385 // Redistribution and use in source and binary forms, with or without modification,
    386 // are permitted provided that the following conditions are met:
    387 //
    388 //
    389 //  * Redistributions of source code must retain the above copyright notice,
    390 //    this list of conditions and the following disclaimer.
    391 //  * Redistributions in binary form must reproduce the above copyright notice,
    392 //    this list of conditions and the following disclaimer in the documentation
    393 //    and/or other materials provided with the distribution.
    394 //  * Neither the name of Lockless Inc. nor the names of its contributors may be
    395 //    used to endorse or promote products derived from this software without
    396 //    specific prior written permission.
    397 //
    398 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AN
    399 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    400 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    401 // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
    402 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    403 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    404 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    405 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    406 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    407 // OF THE POSSIBILITY OF SUCH DAMAGE.
    408 
    409 // *
    410 // This file has no copyright assigned and is placed in the Public Domain.
    411 // This file is part of the mingw-w64 runtime package.
    412 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    413 
    414 // *
    415 // This file has no copyright assigned and is placed in the Public Domain.
    416 // This file is part of the mingw-w64 runtime package.
    417 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    418 
    419 // *
    420 // This file has no copyright assigned and is placed in the Public Domain.
    421 // This file is part of the mingw-w64 runtime package.
    422 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    423 
    424 // *
    425 // This file has no copyright assigned and is placed in the Public Domain.
    426 // This file is part of the mingw-w64 runtime package.
    427 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    428 
    429 // *
    430 // This file has no copyright assigned and is placed in the Public Domain.
    431 // This file is part of the mingw-w64 runtime package.
    432 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    433 
    434 // This macro holds an monotonic increasing value, which indicates
    435 //    a specific fix/patch is present on trunk.  This value isn't related to
    436 //    minor/major version-macros.  It is increased on demand, if a big
    437 //    fix was applied to trunk.  This macro gets just increased on trunk.  For
    438 //    other branches its value won't be modified.
    439 
    440 // mingw.org's version macros: these make gcc to define
    441 //    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
    442 //    and the __mingwthr_key_dtor() function from the MinGW
    443 //    CRT in its private gthr-win32.h header.
    444 
    445 // Set VC specific compiler target macros.
    446 
    447 // For x86 we have always to prefix by underscore.
    448 
    449 // Special case nameless struct/union.
    450 
    451 // MinGW-w64 has some additional C99 printf/scanf feature support.
    452 //    So we add some helper macros to ease recognition of them.
    453 
    454 // If _FORTIFY_SOURCE is enabled, some inline functions may use
    455 //    __builtin_va_arg_pack().  GCC may report an error if the address
    456 //    of such a function is used.  Set _FORTIFY_VA_ARG=0 in this case.
    457 
    458 // Enable workaround for ABI incompatibility on affected platforms
    459 
    460 // *
    461 // This file has no copyright assigned and is placed in the Public Domain.
    462 // This file is part of the mingw-w64 runtime package.
    463 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    464 
    465 // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
    466 // Templates won't work in C, will break if secure API is not enabled, disabled
    467 
    468 // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
    469 // fallback on default implementation if we can't know the size of the destination
    470 
    471 // Include _cygwin.h if we're building a Cygwin application.
    472 
    473 // Target specific macro replacement for type "long".  In the Windows API,
    474 //    the type long is always 32 bit, even if the target is 64 bit (LLP64).
    475 //    On 64 bit Cygwin, the type long is 64 bit (LP64).  So, to get the right
    476 //    sized definitions and declarations, all usage of type long in the Windows
    477 //    headers have to be replaced by the below defined macro __LONG32.
    478 
    479 // C/C++ specific language defines.
    480 
    481 // Note the extern. This is needed to work around GCC's
    482 // limitations in handling dllimport attribute.
    483 
    484 // Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
    485 //    variadiac macro facility, because variadic macros cause syntax
    486 //    errors with  --traditional-cpp.
    487 
    488 //  High byte is the major version, low byte is the minor.
    489 
    490 // *
    491 // This file has no copyright assigned and is placed in the Public Domain.
    492 // This file is part of the mingw-w64 runtime package.
    493 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    494 
    495 // *
    496 // This file has no copyright assigned and is placed in the Public Domain.
    497 // This file is part of the mingw-w64 runtime package.
    498 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    499 
    500 // for backward compatibility
    501 
    502 type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
    503 
    504 type Ssize_t = int32 /* corecrt.h:52:13 */
    505 
    506 type Rsize_t = Size_t /* corecrt.h:57:16 */
    507 
    508 type Intptr_t = int32 /* corecrt.h:69:13 */
    509 
    510 type Uintptr_t = uint32 /* corecrt.h:82:22 */
    511 
    512 type Wint_t = uint16   /* corecrt.h:111:24 */
    513 type Wctype_t = uint16 /* corecrt.h:112:24 */
    514 
    515 type Errno_t = int32 /* corecrt.h:118:13 */
    516 
    517 type X__time32_t = int32 /* corecrt.h:123:14 */
    518 
    519 type X__time64_t = int64 /* corecrt.h:128:35 */
    520 
    521 type Time_t = X__time32_t /* corecrt.h:141:20 */
    522 
    523 type Threadlocaleinfostruct = struct {
    524 	Frefcount      int32
    525 	Flc_codepage   uint32
    526 	Flc_collate_cp uint32
    527 	Flc_handle     [6]uint32
    528 	Flc_id         [6]LC_ID
    529 	Flc_category   [6]struct {
    530 		Flocale    uintptr
    531 		Fwlocale   uintptr
    532 		Frefcount  uintptr
    533 		Fwrefcount uintptr
    534 	}
    535 	Flc_clike            int32
    536 	Fmb_cur_max          int32
    537 	Flconv_intl_refcount uintptr
    538 	Flconv_num_refcount  uintptr
    539 	Flconv_mon_refcount  uintptr
    540 	Flconv               uintptr
    541 	Fctype1_refcount     uintptr
    542 	Fctype1              uintptr
    543 	Fpctype              uintptr
    544 	Fpclmap              uintptr
    545 	Fpcumap              uintptr
    546 	Flc_time_curr        uintptr
    547 } /* corecrt.h:435:1 */
    548 
    549 type Pthreadlocinfo = uintptr /* corecrt.h:437:39 */
    550 type Pthreadmbcinfo = uintptr /* corecrt.h:438:36 */
    551 
    552 type Localeinfo_struct = struct {
    553 	Flocinfo Pthreadlocinfo
    554 	Fmbcinfo Pthreadmbcinfo
    555 } /* corecrt.h:441:9 */
    556 
    557 type X_locale_tstruct = Localeinfo_struct /* corecrt.h:444:3 */
    558 type X_locale_t = uintptr                 /* corecrt.h:444:19 */
    559 
    560 type TagLC_ID = struct {
    561 	FwLanguage uint16
    562 	FwCountry  uint16
    563 	FwCodePage uint16
    564 } /* corecrt.h:435:1 */
    565 
    566 type LC_ID = TagLC_ID  /* corecrt.h:452:3 */
    567 type LPLC_ID = uintptr /* corecrt.h:452:9 */
    568 
    569 type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:487:3 */
    570 
    571 // ISO C Standard:  7.17  Common definitions  <stddef.h>
    572 
    573 // Any one of these symbols __need_* means that GNU libc
    574 //    wants us just to define one data type.  So don't define
    575 //    the symbols that indicate this file's entire job has been done.
    576 // snaroff@next.com says the NeXT needs this.
    577 // Irix 5.1 needs this.
    578 
    579 // In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
    580 //    defined if the corresponding type is *not* defined.
    581 //    FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_
    582 
    583 // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
    584 //    Just ignore it.
    585 
    586 // On VxWorks, <type/vxTypesBase.h> may have defined macros like
    587 //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
    588 //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
    589 //    not defined, and so that defining this macro defines _GCC_SIZE_T.
    590 //    If we find that the macros are still defined at this point, we must
    591 //    invoke them so that the type is defined as expected.
    592 
    593 // In case nobody has defined these types, but we aren't running under
    594 //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
    595 //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
    596 //    parts of GCC is compiled by an older compiler, that actually
    597 //    include gstddef.h, such as collect2.
    598 
    599 // Signed type of difference of two pointers.
    600 
    601 // Define this type if we are doing the whole job,
    602 //    or if we want this type in particular.
    603 
    604 // If this symbol has done its job, get rid of it.
    605 
    606 // Unsigned type of `sizeof' something.
    607 
    608 // Define this type if we are doing the whole job,
    609 //    or if we want this type in particular.
    610 
    611 // Wide character type.
    612 //    Locale-writers should change this as necessary to
    613 //    be big enough to hold unique values not between 0 and 127,
    614 //    and not (wchar_t) -1, for each defined multibyte character.
    615 
    616 // Define this type if we are doing the whole job,
    617 //    or if we want this type in particular.
    618 
    619 //  In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
    620 //     are already defined.
    621 //  BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
    622 
    623 // A null pointer constant.
    624 
    625 // Offset of member MEMBER in a struct of type TYPE.
    626 
    627 // Type whose alignment is supported in every context and is at least
    628 //
    629 //	as great as that of any standard type not using alignment
    630 //	specifiers.
    631 type Max_align_t = struct {
    632 	F__max_align_ll int64
    633 	F__max_align_ld float64
    634 } /* stddef.h:427:3 */
    635 
    636 // Copyright (C) 1989-2020 Free Software Foundation, Inc.
    637 //
    638 // This file is part of GCC.
    639 //
    640 // GCC is free software; you can redistribute it and/or modify
    641 // it under the terms of the GNU General Public License as published by
    642 // the Free Software Foundation; either version 3, or (at your option)
    643 // any later version.
    644 //
    645 // GCC is distributed in the hope that it will be useful,
    646 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    647 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    648 // GNU General Public License for more details.
    649 //
    650 // Under Section 7 of GPL version 3, you are granted additional
    651 // permissions described in the GCC Runtime Library Exception, version
    652 // 3.1, as published by the Free Software Foundation.
    653 //
    654 // You should have received a copy of the GNU General Public License and
    655 // a copy of the GCC Runtime Library Exception along with this program;
    656 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    657 // <http://www.gnu.org/licenses/>.
    658 
    659 // ISO C Standard:  7.17  Common definitions  <stddef.h>
    660 // *
    661 // This file has no copyright assigned and is placed in the Public Domain.
    662 // This file is part of the mingw-w64 runtime package.
    663 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    664 
    665 // *
    666 // This file has no copyright assigned and is placed in the Public Domain.
    667 // This file is part of the mingw-w64 runtime package.
    668 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    669 
    670 // Posix thread extensions.
    671 
    672 // Extension defined as by report VC 10+ defines error-numbers.
    673 
    674 // Defined as WSAETIMEDOUT.
    675 
    676 // *
    677 // This file has no copyright assigned and is placed in the Public Domain.
    678 // This file is part of the mingw-w64 runtime package.
    679 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    680 
    681 // *
    682 // This file has no copyright assigned and is placed in the Public Domain.
    683 // This file is part of the mingw-w64 runtime package.
    684 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    685 
    686 type X_ino_t = uint16 /* types.h:43:24 */
    687 type Ino_t = uint16   /* types.h:45:24 */
    688 
    689 type X_dev_t = uint32 /* types.h:51:22 */
    690 type Dev_t = uint32   /* types.h:53:22 */
    691 
    692 type X_pid_t = int32 /* types.h:60:13 */
    693 
    694 type Pid_t = X_pid_t /* types.h:68:16 */
    695 
    696 type X_mode_t = uint16 /* types.h:74:24 */
    697 
    698 type Mode_t = X_mode_t /* types.h:77:17 */
    699 
    700 type X_off_t = int32 /* _mingw_off_t.h:5:16 */
    701 type Off32_t = int32 /* _mingw_off_t.h:7:16 */
    702 
    703 type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
    704 type Off64_t = int64   /* _mingw_off_t.h:15:39 */
    705 
    706 type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
    707 
    708 type Useconds_t = uint32 /* types.h:84:22 */
    709 
    710 type Timespec = struct {
    711 	Ftv_sec  Time_t
    712 	Ftv_nsec int32
    713 } /* types.h:89:1 */
    714 
    715 type Itimerspec = struct {
    716 	Fit_interval struct {
    717 		Ftv_sec  Time_t
    718 		Ftv_nsec int32
    719 	}
    720 	Fit_value struct {
    721 		Ftv_sec  Time_t
    722 		Ftv_nsec int32
    723 	}
    724 } /* types.h:94:1 */
    725 
    726 type X_sigset_t = uint32 /* types.h:106:23 */
    727 
    728 type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
    729 type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
    730 type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
    731 
    732 type X_onexit_table_t1 = struct {
    733 	F_first uintptr
    734 	F_last  uintptr
    735 	F_end   uintptr
    736 } /* corecrt_startup.h:24:9 */
    737 
    738 type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
    739 
    740 type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
    741 
    742 // Includes a definition of _pid_t and pid_t
    743 // *
    744 // This file has no copyright assigned and is placed in the Public Domain.
    745 // This file is part of the mingw-w64 runtime package.
    746 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    747 
    748 type X_beginthread_proc_type = uintptr   /* process.h:32:16 */
    749 type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
    750 
    751 type X_tls_callback_type = uintptr /* process.h:61:16 */
    752 
    753 // Copyright (C) 1992-2020 Free Software Foundation, Inc.
    754 //
    755 // This file is part of GCC.
    756 //
    757 // GCC is free software; you can redistribute it and/or modify it under
    758 // the terms of the GNU General Public License as published by the Free
    759 // Software Foundation; either version 3, or (at your option) any later
    760 // version.
    761 //
    762 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
    763 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
    764 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    765 // for more details.
    766 //
    767 // Under Section 7 of GPL version 3, you are granted additional
    768 // permissions described in the GCC Runtime Library Exception, version
    769 // 3.1, as published by the Free Software Foundation.
    770 //
    771 // You should have received a copy of the GNU General Public License and
    772 // a copy of the GCC Runtime Library Exception along with this program;
    773 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    774 // <http://www.gnu.org/licenses/>.
    775 
    776 // This administrivia gets added to the beginning of limits.h
    777 //    if the system has its own version of limits.h.
    778 
    779 // We use _GCC_LIMITS_H_ because we want this not to match
    780 //    any macros that the system's limits.h uses for its own purposes.
    781 
    782 // Use "..." so that we find syslimits.h only in this same directory.
    783 // syslimits.h stands for the system's own limits.h file.
    784 //    If we can use it ok unmodified, then we install this text.
    785 //    If fixincludes fixes it, then the fixed version is installed
    786 //    instead of this text.
    787 
    788 // *
    789 // This file has no copyright assigned and is placed in the Public Domain.
    790 // This file is part of the mingw-w64 runtime package.
    791 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    792 // *
    793 // This file has no copyright assigned and is placed in the Public Domain.
    794 // This file is part of the mingw-w64 runtime package.
    795 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    796 
    797 // File system limits
    798 //
    799 // NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
    800 //       required for the NUL. TODO: Test?
    801 // NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two
    802 //       are semantically identical, with a limit of 259 characters for the
    803 //       path name, plus one for a terminating NUL, for a total of 260.
    804 
    805 // Copyright (C) 1991-2020 Free Software Foundation, Inc.
    806 //
    807 // This file is part of GCC.
    808 //
    809 // GCC is free software; you can redistribute it and/or modify it under
    810 // the terms of the GNU General Public License as published by the Free
    811 // Software Foundation; either version 3, or (at your option) any later
    812 // version.
    813 //
    814 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
    815 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
    816 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    817 // for more details.
    818 //
    819 // Under Section 7 of GPL version 3, you are granted additional
    820 // permissions described in the GCC Runtime Library Exception, version
    821 // 3.1, as published by the Free Software Foundation.
    822 //
    823 // You should have received a copy of the GNU General Public License and
    824 // a copy of the GCC Runtime Library Exception along with this program;
    825 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    826 // <http://www.gnu.org/licenses/>.
    827 
    828 // Number of bits in a `char'.
    829 
    830 // Maximum length of a multibyte character.
    831 
    832 // Minimum and maximum values a `signed char' can hold.
    833 
    834 // Maximum value an `unsigned char' can hold.  (Minimum is 0).
    835 
    836 // Minimum and maximum values a `char' can hold.
    837 
    838 // Minimum and maximum values a `signed short int' can hold.
    839 
    840 // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
    841 
    842 // Minimum and maximum values a `signed int' can hold.
    843 
    844 // Maximum value an `unsigned int' can hold.  (Minimum is 0).
    845 
    846 // Minimum and maximum values a `signed long int' can hold.
    847 //    (Same as `int').
    848 
    849 // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
    850 
    851 // Minimum and maximum values a `signed long long int' can hold.
    852 
    853 // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
    854 
    855 // Minimum and maximum values a `signed long long int' can hold.
    856 
    857 // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
    858 
    859 // This administrivia gets added to the end of limits.h
    860 //    if the system has its own version of limits.h.
    861 
    862 // *
    863 // This file has no copyright assigned and is placed in the Public Domain.
    864 // This file is part of the mingw-w64 runtime package.
    865 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    866 
    867 // *
    868 // This file has no copyright assigned and is placed in the Public Domain.
    869 // This file is part of the mingw-w64 runtime package.
    870 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    871 
    872 //
    873 //    Copyright (c) 2013-2016  mingw-w64 project
    874 //
    875 //    Permission is hereby granted, free of charge, to any person obtaining a
    876 //    copy of this software and associated documentation files (the "Software"),
    877 //    to deal in the Software without restriction, including without limitation
    878 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    879 //    and/or sell copies of the Software, and to permit persons to whom the
    880 //    Software is furnished to do so, subject to the following conditions:
    881 //
    882 //    The above copyright notice and this permission notice shall be included in
    883 //    all copies or substantial portions of the Software.
    884 //
    885 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    886 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    887 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    888 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    889 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    890 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    891 //    DEALINGS IN THE SOFTWARE.
    892 
    893 // Windows has rudimentary signals support.
    894 
    895 type Sig_atomic_t = int32 /* signal.h:18:15 */
    896 
    897 type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
    898 
    899 // *
    900 // This file has no copyright assigned and is placed in the Public Domain.
    901 // This file is part of the mingw-w64 runtime package.
    902 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    903 
    904 // *
    905 // This file has no copyright assigned and is placed in the Public Domain.
    906 // This file is part of the mingw-w64 runtime package.
    907 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    908 
    909 type X__timeb32 = struct {
    910 	Ftime        X__time32_t
    911 	Fmillitm     uint16
    912 	Ftimezone    int16
    913 	Fdstflag     int16
    914 	F__ccgo_pad1 [2]byte
    915 } /* timeb.h:53:3 */
    916 
    917 type Timeb = struct {
    918 	Ftime        Time_t
    919 	Fmillitm     uint16
    920 	Ftimezone    int16
    921 	Fdstflag     int16
    922 	F__ccgo_pad1 [2]byte
    923 } /* timeb.h:61:3 */
    924 
    925 type X__timeb64 = struct {
    926 	Ftime        X__time64_t
    927 	Fmillitm     uint16
    928 	Ftimezone    int16
    929 	Fdstflag     int16
    930 	F__ccgo_pad1 [2]byte
    931 } /* timeb.h:69:3 */
    932 
    933 // maximum number of times a read lock may be obtained
    934 
    935 // No fork() in windows - so ignore this
    936 
    937 // unsupported stuff:
    938 
    939 type Pthread_once_t = int32          /* pthread.h:180:14 */
    940 type Pthread_mutexattr_t = uint32    /* pthread.h:181:18 */
    941 type Pthread_key_t = uint32          /* pthread.h:182:18 */
    942 type Pthread_barrierattr_t = uintptr /* pthread.h:183:14 */
    943 type Pthread_condattr_t = int32      /* pthread.h:184:13 */
    944 type Pthread_rwlockattr_t = int32    /* pthread.h:185:13 */
    945 
    946 //
    947 // struct _pthread_v;
    948 //
    949 // typedef struct pthread_t {
    950 //   struct _pthread_v *p;
    951 //   int x;
    952 // } pthread_t;
    953 
    954 type Pthread_t = Uintptr_t /* pthread.h:196:19 */
    955 
    956 type X_pthread_cleanup1 = struct {
    957 	Ffunc uintptr
    958 	Farg  uintptr
    959 	Fnext uintptr
    960 } /* pthread.h:198:9 */
    961 
    962 type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:198:33 */
    963 
    964 // Note that if async cancelling is used, then there is a race here
    965 
    966 // Windows doesn't have this, so declare it ourselves.
    967 
    968 // Some POSIX realtime extensions, mostly stubbed
    969 
    970 type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:239:1 */
    971 
    972 type Pthread_attr_t1 = struct {
    973 	Fp_state uint32
    974 	Fstack   uintptr
    975 	Fs_size  Size_t
    976 	Fparam   struct{ Fsched_priority int32 }
    977 } /* pthread.h:251:9 */
    978 
    979 type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:251:31 */
    980 
    981 // synchronization objects
    982 type Pthread_spinlock_t = Intptr_t /* pthread.h:268:18 */
    983 type Pthread_mutex_t = Intptr_t    /* pthread.h:269:18 */
    984 type Pthread_cond_t = Intptr_t     /* pthread.h:270:18 */
    985 type Pthread_rwlock_t = Intptr_t   /* pthread.h:271:18 */
    986 type Pthread_barrier_t = uintptr   /* pthread.h:272:14 */
    987 
    988 type Clockid_t = int32 /* pthread.h:389:13 */
    989 
    990 //
    991 //    Copyright (c) 2011-2016  mingw-w64 project
    992 //
    993 //    Permission is hereby granted, free of charge, to any person obtaining a
    994 //    copy of this software and associated documentation files (the "Software"),
    995 //    to deal in the Software without restriction, including without limitation
    996 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    997 //    and/or sell copies of the Software, and to permit persons to whom the
    998 //    Software is furnished to do so, subject to the following conditions:
    999 //
   1000 //    The above copyright notice and this permission notice shall be included in
   1001 //    all copies or substantial portions of the Software.
   1002 //
   1003 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   1004 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   1005 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   1006 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   1007 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   1008 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
   1009 //    DEALINGS IN THE SOFTWARE.
   1010 
   1011 // Set defines described by the POSIX Threads Extension (1003.1c-1995)
   1012 // _SC_THREADS
   1013 //   Basic support for POSIX threads is available. The functions
   1014 //
   1015 //   pthread_atfork(),
   1016 //   pthread_attr_destroy(),
   1017 //   pthread_attr_getdetachstate(),
   1018 //   pthread_attr_getschedparam(),
   1019 //   pthread_attr_init(),
   1020 //   pthread_attr_setdetachstate(),
   1021 //   pthread_attr_setschedparam(),
   1022 //   pthread_cancel(),
   1023 //   pthread_cleanup_push(),
   1024 //   pthread_cleanup_pop(),
   1025 //   pthread_cond_broadcast(),
   1026 //   pthread_cond_destroy(),
   1027 //   pthread_cond_init(),
   1028 //   pthread_cond_signal(),
   1029 //   pthread_cond_timedwait(),
   1030 //   pthread_cond_wait(),
   1031 //   pthread_condattr_destroy(),
   1032 //   pthread_condattr_init(),
   1033 //   pthread_create(),
   1034 //   pthread_detach(),
   1035 //   pthread_equal(),
   1036 //   pthread_exit(),
   1037 //   pthread_getspecific(),
   1038 //   pthread_join(,
   1039 //   pthread_key_create(),
   1040 //   pthread_key_delete(),
   1041 //   pthread_mutex_destroy(),
   1042 //   pthread_mutex_init(),
   1043 //   pthread_mutex_lock(),
   1044 //   pthread_mutex_trylock(),
   1045 //   pthread_mutex_unlock(),
   1046 //   pthread_mutexattr_destroy(),
   1047 //   pthread_mutexattr_init(),
   1048 //   pthread_once(),
   1049 //   pthread_rwlock_destroy(),
   1050 //   pthread_rwlock_init(),
   1051 //   pthread_rwlock_rdlock(),
   1052 //   pthread_rwlock_tryrdlock(),
   1053 //   pthread_rwlock_trywrlock(),
   1054 //   pthread_rwlock_unlock(),
   1055 //   pthread_rwlock_wrlock(),
   1056 //   pthread_rwlockattr_destroy(),
   1057 //   pthread_rwlockattr_init(),
   1058 //   pthread_self(),
   1059 //   pthread_setcancelstate(),
   1060 //   pthread_setcanceltype(),
   1061 //   pthread_setspecific(),
   1062 //   pthread_testcancel()
   1063 //
   1064 //   are present.
   1065 
   1066 // _SC_READER_WRITER_LOCKS
   1067 //   This option implies the _POSIX_THREADS option. Conversely, under
   1068 //   POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
   1069 //
   1070 //   The functions
   1071 //   pthread_rwlock_destroy(),
   1072 //   pthread_rwlock_init(),
   1073 //   pthread_rwlock_rdlock(),
   1074 //   pthread_rwlock_tryrdlock(),
   1075 //   pthread_rwlock_trywrlock(),
   1076 //   pthread_rwlock_unlock(),
   1077 //   pthread_rwlock_wrlock(),
   1078 //   pthread_rwlockattr_destroy(),
   1079 //   pthread_rwlockattr_init()
   1080 //
   1081 //   are present.
   1082 
   1083 // _SC_SPIN_LOCKS
   1084 //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   1085 //   options. The functions
   1086 //
   1087 //   pthread_spin_destroy(),
   1088 //   pthread_spin_init(),
   1089 //   pthread_spin_lock(),
   1090 //   pthread_spin_trylock(),
   1091 //   pthread_spin_unlock()
   1092 //
   1093 //   are present.
   1094 
   1095 // _SC_BARRIERS
   1096 //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
   1097 //   options. The functions
   1098 //
   1099 //   pthread_barrier_destroy(),
   1100 //   pthread_barrier_init(),
   1101 //   pthread_barrier_wait(),
   1102 //   pthread_barrierattr_destroy(),
   1103 //   pthread_barrierattr_init()
   1104 //
   1105 //   are present.
   1106 
   1107 // _SC_TIMEOUTS
   1108 //   The functions
   1109 //
   1110 //   mq_timedreceive(), - not supported
   1111 //   mq_timedsend(), - not supported
   1112 //   posix_trace_timedgetnext_event(), - not supported
   1113 //   pthread_mutex_timedlock(),
   1114 //   pthread_rwlock_timedrdlock(),
   1115 //   pthread_rwlock_timedwrlock(),
   1116 //   sem_timedwait(),
   1117 //
   1118 //   are present.
   1119 
   1120 // _SC_TIMERS - not supported
   1121 //   The functions
   1122 //
   1123 //   clock_getres(),
   1124 //   clock_gettime(),
   1125 //   clock_settime(),
   1126 //   nanosleep(),
   1127 //   timer_create(),
   1128 //   timer_delete(),
   1129 //   timer_gettime(),
   1130 //   timer_getoverrun(),
   1131 //   timer_settime()
   1132 //
   1133 //   are present.
   1134 // #undef _POSIX_TIMERS
   1135 
   1136 // _SC_CLOCK_SELECTION
   1137 //    This option implies the _POSIX_TIMERS option. The functions
   1138 //
   1139 //    pthread_condattr_getclock(),
   1140 //    pthread_condattr_setclock(),
   1141 //    clock_nanosleep()
   1142 //
   1143 //    are present.
   1144 
   1145 // _SC_SEMAPHORES
   1146 //   The include file <semaphore.h> is present. The functions
   1147 //
   1148 //   sem_close(),
   1149 //   sem_destroy(),
   1150 //   sem_getvalue(),
   1151 //   sem_init(),
   1152 //   sem_open(),
   1153 //   sem_post(),
   1154 //   sem_trywait(),
   1155 //   sem_unlink(),
   1156 //   sem_wait()
   1157 //
   1158 //   are present.
   1159 
   1160 // Wrap cancellation points.
   1161 
   1162 // We deal here with a gcc issue for posix threading on Windows.
   1163 //    We would need to change here gcc's gthr-posix.h header, but this
   1164 //    got rejected.  So we deal it within this header.
   1165 
   1166 var _ int8 /* gen.c:2:13: */